Fix Vercel Node engine range#180
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
|
This pull request has been ignored for the connected project Preview Branches by Supabase. |
|
Caution Review failedThe pull request is closed. ℹ️ Recent review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Pro Run ID: ⛔ Files ignored due to path filters (1)
📒 Files selected for processing (1)
WalkthroughO PR atualiza o requisito de versão do Node.js em MudançasAtualização de Requisito de Node.js
Esforço estimado de revisão🎯 1 (Trivial) | ⏱️ ~2 minutos ✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
There was a problem hiding this comment.
Pull request overview
Pins the project’s Node.js engine range to the Node 20 major line to prevent platforms like Vercel from selecting a newer major Node version due to a permissive >=20.0.0 constraint.
Changes:
- Updated
package.jsonengines.nodefrom>=20.0.0to20.x. - Updated the root
engines.nodeentry inpackage-lock.jsonto match20.x.
Reviewed changes
Copilot reviewed 1 out of 2 changed files in this pull request and generated no comments.
| File | Description |
|---|---|
| package.json | Restricts engines.node to Node 20 major (20.x) to avoid unintended major upgrades in deployment environments. |
| package-lock.json | Aligns the lockfile’s root package engines.node with the updated Node 20 major constraint. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
O arquivo AUDITORIA_REDEPLOY_PROMO_GIFTS_2026-05-13_15-32 (1).md foi adicionado ao main no PR #180 e contém referências documentais a `supabase db push` (descreve o desync, não é guia operacional). Sem allowlist o guard bloqueava todo CI do branch.
…assing) * fix(tests): alinhar 5 arquivos de teste com valores reais do código - bridge.test.ts: BOOT_RETRY_ATTEMPTS=4 (era 3) - cloud-status.test.ts: FAILURE_THRESHOLD=2 requer 2 falhas consecutivas para 'down' - crm-db-fixed.test.ts: usar expect.objectContaining para tolerar header REQUEST_ID - query-config-extended.test.ts: valores reais (VERY_STABLE=86400000, STABLE=3600000, etc.) - supplier-colors.test.ts: hex reais (#1E40AF XBZ, #065F46 Spot, #991B1B Asia, #9A3412 default) Todos os 59 testes passam nos 5 arquivos. * fix(ci): adicionar audit file na allowlist do check-no-db-push O arquivo AUDITORIA_REDEPLOY_PROMO_GIFTS_2026-05-13_15-32 (1).md foi adicionado ao main no PR #180 e contém referências documentais a `supabase db push` (descreve o desync, não é guia operacional). Sem allowlist o guard bloqueava todo CI do branch. * fix(ci): corrigir timeout da quality job (25→35 min) e eliminar tripla execução da suite A suite cresceu de ~300 para 404 arquivos desde que maxThreads=2 foi configurado (PR #136). Com 2 workers, o step "Run tests" passou a levar ~21 min, excedendo o timeout de 25 min e cancelando o job antes de qualquer gate pós-teste executar. Mudanças: - `timeout-minutes: 25 → 35` na quality job - Novo script `test:quality`: exclui `tests/hooks/**` (já cobertos pelo job dedicado `hooks-tests` com timeout próprio de 10 min), reduzindo a suite de ~404 para ~319 arquivos (~16-17 min estimados com 2 workers) - Remove `test:strict-ref` e `test:coverage` da quality job — nunca chegavam a executar (job era cancelado no step anterior) e são cobertos pelos jobs `ref-warning-suite` e `integration-tests` respectivamente Tempo estimado pós-fix: setup(4) + tests(17) + gates(8) ≈ 29 min < 35 min * fix(e2e): pular regression quando E2E_USER_EMAIL não configurado O workflow já documentava "specs autenticados só se E2E_USER_EMAIL/E2E_USER_PASSWORD estiverem configurados", mas a condição não estava implementada no step de regression. Resultado: regression rodava sem credenciais → todos os testes autenticados falhavam → step 22 "Fail job se regression registrou falhas" explodía → job inteiro vermelho, mesmo com smoke ✅ e header-sticky ✅. Fix: adiciona `&& env.E2E_USER_EMAIL != ''` na condição do step de regression. Sem credenciais, o step é skipped → e2e_run.outcome == 'skipped' → step 22 não roda → job passa. * fix(ci): aumentar timeout quality job (35→45 min) e atualizar baselines * fix(ci): atualizar baselines ESLint (1256 erros) e TypeScript (855 erros) * fix(ci): atualizar baseline ESLint (1256 erros em 524 arquivos, gerado 2026-05-13) * fix(ci): aumentar timeout quality job (35→45 min) e atualizar baselines
Motivation
20.xto avoid Vercel automatically upgrading deployments when a new major Node release appears and to keep engine constraints explicit.Description
engines.nodefrom>=20.0.0to20.xinpackage.jsonand update the rootengines.nodeentry inpackage-lock.jsonto match.Testing
npm install --package-lock-only --ignore-scriptswhich updated the lockfile successfully, andnpm run buildwhich completed and produced the production bundle (build succeeded).Codex Task
Summary by CodeRabbit
Release Notes
20.x.