puxadinho 0.1.3 → 0.1.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +19 -20
- package/bin/puxadinho.js +2 -1
- package/checksums.txt +4 -4
- package/package.json +7 -6
package/README.md
CHANGED
|
@@ -9,22 +9,22 @@ puxadinho login
|
|
|
9
9
|
puxadinho create render-ep12
|
|
10
10
|
```
|
|
11
11
|
|
|
12
|
-
Este pacote é só um lançador
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
12
|
+
Este pacote é só um lançador. O binário Go da sua plataforma (macOS e Linux, arm64 e x64) vem
|
|
13
|
+
no pacote `@puxadinho/cli-<os>-<cpu>`, que o npm instala sozinho como dependência opcional
|
|
14
|
+
(o mesmo esquema do esbuild e do Biome). Se ele não vier (`--omit=optional`, lockfile de outra
|
|
15
|
+
plataforma), o lançador baixa uma vez esse mesmo pacote do registro do npm, confere o sha256
|
|
16
|
+
contra o `checksums.txt` que vem dentro deste pacote, guarda em `~/.cache/puxadinho/<versão>/`
|
|
17
|
+
e executa com os mesmos argumentos e código de saída.
|
|
16
18
|
Sinais: Ctrl-C (SIGINT) chega direto ao binário pelo terminal e o lançador não o repete
|
|
17
19
|
(um segundo SIGINT faria a CLI sair sem limpar); SIGTERM e SIGHUP são repassados.
|
|
18
20
|
Requer Node 24 ou mais novo.
|
|
19
21
|
|
|
20
22
|
## Variáveis
|
|
21
23
|
|
|
22
|
-
- `
|
|
23
|
-
`https://
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
> TODO(release): o repositório acima é o `origin` atual do git; confirme o destino das
|
|
27
|
-
> releases antes de publicar (constante `DEFAULT_BASE` em `bin/puxadinho.js`).
|
|
24
|
+
- `npm_config_registry`: registro de onde a reserva baixa o pacote da plataforma (padrão
|
|
25
|
+
`https://registry.npmjs.org`). O sha256 é sempre o do `checksums.txt` deste pacote.
|
|
26
|
+
- `PUXADINHO_DOWNLOAD_BASE`: espelho próprio com o layout `<base>/v<versão>/puxadinho_<os>_<arch>`
|
|
27
|
+
(aceita `file://`), no lugar do registro.
|
|
28
28
|
|
|
29
29
|
## Códigos de saída
|
|
30
30
|
|
|
@@ -52,18 +52,17 @@ aparecem no campo `code` como os demais.
|
|
|
52
52
|
- `puxadinho setup claude` usa `claude mcp add --header "Authorization: Bearer <chave>"`, que expõe
|
|
53
53
|
a chave por instantes na lista de processos da máquina. O Codex guarda a chave em
|
|
54
54
|
`~/.codex/config.toml` (modo 0600).
|
|
55
|
-
- O `checksums.txt` vem no pacote npm, não da origem do download: um binário trocado
|
|
56
|
-
|
|
55
|
+
- O `checksums.txt` vem no pacote npm, não da origem do download: um binário trocado no registro,
|
|
56
|
+
no espelho ou no meio do caminho não confere e é descartado.
|
|
57
57
|
- A API padrão é `https://www.usepuxadinho.com.br` (troque com `PUXADINHO_API_URL` ou `--api-url`).
|
|
58
58
|
|
|
59
59
|
## Publicar uma versão
|
|
60
60
|
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
3. Crie a release `v<versão>` com os binários de `dist/v<versão>/`.
|
|
66
|
-
4. `pnpm --filter puxadinho publish` (o pacote leva o `checksums.txt` desses mesmos binários:
|
|
67
|
-
publique sempre logo depois do build da release).
|
|
61
|
+
Suba `version` em `package.json` num commit e faça push na `main`. O workflow
|
|
62
|
+
`.github/workflows/npm-publish.yml` roda `pnpm release all --if-new` com Trusted Publishing (OIDC,
|
|
63
|
+
sem token guardado): compila os 4 binários, publica os 4 pacotes de plataforma antes deste e cria
|
|
64
|
+
a tag `cli-v<versão>`. Versão que já está no npm é pulada.
|
|
68
65
|
|
|
69
|
-
`
|
|
66
|
+
Localmente, `pnpm release cli --dry-run` testa tudo sem publicar. `--local` publica daqui com o
|
|
67
|
+
seu token (só em emergência). `npm publish` direto é bloqueado no `prepack`. `dist/` e o
|
|
68
|
+
`checksums.txt` gerado não vão para o git; o `checksums.txt` vai para o npm.
|
package/bin/puxadinho.js
CHANGED
|
@@ -28,7 +28,8 @@ async function fetchBuffer(url) {
|
|
|
28
28
|
if (url.startsWith("file://")) {
|
|
29
29
|
return fs.readFileSync(new URL(url));
|
|
30
30
|
}
|
|
31
|
-
|
|
31
|
+
// Sem resposta em 2 min, desiste (a reserva não pode travar o terminal para sempre).
|
|
32
|
+
const res = await fetch(url, { redirect: "follow", signal: AbortSignal.timeout(120_000) });
|
|
32
33
|
if (!res.ok) throw new Error(`${url} respondeu ${res.status}`);
|
|
33
34
|
return Buffer.from(await res.arrayBuffer());
|
|
34
35
|
}
|
package/checksums.txt
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
1
|
+
25bbca65dc8b10e658e84527b0fefda2ced2898218a98215d2ae20a7143b8a56 puxadinho_darwin_arm64
|
|
2
|
+
1c1b6dff868d7af93125203a9fe502782d56a563a012a4734e058ab74fb98bcb puxadinho_darwin_amd64
|
|
3
|
+
a4c46039abdb7811fc7f21c6832004a6bf638ac35d6370211a6a22ef4c812e8e puxadinho_linux_amd64
|
|
4
|
+
7ff4253d4da662f6d4a7e396ac68a2dcd834dc00f2c846fd04d0ff55c707319f puxadinho_linux_arm64
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "puxadinho",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.5",
|
|
4
4
|
"description": "CLI do puxadinho: boxes Linux na nuvem para você e seus agentes.",
|
|
5
5
|
"license": "SEE LICENSE IN README.md",
|
|
6
6
|
"type": "commonjs",
|
|
@@ -19,12 +19,13 @@
|
|
|
19
19
|
"node": ">=24"
|
|
20
20
|
},
|
|
21
21
|
"scripts": {
|
|
22
|
-
"build:binaries": "node scripts/build-binaries.js"
|
|
22
|
+
"build:binaries": "node scripts/build-binaries.js",
|
|
23
|
+
"prepack": "node -e \"process.env.PUXADINHO_RELEASE||(console.error('publique com: pnpm release sdk|cli (na raiz)'),process.exit(1))\""
|
|
23
24
|
},
|
|
24
25
|
"optionalDependencies": {
|
|
25
|
-
"@puxadinho/cli-darwin-arm64": "0.1.
|
|
26
|
-
"@puxadinho/cli-darwin-x64": "0.1.
|
|
27
|
-
"@puxadinho/cli-linux-arm64": "0.1.
|
|
28
|
-
"@puxadinho/cli-linux-x64": "0.1.
|
|
26
|
+
"@puxadinho/cli-darwin-arm64": "0.1.5",
|
|
27
|
+
"@puxadinho/cli-darwin-x64": "0.1.5",
|
|
28
|
+
"@puxadinho/cli-linux-arm64": "0.1.5",
|
|
29
|
+
"@puxadinho/cli-linux-x64": "0.1.5"
|
|
29
30
|
}
|
|
30
31
|
}
|