@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 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,5 @@
1
+ export interface AdminIamCheckOptions {
2
+ subset?: string;
3
+ json?: boolean;
4
+ }
5
+ export declare function runAdminIamCheck(opts: AdminIamCheckOptions): Promise<void>;
@@ -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;AAQzC,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,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"}
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"}
@@ -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
- const args = ['-czf', dest];
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', srcDir, '.');
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
- await runCmd('tar', ['-czf', finalTar, '-C', outputDir, path.basename(imgTar)], cwd);
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
- /** target=cloud-run: host do Artifact Registry pro build automático. */
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>;