CLI
Nutze die Nowly-CLI, um Presences lokal zu erstellen, zu bauen, zu validieren und zu testen.
Die Nowly-CLI wird als @nowly/cli auf npm veröffentlicht. Installiere sie global:
pnpm i -g @nowly/cliInteraktiver Modus
Führe die CLI ohne Argumente aus, um ein interaktives Menü zu öffnen:
nowlyEine Presence erstellen
nowly init "Netflix"Die interaktive Abfrage fragt, ob Discord die Plattform bereits unterstützt, wenn der Nutzer sein Konto verknüpft. Dadurch wird discordNative in metadata.json geschrieben. Du kannst es auch direkt mitgeben:
nowly init "Spotify" --discord-nativePresences bauen
Jede Presence bauen:
nowly buildEine Presence bauen:
nowly build youtubeBei Dateiänderungen neu bauen (nach jedem Build die entpackte Erweiterung neu laden, oder das Zip erneut ablegen, wenn du pack verwendest):
nowly build youtube --watch
nowly pack youtube --watchEine Presence lokal testen
Es gibt zwei Möglichkeiten, eine gebaute Presence ohne die Nowly-API zu laden. Vollständige Anleitung: Lokal laden und testen.
Vorgefertigte Erweiterung
Wenn du nur das presences-Repository geklont hast (der übliche Fall für Mitwirkende), verwende nowly extension, um einen direkt ladbaren Dev-Build ohne das vollständige nowly-Monorepo zu erhalten:
nowly build youtube
nowly extension youtube # Chrome (standardmäßig)
nowly extension youtube --firefox
nowly extension youtube --f # Firefox-AliasDadurch wird der passende Chrome- oder Firefox-Dev-Build von der CDN heruntergeladen, die von dir genannten Presences werden gebündelt und eine dev-presences.json-Datei hineingeschrieben. Danach:
- Chrome: Öffne
chrome://extensions, aktiviere den Entwicklermodus und wähle Entpackte Erweiterung laden →dist/extension-dev - Firefox: Öffne
about:debugging#/runtime/this-firefox, wähle This Firefox, klicke auf Load Temporary Add-on... und wähledist/extension-dev-firefox/manifest.json
Baue nach dem Bearbeiten der Presence neu und führe nowly extension <slug> erneut aus, danach lade die Erweiterung neu.
Verwende --chrome / --c für Chrome und --firefox / --f für Firefox. Die Optionen können nicht gemeinsam verwendet werden.
Um einen bestimmten lokalen Erweiterungsbuild statt des CDN-Builds zu verwenden, übergib --from:
nowly extension youtube --chrome --from ../nowly/apps/extension/dist/chrome
nowly extension youtube --firefox --from ../nowly/apps/extension/dist/firefoxZip-Drop
Wenn Nowly bereits als entpackter Dev-Build geladen ist, packe die Presence und lege sie im Debug-Bereich ab:
nowly pack youtubeDas Zip wird nach dist/packs/youtube.zip geschrieben. Lege es unter Einstellungen → Erweitert → Debug ab. Unsignierte Zips funktionieren nur bei entpackten Builds, nicht bei Chrome-Web-Store-Installationen. Die Debug-UI wird nur im Entwicklermodus angezeigt.
Wenn du das vollständige Monorepo hast
Wenn du nowly selbst geklont und pnpm repos ausgeführt hast (das presences nach packages/presences klont), kannst du die Erweiterung direkt mit jeder eingebauten Presence bauen:
pnpm build:extension:dev --bundledBaue nach jeder Änderung zuerst die geänderte Presence, dann die Erweiterung neu:
nowly build youtube
pnpm build:extension:dev --bundledLade unter chrome://extensions neu - die Presence ist bereits installiert und einsatzbereit.
Presences auflisten
nowly listMetadaten validieren
nowly validate