@neetru/cli 2.27.1 → 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 CHANGED
@@ -2,6 +2,24 @@
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
+
5
23
  ## [2.27.1] — 2026-08-03 (diagnóstico acionável quando `db migrations confirm` falha)
6
24
 
7
25
  > Correção do que o 2.27.0 assumiu errado: `exec-sql`/`db apply` SEMPRE conectam
@@ -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;
@@ -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 runCmd(cmd, args, cwd, extraEnv) {
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
- stdio: 'inherit',
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
- log.dim('npm install pulado (--no-install).');
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
- log.info('Limpando cache do npm (--no-cache)…');
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
- log.warn(`Se houver \`next dev\` ativo na pasta, ele pode conflitar com o npm install (file locks).\n` +
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
- log.info('npm install (não destructivo, respeita locks)…');
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
- log.dim(` NEXT_PUBLIC_NEETRU_ENV forçado via spawn-env: ${targetEnv} (neutraliza .env.local — incidente pdv-agiliza 2026-07-22)`);
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
- log.info(`Script "build" usa env-prefix Unix. Auto-injetando ${Object.keys(mergedEnv).join('+')} via spawn-env (compat Windows).`);
417
- log.dim(` Original: ${pkg.scripts.build}`);
418
- log.dim(` Executando: ${cmd} (com env: ${JSON.stringify(mergedEnv)})`);
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
- log.info(`Injetando ${Object.keys(extraEnv).length} var(s) de env-file: ${Object.keys(extraEnv).join(', ')}`);
447
+ lg.info(`Injetando ${Object.keys(extraEnv).length} var(s) de env-file: ${Object.keys(extraEnv).join(', ')}`);
433
448
  }
434
449
  else {
435
- log.info('npm run build…');
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
- log.warn('Guard de build não encontrado (.next/neetru-build-manifest.json). ' +
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
- log.warn('Guard de build ilegível (.next/neetru-build-manifest.json) — pulando validação.');
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
- log.error(`BUILD ABORTADO: o bundle compilado tem NEXT_PUBLIC_NEETRU_ENV="${manifest.builtEnv}" ` +
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
- log.dim(` guard: NEXT_PUBLIC_NEETRU_ENV confirmado = ${manifest.builtEnv}`);
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
- log.info(`docker ${buildArgs.join(' ')}…`);
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
- log.info(`docker save → ${imgTar}…`);
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
- log.info('composer install --no-dev --optimize-autoloader…');
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
- log.warn(`composer falhou: ${err.message}. Empacotando mesmo assim.`);
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
- log.warn('Se houver `next dev` ativo, pause antes (file locks).');
569
+ lg.warn('Se houver `next dev` ativo, pause antes (file locks).');
551
570
  }
552
- log.info('npm install (não destructivo)…');
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
- log.dim(` NEXT_PUBLIC_NEETRU_ENV forçado via spawn-env: ${targetEnv} (incidente pdv-agiliza 2026-07-22)`);
561
- log.info('npm run build…');
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
- log.banner();
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
- log.error('--product <slug> é obrigatório (ou rode em diretório com neetru.config.json).');
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
- log.error(`--target-env "${opts.targetEnv}" inválido. Use: dev | workspace | prod.`);
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
- log.info(`Env-file carregado: ${opts.envFile} (${Object.keys(buildEnvVars).length} vars)`);
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
- log.dim(` vars: ${Object.keys(buildEnvVars).join(', ')}`);
657
+ lg.dim(` vars: ${Object.keys(buildEnvVars).join(', ')}`);
623
658
  }
624
- log.heading(`neetru build`);
625
- log.dim(` slug=${slug} version=${version} stack=${stack}${rawStack === 'nextjs' ? ' (nextjs→node)' : ''}`);
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
- spinner.fail(`Falha no build: ${err.message}`);
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
- log.dim(` sha256=${sha256.slice(0, 16)}…`);
710
- log.dim(` size=${(sizeBytes / 1024 / 1024).toFixed(2)} MB`);
711
- log.dim(` manifest=${path.relative(cwd, manifestPath)}`);
712
- log.success(`Build pronto. Use: ${chalk.bold('neetru deploy --product=' + slug)}`);
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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"}