Lokal laden und testen
Lade eine gebaute Presence mit einem vorgefertigten Dev-Paket oder einem Zip-Drop in die Nowly-Erweiterung.
Nach nowly build <slug> musst du das Bundle immer noch in einen Browser bekommen. Es gibt zwei lokale Lademethoden. Keine davon kommuniziert mit der Nowly-API.
1. Vorgefertigte Erweiterung (nowly extension)
Dies ist der übliche Weg beim ersten Mal, besonders wenn du nur das presences-Repository geklont hast. Die CLI lädt einen fertigen Chrome- oder Firefox-Dev-Build herunter und bäckt deine kompilierte Presence hinein.
nowly build youtube
nowly extension youtube # Chrome (standardmäßig)
nowly extension youtube --firefox
nowly extension youtube --f # Firefox-AliasDu kannst mehrere Slugs übergeben:
nowly extension youtube github figma --firefoxDie Browseroptionen können nicht gemeinsam verwendet werden. Verwende --chrome / --c, um Chrome explizit auszuwählen.
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
Die Presence wird aus dev-presences.json installiert, sobald die Erweiterung startet. Nachdem du Code geändert hast: neu bauen, nowly extension <slug> erneut ausführen und die Erweiterung neu laden.
Um einen lokalen Erweiterungs-Build anstelle des CDN-Zips zu verwenden:
nowly extension youtube --chrome --from ../nowly/apps/extension/dist/chrome
nowly extension youtube --firefox --from ../nowly/apps/extension/dist/firefoxnowly extension schreibt einen entpackten Ordner. Es ist das richtige Werkzeug, wenn du Nowly noch nicht im Browser geladen hast.
Vollständiges Nowly-Monorepo
Wenn du nowly geklont und pnpm repos ausgeführt hast (das presences nach packages/presences klont), kannst du jede gebaute Presence in die Erweiterung backen:
nowly build youtube
pnpm build:extension:dev --bundledLade apps/extension/dist/chrome entpackt. Lade nach jedem Rebuild neu.
2. Zip-Drop (nowly pack)
Verwende dies, wenn Nowly bereits als entpackter Entwicklungs-Build geladen ist. Store-Installationen aus dem Chrome Web Store lehnen unsignierte Zips ab. Du baust nur die Presence neu, nicht die gesamte Erweiterung.
nowly pack youtubeDieser Befehl baut die Presence und packt dann dist/presences/youtube/ in dist/packs/youtube.zip. Das Zip muss mindestens metadata.json und bundle.js enthalten. Verschachtelte Ordner sind kein Problem.
Dann im Seitenpanel:
- Öffne Einstellungen → Erweitert
- Aktiviere den Entwicklermodus (bei entpackten Builds immer aktiv)
- Erweitere Debug
- Lege die
.zip-Datei ab (oder wähle sie über den Datei-Browser aus)
Die Presence wird als lokale Quelle installiert. Das Bereinigen beim Start eines entpackten Builds entfernt sie nicht. Unsignierte Zips werden nur bei einem entpackten Build akzeptiert (Entpackt laden). Der Entwicklermodus-Schalter in den Einstellungen zeigt nur die Debug-UI an; er erlaubt keine Zip-Installation bei einem Store-Build. Store-Builds erfordern weiterhin ein signiertes Release von der API.
Nach jeder Codeänderung:
nowly pack youtubeLege das neue Zip erneut ab. Du musst die entpackte Erweiterung nicht neu laden, es sei denn, du hast die Erweiterung selbst geändert.
Welche Methode wählen
| Situation | Methode |
|---|---|
| Erste Einrichtung oder kein Nowly im Browser | nowly extension <slug> |
| Nowly bereits geladen, an einer Presence iterieren | nowly pack <slug>, dann das Zip ablegen |
| Du arbeitest im vollständigen nowly-Monorepo | pnpm build:extension:dev --bundled |
Siehe auch CLI.