1.7 KiB
1.7 KiB
| type | name | description | scope | trigger | globs | priority | updatedAt |
|---|---|---|---|---|---|---|---|
| rule | typescript-module-resolution | Padrão obrigatório de moduleResolution para todos os pacotes do monorepo Azteca | global | glob | **/tsconfig*.json | alta | 2026-09-28 |
Regra: moduleResolution Padrão do Monorepo
Contexto
O TypeScript 6.0 deprecia moduleResolution: "node" (alias de "node10"), que deixará de funcionar no TS 7.0 (erro TS5107). Todos os pacotes do ecossistema Azteca compilam via tsup ou vite, portanto devem usar o modo bundler.
Regra
Todo tsconfig.json no monorepo DEVE usar:
{
"compilerOptions": {
"moduleResolution": "bundler",
"module": "ESNext"
}
}
Alternativa node16 — REJEITADA
A opção node16 foi testada e rejeitada por ser excessivamente estrita com dependências externas que não declaram corretamente as fronteiras ESM/CJS (erro TS1479).
Exemplos
// ✅ Correto — modo bundler
{
"compilerOptions": {
"moduleResolution": "bundler",
"module": "ESNext"
}
}
// ❌ Incorreto — modo depreciado
{
"compilerOptions": {
"moduleResolution": "node"
}
}
// ❌ Incorreto — estrito demais para o ecossistema
{
"compilerOptions": {
"moduleResolution": "node16",
"module": "Node16"
}
}
Procedimento ao corrigir
Ao corrigir moduleResolution em um pacote, varrer todos os tsconfig.json do monorepo para garantir consistência. Não corrigir isoladamente.
Impacto
Sem este padrão, o build falhará no TypeScript 7.0 com erro fatal TS5107. Já no TS 6.0 gera warnings de depreciação que poluem o output.
Referências
- Memória Azteca: códigos 51, 52, 54
- Rule:
global/rules/tsconfig-ignore-deprecations