aprimorar ia
This commit is contained in:
parent
a449f909f6
commit
f3c9e7b60c
15 changed files with 155 additions and 13 deletions
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
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`
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
{
|
{
|
||||||
"versao": "3.0.0",
|
"versao": "3.0.0",
|
||||||
"base_url": "https://paiol.idz.one/desenvolvimento/agent-ia",
|
"base_url": "https://paiol.idz.one/desenvolvimento/agent-ia",
|
||||||
"gerado_em": "2026-07-01T16:29:11-03:00",
|
"gerado_em": "2026-07-01T20:38:56-03:00",
|
||||||
"artefatos": {
|
"artefatos": {
|
||||||
"global": {
|
"global": {
|
||||||
"rules": [
|
"rules": [
|
||||||
|
|
@ -9,6 +9,7 @@
|
||||||
"global/rules/carta-principios-agente-azteca",
|
"global/rules/carta-principios-agente-azteca",
|
||||||
"global/rules/consultar-banco-query-ia",
|
"global/rules/consultar-banco-query-ia",
|
||||||
"global/rules/escrita-natural",
|
"global/rules/escrita-natural",
|
||||||
|
"global/rules/estilos-design-system",
|
||||||
"global/rules/feedback-visivel",
|
"global/rules/feedback-visivel",
|
||||||
"global/rules/fronteiras-monorepo",
|
"global/rules/fronteiras-monorepo",
|
||||||
"global/rules/funcoes-anonimas-arrow",
|
"global/rules/funcoes-anonimas-arrow",
|
||||||
|
|
@ -17,6 +18,8 @@
|
||||||
"global/rules/mensagens-usuario",
|
"global/rules/mensagens-usuario",
|
||||||
"global/rules/proibido-commit-ia",
|
"global/rules/proibido-commit-ia",
|
||||||
"global/rules/regras-negocio-md",
|
"global/rules/regras-negocio-md",
|
||||||
|
"global/rules/tsconfig-ignore-deprecations",
|
||||||
|
"global/rules/typescript-module-resolution",
|
||||||
"global/rules/typescript-sem-any",
|
"global/rules/typescript-sem-any",
|
||||||
"global/rules/usar-memoria-persistente",
|
"global/rules/usar-memoria-persistente",
|
||||||
"global/rules/zod-validacao-padrao"
|
"global/rules/zod-validacao-padrao"
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue