Command Palette

Search for a command to run...

Carregar e testar localmente

Carregue uma presença compilada na extensão Nowly com um pacote de desenvolvimento pré-compilado ou um zip solto.

Depois de nowly build <slug>, você ainda precisa colocar esse pacote em um navegador. Existem dois métodos de carregamento local. Nenhum deles se comunica com a API do Nowly.

1. Extensão pré-compilada (nowly extension)

Este é o caminho usual para a primeira configuração. A CLI baixa um build de desenvolvimento do Chrome ou Firefox e incorpora a presence compilada.

nowly build youtube
nowly extension youtube             # Chrome (padrão)
nowly extension youtube --firefox
nowly extension youtube --f         # Alias do Firefox

Você pode passar vários slugs:

nowly extension youtube github figma --firefox

As opções de navegador são mutuamente exclusivas. Use --chrome / --c para selecionar o Chrome explicitamente.

Depois:

  • Chrome: abra chrome://extensions, ative o Modo desenvolvedor e escolha Carregar sem compactação → dist/extension-dev
  • Firefox: abra about:debugging#/runtime/this-firefox, escolha This Firefox, clique em Load Temporary Add-on... e selecione dist/extension-dev-firefox/manifest.json

A presence é instalada a partir de dev-presences.json quando a extensão inicia. Depois de alterar o código, recompile, execute nowly extension <slug> novamente e recarregue a extensão.

Para usar um build local em vez do zip do CDN:

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

nowly extension grava uma pasta não compactada. Use-o quando o Nowly ainda não estiver carregado no navegador.

Monorepo completo do Nowly

Se você clonou o nowly e executou pnpm repos (que clona o presences em packages/presences), pode incorporar cada presença compilada na extensão:

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

Carregue apps/extension/dist/chrome sem compactação. Recarregue após cada recompilação.

2. Zip solto (nowly pack)

Use isso quando o Nowly já estiver carregado como um build de desenvolvimento não compactado. Instalações da Chrome Web Store rejeitam zips não assinados. Você só recompila a presença, não a extensão inteira.

nowly pack youtube

Esse comando compila a presença e depois compacta dist/presences/youtube/ em dist/packs/youtube.zip. O zip deve conter no mínimo metadata.json e bundle.js. Pastas aninhadas não são um problema.

Depois, no painel lateral:

  1. Abra Configurações → Avançado
  2. Ative o Modo desenvolvedor (sempre ativo em builds não compactados)
  3. Expanda Depuração
  4. Solte o arquivo .zip (ou navegue até ele)

A presença é instalada como uma fonte local. A limpeza na inicialização de builds não compactados não a remove. Zips não assinados são aceitos apenas em um build não compactado (Carregar sem compactação). O botão de modo desenvolvedor nas Configurações apenas exibe a UI de Depuração; ele não permite a instalação de zips em um build da loja. Builds da loja ainda exigem uma versão assinada da API.

Após cada alteração de código:

nowly pack youtube

Solte o novo zip novamente. Você não precisa recarregar a extensão não compactada, a menos que tenha alterado a própria extensão.

Qual método escolher

| Situação | Método | |---|---| | Primeira configuração, ou sem Nowly no navegador | nowly extension <slug> | | Nowly já carregado, iterando em uma presença | nowly pack <slug> e depois solte o zip | | Você trabalha no monorepo completo do nowly | pnpm build:extension:dev --bundled |

Veja também CLI.