Command Palette

Search for a command to run...

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を書き込みます。その後:

  1. Chrome: chrome://extensionsを開き、デベロッパーモードを有効にして、パッケージ化されていないものを読み込み → dist/extension-devを選択します
  2. 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/firefox

zipドロップ

Nowlyがすでにパッケージ化されていない開発ビルドとして読み込まれている場合は、プレゼンスをパッケージ化してデバッグパネルにドロップします:

nowly pack youtube

zipは 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 --bundled

chrome://extensions で再読み込みします - プレゼンスはすでにインストール済みで、すぐに使用できます。

プレゼンスを一覧表示する

nowly list

メタデータを検証する

nowly validate