CLI
Nowly CLIを使って、プレゼンスをローカルで作成、ビルド、検証、テストします。
Nowly CLIはnpmで @nowly/cli として公開されています。グローバルにインストールします:
pnpm i -g @nowly/cli対話モード
引数なしでCLIを実行すると、対話メニューが開きます:
nowlyプレゼンスを作成する
nowly init "Netflix"対話プロンプトは、ユーザーがアカウントを連携した場合にDiscordがすでにそのプラットフォームに対応しているかどうかを尋ねます。それが metadata.json の discordNative に書き込まれます。直接指定することもできます:
nowly init "Spotify" --discord-nativeプレゼンスをビルドする
すべてのプレゼンスをビルド:
nowly build個別のプレゼンスをビルド:
nowly build youtubeファイルの変更時に再ビルドします(pack を使用する場合は、再ビルドごとにパッケージ化されていない拡張機能を再読み込みするか、zipをドロップし直します):
nowly build youtube --watch
nowly pack youtube --watchプレゼンスをローカルでテストする
Nowly APIなしでビルド済みプレゼンスを読み込むには、2つの方法があります。完全な手順はローカルでの読み込みとテストを参照してください。
ビルド済み拡張機能
presences リポジトリのみをクローンした場合(コントリビューターの一般的なケース)、nowly extension を使用して、完全な nowly モノレポなしでそのまま読み込める開発ビルドを取得します:
nowly build youtube
nowly extension youtube最新の開発版拡張機能ビルドがCDNからダウンロードされ、指定したプレゼンスがバンドルされ、dev-presences.json ファイルが書き込まれます。その後:
chrome://extensionsを開き、デベロッパーモードを有効にします- パッケージ化されていないものを読み込み → 生成された
dist/extension-devフォルダを選択します - プレゼンスが自動的にインストールされます - APIサーバーも、インストールページも、カスタムAPI URLも必要ありません
プレゼンスを編集したら、再ビルドして nowly extension <slug> を再実行し、拡張機能を再読み込みします。
CDN版の代わりに特定のローカル拡張機能ビルドを使用するには、--from を渡します:
nowly extension youtube --from ../nowly/apps/extension/dist/chromezipドロップ
Nowlyがすでにパッケージ化されていない開発ビルドとして読み込まれている場合は、プレゼンスをパッケージ化してデバッグパネルにドロップします:
nowly pack youtubezipは dist/packs/youtube.zip に書き込まれます。設定 → 高度な設定 → デバッグにドロップしてください。署名なしのzipはパッケージ化されていないビルドでのみ機能し、Chrome Web Storeからのインストールでは機能しません。デバッグUIはデベロッパーモードでのみ表示されます。
完全なモノレポがある場合
nowly 自体をクローンした場合(presences をサブモジュールとして含む)、すべてのプレゼンスを組み込んだ拡張機能を直接ビルドできます:
pnpm build:extension:dev変更のたびに、変更したプレゼンスを再ビルドしてから拡張機能を再ビルドします:
nowly build youtube
pnpm build:extension:devchrome://extensions で再読み込みします - プレゼンスはすでにインストール済みで、すぐに使用できます。
プレゼンスを一覧表示する
nowly listメタデータを検証する
nowly validate