Repository navigation
💥 feat!: require express 5 and upgrade runtime dependencies - #72
Merged
Merged
Conversation
BREAKING CHANGE: express and @types/express peers are now ^5.0.0. Services using controllers, middlewares or auth-permission/express on express 4 must migrate to express 5 before upgrading. The express permission middleware is now async and relies on express 5 forwarding rejected promises to the error handler. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
BREAKING CHANGE: engines.node is now >=22.12.0. google-auth-library 11 requires node 22, and uuid 14 is ESM-only, loaded from the CJS build through require(esm). Upgrades google-auth-library 11, mathjs 15, uuid 14, hono 4.13, zod 4.6, date-fns 4.4, winston 3.19 and @fastify/rate-limit 11.2.1. CI drops node 20. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…ode 22.12" This reverts commit 359371f.
Upgrades mathjs 15, uuid 11.1, hono 4.13, zod 4.6, date-fns 4.4, winston 3.19 and @fastify/rate-limit 11.2.1. All keep a CommonJS build and support node 20. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This was referenced Oct 14, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Contexto
TIM-3679. No tim-network-adapter, o
@pact-foundation/pactinstalaexpress@^5na raiz. O framework declaravaexpress@^4como peer, então o npm aninhava uma cópia do framework em cada workspace. Cada cópia tinha seu próprioAsyncLocalStorage, e ox-correlation-idgravado pela unit não chegava aos clients dolibs.O que muda
expresse@types/expresspassam a ser^5.0.0, e continuam opcionais. Serviços que usamcontrollers,middlewaresouauth-permission/expresscom express 4 precisam migrar para o express 5 antes de subir para a 1.0.0. Serviços com Fastify ou Hono não são afetados.expressRegisterPermissionAuth: o middleware agora éasync. Uma falha do validator (rejeição da promise) vai para o error handler pelo tratamento nativo de promises do express 5.express@5.3.0e@types/express@5.0.6.mathjs14 → 15 e os minorsuuid11.1,hono4.13,zod4.6,date-fns4.4,winston3.19 e@fastify/rate-limit11.2.1. Todas mantêm build CommonJS e suportam Node 20.AGENTS.md).Impacto nos consumidores
Nenhum deles quebra agora, porque o caret (
^0.x) não pega a 1.0.0. Eles só precisam migrar para o express 5 quando subirem o framework. No tim-network-adapter, o bump fica no TIM-3729.Como testar
pnpm lint,pnpm buildepnpm test(260 testes) passam com express 5. A spec doexpressRegisterPermissionAuthsobe um app express 5 real e cobre a falha do validator indo para o error handler (503/401).npm pack:express@5, o npm deixa uma única cópia do express (express@5.3.0 dedupedsob o framework). Otsc --strictpassa, e a requisição devolve ox-correlation-idrecebido. A rejeição async do validator chega ao error handler.express@4, onpm ifalha comERESOLVEno peerexpress@"^5.0.0".Uuid.fromSeed(uuid v5) e as funções monetárias (mathjs) dodistdevolvem os mesmos valores da 0.17.1 publicada.Decisões
^5.0.0(opção B do ticket)google-auth-library11 exige Node 22, e ouuid12+ é só ESM (no build CJS só carrega a partir do Node 20.19). Por isso ficam na 9 e na 11.@dbos-inc/dbos-sdk5 e@prisma/client7 também ficam fora, porque pedem mudança de código (API de filas do DBOS; tipos do Prisma só a partir do client gerado). As ferramentas de dev não afetam os consumidores.^0.xnão pega a mudança sem querer.Depois do merge
Publicar a 1.0.0 e seguir o TIM-3729 no tim-network-adapter.