@neetru/cli 2.9.5 → 2.9.7
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/CHANGELOG.md +72 -0
- package/dist/commands/admin/iam-check.d.ts +5 -0
- package/dist/commands/admin/iam-check.js +110 -0
- package/dist/commands/admin/iam-check.js.map +1 -0
- package/dist/commands/artifact-registry.js +6 -0
- package/dist/commands/artifact-registry.js.map +1 -1
- package/dist/commands/build.js +63 -3
- package/dist/commands/build.js.map +1 -1
- package/dist/commands/deploy.d.ts +23 -2
- package/dist/commands/deploy.js +263 -29
- package/dist/commands/deploy.js.map +1 -1
- package/dist/commands/products-db.js +9 -0
- package/dist/commands/products-db.js.map +1 -1
- package/dist/index.js +20 -2
- package/dist/index.js.map +1 -1
- package/dist/lib/iam-preflight.d.ts +39 -0
- package/dist/lib/iam-preflight.js +125 -0
- package/dist/lib/iam-preflight.js.map +1 -0
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,78 @@
|
|
|
2
2
|
|
|
3
3
|
Convenção: [Keep a Changelog](https://keepachangelog.com/) + [SemVer](https://semver.org/).
|
|
4
4
|
|
|
5
|
+
## [2.9.7] — 2026-05-25 (fix: URI Artifact Registry completa + Cloud Build remoto + Dockerfile template — 3 CRITICAL/HIGH bugs deploy cloud-run)
|
|
6
|
+
|
|
7
|
+
### Corrigido (CRITICAL/HIGH — deploy cloud-run bloqueado para gestovendas)
|
|
8
|
+
|
|
9
|
+
- **bug_467db337ea9749a4b85d270d4e10576f (CRITICAL) — `neetru deploy` gerava URI Artifact Registry malformada.**
|
|
10
|
+
URI original: `us-central1-docker.pkg.dev/gestovendas:tag` (só 2 segmentos — inválida).
|
|
11
|
+
URI correta: `us-central1-docker.pkg.dev/{project}/{repo}/{image}:{tag}` (4 segmentos obrigatórios do AR).
|
|
12
|
+
Fix: `buildArtifactRegistryUri` resolve o project via `gcloud config get-value project` quando o
|
|
13
|
+
`--registry` passado contém apenas o host. O repo é inferido como `{slug}-{env}` ou explicitado via
|
|
14
|
+
`--registry-repo`. Quando `--registry` já contém `host/project/repo` (3 segmentos), é usado diretamente.
|
|
15
|
+
Suporta 3 formatos de `--registry`:
|
|
16
|
+
- Host apenas: `us-central1-docker.pkg.dev` → descobre project via gcloud config.
|
|
17
|
+
- Host + project: `us-central1-docker.pkg.dev/neetru` → infere repo.
|
|
18
|
+
- Host + project + repo: `us-central1-docker.pkg.dev/neetru/gestovendas-staging` → usa direto.
|
|
19
|
+
|
|
20
|
+
- **bug_0a551e02295b42b9894f6eb6b13887b3 (CRITICAL) — `neetru deploy --target=cloud-run` exigia docker local.**
|
|
21
|
+
Docker Desktop não é viável em Windows dev machine (5+ GB, requer WSL2, reboot) nem em CI headless.
|
|
22
|
+
Fix: pipeline substituído por `gcloud builds submit --tag=<uri> [--project=<id>] <cwd>` (Cloud Build
|
|
23
|
+
remoto). Não exige Docker instalado — apenas `gcloud` autenticado (já feito via `neetru bootstrap`).
|
|
24
|
+
`--build-local` força o comportamento anterior (docker build + push) para devs que preferem build local.
|
|
25
|
+
|
|
26
|
+
- **bug_1904ba55feeb480690eb8a7f00b4a7b7 (HIGH) — `--stack=node` sem Dockerfile terminava com erro pouco acionável.**
|
|
27
|
+
Fix: quando `--stack=node` ou `--stack=nextjs` e não há `Dockerfile` no projeto, o CLI gera
|
|
28
|
+
automaticamente um template adequado no `cwd` antes de chamar o Cloud Build, e apaga ao terminar.
|
|
29
|
+
Templates:
|
|
30
|
+
- `node`: `FROM node:22-slim` + `npm ci --omit=dev` + `CMD ["node", "server.js"]` + porta 8080.
|
|
31
|
+
- `nextjs`: multi-stage com standalone output + `COPY .next/standalone` + porta 8080.
|
|
32
|
+
- `docker`: continua exigindo Dockerfile manual (com mensagem de erro clara).
|
|
33
|
+
Aviso `log.warn` antes de gerar o template para o dev saber o que aconteceu.
|
|
34
|
+
|
|
35
|
+
### Adicionado
|
|
36
|
+
|
|
37
|
+
- **`--registry-repo <name>`** — flag opcional para especificar o nome do repositório AR explicitamente.
|
|
38
|
+
Se omitido, inferido como `{productSlug}-{env}` (ex: `gestovendas-staging`).
|
|
39
|
+
- **`--build-local`** — força `docker build` local em vez do Cloud Build remoto.
|
|
40
|
+
- **`--stack=nextjs`** — novo valor suportado em `neetru deploy`, gera Dockerfile Next.js standalone.
|
|
41
|
+
- **`DeployOptions.json?: boolean`** — campo para propagação de modo JSON em preflight IAM checks.
|
|
42
|
+
|
|
43
|
+
### Testes
|
|
44
|
+
|
|
45
|
+
- `src/__tests__/deploy-image-uri.test.ts` — 10 casos cobrindo `buildArtifactRegistryUri` (segmentos, tag sanitização, REGRESSÃO original).
|
|
46
|
+
- `src/__tests__/deploy-cloud-build.test.ts` — 5 casos cobrindo Cloud Build remoto vs docker local.
|
|
47
|
+
- `src/__tests__/deploy-dockerfile-template.test.ts` — 7 casos cobrindo geração/limpeza de template, node/nextjs/docker, warning, existente não sobrescrito.
|
|
48
|
+
|
|
49
|
+
## [2.9.6] — 2026-05-25 (fix: 3 HIGH Windows compat — bug_ec17af + 0cf14fba + 6001c5e)
|
|
50
|
+
|
|
51
|
+
### Corrigido
|
|
52
|
+
|
|
53
|
+
- **bug_ec17af083d7045a1a00f24255efb716c — `neetru deploy --target=cloud-run --artifact=<file>` rejeita silenciosamente.**
|
|
54
|
+
`--artifact` (tarball source) é incompatível com `target=cloud-run` que exige imagem de container OCI.
|
|
55
|
+
Adicionada verificação explícita em `runCloudRunDeploy`: quando `--artifact` ou `--artifact-url` é passado
|
|
56
|
+
com `target=cloud-run`, o CLI sai com `exit 1` e exibe mensagem orientadora com as 3 alternativas corretas:
|
|
57
|
+
`--image <uri>`, `--registry <host>` (build automático) e `--target=vm` (que aceita tarball).
|
|
58
|
+
Anteriormente a flag era silenciosamente ignorada, levando ao erro críptico "Sem imagem pra deployar".
|
|
59
|
+
|
|
60
|
+
- **bug_0cf14fba40ec4352b75f3af2467e24b0 — `neetru build` quebra em Windows com scripts npm unix-only.**
|
|
61
|
+
Scripts como `NODE_ENV=production next build` usam sintaxe de variável de ambiente Unix incompatível
|
|
62
|
+
com `cmd.exe`. Adicionada função `detectsUnixEnvPrefix` em `buildNode`: quando `process.platform === 'win32'`
|
|
63
|
+
e o script `build` do `package.json` contém prefixo de env Unix (padrão `VAR=val ...`), o CLI emite
|
|
64
|
+
warning orientador antes de tentar rodar. O warning lista as 2 soluções: adicionar `cross-env` ao script,
|
|
65
|
+
ou remover o prefixo (Next.js já usa `production` por padrão em `next build`).
|
|
66
|
+
O build prossegue mesmo com o warning (shell=true no spawn já torna compatível em muitos casos).
|
|
67
|
+
|
|
68
|
+
- **bug_6001c5e83c764428ae39a5d6a1f8be82 — `neetru build` falha com tar em paths com drive-letter Windows.**
|
|
69
|
+
GNU tar (MSYS2/Git Bash) interpreta `S:` como host SSH, causando "Cannot connect to S: resolve failed".
|
|
70
|
+
Correção dupla em `tarDirectory` (e `buildDocker`):
|
|
71
|
+
1. `--force-local` adicionado automaticamente quando `process.platform === 'win32'` — instrui o GNU tar
|
|
72
|
+
a não interpretar nomes de arquivo como endereços remotos (ignorado pelo bsdtar nativo do Windows 10+).
|
|
73
|
+
2. `normalizePathForTar()`: converte `S:\Documents\...` → `/S/Documents/...` antes de passar pro tar,
|
|
74
|
+
compatível com ambos os tars (GNU e BSD).
|
|
75
|
+
Workaround manual do usuário (`tar --force-local -czf ...`) agora está embutido automaticamente no CLI.
|
|
76
|
+
|
|
5
77
|
## [2.9.3] — 2026-05-25 (fix HIGH: branch NoSQL no db apply — Bug 11 Fase 1)
|
|
6
78
|
|
|
7
79
|
### Corrigido
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `neetru admin iam-check` — verifica permissões IAM da SA Core no projeto GCP.
|
|
3
|
+
*
|
|
4
|
+
* Endpoint: GET /api/cli/v1/iam-check[?subset=<key>]
|
|
5
|
+
*
|
|
6
|
+
* Modo tabela (padrão):
|
|
7
|
+
* ✓ ou ✗ por permissão, grouped por role.
|
|
8
|
+
* Lista explícita de missing[] com comandos gcloud de remediação.
|
|
9
|
+
*
|
|
10
|
+
* Modo --json:
|
|
11
|
+
* Payload completo { ok, serviceAccount, projectId, granted, missing, remediation }.
|
|
12
|
+
*
|
|
13
|
+
* Exit code: 0 se ok, 1 se missing != [].
|
|
14
|
+
*
|
|
15
|
+
* bug_863ae5 — IAM matrix pre-flight check.
|
|
16
|
+
*/
|
|
17
|
+
import chalk from 'chalk';
|
|
18
|
+
import ora from 'ora';
|
|
19
|
+
import { apiRequest } from '../../lib/api-client.js';
|
|
20
|
+
import { requireToken, handleApiError } from '../../lib/cli-read.js';
|
|
21
|
+
import { log } from '../../utils/logger.js';
|
|
22
|
+
import { IAM_SUBSET_KEYS } from '../../lib/iam-preflight.js';
|
|
23
|
+
export async function runAdminIamCheck(opts) {
|
|
24
|
+
const token = await requireToken(opts.json);
|
|
25
|
+
// Valida subset se fornecido.
|
|
26
|
+
if (opts.subset && !IAM_SUBSET_KEYS.includes(opts.subset)) {
|
|
27
|
+
if (opts.json) {
|
|
28
|
+
console.log(JSON.stringify({
|
|
29
|
+
ok: false,
|
|
30
|
+
error: 'invalid_subset',
|
|
31
|
+
message: `Subset desconhecido: "${opts.subset}". Válidos: ${IAM_SUBSET_KEYS.join(', ')}`,
|
|
32
|
+
}));
|
|
33
|
+
}
|
|
34
|
+
else {
|
|
35
|
+
log.error(`Subset desconhecido: "${opts.subset}". Válidos:\n ${IAM_SUBSET_KEYS.join('\n ')}`);
|
|
36
|
+
}
|
|
37
|
+
process.exit(1);
|
|
38
|
+
}
|
|
39
|
+
const path = opts.subset
|
|
40
|
+
? `/api/cli/v1/iam-check?subset=${encodeURIComponent(opts.subset)}`
|
|
41
|
+
: '/api/cli/v1/iam-check';
|
|
42
|
+
const spinner = opts.json
|
|
43
|
+
? null
|
|
44
|
+
: ora({ text: 'Verificando permissões IAM da SA Core…', color: 'blue' }).start();
|
|
45
|
+
let result;
|
|
46
|
+
try {
|
|
47
|
+
result = await apiRequest(path, { token });
|
|
48
|
+
spinner?.stop();
|
|
49
|
+
}
|
|
50
|
+
catch (error) {
|
|
51
|
+
spinner?.fail('Falha ao verificar permissões IAM.');
|
|
52
|
+
handleApiError(error, opts.json);
|
|
53
|
+
}
|
|
54
|
+
// ── JSON mode ──────────────────────────────────────────────────────────────
|
|
55
|
+
if (opts.json) {
|
|
56
|
+
console.log(JSON.stringify(result));
|
|
57
|
+
process.exit(result.ok ? 0 : 1);
|
|
58
|
+
}
|
|
59
|
+
// ── Human-readable mode ────────────────────────────────────────────────────
|
|
60
|
+
const scope = opts.subset
|
|
61
|
+
? `subset: ${chalk.cyan(opts.subset)}`
|
|
62
|
+
: 'todas as permissões';
|
|
63
|
+
console.log('');
|
|
64
|
+
log.heading(`IAM — ${result.serviceAccount} (projeto: ${result.projectId})`);
|
|
65
|
+
console.log(chalk.dim(` Escopo: ${scope}`));
|
|
66
|
+
console.log('');
|
|
67
|
+
// Status geral.
|
|
68
|
+
if (result.ok) {
|
|
69
|
+
console.log(` ${chalk.green.bold('✓ OK')} — todas as permissões estão concedidas.`);
|
|
70
|
+
console.log('');
|
|
71
|
+
console.log(chalk.dim(` ${result.granted.length} permissão(ões) verificada(s).`));
|
|
72
|
+
console.log('');
|
|
73
|
+
process.exit(0);
|
|
74
|
+
}
|
|
75
|
+
// Há permissões faltando.
|
|
76
|
+
console.log(` ${chalk.red.bold('✗ FALHA')} — ${result.missing.length} permissão(ões) faltando.`);
|
|
77
|
+
console.log('');
|
|
78
|
+
// Tabela: concedidas ✓ e faltando ✗
|
|
79
|
+
const allChecked = new Set([...result.granted, ...result.missing]);
|
|
80
|
+
const allSorted = Array.from(allChecked).sort();
|
|
81
|
+
const grantedSet = new Set(result.granted);
|
|
82
|
+
for (const perm of allSorted) {
|
|
83
|
+
const icon = grantedSet.has(perm)
|
|
84
|
+
? chalk.green(' ✓')
|
|
85
|
+
: chalk.red(' ✗');
|
|
86
|
+
const label = grantedSet.has(perm)
|
|
87
|
+
? chalk.dim(perm)
|
|
88
|
+
: chalk.red.bold(perm);
|
|
89
|
+
console.log(`${icon} ${label}`);
|
|
90
|
+
}
|
|
91
|
+
console.log('');
|
|
92
|
+
console.log(chalk.yellow.bold('Remediação:'));
|
|
93
|
+
console.log('');
|
|
94
|
+
for (const cmd of result.remediation) {
|
|
95
|
+
const lines = cmd.split('\n');
|
|
96
|
+
for (const line of lines) {
|
|
97
|
+
if (line.startsWith('#')) {
|
|
98
|
+
console.log(chalk.dim(` ${line}`));
|
|
99
|
+
}
|
|
100
|
+
else {
|
|
101
|
+
console.log(` ${chalk.cyan(line)}`);
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
console.log('');
|
|
105
|
+
}
|
|
106
|
+
console.log(chalk.dim(' Após aplicar, rode novamente: neetru admin iam-check'));
|
|
107
|
+
console.log('');
|
|
108
|
+
process.exit(1);
|
|
109
|
+
}
|
|
110
|
+
//# sourceMappingURL=iam-check.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"iam-check.js","sourceRoot":"","sources":["../../../src/commands/admin/iam-check.ts"],"names":[],"mappings":"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"}
|
|
@@ -14,6 +14,8 @@ import ora from 'ora';
|
|
|
14
14
|
import { apiRequest } from '../lib/api-client.js';
|
|
15
15
|
import { requireToken, handleApiError, printWriteResult, } from '../lib/cli-write.js';
|
|
16
16
|
import { log } from '../utils/logger.js';
|
|
17
|
+
// bug_863ae5: pre-flight IAM check.
|
|
18
|
+
import { assertIamReady } from '../lib/iam-preflight.js';
|
|
17
19
|
export async function runArtifactRegistryCreate(name, opts) {
|
|
18
20
|
if (!name) {
|
|
19
21
|
log.error('Uso: neetru artifact-registry create <name> [--location=us-central1] [--format=DOCKER]');
|
|
@@ -22,6 +24,10 @@ export async function runArtifactRegistryCreate(name, opts) {
|
|
|
22
24
|
const location = opts.location ?? 'us-central1';
|
|
23
25
|
const format = (opts.format ?? 'DOCKER').toUpperCase();
|
|
24
26
|
const token = await requireToken(opts.json);
|
|
27
|
+
// bug_863ae5: pre-flight IAM check antes de criar repositório.
|
|
28
|
+
if (!opts.dryRun) {
|
|
29
|
+
await assertIamReady(token, 'artifact-registry.create', opts.json);
|
|
30
|
+
}
|
|
25
31
|
const spinner = opts.json
|
|
26
32
|
? null
|
|
27
33
|
: ora({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"artifact-registry.js","sourceRoot":"","sources":["../../src/commands/artifact-registry.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,OAAO,GAAG,MAAM,KAAK,CAAC;AACtB,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EACL,YAAY,EACZ,cAAc,EACd,gBAAgB,GAEjB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,GAAG,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"artifact-registry.js","sourceRoot":"","sources":["../../src/commands/artifact-registry.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,OAAO,GAAG,MAAM,KAAK,CAAC;AACtB,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EACL,YAAY,EACZ,cAAc,EACd,gBAAgB,GAEjB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,GAAG,EAAE,MAAM,oBAAoB,CAAC;AACzC,oCAAoC;AACpC,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAQzD,MAAM,CAAC,KAAK,UAAU,yBAAyB,CAC7C,IAAY,EACZ,IAAmC;IAEnC,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,GAAG,CAAC,KAAK,CAAC,wFAAwF,CAAC,CAAC;QACpG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IACD,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,IAAI,aAAa,CAAC;IAChD,MAAM,MAAM,GAAG,CAAC,IAAI,CAAC,MAAM,IAAI,QAAQ,CAAC,CAAC,WAAW,EAAE,CAAC;IAEvD,MAAM,KAAK,GAAG,MAAM,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAE5C,+DAA+D;IAC/D,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;QACjB,MAAM,cAAc,CAAC,KAAK,EAAE,0BAA0B,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;IACrE,CAAC;IAED,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI;QACvB,CAAC,CAAC,IAAI;QACN,CAAC,CAAC,GAAG,CAAC;YACF,IAAI,EAAE,uBAAuB,IAAI,OAAO,QAAQ,KAAK,MAAM,IAAI;YAC/D,KAAK,EAAE,MAAM;SACd,CAAC,CAAC,KAAK,EAAE,CAAC;IAEf,MAAM,IAAI,GAAG,gCAAgC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;IAEjF,IAAI,GAWH,CAAC;IACF,IAAI,CAAC;QACH,GAAG,GAAG,MAAM,UAAU,CAAC,IAAI,EAAE;YAC3B,MAAM,EAAE,MAAM;YACd,KAAK;YACL,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE;SAChE,CAAC,CAAC;QACH,OAAO,EAAE,IAAI,EAAE,CAAC;IAClB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,EAAE,IAAI,CAAC,6BAA6B,CAAC,CAAC;QAC7C,cAAc,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;IACnC,CAAC;IAED,MAAM,YAAY,GAAG,GAAG,CAAC,IAAI;QAC3B,CAAC,CAAC,eAAe,GAAG,CAAC,IAAI,cAAc,GAAG,CAAC,QAAQ,WAAW,GAAG,CAAC,WAAW,EAAE;QAC/E,CAAC,CAAC,+BAA+B,GAAG,CAAC,aAAa,IAAI,KAAK,2FAA2F,CAAC;IAEzJ,gBAAgB,CACd,GAAG,CAAC,MAAM;QACR,CAAC,CAAC,GAAG;QACL,CAAC,CAAC;YACE,IAAI,EAAE,GAAG,CAAC,IAAI;YACd,QAAQ,EAAE,GAAG,CAAC,QAAQ;YACtB,MAAM,EAAE,GAAG,CAAC,MAAM;YAClB,IAAI,EAAE,GAAG,CAAC,IAAI;YACd,aAAa,EAAE,GAAG,CAAC,aAAa;YAChC,UAAU,EAAE,GAAG,CAAC,UAAU;YAC1B,WAAW,EAAE,GAAG,CAAC,WAAW;SAC7B,EACL,YAAY,EACZ,IAAI,CAAC,IAAI,CACV,CAAC;AACJ,CAAC"}
|
package/dist/commands/build.js
CHANGED
|
@@ -118,13 +118,44 @@ async function sha256File(p) {
|
|
|
118
118
|
hash.update(chunk);
|
|
119
119
|
return hash.digest('hex');
|
|
120
120
|
}
|
|
121
|
+
/**
|
|
122
|
+
* Converte um path Windows (ex: `S:\foo\bar`) para forward-slash com o
|
|
123
|
+
* drive-letter prefixado por `/` (ex: `/S/foo/bar`). Necessário quando o
|
|
124
|
+
* tar disponível é o GNU tar (MSYS2/Git Bash) que interpreta `S:` como
|
|
125
|
+
* host SSH. O bsdtar nativo do Windows 10+ aceita os dois formatos.
|
|
126
|
+
*
|
|
127
|
+
* Em plataformas não-Windows a função devolve o path sem alteração.
|
|
128
|
+
*
|
|
129
|
+
* Fix para bug_6001c5e83c764428ae39a5d6a1f8be82.
|
|
130
|
+
*/
|
|
131
|
+
function normalizePathForTar(p) {
|
|
132
|
+
if (process.platform !== 'win32')
|
|
133
|
+
return p;
|
|
134
|
+
// Ex: "S:\Documents\..." → "/S/Documents/..."
|
|
135
|
+
return p.replace(/^([A-Za-z]):\\/, (_, d) => `/${d.toUpperCase()}/`).replace(/\\/g, '/');
|
|
136
|
+
}
|
|
121
137
|
async function tarDirectory(srcDir, dest, exclude = []) {
|
|
122
138
|
// Usa `tar` nativo. Em Windows 11 já vem `bsdtar`. Fallback: erro claro.
|
|
123
|
-
|
|
139
|
+
//
|
|
140
|
+
// Fix bug_6001c5e: em Windows, GNU tar (MSYS2/Git Bash) interpreta drive-
|
|
141
|
+
// letters (S:) como sintaxe SSH host:path, causando "Cannot connect to S:".
|
|
142
|
+
// Mitigação dupla:
|
|
143
|
+
// 1. `--force-local` — instrui o GNU tar a NÃO interpretar nomes de
|
|
144
|
+
// arquivo como endereços remotos (opção ignorada pelo bsdtar nativo
|
|
145
|
+
// do Windows 10+, sem efeito colateral).
|
|
146
|
+
// 2. normalizePathForTar — converte S:\path → /S/path pra compatibilidade
|
|
147
|
+
// máxima com ambos os tars.
|
|
148
|
+
const safeDestPath = normalizePathForTar(dest);
|
|
149
|
+
const safeSrcDir = normalizePathForTar(srcDir);
|
|
150
|
+
const args = [];
|
|
151
|
+
if (process.platform === 'win32') {
|
|
152
|
+
args.push('--force-local');
|
|
153
|
+
}
|
|
154
|
+
args.push('-czf', safeDestPath);
|
|
124
155
|
for (const ex of exclude) {
|
|
125
156
|
args.push('--exclude', ex);
|
|
126
157
|
}
|
|
127
|
-
args.push('-C',
|
|
158
|
+
args.push('-C', safeSrcDir, '.');
|
|
128
159
|
try {
|
|
129
160
|
await runCmd('tar', args, process.cwd());
|
|
130
161
|
}
|
|
@@ -133,6 +164,17 @@ async function tarDirectory(srcDir, dest, exclude = []) {
|
|
|
133
164
|
' Em Windows, use o tar embarcado (já presente no Windows 10+).');
|
|
134
165
|
}
|
|
135
166
|
}
|
|
167
|
+
/**
|
|
168
|
+
* Detecta se um script npm usa prefixo de variável de ambiente no estilo Unix
|
|
169
|
+
* (ex: `NODE_ENV=production next build`) que é incompatível com cmd.exe.
|
|
170
|
+
*
|
|
171
|
+
* Fix para bug_0cf14fba40ec4352b75f3af2467e24b0.
|
|
172
|
+
*/
|
|
173
|
+
function detectsUnixEnvPrefix(script) {
|
|
174
|
+
// Padrão: uma ou mais ocorrências de VAR=valor antes do comando principal.
|
|
175
|
+
// Ex: "NODE_ENV=production next build", "FOO=bar BAZ=qux node server.js"
|
|
176
|
+
return /^(?:[A-Z_][A-Z0-9_]*=[^\s]+\s+)+\S/.test(script.trim());
|
|
177
|
+
}
|
|
136
178
|
async function buildNode(cwd, noCache) {
|
|
137
179
|
const pkgPath = path.join(cwd, 'package.json');
|
|
138
180
|
if (!fileExists(pkgPath))
|
|
@@ -154,6 +196,19 @@ async function buildNode(cwd, noCache) {
|
|
|
154
196
|
log.info('npm ci…');
|
|
155
197
|
await runCmd('npm', ['ci'], cwd);
|
|
156
198
|
if (pkg.scripts?.build) {
|
|
199
|
+
// Fix bug_0cf14fba: em Windows, cmd.exe não entende prefixo de env Unix
|
|
200
|
+
// (ex: "NODE_ENV=production next build"). Detectamos o padrão e avisamos
|
|
201
|
+
// o dev com orientação clara antes de tentar rodar — evita falha críptica.
|
|
202
|
+
if (process.platform === 'win32' && detectsUnixEnvPrefix(pkg.scripts.build)) {
|
|
203
|
+
log.warn(`O script "build" usa sintaxe Unix incompatível com Windows:\n` +
|
|
204
|
+
` ${pkg.scripts.build}\n` +
|
|
205
|
+
` Opções:\n` +
|
|
206
|
+
` 1. Adicione \`cross-env\` ao script: npm i -D cross-env\n` +
|
|
207
|
+
` Antes: NODE_ENV=production next build\n` +
|
|
208
|
+
` Depois: cross-env NODE_ENV=production next build\n` +
|
|
209
|
+
` 2. Remova o prefixo — o Next.js usa NODE_ENV=production por padrão em \`next build\`.\n` +
|
|
210
|
+
` O build será tentado mesmo assim (shell=true). Se falhar, aplique uma das opções acima.`);
|
|
211
|
+
}
|
|
157
212
|
log.info('npm run build…');
|
|
158
213
|
await runCmd('npm', ['run', 'build'], cwd);
|
|
159
214
|
}
|
|
@@ -174,7 +229,12 @@ async function buildDocker(cwd, slug, version, outputDir, noCache) {
|
|
|
174
229
|
// Empacota a image.tar em tar.gz uniforme com o resto do pipeline.
|
|
175
230
|
const finalTar = path.join(outputDir, `${slug}-${version}.tar.gz`);
|
|
176
231
|
// tar -czf finalTar -C outputDir <image basename>
|
|
177
|
-
|
|
232
|
+
// Fix bug_6001c5e: --force-local + normalizePathForTar pra compatibilidade Windows.
|
|
233
|
+
const tarDockerArgs = [];
|
|
234
|
+
if (process.platform === 'win32')
|
|
235
|
+
tarDockerArgs.push('--force-local');
|
|
236
|
+
tarDockerArgs.push('-czf', normalizePathForTar(finalTar), '-C', normalizePathForTar(outputDir), path.basename(imgTar));
|
|
237
|
+
await runCmd('tar', tarDockerArgs, cwd);
|
|
178
238
|
await fsp.rm(imgTar, { force: true });
|
|
179
239
|
return { tarballPath: finalTar, entrypoint: image };
|
|
180
240
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"build.js","sourceRoot":"","sources":["../../src/commands/build.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"build.js","sourceRoot":"","sources":["../../src/commands/build.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
export interface DeployOptions {
|
|
2
2
|
product?: string;
|
|
3
3
|
version?: string;
|
|
4
|
-
stack?: 'node' | 'docker' | 'php-apache' | 'static';
|
|
4
|
+
stack?: 'node' | 'nextjs' | 'docker' | 'php-apache' | 'static';
|
|
5
5
|
target?: 'cloud-run' | 'vm' | 'workspace';
|
|
6
6
|
server?: string;
|
|
7
7
|
domain?: string;
|
|
@@ -11,8 +11,27 @@ export interface DeployOptions {
|
|
|
11
11
|
artifactSha256?: string;
|
|
12
12
|
/** target=cloud-run: URI da imagem de container já buildada e pushada. */
|
|
13
13
|
image?: string;
|
|
14
|
-
/**
|
|
14
|
+
/**
|
|
15
|
+
* target=cloud-run: host Artifact Registry OU URI completa do repositório AR.
|
|
16
|
+
*
|
|
17
|
+
* Formatos aceitos:
|
|
18
|
+
* - Host apenas: `us-central1-docker.pkg.dev` — CLI descobre project via
|
|
19
|
+
* `gcloud config get-value project` e infere repo como `{slug}-{env}`.
|
|
20
|
+
* - Host + project + repo: `us-central1-docker.pkg.dev/my-project/my-repo` —
|
|
21
|
+
* usado diretamente como prefixo da URI final.
|
|
22
|
+
*/
|
|
15
23
|
registry?: string;
|
|
24
|
+
/**
|
|
25
|
+
* target=cloud-run: nome do repositório Artifact Registry (ex: gestovendas-staging).
|
|
26
|
+
* Se omitido, é inferido como `{productSlug}-{env}`.
|
|
27
|
+
* Ignorado quando `--registry` já contém 3 segmentos (host/project/repo).
|
|
28
|
+
*/
|
|
29
|
+
registryRepo?: string;
|
|
30
|
+
/**
|
|
31
|
+
* target=cloud-run: forçar `docker build` local em vez de Cloud Build remoto.
|
|
32
|
+
* Default: Cloud Build remoto (não exige Docker instalado).
|
|
33
|
+
*/
|
|
34
|
+
buildLocal?: boolean;
|
|
16
35
|
nonInteractive?: boolean;
|
|
17
36
|
envFile?: string;
|
|
18
37
|
env?: string;
|
|
@@ -28,5 +47,7 @@ export interface DeployOptions {
|
|
|
28
47
|
* fingerprint entre `db/schema.ts` local e `.neetru/db.json`.
|
|
29
48
|
*/
|
|
30
49
|
force?: boolean;
|
|
50
|
+
/** Saída em JSON (usado por assertIamReady e outros helpers). */
|
|
51
|
+
json?: boolean;
|
|
31
52
|
}
|
|
32
53
|
export declare function runDeploy(opts: DeployOptions): Promise<void>;
|