TypeScript 6 (^5.7.3 → ^6.0.3, Dependabot #303) no es un bump directo: probado en local, el build no pasa sin cambios de config/código. Se documenta aquí para abordarlo como migración dedicada en vez de forzarlo en un bump de dependencia.
Cambios necesarios (hallazgos concretos)
1. Deprecaciones convertidas en error (TS6 endurece de cara a TS7)
2. Errores de tipos reales
3. Validación pendiente / caveats
Bumps a subir (los 4 sitios)
typescript en apps/api, apps/web, packages/api-client, packages/warehouse-core.
Criterios de aceptación
- Gate completo verde con TS 6 (build api+web, lint, api test, web test).
- Deprecaciones resueltas de forma real (sin
ignoreDeprecations) siempre que no comprometa el emit dual de warehouse-core; si se usa ignoreDeprecations, documentar por qué.
Express.Multer.File resuelto sin any.
Referencias
Dependabot #303 (queda a la espera de esta migración).
TypeScript 6 (
^5.7.3 → ^6.0.3, Dependabot #303) no es un bump directo: probado en local, el build no pasa sin cambios de config/código. Se documenta aquí para abordarlo como migración dedicada en vez de forzarlo en un bump de dependencia.Cambios necesarios (hallazgos concretos)
1. Deprecaciones convertidas en error (TS6 endurece de cara a TS7)
apps/api/tsconfig.json:baseUrl: "./"→TS5101. No haypathsque dependan de él, así que se puede eliminar limpio (fix correcto, no band-aid).packages/warehouse-core/tsconfig.cjs.json:moduleResolution: "Node10"→TS5107. Ojo: es el build CJS del paquete dual (CJS+ESM). No se puede cambiar anode16sin tocar tambiénmodule: CommonJS(deben ser compatibles), y alterar el emit CJS/ESM que consumeapps/apies sutil → validardist/cjs+dist/esmtras el cambio. Alternativa temporal:"ignoreDeprecations": "6.0"(solo aplaza a TS7).2. Errores de tipos reales
apps/api/src/contexts/files/infrastructure/files.controller.ts(líneas 56 y 104):Express.Multer.File→TS2694: Namespace 'global.Express' has no exported member 'Multer'. TS6 deja de auto-aplicar la augmentación global de@types/multer(^2.1.0). Fix: forzar la referencia (/// <reference types="multer" />en el fichero, o importar el tipoFiledemulterdirectamente).3. Validación pendiente / caveats
apps/webbajo TS6 sin probar: el build de API petó antes de llegar a web → alcance real en web desconocido, puede haber más errores.openapi-typescript@7.13.0declara peertypescript@^5.x→ aparece unmet peer con TS6 (solo afecta agen:api, no al build, pero conviene esperar/verificar soporte).pnpm --filter api test, necesita Docker/Postgres) tras la migración — no validable en el entorno donde se detectó esto.Bumps a subir (los 4 sitios)
typescriptenapps/api,apps/web,packages/api-client,packages/warehouse-core.Criterios de aceptación
ignoreDeprecations) siempre que no comprometa el emit dual dewarehouse-core; si se usaignoreDeprecations, documentar por qué.Express.Multer.Fileresuelto sinany.Referencias
Dependabot #303 (queda a la espera de esta migración).