Tema
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-updaterpipanoar() (config da CLI)
ts
import { pipanoar } from "@pipanoar/hot-updater";
export default defineConfig({
// ...
...pipanoar({ appId: "app_xxxxxxxxxxxxxxxxxxxx", signing: true }),
});| Opção | Tipo | Padrão | O que faz |
|---|---|---|---|
appId | string | obrigatório | Id do app, na página Setup. |
token | string | PIPANOAR_TOKEN | Token de deploy. Prefira a variável de ambiente. |
apiOrigin | string | PIPANOAR_API_ORIGIN ou https://api.pipanoar.scuderiatech.com.br | Endereço da API. |
signing | boolean | false | Assina 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ção | Tipo | O que faz |
|---|---|---|
appId | string | Id do app. |
apiKey | string | API key do app. Vai no header x-api-key. |
apiOrigin | string | Endereç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.