{"_id":"@cajuinasi/eslint-config","_rev":"9-fbb0e4ec241fa86c55edb0000bd8e9fb","name":"@cajuinasi/eslint-config","dist-tags":{"latest":"2.1.7"},"versions":{"1.0.0":{"name":"@cajuinasi/eslint-config","version":"1.0.0","license":"MIT","_id":"@cajuinasi/eslint-config@1.0.0","maintainers":[{"name":"psousajcajuina","email":"jose.pinheiro@cajuinasaogeraldo.com.br"}],"dist":{"shasum":"5156936de4dec0b0b7a61e1c5536da8769f823e8","tarball":"https://registry.npmjs.org/@cajuinasi/eslint-config/-/eslint-config-1.0.0.tgz","fileCount":4,"integrity":"sha512-/xvLiFEPIyWofdpRj5oCUDwjVOws87U287DRKcv4EMOJZa2oQo/838k4XkCrz4+97GGaOxkCZQWSOYtRb4Lo3Q==","signatures":[{"sig":"MEUCIBak1j0xf2nV26aTFRhHOLwIgOgig8gS0izqP+iDHIKsAiEA4K4mNUkiiZfs6U7nh3+FZ+Q8/7jO/2La1nU6F4b5u1Q=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1679},"main":"index.js","_from":"file:cajuinasi-eslint-config-1.0.0.tgz","types":"index.d.ts","exports":{".":{"types":"./index.d.ts","require":"./index.js"}},"_npmUser":{"name":"psousajcajuina","email":"jose.pinheiro@cajuinasaogeraldo.com.br"},"_resolved":"/tmp/23127ba73fc8295070d2405e56706de9/cajuinasi-eslint-config-1.0.0.tgz","_integrity":"sha512-/xvLiFEPIyWofdpRj5oCUDwjVOws87U287DRKcv4EMOJZa2oQo/838k4XkCrz4+97GGaOxkCZQWSOYtRb4Lo3Q==","_npmVersion":"10.8.2","description":"Eslint config oficial da CajuinaSI","directories":{},"_nodeVersion":"20.18.0","dependencies":{"eslint":"^9.38.0","@eslint/js":"^9.38.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/eslint-config_1.0.0_1761586377401_0.11314652473977871","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"@cajuinasi/eslint-config","version":"1.0.1","license":"MIT","_id":"@cajuinasi/eslint-config@1.0.1","maintainers":[{"name":"psousajcajuina","email":"jose.pinheiro@cajuinasaogeraldo.com.br"}],"dist":{"shasum":"6352fa69cd0cfcfa95d914c779570b53dadd491c","tarball":"https://registry.npmjs.org/@cajuinasi/eslint-config/-/eslint-config-1.0.1.tgz","fileCount":4,"integrity":"sha512-QzbrIKrBW7bAK2Vn3iaYfuwc3rmCV64VkTdzA6jFM+2LRQjTaIX3S7fW4hZ+pY0jpExT4AKV+4Wn+3fBX93lkg==","signatures":[{"sig":"MEYCIQCVKzgq+Nie6ntaw40HZfkm8UpN+ZeRAslMXfILNt8vJgIhAK+CmIexRE/LdhFfGFc3ZkZ+xnZhIJdKE8zil5zfz+gR","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2291},"main":"index.js","_from":"file:cajuinasi-eslint-config-1.0.1.tgz","types":"index.d.ts","exports":{".":{"types":"./index.d.ts","require":"./index.mjs"}},"_npmUser":{"name":"psousajcajuina","email":"jose.pinheiro@cajuinasaogeraldo.com.br"},"_resolved":"/tmp/c66457676f1d3ec90454d372b9b5bcf5/cajuinasi-eslint-config-1.0.1.tgz","_integrity":"sha512-QzbrIKrBW7bAK2Vn3iaYfuwc3rmCV64VkTdzA6jFM+2LRQjTaIX3S7fW4hZ+pY0jpExT4AKV+4Wn+3fBX93lkg==","_npmVersion":"10.8.2","description":"Eslint config oficial da CajuinaSI","directories":{},"_nodeVersion":"20.18.0","dependencies":{"eslint":"^9.38.0","globals":"^16.4.0","@eslint/js":"^9.38.0","typescript-eslint":"^8.46.2","astro-eslint-parser":"^1.2.2","eslint-plugin-astro":"^1.4.0","@typescript-eslint/parser":"^8.46.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/eslint-config_1.0.1_1761586862405_0.7842814642419258","host":"s3://npm-registry-packages-npm-production"}},"1.0.2":{"name":"@cajuinasi/eslint-config","version":"1.0.2","license":"MIT","_id":"@cajuinasi/eslint-config@1.0.2","maintainers":[{"name":"psousajcajuina","email":"jose.pinheiro@cajuinasaogeraldo.com.br"}],"dist":{"shasum":"d89343b48b89cef187913387a243d3e8f4b5f392","tarball":"https://registry.npmjs.org/@cajuinasi/eslint-config/-/eslint-config-1.0.2.tgz","fileCount":4,"integrity":"sha512-BDC3BQYimxdthzCRppUsnh6iWI8g45vTTDZPK6kBtxCKcsxWfZbY+aqBQH3h+1kDnSTZhIUVWMsGZ5NsakRbQg==","signatures":[{"sig":"MEUCIBvfEljtyuu6ekNa7cuzDOWwPw6nevDgBJRZ9+zUy++lAiEAyN62G2CfUq8YAs4SY0SL8ifsCJqoDhgHHmrya4LuBtQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2319},"main":"index.mjs","type":"module","_from":"file:cajuinasi-eslint-config-1.0.2.tgz","types":"index.d.ts","exports":{".":{"types":"./index.d.ts","import":"./index.mjs"}},"_npmUser":{"name":"psousajcajuina","email":"jose.pinheiro@cajuinasaogeraldo.com.br"},"_resolved":"/tmp/5dc7663152978de2606831f686be9eba/cajuinasi-eslint-config-1.0.2.tgz","_integrity":"sha512-BDC3BQYimxdthzCRppUsnh6iWI8g45vTTDZPK6kBtxCKcsxWfZbY+aqBQH3h+1kDnSTZhIUVWMsGZ5NsakRbQg==","_npmVersion":"10.8.2","description":"Eslint config oficial da CajuinaSI","directories":{},"_nodeVersion":"20.18.0","dependencies":{"eslint":"^9.38.0","globals":"^16.4.0","@eslint/js":"^9.38.0","typescript-eslint":"^8.46.2","astro-eslint-parser":"^1.2.2","eslint-plugin-astro":"^1.4.0","@typescript-eslint/parser":"^8.46.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/eslint-config_1.0.2_1761587256761_0.621290319913886","host":"s3://npm-registry-packages-npm-production"}},"1.0.3":{"name":"@cajuinasi/eslint-config","version":"1.0.3","license":"MIT","_id":"@cajuinasi/eslint-config@1.0.3","maintainers":[{"name":"psousajcajuina","email":"jose.pinheiro@cajuinasaogeraldo.com.br"}],"dist":{"shasum":"6261e4d9176dd1d6f90fa1b82dd4e5dcd3932cb4","tarball":"https://registry.npmjs.org/@cajuinasi/eslint-config/-/eslint-config-1.0.3.tgz","fileCount":4,"integrity":"sha512-I2B9jmLIT0NGgmxmRjsOWasiW0dlw1Gyc9hgSp6QbUo00Qc5J0HhXxYmBCZWwo3dDviCJcWofcjoeGBrmDErKQ==","signatures":[{"sig":"MEUCIQCvcTo7DOgp/Oz9q1zsX9EJqYlTKbjOVRZ71sBXlcs5IQIgRozEJcSUSSr/NC2Vsc+oK6HD6/8/8mQBFYHKPzXftkU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2328},"main":"index.mjs","type":"module","_from":"file:cajuinasi-eslint-config-1.0.3.tgz","types":"index.d.ts","exports":{".":{"types":"./index.d.ts","import":"./index.mjs"}},"_npmUser":{"name":"psousajcajuina","email":"jose.pinheiro@cajuinasaogeraldo.com.br"},"_resolved":"/tmp/cb296a3ad44fe70847d15090f2ea07d6/cajuinasi-eslint-config-1.0.3.tgz","_integrity":"sha512-I2B9jmLIT0NGgmxmRjsOWasiW0dlw1Gyc9hgSp6QbUo00Qc5J0HhXxYmBCZWwo3dDviCJcWofcjoeGBrmDErKQ==","_npmVersion":"10.8.2","description":"Eslint config oficial da CajuinaSI","directories":{},"_nodeVersion":"20.18.0","dependencies":{"eslint":"^9.38.0","globals":"^16.4.0","@eslint/js":"^9.38.0","typescript-eslint":"^8.46.2","astro-eslint-parser":"^1.2.2","eslint-plugin-astro":"^1.4.0","@typescript-eslint/parser":"^8.46.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/eslint-config_1.0.3_1761587361836_0.26661692318764607","host":"s3://npm-registry-packages-npm-production"}},"1.0.4":{"name":"@cajuinasi/eslint-config","version":"1.0.4","license":"MIT","_id":"@cajuinasi/eslint-config@1.0.4","maintainers":[{"name":"psousajcajuina","email":"jose.pinheiro@cajuinasaogeraldo.com.br"}],"dist":{"shasum":"f776ffaf33a95293e40716df001382351e97f60b","tarball":"https://registry.npmjs.org/@cajuinasi/eslint-config/-/eslint-config-1.0.4.tgz","fileCount":5,"integrity":"sha512-czAFYaMh7+WoBpikFVxxQoN87MdzGT4+PwV8VI3jAlxWiH3wNLKocdQnbotrVQMl/zIhZKORtmGzZre3+WoK0A==","signatures":[{"sig":"MEUCIH2nQSsaeO6awzZq47CGwlB7hXtR6zrPZYeqnU2+7UXnAiEA5FxzOViqk/xnFo4lNU1sv7lFRsQ8IQOvkdF/9My09WI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":6501},"main":"index.cjs","type":"module","types":"index.d.ts","module":"index.mjs","exports":{".":{"types":"./index.d.ts","import":"./index.mjs","require":"./index.cjs"}},"_npmUser":{"name":"psousajcajuina","email":"jose.pinheiro@cajuinasaogeraldo.com.br"},"_npmVersion":"10.8.2","description":"Eslint config oficial da CajuinaSI","directories":{},"_nodeVersion":"20.18.0","dependencies":{"eslint":"^9.38.0","globals":"^16.4.0","@eslint/js":"^9.38.0","typescript-eslint":"^8.46.2","astro-eslint-parser":"^1.2.2","eslint-plugin-astro":"^1.4.0","@typescript-eslint/parser":"^8.46.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/eslint-config_1.0.4_1764332988546_0.10040171409707077","host":"s3://npm-registry-packages-npm-production"}},"2.0.0":{"name":"@cajuinasi/eslint-config","version":"2.0.0","license":"MIT","_id":"@cajuinasi/eslint-config@2.0.0","maintainers":[{"name":"psousajcajuina","email":"jose.pinheiro@cajuinasaogeraldo.com.br"}],"dist":{"shasum":"e56e1ca5450769d50107b85c5a33d2dc31753be9","tarball":"https://registry.npmjs.org/@cajuinasi/eslint-config/-/eslint-config-2.0.0.tgz","fileCount":15,"integrity":"sha512-BL3dpiKvZIaSnpyqhBs+Z6oUPjMZZczVf5FmePJFyFfoJyhuFc9AVqknqgMr7nduxLyb/oqd5PcBq+eBd4pbKg==","signatures":[{"sig":"MEUCIEZLk4uwk7JBK9thPwg+4jNilbJHzLaZcPsKnpJcoZCXAiEA9YgGiv1H/zpcwiTAHiqbJfHhrADpWwx/VB3FvE0IaOk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":14775},"main":"index.cjs","type":"module","types":"index.d.ts","module":"index.mjs","exports":{".":{"types":"./index.d.ts","import":"./index.mjs","require":"./index.cjs"},"./backend":{"types":"./index.d.ts","import":"./src/configs/backend/index.mjs","require":"./src/configs/backend/index.cjs"},"./frontend":{"types":"./index.d.ts","import":"./src/configs/frontend/index.mjs","require":"./src/configs/frontend/index.cjs"}},"_npmUser":{"name":"psousajcajuina","email":"jose.pinheiro@cajuinasaogeraldo.com.br"},"_npmVersion":"10.8.2","description":"Eslint config oficial da CajuinaSI","directories":{},"_nodeVersion":"20.18.0","dependencies":{"eslint":"^9.38.0","globals":"^16.4.0","@eslint/js":"^9.38.0","typescript-eslint":"^8.46.2","astro-eslint-parser":"^1.2.2","eslint-plugin-astro":"^1.4.0","@typescript-eslint/parser":"^8.46.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/eslint-config_2.0.0_1764333527334_0.10293692855031322","host":"s3://npm-registry-packages-npm-production"}},"2.0.1":{"name":"@cajuinasi/eslint-config","version":"2.0.1","license":"MIT","_id":"@cajuinasi/eslint-config@2.0.1","maintainers":[{"name":"cajuinasi_profile","email":"si@cajuinasaogeraldo.com.br"},{"name":"psousajcajuina","email":"jose.pinheiro@cajuinasaogeraldo.com.br"}],"dist":{"shasum":"f322a190fa6ec0cdcdf062e8836eeff7bf08699e","tarball":"https://registry.npmjs.org/@cajuinasi/eslint-config/-/eslint-config-2.0.1.tgz","fileCount":15,"integrity":"sha512-cAuApZjb5jjFZGFG9FmeAuhVCdVhcQZs01hrPbEizO+z9FwxZPez255J9cvFtvSdJfmn0OLAk/UQXDW/bQg53Q==","signatures":[{"sig":"MEUCIQDzx6vJD511OzGKg1fCuinOTGjSr5jkt5Yjsz1Juf1ungIgdrjDuX4r5WnbnrzTLfEvtMbZo7QfWMZD+VQB4qVoEbM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":14563},"main":"index.cjs","type":"module","_from":"file:cajuinasi-eslint-config-2.0.1.tgz","types":"index.d.ts","module":"index.mjs","exports":{".":{"types":"./index.d.ts","import":"./index.mjs","require":"./index.cjs"},"./backend":{"types":"./index.d.ts","import":"./src/configs/backend/index.mjs","require":"./src/configs/backend/index.cjs"},"./frontend":{"types":"./index.d.ts","import":"./src/configs/frontend/index.mjs","require":"./src/configs/frontend/index.cjs"}},"_npmUser":{"name":"psousajcajuina","email":"jose.pinheiro@cajuinasaogeraldo.com.br"},"_resolved":"/tmp/cc2200848277106b9e9e2b07923a1bd4/cajuinasi-eslint-config-2.0.1.tgz","_integrity":"sha512-cAuApZjb5jjFZGFG9FmeAuhVCdVhcQZs01hrPbEizO+z9FwxZPez255J9cvFtvSdJfmn0OLAk/UQXDW/bQg53Q==","_npmVersion":"10.8.2","description":"Eslint config oficial da CajuinaSI","directories":{},"_nodeVersion":"20.18.0","dependencies":{"eslint":"^9.38.0","globals":"^16.4.0","@eslint/js":"^9.38.0","typescript-eslint":"^8.46.2","astro-eslint-parser":"^1.2.2","eslint-plugin-astro":"^1.4.0","@typescript-eslint/parser":"^8.46.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/eslint-config_2.0.1_1764854075714_0.22448171964842167","host":"s3://npm-registry-packages-npm-production"}},"2.1.7":{"name":"@cajuinasi/eslint-config","description":"Eslint config oficial da CajuinaSI","main":"index.cjs","module":"index.mjs","version":"2.1.7","type":"module","types":"index.d.ts","publish-branch":"main","exports":{".":{"import":"./index.mjs","require":"./index.cjs","types":"./index.d.ts"},"./frontend":{"import":"./src/configs/frontend/index.mjs","require":"./src/configs/frontend/index.cjs","types":"./index.d.ts"},"./backend":{"import":"./src/configs/backend/index.mjs","require":"./src/configs/backend/index.cjs","types":"./index.d.ts"}},"dependencies":{"@eslint/js":"^9.38.0","@typescript-eslint/parser":"^8.46.2","astro-eslint-parser":"^1.2.2","eslint":"^9.38.0","eslint-plugin-astro":"^1.4.0","globals":"^16.4.0","jiti":"^2.4.2","typescript-eslint":"^8.46.2"},"license":"MIT","publishConfig":{"access":"public"},"scripts":{"prepare-release":"node scripts/prepare-release.js","release":"node scripts/release.js"},"_id":"@cajuinasi/eslint-config@2.1.7","_integrity":"sha512-GC0KN/kxC2Uf5RoM69SFYBl7fvgpMTg7YqtGiBpz0Irn0B7bC5Omo5iObmZ2EI0qvqPIjm4VJyv53iAPFLh8bA==","_resolved":"/tmp/4056c5fdb6200ec913e89b4e62588c70/cajuinasi-eslint-config-2.1.7.tgz","_from":"file:cajuinasi-eslint-config-2.1.7.tgz","_nodeVersion":"20.19.6","_npmVersion":"11.7.0","dist":{"integrity":"sha512-GC0KN/kxC2Uf5RoM69SFYBl7fvgpMTg7YqtGiBpz0Irn0B7bC5Omo5iObmZ2EI0qvqPIjm4VJyv53iAPFLh8bA==","shasum":"17ebe87660c1564d0718a89301f9ff6efe7b805c","tarball":"https://registry.npmjs.org/@cajuinasi/eslint-config/-/eslint-config-2.1.7.tgz","fileCount":15,"unpackedSize":15434,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQDMdonCkEoeGZ/26cYqVQOVLvdBzTuXHQ+Pa9YD9rpbWgIgZBa8W+Uvep3aacQxlqn1sg5z688hVQXK1mYfGtk7JSM="}]},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:0a82d487-191e-4fe2-813c-25db4765b7f1"}},"directories":{},"maintainers":[{"name":"cajuinasi_profile","email":"si@cajuinasaogeraldo.com.br"},{"name":"psousajcajuina","email":"jose.pinheiro@cajuinasaogeraldo.com.br"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/eslint-config_2.1.7_1765388921756_0.5793074632740773"},"_hasShrinkwrap":false}},"time":{"created":"2025-10-27T17:32:57.333Z","modified":"2025-12-10T17:48:42.169Z","1.0.0":"2025-10-27T17:32:57.590Z","1.0.1":"2025-10-27T17:41:02.611Z","1.0.2":"2025-10-27T17:47:36.935Z","1.0.3":"2025-10-27T17:49:22.025Z","1.0.4":"2025-11-28T12:29:48.734Z","2.0.0":"2025-11-28T12:38:47.555Z","2.0.1":"2025-12-04T13:14:35.859Z","2.1.7":"2025-12-10T17:48:41.907Z"},"license":"MIT","description":"Eslint config oficial da CajuinaSI","maintainers":[{"name":"cajuinasi_profile","email":"si@cajuinasaogeraldo.com.br"},{"name":"psousajcajuina","email":"jose.pinheiro@cajuinasaogeraldo.com.br"}],"readme":"# 🧹 @cajuinasi/eslint-config\n\nConfiguração oficial do **ESLint** usada nos projetos da **CajuinaSI**.\n\n---\n\n## ✨ O que inclui\n\n- ⚙️ Padrões de código da CajuinaSI\n- 🎯 Suporte para TypeScript, JavaScript e Astro\n- 🔄 Configuração flat config moderna do ESLint 9\n- ✅ Regras otimizadas para desenvolvimento web\n- 🎨 **Três configurações**: Default (Full Stack), Frontend e Backend\n\n---\n\n## 🚀 Instalação\n\nEm qualquer projeto, rode:\n\n```bash\npnpm add -D @cajuinasi/eslint-config eslint\n```\n\n---\n\n## 📖 Uso\n\n### Escolhendo a configuração certa\n\n- **`@cajuinasi/eslint-config`** (Default): Para monorepos ou projetos full-stack que combinam frontend e backend\n- **`@cajuinasi/eslint-config/frontend`**: Para projetos Astro ou Next.js\n- **`@cajuinasi/eslint-config/backend`**: Para projetos NestJS ou Node.js\n\n---\n\n## 🎯 Configuração Default (Monorepo/Full Stack)\n\n### JavaScript (ESM) - `eslint.config.js` ou `eslint.config.mjs`\n\n```javascript\nimport eslintConfig from \"@cajuinasi/eslint-config\";\n\nexport default eslintConfig;\n```\n\n### CommonJS - `eslint.config.cjs`\n\n```javascript\nconst eslintConfig = require(\"@cajuinasi/eslint-config\");\n\nmodule.exports = eslintConfig;\n```\n\n### TypeScript - `eslint.config.ts`\n\n```typescript\nimport eslintConfig from \"@cajuinasi/eslint-config\";\nimport type { Linter } from \"eslint\";\n\nexport default eslintConfig satisfies Linter.Config[];\n```\n\n---\n\n## 🌐 Configuração Frontend (Astro/Next.js)\n\n### JavaScript (ESM)\n\n```javascript\nimport frontendConfig from \"@cajuinasi/eslint-config/frontend\";\n\nexport default frontendConfig;\n```\n\n### CommonJS\n\n```javascript\nconst frontendConfig = require(\"@cajuinasi/eslint-config/frontend\");\n\nmodule.exports = frontendConfig;\n```\n\n### TypeScript\n\n```typescript\nimport frontendConfig from \"@cajuinasi/eslint-config/frontend\";\nimport type { Linter } from \"eslint\";\n\nexport default frontendConfig satisfies Linter.Config[];\n```\n\n### Com configurações adicionais\n\n```javascript\nimport frontendConfig from \"@cajuinasi/eslint-config/frontend\";\n\nexport default [\n  ...frontendConfig,\n  {\n    files: [\"**/*.{js,ts,jsx,tsx}\"],\n    rules: {\n      // suas regras customizadas aqui\n      \"no-console\": \"warn\",\n    },\n  },\n];\n```\n\n---\n\n## 🖥️ Configuração Backend (NestJS/Node.js)\n\n### JavaScript (ESM)\n\n```javascript\nimport backendConfig from \"@cajuinasi/eslint-config/backend\";\n\nexport default backendConfig;\n```\n\n### CommonJS\n\n```javascript\nconst backendConfig = require(\"@cajuinasi/eslint-config/backend\");\n\nmodule.exports = backendConfig;\n```\n\n### TypeScript\n\n```typescript\nimport backendConfig from \"@cajuinasi/eslint-config/backend\";\nimport type { Linter } from \"eslint\";\n\nexport default backendConfig satisfies Linter.Config[];\n```\n\n---\n\n## 🔄 Migração da v1 para v2\n\n> [!WARNING] > **Breaking Change**: A v2 reorganiza completamente a estrutura do pacote.\n\nSe você usava a v1:\n\n```javascript\n// v1.x\nimport eslintConfig from \"@cajuinasi/eslint-config\";\nexport default eslintConfig;\n```\n\nPara v2, escolha a configuração apropriada:\n\n```javascript\n// v2.x - Frontend (se seu projeto é Astro/Next)\nimport frontendConfig from \"@cajuinasi/eslint-config/frontend\";\nexport default frontendConfig;\n\n// v2.x - Backend (se seu projeto é NestJS/Node)\nimport backendConfig from \"@cajuinasi/eslint-config/backend\";\nexport default backendConfig;\n\n// v2.x - Default (se seu projeto é monorepo/full-stack)\nimport eslintConfig from \"@cajuinasi/eslint-config\";\nexport default eslintConfig;\n```\n\n---\n\n## 🎯 Recursos incluídos\n\n### Frontend Config\n\n- **Astro**: Parser e regras específicas para arquivos `.astro`\n- **Next.js/React**: Suporte para JSX/TSX\n- **Browser globals**: Variáveis globais do navegador\n\n### Backend Config\n\n- **NestJS**: Regras otimizadas para o framework\n- **Node.js globals**: Variáveis globais do Node.js\n- **TypeScript**: Configuração específica para backend\n\n### Default Config\n\n- Combina todas as regras de Frontend e Backend\n- Ideal para monorepos\n\n---\n\n## 🔧 Configurações personalizadas\n\nVocê pode sobrescrever ou adicionar regras específicas para seu projeto:\n\n```javascript\nimport frontendConfig from \"@cajuinasi/eslint-config/frontend\";\n\nexport default [\n  ...frontendConfig,\n  {\n    // Ignorar arquivos adicionais\n    ignores: [\"**/build/**\", \"**/coverage/**\"],\n  },\n  {\n    // Regras customizadas\n    files: [\"**/*.{js,ts}\"],\n    rules: {\n      \"no-console\": \"off\",\n    },\n  },\n];\n```\n\n---\n\n## 📦 Dependências incluídas\n\nEsta configuração já inclui:\n\n- `@eslint/js`\n- `typescript-eslint`\n- `eslint-plugin-astro` (na config frontend e default)\n- `astro-eslint-parser` (na config frontend e default)\n- `globals`\n\nVocê não precisa instalar essas dependências separadamente.\n\n---\n\n## 🤝 Contribuindo\n\nSugestões e melhorias são bem-vindas! Abra uma issue ou PR no repositório.\n\n---\n\n## 📄 Licença\n\nMIT © CajuinaSI\n","readmeFilename":"README.MD"}