aprimorar ia

This commit is contained in:
Luiz Silva 2026-07-01 17:40:59 -03:00
parent a449f909f6
commit f3c9e7b60c
15 changed files with 155 additions and 13 deletions

View 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`

View 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`