{"id":51173675,"url":"https://github.com/d-party/chrome-extension","last_synced_at":"2026-06-29T09:00:48.903Z","repository":{"id":39897072,"uuid":"469336583","full_name":"d-party/chrome-extension","owner":"d-party","description":"d-partyのchrome extensionを開発するリポジトリ","archived":false,"fork":false,"pushed_at":"2026-06-27T02:12:05.000Z","size":1120,"stargazers_count":14,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-06-27T02:18:35.143Z","etag":null,"topics":["chrome-extension","css","rspack","typescript"],"latest_commit_sha":null,"homepage":"https://d-party.net","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/d-party.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"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":"AGENTS.md","dco":null,"cla":null}},"created_at":"2022-03-13T10:23:03.000Z","updated_at":"2026-06-27T02:12:08.000Z","dependencies_parsed_at":"2022-09-22T19:20:42.045Z","dependency_job_id":null,"html_url":"https://github.com/d-party/chrome-extension","commit_stats":null,"previous_names":["d-party/chrome-extension"],"tags_count":16,"template":false,"template_full_name":null,"purl":"pkg:github/d-party/chrome-extension","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/d-party%2Fchrome-extension","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/d-party%2Fchrome-extension/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/d-party%2Fchrome-extension/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/d-party%2Fchrome-extension/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/d-party","download_url":"https://codeload.github.com/d-party/chrome-extension/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/d-party%2Fchrome-extension/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34919884,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-29T02:00:05.398Z","response_time":58,"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":["chrome-extension","css","rspack","typescript"],"created_at":"2026-06-27T02:05:10.189Z","updated_at":"2026-06-29T09:00:48.896Z","avatar_url":"https://github.com/d-party.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# d-party Chrome Extension\n\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://github.com/d-party/d-party-Chrome-Extensions/blob/main/LICENSE)\n\ndアニメストアで『同時視聴』を実現する d-party の Chrome 拡張機能（Manifest V3 / TypeScript）。\n\n## スタック\n\nManifest V3 · TypeScript · pnpm · rspack · React 18 + shadcn/ui（Tailwind CSS v4）·\nStorybook · ESLint · Prettier · orval（型安全な REST クライアント）。\nクリーンアーキテクチャで構成しています。詳細は [AGENTS.md](AGENTS.md) を参照。\n\n## 開発\n\n本拡張機能の動作検証にはバックエンドが必要です。\n[d-party-Backend](https://github.com/d-party/d-party-Backend) を起動してください。\n\n```bash\npnpm install\npnpm api:generate     # orval で REST クライアント生成\npnpm build            # dist/ を生成\npnpm dev              # ファイル監視ビルド\npnpm typecheck\npnpm lint\npnpm storybook        # UI コンポーネントカタログ\n```\n\n`pnpm build` 後、`chrome://extensions` →「パッケージ化されていない拡張機能を読み込む」で\n`dist/` を選択します。\n\n### Storybook\n\nUI コンポーネントのカタログを Storybook で公開しています（`main` へのマージ時に GitHub Pages へ自動デプロイ）。\n\n- 公開先: \u003chttps://d-party.github.io/chrome-extension/\u003e\n- ローカル: `pnpm storybook`（http://localhost:6006）\n\n### 接続先の設定\n\n接続先は [`src/infrastructure/env.ts`](src/infrastructure/env.ts) に集約しています。\n既定は `wss://d-party.net`（本番）。ローカルバックエンドへ向ける場合は `BACKEND_HOST` を\n`localhost/`、`BACKEND_PROTOCOL` を `http://`、`WEBSOCKET_PROTOCOL` を `ws://` に変更します。\n\n\u003e monorepo のローカル開発スタック（ルートで `docker compose up`）は **dev モード**で\n\u003e http / ws・`localhost` 配信、本番は https / wss・`d-party.net` 配信です（env の出し分けは\n\u003e ルート README の「環境設定」を参照）。なお dアニメストア実ページから `localhost`\n\u003e バックエンドへ繋ぐ際は Chrome の Private Network Access を無効化する必要があります\n\u003e （手順は [d-party-Backend の README](https://github.com/d-party/d-party-Backend#chrome-拡張機能からローカルバックエンドへ接続する-pna-の無効化)）。\n\n## ディレクトリ構成\n\n```\nsrc/\n  domain/          型（WebSocket プロトコル＝バックエンド streamer/format.py と一致）\n  application/     ユースケース（RoomSession 同期ロジック）・ポート\n  infrastructure/  WebSocket / chrome.storage / 通知 / orval API クライアント\n  presentation/    background・content scripts・popup(React+shadcn)\n  components/ui/   shadcn コンポーネント\npublic/            manifest.json・popup.html・css・icon・images・assets\n```\n\n## リアクション素材（サードパーティ）\n\nリアクションのアニメーションは **Google Noto Emoji**（[noto-emoji-animation](https://googlefonts.github.io/noto-emoji-animation/)）の Lottie を使用しています。ライセンスは **Apache License 2.0**。\n\n- デフォルトリアクション（5 種）と、エクストラリアクションのカタログ（最大 100 種、肌色は黄色のみ）の Lottie を `src/presentation/content/party/react/reactions/lottie/`（`extra/` 配下にエクストラ）へ同梱しています。\n- 静的アイコン（ピッカー／プレイヤーのバー）は [react-icons](https://react-icons.github.io/react-icons/) を使用します。\n- **注意**: エクストラ 100 種を `content-party` バンドルへ静的 import するため、当該バンドルは数 MB 増加します（オフラインで動作する代わりにサイズが大きい）。将来的には id ごとの動的 import チャンク化＋`web_accessible_resources` による遅延読み込みで縮小できます。\n\n## ライセンス\n\nMIT License\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fd-party%2Fchrome-extension","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fd-party%2Fchrome-extension","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fd-party%2Fchrome-extension/lists"}