{"id":37227594,"url":"https://github.com/gurezo/web-serial-rxjs","last_synced_at":"2026-03-06T18:18:38.675Z","repository":{"id":328505460,"uuid":"1115759560","full_name":"gurezo/web-serial-rxjs","owner":"gurezo","description":null,"archived":false,"fork":false,"pushed_at":"2026-01-10T18:15:43.000Z","size":757,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-01-11T01:30:22.314Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://gurezo.github.io/web-serial-rxjs/","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/gurezo.png","metadata":{"files":{"readme":"README.ja.md","changelog":null,"contributing":"CONTRIBUTING.ja.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-12-13T13:52:01.000Z","updated_at":"2026-01-10T18:15:16.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/gurezo/web-serial-rxjs","commit_stats":null,"previous_names":["gurezo/web-serial-rxjs"],"tags_count":7,"template":false,"template_full_name":null,"purl":"pkg:github/gurezo/web-serial-rxjs","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gurezo%2Fweb-serial-rxjs","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gurezo%2Fweb-serial-rxjs/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gurezo%2Fweb-serial-rxjs/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gurezo%2Fweb-serial-rxjs/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/gurezo","download_url":"https://codeload.github.com/gurezo/web-serial-rxjs/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gurezo%2Fweb-serial-rxjs/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28442268,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-15T00:55:22.719Z","status":"online","status_checked_at":"2026-01-15T02:00:08.019Z","response_time":62,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2026-01-15T03:22:47.281Z","updated_at":"2026-03-06T18:18:38.655Z","avatar_url":"https://github.com/gurezo.png","language":"TypeScript","readme":"# web-serial-rxjs\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"./assets/icon/web-serial-rxjs-icon.png\" alt=\"web-serial-rxjs プロジェクトアイコン\" width=\"512\" /\u003e\n\u003c/p\u003e\n\nWeb Serial API を RxJS ベースのリアクティブなラッパーで提供する TypeScript ライブラリです。Web アプリケーションでシリアルポート通信を簡単に実現できます。\n\n## 目次\n\n- [機能](#機能)\n- [対応フレームワーク](#対応フレームワーク)\n- [ブラウザサポート](#ブラウザサポート)\n- [インストール](#インストール)\n- [ドキュメント](#ドキュメント)\n- [サンプル](#サンプル)\n- [プロジェクトアイコンについて](#プロジェクトアイコンについて)\n- [貢献](#貢献)\n- [ライセンス](#ライセンス)\n- [リンク](#リンク)\n\n## 機能\n\n- **RxJS ベースのリアクティブ API**: RxJS Observables を活用したリアクティブなシリアルポート通信\n- **TypeScript サポート**: 完全な TypeScript 型定義を含む\n- **ブラウザ検出**: ブラウザサポートの検出とエラーハンドリング機能を内蔵\n- **エラーハンドリング**: カスタムエラークラスとエラーコードによる包括的なエラーハンドリング\n- **フレームワーク非依存**: 任意の JavaScript/TypeScript フレームワークまたはバニラ JavaScript で使用可能\n\n## 対応フレームワーク\n\nこのライブラリはフレームワーク非依存で、以下の環境で利用できます。\n\n- Angular\n- React\n- Svelte\n- Vanilla JavaScript / TypeScript\n\n## ブラウザサポート\n\nWeb Serial API は現在、Chromium ベースのブラウザでのみサポートされています：\n\n- **Chrome** 89+\n- **Edge** 89+\n- **Opera** 75+\n\nこのライブラリには、使用前に Web Serial API のサポートを確認するためのブラウザ検出ユーティリティが含まれています。\n\n## インストール\n\nnpm または pnpm を使用してパッケージをインストールします：\n\n```bash\nnpm install @gurezo/web-serial-rxjs\n# または\npnpm add @gurezo/web-serial-rxjs\n```\n\n### ピア依存関係\n\nこのライブラリは RxJS をピア依存関係として必要とします：\n\n```bash\nnpm install rxjs\n# または\npnpm add rxjs\n```\n\n**最小要件バージョン**: RxJS ^7.8.0\n\n## ドキュメント\n\n- **[クイックスタート](docs/QUICK_START.ja.md)** - 基本的な例と使用方法で始める\n- **[API リファレンス](docs/API_REFERENCE.ja.md)** - 詳細な説明を含む完全な API ドキュメント\n- **[高度な使用方法](docs/ADVANCED_USAGE.ja.md)** - 高度なパターン、ストリーム処理、エラー回復\n\n## サンプル\n\n以下の環境向けのサンプルを用意しています。\n\n- **[Vanilla JavaScript](apps/example-vanilla-js/)** - バニラ JavaScript での基本的な使用方法\n- **[Vanilla TypeScript](apps/example-vanilla-ts/)** - RxJS を使用した TypeScript の例\n- **[React](apps/example-react/)** - カスタムフック（`useSerialClient`）を使用した React の例\n- **[Vue](apps/example-vue/)** - Composition API を使用した Vue 3 の例\n- **[Svelte](apps/example-svelte/)** - Svelte Store を使用した Svelte の例\n- **[Angular](apps/example-angular/)** - Service を使用した Angular の例\n\n各例には、セットアップと使用方法の説明を含む README が含まれています。\n\n## プロジェクトアイコンについて\n\nこのプロジェクトのアイコンには、[RxJS](https://rxjs.dev/) のロゴから着想を得たデザインに、\nWeb Serial を表すシリアルコネクタのモチーフを組み合わせたものを使用しています。\n\nこのアイコンは、本ライブラリが Web Serial API を RxJS ベースで扱うための\nライブラリであることを示す目的でのみ使用しています。\n\n本プロジェクトは **[ReactiveX](http://reactivex.io/) / [RxJS](https://rxjs.dev/) 公式とは関係のない独立したオープンソースプロジェクト** であり、\n公式な提携・承認・スポンサー関係はありません。\n\n## 開発とリリース戦略\n\nこのプロジェクトは**trunk-based開発**アプローチに従います：\n\n- **`main`ブランチ**: 常にリリース可能な状態\n- **短命ブランチ**: `feature/*`, `fix/*`, `docs/*` はプルリクエスト用\n- **リリース**: ブランチではなくGitタグ（例: `v1.0.0`）で管理\n- **バージョン保守**: 複数のメジャーバージョンを保守する必要がある場合のみ `release/v*` ブランチを追加\n\n詳細な貢献ガイドラインについては、[CONTRIBUTING.ja.md](CONTRIBUTING.ja.md) を参照してください。\n\n詳細なリリース手順については、[RELEASING.ja.md](RELEASING.ja.md) を参照してください。\n\n## 貢献\n\n貢献を歓迎します！詳細については、[貢献ガイド](CONTRIBUTING.ja.md)を参照してください：\n\n- 開発環境のセットアップ\n- コードスタイルガイドライン\n- コミットメッセージの規約\n- プルリクエストのプロセス\n- リリースプロセス\n\n英語版の貢献ガイドは [CONTRIBUTING.md](CONTRIBUTING.md) を参照してください。\n\nリリース手順については、[RELEASING.ja.md](RELEASING.ja.md)（または英語版は [RELEASING.md](RELEASING.md)）を参照してください。\n\n## ライセンス\n\nこのプロジェクトは MIT ライセンスの下で公開されています。詳細は [LICENSE](LICENSE) ファイルを参照してください。\n\n## リンク\n\n- **GitHub リポジトリ**: [https://github.com/gurezo/web-serial-rxjs](https://github.com/gurezo/web-serial-rxjs)\n- **イシュー**: [https://github.com/gurezo/web-serial-rxjs/issues](https://github.com/gurezo/web-serial-rxjs/issues)\n- **Web Serial API 仕様**: [https://wicg.github.io/serial/](https://wicg.github.io/serial/)\n","funding_links":[],"categories":["Underlying Technologies"],"sub_categories":["RxJS"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgurezo%2Fweb-serial-rxjs","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgurezo%2Fweb-serial-rxjs","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgurezo%2Fweb-serial-rxjs/lists"}