Skip to content

Pacote @pipanoar/hot-updater ​

O pacote tem duas partes: o preset do hot-updater.config.ts, usado pela CLI, e o helper do app React Native.

sh
npm install -D @pipanoar/hot-updater

pipanoar() (config da CLI) ​

ts
import { pipanoar } from "@pipanoar/hot-updater";

export default defineConfig({
  // ...
  ...pipanoar({ appId: "app_xxxxxxxxxxxxxxxxxxxx", signing: true }),
});
OpçãoTipoPadrãoO que faz
appIdstringobrigatórioId do app, na página Setup.
tokenstringPIPANOAR_TOKENToken de deploy. Prefira a variável de ambiente.
apiOriginstringPIPANOAR_API_ORIGIN ou https://api.pipanoar.scuderiatech.com.brEndereço da API.
signingbooleanfalseAssina os bundles com a chave gerenciada do app.

O pipanoar() devolve database, storage e, com signing, signing. Por isso ele entra com ... no config.

O build fica fora do preset. Plugins que envolvem o build adapter, como o withSentry(), continuam no build: e funcionam junto com o pipanoar(). Veja Integração com Sentry.

pipanoarClient() (app React Native) ​

tsx
import { pipanoarClient } from "@pipanoar/hot-updater/client";

HotUpdater.wrap({
  ...pipanoarClient({ appId: "app_xxxxxxxxxxxxxxxxxxxx", apiKey: "..." }),
  updateStrategy: "appVersion",
});
OpçãoTipoO que faz
appIdstringId do app.
apiKeystringAPI key do app. Vai no header x-api-key.
apiOriginstringEndereço da API. Padrão: https://api.pipanoar.scuderiatech.com.br.

O pipanoarClient() só monta baseURL e requestHeaders. Não tem dependências de Node.

Sem o pacote ​

O pacote só configura o @hot-updater/standalone com os nossos endereços. Se preferir, use direto:

ts
import { standaloneRepository, standaloneStorage } from "@hot-updater/standalone";

const headers = { Authorization: `Bearer ${process.env.PIPANOAR_TOKEN}` };

export default defineConfig({
  // ...
  database: standaloneRepository({
    baseUrl: "https://api.pipanoar.scuderiatech.com.br/v1/apps/app_xxxxxxxxxxxxxxxxxxxx/admin",
    commonHeaders: headers,
  }),
  storage: standaloneStorage({
    baseUrl: "https://api.pipanoar.scuderiatech.com.br/v1/apps/app_xxxxxxxxxxxxxxxxxxxx/storage",
    protocol: "r2",
    commonHeaders: headers,
  }),
});

No app, use baseURL: "https://api.pipanoar.scuderiatech.com.br/a/app_xxxxxxxxxxxxxxxxxxxx" e o header x-api-key. A página Setup do app mostra esses endereços prontos.