{"_id":"@dopster/eslint-config","_rev":"2-de8758d76f53144d2b47e20153e13c6b","name":"@dopster/eslint-config","dist-tags":{"latest":"1.0.1"},"versions":{"1.0.0":{"name":"@dopster/eslint-config","version":"1.0.0","author":"","license":"ISC","_id":"@dopster/eslint-config@1.0.0","maintainers":[{"name":"dopster","email":"operations@dopster.io"}],"dist":{"shasum":"c1131df1f4fc35712356ffdf5763ea88bbe699ff","tarball":"https://registry.npmjs.org/@dopster/eslint-config/-/eslint-config-1.0.0.tgz","fileCount":5,"integrity":"sha512-w65PWYAAaOuQqX5l3nvxfTzeDpQMKvf+Mq/7NxCXqaSR6wjH0Dh8W+WNB3cnMq/KVU3ejxpqd2u+i0sK9Be/Wg==","signatures":[{"sig":"MEQCIClzovqkEUTj/8arxO+tBAbO+4cyQa46Xv78gO3p6Da8AiBk3gjd2UMsX965eEwF5zTh7z80BYfruJYNdUOmP6uK+A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3603},"main":"index.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"_npmUser":{"name":"dopster","email":"operations@dopster.io"},"_npmVersion":"10.9.3","description":"","directories":{},"_nodeVersion":"22.18.0","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^9.38.0","prettier":"^3.6.2","eslint-plugin-react":"^7.37.5","eslint-plugin-import":"^2.32.0","eslint-config-prettier":"^10.1.8","@typescript-eslint/parser":"^8.46.2","eslint-plugin-react-hooks":"^7.0.1","eslint-plugin-unused-imports":"^4.3.0","@typescript-eslint/eslint-plugin":"^8.46.2"},"_npmOperationalInternal":{"tmp":"tmp/eslint-config_1.0.0_1762542901421_0.6359206168923262","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"@dopster/eslint-config","version":"1.0.1","description":"Configuração de ESLint personalizada para projetos Dopster.","main":"index.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"author":"","license":"ISC","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"devDependencies":{"@typescript-eslint/eslint-plugin":"^8.46.2","@typescript-eslint/parser":"^8.46.2","eslint":"^9.38.0","eslint-config-prettier":"^10.1.8","eslint-plugin-import":"^2.32.0","eslint-plugin-react":"^7.37.5","eslint-plugin-react-hooks":"^7.0.1","eslint-plugin-unused-imports":"^4.3.0","prettier":"^3.6.2"},"_id":"@dopster/eslint-config@1.0.1","_nodeVersion":"22.18.0","_npmVersion":"10.9.3","dist":{"integrity":"sha512-LywkgUA9XyLvchVzGHDu3A5FnHfn0Ao0iLUx1oVCeRJWRkPPAzsYv3gPHGFUiXW/Su1rcXO4hTxhliwKqn7i9A==","shasum":"7e7ae81da49e7039866f10cabebdf607cef8b0c9","tarball":"https://registry.npmjs.org/@dopster/eslint-config/-/eslint-config-1.0.1.tgz","fileCount":6,"unpackedSize":5574,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQDLd59m3RRv+fKjWOlZaA+jQJmwRHBeyzitN5fz26bfJgIgaaAM20e/traM4w6to/JpuONx1GgSpdUNvlhRqsYBWbs="}]},"_npmUser":{"name":"dopster","email":"operations@dopster.io"},"directories":{},"maintainers":[{"name":"dopster","email":"operations@dopster.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/eslint-config_1.0.1_1762543437528_0.30757452491283654"},"_hasShrinkwrap":false}},"time":{"created":"2025-11-07T19:15:01.317Z","modified":"2025-11-07T19:23:57.898Z","1.0.0":"2025-11-07T19:15:01.624Z","1.0.1":"2025-11-07T19:23:57.735Z"},"license":"ISC","maintainers":[{"name":"dopster","email":"operations@dopster.io"}],"readme":"# Dopster ESLint Config\n\nConfiguração de ESLint padronizada pela **Dopster**, criada para manter consistência, boas práticas e qualidade de código em projetos **Node.js** e **React** (com **TypeScript**).\n\n---\n\n## 📦 O que está incluso?\n\n- Base padronizada de regras Dopster;  \n- Suporte completo a **TypeScript**;  \n- Plugins e regras para **React** e **React Hooks**;  \n- Regras de **Acessibilidade (JSX a11y)**;  \n- Integração com **Prettier** (para formatação automática);  \n- Configurações separadas para **Node.js** e **React** (com ou sem Next.js).\n\n---\n\n## ⚙️ Instalação\n\n### React (com Next.js)\n\n```bash\nnpm i -D eslint @dopster/eslint-config\n````\n\nCrie ou edite o arquivo `.eslintrc.json` na raiz do projeto:\n\n```json\n{\n  \"extends\": [\n    \"@dopster/eslint-config/next\",\n    \"next/core-web-vitals\"\n  ]\n}\n```\n\n---\n\n### React (sem Next.js)\n\n```bash\nnpm i -D eslint @dopster/eslint-config\n```\n\nCrie ou edite o arquivo `.eslintrc.json`:\n\n```json\n{\n  \"extends\": \"@dopster/eslint-config/react\"\n}\n```\n\n---\n\n### Node.js (APIs, scripts e serviços)\n\n```bash\nnpm i -D eslint @dopster/eslint-config\n```\n\nCrie ou edite o arquivo `.eslintrc.json`:\n\n```json\n{\n  \"extends\": \"@dopster/eslint-config/node\"\n}\n```\n\n---\n\n## 💡 Dica\n\nAdicione scripts no `package.json` para facilitar o uso:\n\n```json\n{\n  \"scripts\": {\n    \"lint\": \"eslint . --ext .ts,.tsx\",\n    \"lint:fix\": \"eslint . --ext .ts,.tsx --fix\"\n  }\n}\n```\n\n---\n\n## 🧠 Convenções\n\nA configuração segue o padrão de código utilizado em todos os projetos Dopster.\nEla é pensada para:\n\n* Evitar conflitos entre ESLint e Prettier;\n* Garantir legibilidade e consistência;\n* Detectar erros comuns e más práticas em tempo de desenvolvimento.\n\n---\n\n## 🛠️ Manutenção\n\nAtualize periodicamente para obter melhorias e novas regras de linting:\n\n```bash\nnpm update @dopster/eslint-config\n```\n\n---\n\nFeito com 💙 pela equipe **Dopster**.\n","readmeFilename":"readme.md","description":"Configuração de ESLint personalizada para projetos Dopster."}