@neetru/cli 2.27.0 → 2.28.0
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 +45 -0
- package/dist/commands/build.d.ts +14 -0
- package/dist/commands/build.js +127 -62
- package/dist/commands/build.js.map +1 -1
- package/dist/commands/db.js +108 -38
- package/dist/commands/db.js.map +1 -1
- package/dist/commands/deploy.d.ts +1 -1
- package/dist/commands/deploy.js +217 -102
- package/dist/commands/deploy.js.map +1 -1
- package/dist/index.js +5 -1
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,51 @@
|
|
|
2
2
|
|
|
3
3
|
Convenção: [Keep a Changelog](https://keepachangelog.com/) + [SemVer](https://semver.org/).
|
|
4
4
|
|
|
5
|
+
## [2.28.0] — 2026-08-04 (Onda 1 DevEx — `--json` em build/deploy, diagnóstico em apply/exec-sql, statementResults, resolve aceita pending)
|
|
6
|
+
|
|
7
|
+
> Release da Onda 1 do plano-mestre de qualidade (`neetru_core/docs/_review/PLANO_MESTRE_QUALIDADE_ECOSSISTEMA_2026-08-03.md`). Features developer-facing que já estavam mescladas na `main` (PRs #18 e #19) mas não publicadas.
|
|
8
|
+
|
|
9
|
+
### Adicionado
|
|
10
|
+
|
|
11
|
+
- **`--json` em `build` e `deploy`** (SETOR 5.1) — os 2 comandos mais usados agora têm saída machine-readable pra CI/scripting. `build --json`: `{ok, slug, version, stack, targetEnv, artifactPath, sha256, ...}`. `deploy --json`: `{ok, status, target, deploymentId, url?, revision?, ...}`. Erro: `{ok:false, error, message}` + exit code. Subprocessos (`npm`/`next`/`tar`/`docker`/`gcloud`) roteados pro stderr em modo json → `--json | jq` fica limpo; `--json` implica `--non-interactive`.
|
|
12
|
+
- **`db migrations show`** agora renderiza `statementResults` (outcome real por-statement: applied/already_exists/skipped/failed) no modo humano — a API já devolvia, o CLI não mostrava (SETOR 1.4).
|
|
13
|
+
|
|
14
|
+
### Corrigido
|
|
15
|
+
|
|
16
|
+
- **Diagnóstico de erro** que o `db migrations confirm` ganhou no 2.27.1 agora também roda em `db apply` e `db exec-sql` (SETOR 1.5) — mesma classe de erro (ex.: ownership drift) mostrava só o texto cru do pipeline.
|
|
17
|
+
- **`db migrations resolve`**: help/docstrings/mensagens corrigidos — o Core **já aceita `pending`** (desde wi_esteira_11); o CLI ainda dizia "só failed/partially_applied" e chamava isso de "fix que não saiu" (SETOR 1.3).
|
|
18
|
+
|
|
19
|
+
### Verificação
|
|
20
|
+
|
|
21
|
+
- 1150 testes (suíte completa), tsc limpo, pre-push verde.
|
|
22
|
+
|
|
23
|
+
## [2.27.1] — 2026-08-03 (diagnóstico acionável quando `db migrations confirm` falha)
|
|
24
|
+
|
|
25
|
+
> Correção do que o 2.27.0 assumiu errado: `exec-sql`/`db apply` SEMPRE conectam
|
|
26
|
+
> no Postgres como a role do app (via agente na VM, privilégio mínimo — nunca
|
|
27
|
+
> superuser), então NENHUM dos dois alcança um fix real de ownership drift —
|
|
28
|
+
> `ALTER TABLE ... OWNER TO` exige ser o dono atual ou superuser. Isso só foi
|
|
29
|
+
> descoberto ao vivo, em produção, com o pdv-agiliza: `exec-sql` classificou o
|
|
30
|
+
> `ALTER TABLE idempotency_keys OWNER TO app_ae263834e537;` como destrutiva
|
|
31
|
+
> corretamente, mas a migração falhou com `must be owner of table` mesmo após
|
|
32
|
+
> confirmar com MFA — 2 tentativas reais queimadas até entender a causa, porque
|
|
33
|
+
> `db migrations confirm` só reportava `status: failed`, sem mostrar o erro.
|
|
34
|
+
>
|
|
35
|
+
> O fix de ownership em si PRECISA de uma conexão superuser local na VM — fora
|
|
36
|
+
> do escopo deste CLI por design (ver runbook interno). O que este release
|
|
37
|
+
> resolve é a experiência de diagnóstico: `db migrations confirm` agora busca
|
|
38
|
+
> o erro real automaticamente e, para padrões conhecidos (ownership drift),
|
|
39
|
+
> mostra de cara que retry não resolve e qual o próximo passo.
|
|
40
|
+
|
|
41
|
+
### Corrigido
|
|
42
|
+
|
|
43
|
+
- `neetru db migrations confirm <id>`: quando o resultado é `status: 'failed'`, busca automaticamente o detalhe da migração (mesma chamada de `db migrations show`) e imprime o erro real — antes só aparecia "status: failed", exigindo um segundo comando pra descobrir o motivo.
|
|
44
|
+
- Diagnóstico acionável para o padrão `must be owner of` (ownership drift): explica que NÃO é falha transitória, que `db apply`/`exec-sql` nunca alcançam esse fix (conectam sempre como a role do app), e dá o comando exato (`gcloud compute ssh ... --tunnel-through-iap` + `sudo -u postgres psql`) pra resolver manualmente, uma vez.
|
|
45
|
+
|
|
46
|
+
### Verificação
|
|
47
|
+
|
|
48
|
+
- 1143 testes (suíte completa, +2 novos cobrindo o caminho `failed` com/sem diagnóstico conhecido), tsc limpo.
|
|
49
|
+
|
|
5
50
|
## [2.27.0] — 2026-07-28 (novo: `neetru db exec-sql` — SQL administrativo avulso pelo mesmo pipeline de segurança)
|
|
6
51
|
|
|
7
52
|
> Incidente pdv-agiliza: uma tabela (`idempotency_keys`) ficou com owner errado (`postgres` em vez de `app_ae263834e537`) por drift de uma recuperação de incidente fora do pipeline — bloqueando `ADD CONSTRAINT` (exige ser owner). O fix é 1 linha (`ALTER TABLE idempotency_keys OWNER TO app_ae263834e537;`), mas não existia um jeito de rodar SQL administrativo avulso contra produção: `neetru db apply` só aceita SQL gerado de `schema.ts` via drizzle-kit. Investigação confirmou que `POST /api/cli/v1/db/apply` já aceita `sql` livre no Core (audit+lock+classify+MFA-gate iguais a qualquer migração) — só faltava o CLI expor isso.
|
package/dist/commands/build.d.ts
CHANGED
|
@@ -35,6 +35,20 @@ export interface BuildOptions {
|
|
|
35
35
|
* — neutraliza o arquivo ambiente sem tocar em nada no disco do dev.
|
|
36
36
|
*/
|
|
37
37
|
targetEnv?: 'dev' | 'workspace' | 'prod';
|
|
38
|
+
/**
|
|
39
|
+
* SETOR 5.1 (PLANO_MESTRE_QUALIDADE_ECOSSISTEMA_2026-08-03): saída
|
|
40
|
+
* machine-readable. Suprime banner/spinner/logs humanos do stdout, roteia a
|
|
41
|
+
* saída dos subprocessos (npm/tar/docker) pro stderr, e imprime UMA única
|
|
42
|
+
* linha `JSON.stringify(result)` no stdout no fim (sucesso e erro). Com isso
|
|
43
|
+
* `neetru build --json | jq` fica limpo.
|
|
44
|
+
*/
|
|
45
|
+
json?: boolean;
|
|
46
|
+
/**
|
|
47
|
+
* Uso interno (chamado por `neetru deploy`): mesma supressão de stdout do
|
|
48
|
+
* `json` (logs humanos + subprocessos → stderr) MAS sem emitir a linha JSON
|
|
49
|
+
* final — o `neetru deploy` emite a dele. `json` implica `quiet`.
|
|
50
|
+
*/
|
|
51
|
+
quiet?: boolean;
|
|
38
52
|
}
|
|
39
53
|
export interface BuildManifest {
|
|
40
54
|
slug: string;
|
package/dist/commands/build.js
CHANGED
|
@@ -111,11 +111,25 @@ function detectVersion(cwd, override) {
|
|
|
111
111
|
// Default: prerelease com timestamp ISO compactado (sem package.json).
|
|
112
112
|
return `0.0.0-rc.${new Date().toISOString().replace(/[-:.TZ]/g, '').slice(0, 14)}`;
|
|
113
113
|
}
|
|
114
|
-
function
|
|
114
|
+
function scopedLog(quiet) {
|
|
115
|
+
if (!quiet)
|
|
116
|
+
return log;
|
|
117
|
+
const noop = (_msg) => { };
|
|
118
|
+
return { info: noop, warn: noop, dim: noop, success: noop, heading: noop, error: log.error };
|
|
119
|
+
}
|
|
120
|
+
/** SETOR 5.1: 1 linha JSON de erro no stdout (par com o sucesso). */
|
|
121
|
+
function emitBuildJsonError(message, error = 'build_failed') {
|
|
122
|
+
console.log(JSON.stringify({ ok: false, error, message }));
|
|
123
|
+
}
|
|
124
|
+
function runCmd(cmd, args, cwd, extraEnv, quietStdout = false) {
|
|
115
125
|
return new Promise((resolve, reject) => {
|
|
116
126
|
const child = spawn(cmd, args, {
|
|
117
127
|
cwd,
|
|
118
|
-
|
|
128
|
+
// SETOR 5.1: em modo --json/quiet, o stdout do filho (npm/next/tar/docker)
|
|
129
|
+
// é redirecionado pro stderr do pai (fd 2) pra manter o stdout do CLI 100%
|
|
130
|
+
// JSON puro. stderr do filho continua indo pro stderr. Fora do modo json,
|
|
131
|
+
// 'inherit' preserva o comportamento humano original.
|
|
132
|
+
stdio: quietStdout ? ['inherit', 2, 2] : 'inherit',
|
|
119
133
|
shell: process.platform === 'win32',
|
|
120
134
|
env: extraEnv ? { ...process.env, ...extraEnv } : process.env,
|
|
121
135
|
});
|
|
@@ -196,7 +210,7 @@ function normalizePathForTar(p) {
|
|
|
196
210
|
* diretório do produto: node, php-apache, static).
|
|
197
211
|
*/
|
|
198
212
|
export const LOCAL_ENV_TAR_EXCLUDES = ['.env.local', '.env.*.local'];
|
|
199
|
-
async function tarDirectory(srcDir, dest, exclude = []) {
|
|
213
|
+
async function tarDirectory(srcDir, dest, exclude = [], quiet = false) {
|
|
200
214
|
const args = [];
|
|
201
215
|
// Fix bug_6001c5e: em Windows, GNU tar (MSYS2/Git Bash) interpreta drive-
|
|
202
216
|
// letters (S:) como sintaxe SSH host:path, causando "Cannot connect to S:".
|
|
@@ -225,7 +239,7 @@ async function tarDirectory(srcDir, dest, exclude = []) {
|
|
|
225
239
|
}
|
|
226
240
|
args.push('-C', srcDirPath, '.');
|
|
227
241
|
try {
|
|
228
|
-
await runCmd('tar', args, process.cwd());
|
|
242
|
+
await runCmd('tar', args, process.cwd(), undefined, quiet);
|
|
229
243
|
}
|
|
230
244
|
catch (err) {
|
|
231
245
|
throw new Error(`Falha ao empacotar com tar: ${err.message}\n` +
|
|
@@ -360,7 +374,8 @@ async function loadEnvFile(envFile) {
|
|
|
360
374
|
}
|
|
361
375
|
return vars;
|
|
362
376
|
}
|
|
363
|
-
async function buildNode(cwd, noCache, noInstall = false, extraEnv, targetEnv = 'prod') {
|
|
377
|
+
async function buildNode(cwd, noCache, noInstall = false, extraEnv, targetEnv = 'prod', quiet = false) {
|
|
378
|
+
const lg = scopedLog(quiet);
|
|
364
379
|
const pkgPath = path.join(cwd, 'package.json');
|
|
365
380
|
if (!fileExists(pkgPath))
|
|
366
381
|
throw new Error('Stack node sem package.json.');
|
|
@@ -370,26 +385,26 @@ async function buildNode(cwd, noCache, noInstall = false, extraEnv, targetEnv =
|
|
|
370
385
|
// --no-fund` que respeita locks parciais. Flag --no-install permite skip
|
|
371
386
|
// total quando dev sabe que node_modules está OK.
|
|
372
387
|
if (noInstall) {
|
|
373
|
-
|
|
388
|
+
lg.dim('npm install pulado (--no-install).');
|
|
374
389
|
}
|
|
375
390
|
else {
|
|
376
391
|
if (noCache) {
|
|
377
392
|
// BUG-016 fix (2026-05-13): não apagar package-lock.json do usuário.
|
|
378
393
|
// Em vez disso, limpamos o cache do npm global se `--no-cache` for exigido.
|
|
379
|
-
|
|
394
|
+
lg.info('Limpando cache do npm (--no-cache)…');
|
|
380
395
|
try {
|
|
381
|
-
await runCmd('npm', ['cache', 'clean', '--force'], cwd);
|
|
396
|
+
await runCmd('npm', ['cache', 'clean', '--force'], cwd, undefined, quiet);
|
|
382
397
|
}
|
|
383
398
|
catch {
|
|
384
399
|
// Ignora falha de cache clean e prossegue
|
|
385
400
|
}
|
|
386
401
|
}
|
|
387
402
|
if (process.platform === 'win32') {
|
|
388
|
-
|
|
403
|
+
lg.warn(`Se houver \`next dev\` ativo na pasta, ele pode conflitar com o npm install (file locks).\n` +
|
|
389
404
|
` Pause o dev server antes do build, ou use --no-install pra pular esta etapa.`);
|
|
390
405
|
}
|
|
391
|
-
|
|
392
|
-
await runCmd('npm', ['install', '--no-save', '--no-audit', '--no-fund'], cwd);
|
|
406
|
+
lg.info('npm install (não destructivo, respeita locks)…');
|
|
407
|
+
await runCmd('npm', ['install', '--no-save', '--no-audit', '--no-fund'], cwd, undefined, quiet);
|
|
393
408
|
}
|
|
394
409
|
if (pkg.scripts?.build) {
|
|
395
410
|
// Fix crítico (2026-07-22, incidente pdv-agiliza): `NEXT_PUBLIC_NEETRU_ENV`
|
|
@@ -400,7 +415,7 @@ async function buildNode(cwd, noCache, noInstall = false, extraEnv, targetEnv =
|
|
|
400
415
|
// divergente vindo de --env-file/env-prefix Unix, de propósito — o objetivo
|
|
401
416
|
// é ter uma ÚNICA fonte de verdade pro env do bundle, não múltiplas.
|
|
402
417
|
const forcedEnv = { NEXT_PUBLIC_NEETRU_ENV: targetEnv };
|
|
403
|
-
|
|
418
|
+
lg.dim(` NEXT_PUBLIC_NEETRU_ENV forçado via spawn-env: ${targetEnv} (neutraliza .env.local — incidente pdv-agiliza 2026-07-22)`);
|
|
404
419
|
// Fix bug_0cf14fba + bug_893891f (27/05): em Windows, cmd.exe não entende
|
|
405
420
|
// prefixo de env Unix (ex: "NODE_ENV=production next build"). Antes:
|
|
406
421
|
// warning + run mesmo assim + falha. Agora: detect + parse + roda direto
|
|
@@ -413,28 +428,28 @@ async function buildNode(cwd, noCache, noInstall = false, extraEnv, targetEnv =
|
|
|
413
428
|
if (process.platform === 'win32' && detectsUnixEnvPrefix(pkg.scripts.build)) {
|
|
414
429
|
const { env: prefixEnv, cmd } = parseUnixEnvPrefix(pkg.scripts.build);
|
|
415
430
|
const mergedEnv = { ...(extraEnv ?? {}), ...prefixEnv, ...forcedEnv };
|
|
416
|
-
|
|
417
|
-
|
|
418
|
-
|
|
431
|
+
lg.info(`Script "build" usa env-prefix Unix. Auto-injetando ${Object.keys(mergedEnv).join('+')} via spawn-env (compat Windows).`);
|
|
432
|
+
lg.dim(` Original: ${pkg.scripts.build}`);
|
|
433
|
+
lg.dim(` Executando: ${cmd} (com env: ${JSON.stringify(mergedEnv)})`);
|
|
419
434
|
// Roda o comando real com env injetado. Usa npx pra resolver bins de
|
|
420
435
|
// node_modules/.bin (next, vite, tsc, etc).
|
|
421
436
|
const parts = cmd.split(/\s+/);
|
|
422
437
|
const bin = parts[0];
|
|
423
438
|
const args = parts.slice(1);
|
|
424
439
|
// npx <bin> respeita node_modules/.bin; se nao tem bin local, fallback ao PATH.
|
|
425
|
-
await runCmd('npx', [bin, ...args], cwd, mergedEnv);
|
|
440
|
+
await runCmd('npx', [bin, ...args], cwd, mergedEnv, quiet);
|
|
426
441
|
}
|
|
427
442
|
else {
|
|
428
443
|
const mergedEnv = { ...(extraEnv ?? {}), ...forcedEnv };
|
|
429
444
|
if (extraEnv && Object.keys(extraEnv).length > 0) {
|
|
430
445
|
// bug_25ff8581: vars de --env-file injetadas via spawn-env (evita editar
|
|
431
446
|
// package.json; funciona em todos os SOs).
|
|
432
|
-
|
|
447
|
+
lg.info(`Injetando ${Object.keys(extraEnv).length} var(s) de env-file: ${Object.keys(extraEnv).join(', ')}`);
|
|
433
448
|
}
|
|
434
449
|
else {
|
|
435
|
-
|
|
450
|
+
lg.info('npm run build…');
|
|
436
451
|
}
|
|
437
|
-
await runCmd('npm', ['run', 'build'], cwd, mergedEnv);
|
|
452
|
+
await runCmd('npm', ['run', 'build'], cwd, mergedEnv, quiet);
|
|
438
453
|
}
|
|
439
454
|
}
|
|
440
455
|
return { entrypoint: pkg.main ?? 'index.js' };
|
|
@@ -471,10 +486,11 @@ class BuildEnvGuardAbort extends Error {
|
|
|
471
486
|
* divergente → aborta o build (`safeExit(1)`), nunca empacota um tarball
|
|
472
487
|
* silenciosamente quebrado.
|
|
473
488
|
*/
|
|
474
|
-
async function validateBuildEnvManifest(cwd, targetEnv) {
|
|
489
|
+
async function validateBuildEnvManifest(cwd, targetEnv, quiet = false) {
|
|
490
|
+
const lg = scopedLog(quiet);
|
|
475
491
|
const manifestPath = path.join(cwd, '.next', 'neetru-build-manifest.json');
|
|
476
492
|
if (!fileExists(manifestPath)) {
|
|
477
|
-
|
|
493
|
+
lg.warn('Guard de build não encontrado (.next/neetru-build-manifest.json). ' +
|
|
478
494
|
'O produto não envolve next.config.mjs com withNeetruBuildGuard (@neetru/sdk >= 3.1.15) — ' +
|
|
479
495
|
`não foi possível confirmar que o bundle compilado reflete NEXT_PUBLIC_NEETRU_ENV=${targetEnv}. ` +
|
|
480
496
|
'Recomendado: export default withNeetruBuildGuard({ ...nextConfig }) no next.config.mjs.');
|
|
@@ -485,11 +501,11 @@ async function validateBuildEnvManifest(cwd, targetEnv) {
|
|
|
485
501
|
manifest = JSON.parse(await fsp.readFile(manifestPath, 'utf8'));
|
|
486
502
|
}
|
|
487
503
|
catch {
|
|
488
|
-
|
|
504
|
+
lg.warn('Guard de build ilegível (.next/neetru-build-manifest.json) — pulando validação.');
|
|
489
505
|
return;
|
|
490
506
|
}
|
|
491
507
|
if (manifest.builtEnv !== targetEnv) {
|
|
492
|
-
|
|
508
|
+
lg.error(`BUILD ABORTADO: o bundle compilado tem NEXT_PUBLIC_NEETRU_ENV="${manifest.builtEnv}" ` +
|
|
493
509
|
`mas o build era pra targetEnv="${targetEnv}". Isso indica .env.local (ou outro arquivo) ` +
|
|
494
510
|
'vencendo a precedência de env do Next.js (incidente 2026-07-22, pdv-agiliza — o SDK ativa ' +
|
|
495
511
|
'MockAuth quando env=dev, e o login real para de funcionar em produção). ' +
|
|
@@ -498,20 +514,21 @@ async function validateBuildEnvManifest(cwd, targetEnv) {
|
|
|
498
514
|
'o build não passou pelo `neetru build` (ex: script customizado contornando o CLI).');
|
|
499
515
|
throw new BuildEnvGuardAbort('NEXT_PUBLIC_NEETRU_ENV divergente do targetEnv');
|
|
500
516
|
}
|
|
501
|
-
|
|
517
|
+
lg.dim(` guard: NEXT_PUBLIC_NEETRU_ENV confirmado = ${manifest.builtEnv}`);
|
|
502
518
|
}
|
|
503
|
-
async function buildDocker(cwd, slug, version, outputDir, noCache) {
|
|
519
|
+
async function buildDocker(cwd, slug, version, outputDir, noCache, quiet = false) {
|
|
520
|
+
const lg = scopedLog(quiet);
|
|
504
521
|
const image = `neetru/${slug}:${version}`;
|
|
505
522
|
const buildArgs = ['build', '-t', image];
|
|
506
523
|
if (noCache)
|
|
507
524
|
buildArgs.push('--no-cache');
|
|
508
525
|
buildArgs.push('.');
|
|
509
|
-
|
|
510
|
-
await runCmd('docker', buildArgs, cwd);
|
|
526
|
+
lg.info(`docker ${buildArgs.join(' ')}…`);
|
|
527
|
+
await runCmd('docker', buildArgs, cwd, undefined, quiet);
|
|
511
528
|
// docker save → tarball
|
|
512
529
|
const imgTar = path.join(outputDir, `${slug}-${version}-image.tar`);
|
|
513
|
-
|
|
514
|
-
await runCmd('docker', ['save', '-o', imgTar, image], cwd);
|
|
530
|
+
lg.info(`docker save → ${imgTar}…`);
|
|
531
|
+
await runCmd('docker', ['save', '-o', imgTar, image], cwd, undefined, quiet);
|
|
515
532
|
// Empacota a image.tar em tar.gz uniforme com o resto do pipeline.
|
|
516
533
|
const finalTar = path.join(outputDir, `${slug}-${version}.tar.gz`);
|
|
517
534
|
// tar -czf finalTar -C outputDir <image basename>
|
|
@@ -521,24 +538,26 @@ async function buildDocker(cwd, slug, version, outputDir, noCache) {
|
|
|
521
538
|
if (isWinGnuDocker)
|
|
522
539
|
tarDockerArgs.push('--force-local');
|
|
523
540
|
tarDockerArgs.push('-czf', isWinGnuDocker ? normalizePathForTar(finalTar) : finalTar, '-C', isWinGnuDocker ? normalizePathForTar(outputDir) : outputDir, path.basename(imgTar));
|
|
524
|
-
await runCmd('tar', tarDockerArgs, cwd);
|
|
541
|
+
await runCmd('tar', tarDockerArgs, cwd, undefined, quiet);
|
|
525
542
|
await fsp.rm(imgTar, { force: true });
|
|
526
543
|
return { tarballPath: finalTar, entrypoint: image };
|
|
527
544
|
}
|
|
528
|
-
async function buildPhp(cwd) {
|
|
545
|
+
async function buildPhp(cwd, quiet = false) {
|
|
546
|
+
const lg = scopedLog(quiet);
|
|
529
547
|
const composer = path.join(cwd, 'composer.json');
|
|
530
548
|
if (fileExists(composer)) {
|
|
531
|
-
|
|
549
|
+
lg.info('composer install --no-dev --optimize-autoloader…');
|
|
532
550
|
try {
|
|
533
|
-
await runCmd('composer', ['install', '--no-dev', '--optimize-autoloader'], cwd);
|
|
551
|
+
await runCmd('composer', ['install', '--no-dev', '--optimize-autoloader'], cwd, undefined, quiet);
|
|
534
552
|
}
|
|
535
553
|
catch (err) {
|
|
536
|
-
|
|
554
|
+
lg.warn(`composer falhou: ${err.message}. Empacotando mesmo assim.`);
|
|
537
555
|
}
|
|
538
556
|
}
|
|
539
557
|
return { entrypoint: 'index.php' };
|
|
540
558
|
}
|
|
541
|
-
async function buildStatic(cwd, noInstall = false, targetEnv = 'prod') {
|
|
559
|
+
async function buildStatic(cwd, noInstall = false, targetEnv = 'prod', quiet = false) {
|
|
560
|
+
const lg = scopedLog(quiet);
|
|
542
561
|
const pkgPath = path.join(cwd, 'package.json');
|
|
543
562
|
if (fileExists(pkgPath)) {
|
|
544
563
|
try {
|
|
@@ -547,19 +566,19 @@ async function buildStatic(cwd, noInstall = false, targetEnv = 'prod') {
|
|
|
547
566
|
// bug_93f984a (MEDIUM): npm ci → npm install --no-save (respeita locks).
|
|
548
567
|
if (!noInstall) {
|
|
549
568
|
if (process.platform === 'win32') {
|
|
550
|
-
|
|
569
|
+
lg.warn('Se houver `next dev` ativo, pause antes (file locks).');
|
|
551
570
|
}
|
|
552
|
-
|
|
553
|
-
await runCmd('npm', ['install', '--no-save', '--no-audit', '--no-fund'], cwd);
|
|
571
|
+
lg.info('npm install (não destructivo)…');
|
|
572
|
+
await runCmd('npm', ['install', '--no-save', '--no-audit', '--no-fund'], cwd, undefined, quiet);
|
|
554
573
|
}
|
|
555
574
|
// Fix (2026-07-22, achado da revisão adversarial): `--stack static`
|
|
556
575
|
// também roda `next build` (output:'export') pra produtos Next.js
|
|
557
576
|
// exportados estaticamente — mesmo risco de .env.local vencer
|
|
558
577
|
// .env.production do stack node, mas sem proteção nenhuma até aqui.
|
|
559
578
|
// Mesmo forçado via spawn-env que buildNode (ver ali pro porquê).
|
|
560
|
-
|
|
561
|
-
|
|
562
|
-
await runCmd('npm', ['run', 'build'], cwd, { NEXT_PUBLIC_NEETRU_ENV: targetEnv });
|
|
579
|
+
lg.dim(` NEXT_PUBLIC_NEETRU_ENV forçado via spawn-env: ${targetEnv} (incidente pdv-agiliza 2026-07-22)`);
|
|
580
|
+
lg.info('npm run build…');
|
|
581
|
+
await runCmd('npm', ['run', 'build'], cwd, { NEXT_PUBLIC_NEETRU_ENV: targetEnv }, quiet);
|
|
563
582
|
}
|
|
564
583
|
}
|
|
565
584
|
catch {
|
|
@@ -574,12 +593,24 @@ async function buildStatic(cwd, noInstall = false, targetEnv = 'prod') {
|
|
|
574
593
|
return { root: cwd, entrypoint: 'index.html' };
|
|
575
594
|
}
|
|
576
595
|
export async function runBuild(opts = {}) {
|
|
577
|
-
|
|
596
|
+
// SETOR 5.1: `machineOutput` (=--json) emite a linha JSON final; `quiet`
|
|
597
|
+
// (=--json OU chamada interna do deploy) suprime stdout humano + roteia
|
|
598
|
+
// subprocessos pro stderr. `json` implica `quiet`.
|
|
599
|
+
const machineOutput = !!opts.json;
|
|
600
|
+
const quiet = machineOutput || !!opts.quiet;
|
|
601
|
+
const lg = scopedLog(quiet);
|
|
602
|
+
const startedAt = Date.now();
|
|
603
|
+
if (!quiet)
|
|
604
|
+
log.banner();
|
|
578
605
|
const cwd = process.cwd();
|
|
579
606
|
const localCfg = await loadLocalConfig(cwd);
|
|
580
607
|
const slug = opts.product ?? localCfg?.slug;
|
|
581
608
|
if (!slug) {
|
|
582
|
-
|
|
609
|
+
const msg = '--product <slug> é obrigatório (ou rode em diretório com neetru.config.json).';
|
|
610
|
+
if (machineOutput)
|
|
611
|
+
emitBuildJsonError(msg, 'product_required');
|
|
612
|
+
else
|
|
613
|
+
log.error(msg);
|
|
583
614
|
safeExit(1);
|
|
584
615
|
}
|
|
585
616
|
const version = detectVersion(cwd, opts.version);
|
|
@@ -606,7 +637,11 @@ export async function runBuild(opts = {}) {
|
|
|
606
637
|
if (opts.targetEnv) {
|
|
607
638
|
const normalized = normalizeTarget(opts.targetEnv);
|
|
608
639
|
if (!normalized) {
|
|
609
|
-
|
|
640
|
+
const msg = `--target-env "${opts.targetEnv}" inválido. Use: dev | workspace | prod.`;
|
|
641
|
+
if (machineOutput)
|
|
642
|
+
emitBuildJsonError(msg, 'invalid_target_env');
|
|
643
|
+
else
|
|
644
|
+
log.error(msg);
|
|
610
645
|
safeExit(1);
|
|
611
646
|
}
|
|
612
647
|
targetEnv = normalized;
|
|
@@ -617,12 +652,12 @@ export async function runBuild(opts = {}) {
|
|
|
617
652
|
if (opts.envFile) {
|
|
618
653
|
const envFilePath = path.resolve(cwd, opts.envFile);
|
|
619
654
|
buildEnvVars = await loadEnvFile(envFilePath);
|
|
620
|
-
|
|
655
|
+
lg.info(`Env-file carregado: ${opts.envFile} (${Object.keys(buildEnvVars).length} vars)`);
|
|
621
656
|
// Loga os nomes (nunca os valores) pra rastreabilidade sem vazar secrets.
|
|
622
|
-
|
|
657
|
+
lg.dim(` vars: ${Object.keys(buildEnvVars).join(', ')}`);
|
|
623
658
|
}
|
|
624
|
-
|
|
625
|
-
|
|
659
|
+
lg.heading(`neetru build`);
|
|
660
|
+
lg.dim(` slug=${slug} version=${version} stack=${stack}${rawStack === 'nextjs' ? ' (nextjs→node)' : ''}`);
|
|
626
661
|
const outputDir = path.resolve(cwd, opts.output ?? '.neetru-build');
|
|
627
662
|
await ensureDir(outputDir);
|
|
628
663
|
const tarballName = `${slug}-${version}.tar.gz`;
|
|
@@ -634,12 +669,12 @@ export async function runBuild(opts = {}) {
|
|
|
634
669
|
// bug_25ff8581: passa extraEnv do --env-file para o buildNode.
|
|
635
670
|
// Incidente 2026-07-22: passa targetEnv — força NEXT_PUBLIC_NEETRU_ENV
|
|
636
671
|
// via spawn-env, neutralizando .env.local vencendo .env.production.
|
|
637
|
-
const r = await buildNode(cwd, !!opts.noCache, !!opts.noInstall, buildEnvVars, targetEnv);
|
|
672
|
+
const r = await buildNode(cwd, !!opts.noCache, !!opts.noInstall, buildEnvVars, targetEnv, quiet);
|
|
638
673
|
entrypoint = r.entrypoint;
|
|
639
674
|
// Incidente 2026-07-22: confirma que o bundle compilado realmente
|
|
640
675
|
// refletiu o targetEnv (defesa contra scripts de build customizados
|
|
641
676
|
// que ignorem o spawn-env acima) ANTES de empacotar o tarball.
|
|
642
|
-
await validateBuildEnvManifest(cwd, targetEnv);
|
|
677
|
+
await validateBuildEnvManifest(cwd, targetEnv, quiet);
|
|
643
678
|
// Empacota o cwd inteiro excluindo dirs grandes.
|
|
644
679
|
await tarDirectory(cwd, tarballPath, [
|
|
645
680
|
'.git',
|
|
@@ -648,25 +683,25 @@ export async function runBuild(opts = {}) {
|
|
|
648
683
|
'node_modules/.cache',
|
|
649
684
|
'tmp',
|
|
650
685
|
'*.log',
|
|
651
|
-
]);
|
|
686
|
+
], quiet);
|
|
652
687
|
}
|
|
653
688
|
else if (stack === 'docker') {
|
|
654
|
-
const r = await buildDocker(cwd, slug, version, outputDir, !!opts.noCache);
|
|
689
|
+
const r = await buildDocker(cwd, slug, version, outputDir, !!opts.noCache, quiet);
|
|
655
690
|
tarballPath = r.tarballPath;
|
|
656
691
|
entrypoint = r.entrypoint;
|
|
657
692
|
}
|
|
658
693
|
else if (stack === 'php-apache') {
|
|
659
|
-
const r = await buildPhp(cwd);
|
|
694
|
+
const r = await buildPhp(cwd, quiet);
|
|
660
695
|
entrypoint = r.entrypoint;
|
|
661
|
-
await tarDirectory(cwd, tarballPath, ['.git', '.neetru-build', 'node_modules', 'tmp', '*.log']);
|
|
696
|
+
await tarDirectory(cwd, tarballPath, ['.git', '.neetru-build', 'node_modules', 'tmp', '*.log'], quiet);
|
|
662
697
|
}
|
|
663
698
|
else if (stack === 'static') {
|
|
664
699
|
// Incidente 2026-07-22: --stack static também roda `next build`
|
|
665
700
|
// (output:'export') pra produtos Next.js — mesma proteção do stack node.
|
|
666
|
-
const r = await buildStatic(cwd, !!opts.noInstall, targetEnv);
|
|
701
|
+
const r = await buildStatic(cwd, !!opts.noInstall, targetEnv, quiet);
|
|
667
702
|
entrypoint = r.entrypoint;
|
|
668
|
-
await validateBuildEnvManifest(cwd, targetEnv);
|
|
669
|
-
await tarDirectory(r.root, tarballPath, ['.git', '.neetru-build']);
|
|
703
|
+
await validateBuildEnvManifest(cwd, targetEnv, quiet);
|
|
704
|
+
await tarDirectory(r.root, tarballPath, ['.git', '.neetru-build'], quiet);
|
|
670
705
|
}
|
|
671
706
|
else {
|
|
672
707
|
throw new Error(`Stack desconhecida: ${stack}`);
|
|
@@ -683,9 +718,18 @@ export async function runBuild(opts = {}) {
|
|
|
683
718
|
// por cima da mensagem já clara, e chamar safeExit(1) de novo agendava
|
|
684
719
|
// um SEGUNDO exit — sai uma única vez, sem spinner.fail redundante.
|
|
685
720
|
if (err instanceof BuildEnvGuardAbort) {
|
|
721
|
+
// validateBuildEnvManifest já logou (BUILD ABORTADO, stderr). Em --json,
|
|
722
|
+
// emite também a linha JSON de erro pro consumidor.
|
|
723
|
+
if (machineOutput) {
|
|
724
|
+
emitBuildJsonError('NEXT_PUBLIC_NEETRU_ENV do bundle diverge do targetEnv — build abortado.', 'env_guard_mismatch');
|
|
725
|
+
}
|
|
686
726
|
safeExit(1);
|
|
687
727
|
}
|
|
688
|
-
|
|
728
|
+
const failMsg = `Falha no build: ${err.message}`;
|
|
729
|
+
if (machineOutput)
|
|
730
|
+
emitBuildJsonError(failMsg, 'build_failed');
|
|
731
|
+
else
|
|
732
|
+
spinner.fail(failMsg);
|
|
689
733
|
// bug_818cf6d (MEDIUM): safeExit em vez de process.exit pra evitar
|
|
690
734
|
// libuv assertion (Windows) — cleanup explícito antes do exit (NEVER returns).
|
|
691
735
|
safeExit(1);
|
|
@@ -706,10 +750,31 @@ export async function runBuild(opts = {}) {
|
|
|
706
750
|
};
|
|
707
751
|
const manifestPath = path.join(outputDir, 'manifest.json');
|
|
708
752
|
await fsp.writeFile(manifestPath, JSON.stringify(manifest, null, 2), 'utf8');
|
|
709
|
-
|
|
710
|
-
|
|
711
|
-
|
|
712
|
-
|
|
753
|
+
lg.dim(` sha256=${sha256.slice(0, 16)}…`);
|
|
754
|
+
lg.dim(` size=${(sizeBytes / 1024 / 1024).toFixed(2)} MB`);
|
|
755
|
+
lg.dim(` manifest=${path.relative(cwd, manifestPath)}`);
|
|
756
|
+
lg.success(`Build pronto. Use: ${chalk.bold('neetru deploy --product=' + slug)}`);
|
|
757
|
+
// SETOR 5.1: em --json, imprime UMA linha JSON estruturada no stdout no fim.
|
|
758
|
+
// Não emite quando chamado internamente pelo deploy (`quiet` sem `json`) — o
|
|
759
|
+
// deploy emite a linha dele.
|
|
760
|
+
if (machineOutput) {
|
|
761
|
+
console.log(JSON.stringify({
|
|
762
|
+
ok: true,
|
|
763
|
+
slug,
|
|
764
|
+
version,
|
|
765
|
+
stack,
|
|
766
|
+
targetEnv,
|
|
767
|
+
tarball: manifest.tarball,
|
|
768
|
+
// alias explícito pedido no plano 5.1 (`build` gera artefato LOCAL, não URL).
|
|
769
|
+
artifactPath: manifest.tarball,
|
|
770
|
+
sha256,
|
|
771
|
+
sizeBytes,
|
|
772
|
+
entrypoint: entrypoint ?? null,
|
|
773
|
+
builtAt: manifest.builtAt,
|
|
774
|
+
manifestPath: path.relative(cwd, manifestPath),
|
|
775
|
+
durationMs: Date.now() - startedAt,
|
|
776
|
+
}));
|
|
777
|
+
}
|
|
713
778
|
return manifest;
|
|
714
779
|
}
|
|
715
780
|
//# sourceMappingURL=build.js.map
|
|
@@ -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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"}
|