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 # Chrome(デフォルト)
nowly extension youtube --firefox
nowly extension youtube --f # FirefoxエイリアスCDNから対応するChromeまたはFirefoxの開発版をダウンロードし、指定したプレゼンスをバンドルしてdev-presences.jsonを書き込みます。その後:
- Chrome:
chrome://extensionsを開き、デベロッパーモードを有効にして、パッケージ化されていないものを読み込み →dist/extension-devを選択します - Firefox:
about:debugging#/runtime/this-firefoxを開き、This Firefoxを選択し、**Load Temporary Add-on...**をクリックしてdist/extension-dev-firefox/manifest.jsonを選択します
プレゼンスを編集したら、再ビルドしてnowly extension <slug>を再実行し、拡張機能を再読み込みします。
Chromeには--chrome / --c、Firefoxには--firefox / --fを使用します。これらのオプションは同時に使用できません。
CDN版の代わりに特定のローカル拡張機能ビルドを使用するには、--fromを渡します:
nowly extension youtube --chrome --from ../nowly/apps/extension/dist/chrome
nowly extension youtube --firefox --from ../nowly/apps/extension/dist/firefoxzipドロップ
Nowlyがすでにパッケージ化されていない開発ビルドとして読み込まれている場合は、プレゼンスをパッケージ化してデバッグパネルにドロップします:
nowly pack youtubezipは dist/packs/youtube.zip に書き込まれます。設定 → 高度な設定 → デバッグにドロップしてください。署名なしのzipはパッケージ化されていないビルドでのみ機能し、Chrome Web Storeからのインストールでは機能しません。デバッグUIはデベロッパーモードでのみ表示されます。
完全なモノレポがある場合
nowly 自体をクローンして pnpm repos を実行した場合(presences が packages/presences にクローンされます)、すべてのプレゼンスを組み込んだ拡張機能を直接ビルドできます:
pnpm build:extension:dev --bundled変更のたびに、変更したプレゼンスを再ビルドしてから拡張機能を再ビルドします:
nowly build youtube
pnpm build:extension:dev --bundledchrome://extensions で再読み込みします - プレゼンスはすでにインストール済みで、すぐに使用できます。
プレゼンスを一覧表示する
nowly listメタデータを検証する
nowly validate