Command Palette

Search for a command to run...

Wczytywanie i testowanie lokalne

Wczytaj zbudowaną obecność do rozszerzenia Nowly za pomocą gotowego pakietu deweloperskiego lub przeciągnięcia pliku zip.

Po nowly build <slug> nadal musisz umieścić ten pakiet w przeglądarce. Istnieją dwie lokalne metody wczytywania. Żadna z nich nie komunikuje się z API Nowly.

1. Gotowe rozszerzenie (nowly extension)

To zwykła ścieżka pierwszej konfiguracji. CLI pobiera deweloperski build Chrome lub Firefoksa i wbudowuje w niego skompilowaną obecność.

nowly build youtube
nowly extension youtube             # Chrome (domyślnie)
nowly extension youtube --firefox
nowly extension youtube --f         # Alias Firefox

Możesz podać kilka slugów:

nowly extension youtube github figma --firefox

Opcji przeglądarki nie można używać jednocześnie. Użyj --chrome / --c, aby jawnie wybrać Chrome.

Następnie:

  • Chrome: Otwórz chrome://extensions, włącz Tryb dewelopera i wybierz Załaduj rozpakowane → dist/extension-dev
  • Firefox: Otwórz about:debugging#/runtime/this-firefox, wybierz This Firefox, kliknij Load Temporary Add-on... i wybierz dist/extension-dev-firefox/manifest.json

Obecność jest instalowana z dev-presences.json po uruchomieniu rozszerzenia. Po zmianie kodu przebuduj ją, uruchom ponownie nowly extension <slug> i przeładuj rozszerzenie.

Aby użyć lokalnego buildu zamiast zipa z CDN:

nowly extension youtube --chrome --from ../nowly/apps/extension/dist/chrome
nowly extension youtube --firefox --from ../nowly/apps/extension/dist/firefox

nowly extension zapisuje rozpakowany folder. Użyj go, gdy Nowly nie jest jeszcze wczytane w przeglądarce.

Pełne monorepo Nowly

Jeśli sklonowano nowly i uruchomiono pnpm repos (klonuje presences do packages/presences), możesz wbudować każdą zbudowaną obecność do rozszerzenia:

nowly build youtube
pnpm build:extension:dev --bundled

Wczytaj apps/extension/dist/chrome jako rozpakowane. Odśwież po każdym przebudowaniu.

2. Przeciągnięcie pliku zip (nowly pack)

Użyj tego, gdy Nowly jest już wczytane jako rozpakowany build deweloperski. Instalacje ze sklepu Chrome Web Store odrzucają niepodpisane pliki zip. Przebudowujesz tylko obecność, nie całe rozszerzenie.

nowly pack youtube

To polecenie buduje obecność, a następnie pakuje dist/presences/youtube/ do dist/packs/youtube.zip. Plik zip musi zawierać co najmniej metadata.json i bundle.js. Zagnieżdżone foldery są w porządku.

Następnie w panelu bocznym:

  1. Otwórz Ustawienia → Zaawansowane
  2. Włącz Tryb dewelopera (zawsze włączony w rozpakowanych buildach)
  3. Rozwiń Debugowanie
  4. Upuść plik .zip (lub wskaż go w przeglądarce plików)

Obecność instaluje się jako źródło lokalne. Czyszczenie przy starcie rozpakowanego builda jej nie usuwa. Niepodpisane pliki zip są akceptowane tylko w rozpakowanym buildzie (Załaduj rozpakowane). Przełącznik trybu dewelopera w Ustawieniach pokazuje tylko UI Debugowania; nie zezwala na instalację zip w buildzie sklepowym. Buildy sklepowe nadal wymagają podpisanego wydania z API.

Po każdej zmianie kodu:

nowly pack youtube

Upuść nowy plik zip ponownie. Nie musisz odświeżać rozpakowanego rozszerzenia, chyba że zmieniono samo rozszerzenie.

Którą metodę wybrać

| Sytuacja | Metoda | |---|---| | Pierwsza konfiguracja lub brak Nowly w przeglądarce | nowly extension <slug> | | Nowly już wczytane, iteracja nad jedną obecnością | nowly pack <slug>, a następnie upuść plik zip | | Pracujesz w pełnym monorepo nowly | pnpm build:extension:dev --bundled |

Zobacz też CLI.