aprimorar ia
This commit is contained in:
parent
a449f909f6
commit
f3c9e7b60c
15 changed files with 155 additions and 13 deletions
65
global/rules/tsconfig-ignore-deprecations
Normal file
65
global/rules/tsconfig-ignore-deprecations
Normal file
|
|
@ -0,0 +1,65 @@
|
|||
---
|
||||
type: rule
|
||||
name: tsconfig-ignore-deprecations
|
||||
description: Workaround obrigatório para tsup v8.5.0 que injeta baseUrl depreciado no TS 6.0
|
||||
scope: global
|
||||
trigger: file_match
|
||||
globs:
|
||||
- "**/tsconfig.json"
|
||||
updatedAt: "2026-07-01"
|
||||
---
|
||||
|
||||
# Regra: ignoreDeprecations no tsconfig.json
|
||||
|
||||
## Contexto
|
||||
|
||||
O `tsup` v8.5.0 injeta internamente `baseUrl: "."` no `rollup-dts-plugin` durante a geração de arquivos `.d.ts` (DTS Build). O TypeScript 6.0 trata `baseUrl` como depreciado (erro TS5101), causando falha fatal no build DTS.
|
||||
|
||||
## Regra
|
||||
|
||||
Todo `tsconfig.json` de pacotes que usam `tsup` **DEVE** incluir:
|
||||
|
||||
```json
|
||||
{
|
||||
"compilerOptions": {
|
||||
"ignoreDeprecations": "6.0"
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
Isso silencia todas as deprecações da era 5.x/6.0 sem efeito colateral.
|
||||
|
||||
## Quando remover
|
||||
|
||||
Esta regra é um **workaround temporário**. Deve ser removida quando o `tsup` lançar uma versão que não injete `baseUrl` automaticamente. Monitorar releases do tsup para deprecar esta rule.
|
||||
|
||||
## Exemplos
|
||||
|
||||
```json
|
||||
// ✅ Correto — com workaround
|
||||
{
|
||||
"compilerOptions": {
|
||||
"moduleResolution": "bundler",
|
||||
"module": "ESNext",
|
||||
"ignoreDeprecations": "6.0"
|
||||
}
|
||||
}
|
||||
|
||||
// ❌ Incorreto — build DTS falhará
|
||||
{
|
||||
"compilerOptions": {
|
||||
"moduleResolution": "bundler",
|
||||
"module": "ESNext"
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
## Impacto
|
||||
|
||||
Sem `ignoreDeprecations`, o comando `pnpm run build` falhará com erro TS5101 em qualquer pacote que gere arquivos `.d.ts` via tsup.
|
||||
|
||||
## Referências
|
||||
|
||||
- Memória Azteca: código 53
|
||||
- Rule: `global/rules/typescript-module-resolution`
|
||||
- Código responsável: `node_modules/tsup/dist/rollup.js`
|
||||
74
global/rules/typescript-module-resolution
Normal file
74
global/rules/typescript-module-resolution
Normal file
|
|
@ -0,0 +1,74 @@
|
|||
---
|
||||
type: rule
|
||||
name: typescript-module-resolution
|
||||
description: Padrão obrigatório de moduleResolution para todos os pacotes do monorepo Azteca
|
||||
scope: global
|
||||
trigger: file_match
|
||||
globs:
|
||||
- "**/tsconfig.json"
|
||||
priority: alta
|
||||
updatedAt: "2026-07-01"
|
||||
---
|
||||
|
||||
# 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:
|
||||
|
||||
```json
|
||||
{
|
||||
"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
|
||||
|
||||
```json
|
||||
// ✅ 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`
|
||||
Loading…
Add table
Add a link
Reference in a new issue