{"_id":"@anyauth/eslint-config","_rev":"4-d45066ed9a51b8c79f1eae0ce05a6198","name":"@anyauth/eslint-config","dist-tags":{"latest":"0.2.2"},"versions":{"0.1.0":{"name":"@anyauth/eslint-config","version":"0.1.0","keywords":["eslint","config","anyauth"],"author":{"name":"AnyAuth"},"license":"MIT","_id":"@anyauth/eslint-config@0.1.0","maintainers":[{"name":"schenanigans","email":"tim@schenanigans.com"}],"dist":{"shasum":"336f8ee2f6444d945bcf6fa20a3a21fe9eb711fb","tarball":"https://registry.npmjs.org/@anyauth/eslint-config/-/eslint-config-0.1.0.tgz","fileCount":6,"integrity":"sha512-I/XEtAgPLj5FwhTdSoDCTOo8kXyMJ8pUo6fcS4SNW2XHS7Vgnfw41N2KmO9vMPOV8uQw47KnhTGKVUntqk7Ibw==","signatures":[{"sig":"MEUCIGGWOQuKnmHaGQWfco2J9+59kqDaF0pfRgp6vOzmeDePAiEA+hwFbdmjp3wk5GAXeD07wDJGD0tOwDJ4IogZkAwZBAc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":6978},"main":"index.js","gitHead":"56a86f9083ebcd466df6b975d56e5177877e0d11","_npmUser":{"name":"schenanigans","email":"tim@schenanigans.com"},"_npmVersion":"11.6.2","description":"Shared ESLint configuration for AnyAuth projects","directories":{},"_nodeVersion":"22.19.0","dependencies":{"@eslint/js":"^9.17.0","@typescript-eslint/parser":"^8.20.0","@typescript-eslint/eslint-plugin":"^8.20.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"peerDependencies":{"eslint":"^9.0.0"},"_npmOperationalInternal":{"tmp":"tmp/eslint-config_0.1.0_1760118124244_0.41170928774686777","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"@anyauth/eslint-config","version":"0.2.0","keywords":["eslint","config","anyauth"],"author":{"name":"AnyAuth"},"license":"MIT","_id":"@anyauth/eslint-config@0.2.0","maintainers":[{"name":"schenanigans","email":"tim@schenanigans.com"}],"dist":{"shasum":"f34a1e4a128b19564556df72ccd0afccc08cf9f1","tarball":"https://registry.npmjs.org/@anyauth/eslint-config/-/eslint-config-0.2.0.tgz","fileCount":7,"integrity":"sha512-oSUBiDYVDIa4I4FHFXXTDSCDnEufYVy1hhsVgMVNlGQVpHjMwnOPukl7sScZTT/vs5WkFDtMTcmzezY3trucjg==","signatures":[{"sig":"MEUCIQCdrZH931yfYC9bnyutO907VnnprNWXi0xKYWOX1LnPYAIgQqLHUFuQ+wnjdScMjAY7xDO7etllf18sc2bw17uflXM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":7517},"main":"index.js","gitHead":"de616c60b0f20b8633684c205f6bf651006d6e92","_npmUser":{"name":"schenanigans","email":"tim@schenanigans.com"},"_npmVersion":"11.6.2","description":"Shared ESLint configuration for AnyAuth projects","directories":{},"_nodeVersion":"22.19.0","dependencies":{"@eslint/js":"^9.17.0","eslint-config-next":"^15.1.6","@typescript-eslint/parser":"^8.20.0","@typescript-eslint/eslint-plugin":"^8.20.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"peerDependencies":{"eslint":"^9.0.0"},"_npmOperationalInternal":{"tmp":"tmp/eslint-config_0.2.0_1760395033965_0.3006971081067893","host":"s3://npm-registry-packages-npm-production"}},"0.2.1":{"name":"@anyauth/eslint-config","version":"0.2.1","keywords":["eslint","config","anyauth"],"author":{"name":"AnyAuth"},"license":"MIT","_id":"@anyauth/eslint-config@0.2.1","maintainers":[{"name":"schenanigans","email":"tim@schenanigans.com"}],"dist":{"shasum":"1f2670db4ecde62060023c8745f213e0967c0ec9","tarball":"https://registry.npmjs.org/@anyauth/eslint-config/-/eslint-config-0.2.1.tgz","fileCount":7,"integrity":"sha512-7sNTnzGUjOe0gePP7DcI0MqsZkFswG8Borw0yGw5GViIWkVVzxMVXC2L1bxp4RCICPDdmU5cSCR9GOso4H0EfQ==","signatures":[{"sig":"MEUCIC2q7h6sX5YATOv+7XnZKafICREQh3V3wtCTKdTUCBA4AiEAqEfIUk4No+ujGrzWGXUeEL7+P332lPGvsu+sw4F9RzY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":7546},"main":"index.js","gitHead":"de616c60b0f20b8633684c205f6bf651006d6e92","_npmUser":{"name":"schenanigans","email":"tim@schenanigans.com"},"_npmVersion":"11.6.2","description":"Shared ESLint configuration for AnyAuth projects","directories":{},"_nodeVersion":"22.19.0","dependencies":{"@eslint/js":"^9.17.0","@typescript-eslint/parser":"^8.20.0","@typescript-eslint/eslint-plugin":"^8.20.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"peerDependencies":{"eslint":"^9.0.0"},"_npmOperationalInternal":{"tmp":"tmp/eslint-config_0.2.1_1760395194639_0.9407377738332166","host":"s3://npm-registry-packages-npm-production"}},"0.2.2":{"name":"@anyauth/eslint-config","version":"0.2.2","description":"Shared ESLint configuration for AnyAuth projects","main":"index.js","keywords":["eslint","config","anyauth"],"author":{"name":"AnyAuth"},"license":"MIT","publishConfig":{"access":"public"},"peerDependencies":{"eslint":"^9.0.0"},"dependencies":{"@eslint/js":"^9.17.0","@typescript-eslint/eslint-plugin":"^8.20.0","@typescript-eslint/parser":"^8.20.0"},"gitHead":"de616c60b0f20b8633684c205f6bf651006d6e92","_id":"@anyauth/eslint-config@0.2.2","_nodeVersion":"22.19.0","_npmVersion":"11.6.2","dist":{"integrity":"sha512-2+T2AlijClNlMBurbEDy54RoOMhhVUTAcQl9r8h0JLI4SVI7GPXzQluR5jamzvUluvWitwcpPbuzG8roZ/ffiQ==","shasum":"af00fb8b1cbbc1daa908fc2479f881d02d247c0a","tarball":"https://registry.npmjs.org/@anyauth/eslint-config/-/eslint-config-0.2.2.tgz","fileCount":7,"unpackedSize":7300,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIFFOG8iaJz0P5LqDpwLEQWDafMHxrX12PjG6eAPmUj0DAiBS1asV5vfghM+jVTojedaaB6Wgo6nlC/pRglyMNvWCOQ=="}]},"_npmUser":{"name":"schenanigans","email":"tim@schenanigans.com"},"directories":{},"maintainers":[{"name":"schenanigans","email":"tim@schenanigans.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/eslint-config_0.2.2_1760395247734_0.1907761293848187"},"_hasShrinkwrap":false}},"time":{"created":"2025-10-10T17:42:04.151Z","modified":"2025-10-13T22:40:48.160Z","0.1.0":"2025-10-10T17:42:04.414Z","0.2.0":"2025-10-13T22:37:14.140Z","0.2.1":"2025-10-13T22:39:54.817Z","0.2.2":"2025-10-13T22:40:47.927Z"},"author":{"name":"AnyAuth"},"license":"MIT","keywords":["eslint","config","anyauth"],"description":"Shared ESLint configuration for AnyAuth projects","maintainers":[{"name":"schenanigans","email":"tim@schenanigans.com"}],"readme":"# @anyauth/eslint-config\n\nShared ESLint configuration for AnyAuth projects using the new flat config format (ESLint 9+).\n\n## Installation\n\n```bash\npnpm add -D eslint @anyauth/eslint-config\n```\n\n## Usage\n\n### Base Configuration (General TypeScript)\n\n```js\n// eslint.config.js\nmodule.exports = require('@anyauth/eslint-config');\n```\n\n### Cloudflare Workers Configuration\n\n```js\n// eslint.config.js\nmodule.exports = require('@anyauth/eslint-config/worker');\n```\n\n### React/Next.js Configuration\n\n```js\n// eslint.config.js\nmodule.exports = require('@anyauth/eslint-config/react');\n```\n\n### Custom Configuration\n\nYou can extend and override any config:\n\n```js\n// eslint.config.js\nconst workerConfig = require('@anyauth/eslint-config/worker');\n\nmodule.exports = [\n  ...workerConfig,\n  {\n    // Your custom rules\n    rules: {\n      'no-console': 'off',\n    },\n  },\n];\n```\n\n## Configurations\n\n### Base\n\nGeneral TypeScript configuration with:\n\n- Recommended JavaScript rules\n- Strict TypeScript rules\n- No unused variables (except with `_` prefix)\n- No `any` types\n- No console statements\n- ES2015+ best practices\n\n### Worker\n\nExtends base with Cloudflare Workers-specific:\n\n- Workers runtime globals (Request, Response, fetch, etc.)\n- Allows `console.warn` and `console.error`\n- Worker-specific TypeScript settings\n\n### React\n\nExtends base with React-specific:\n\n- JSX support\n- React globals\n- Next.js compatibility\n\n## Rules\n\nAll configurations enforce:\n\n- ✅ TypeScript strict mode\n- ✅ No unused variables (except `_` prefix)\n- ✅ No explicit `any` types\n- ✅ No debugger statements\n- ✅ No alert() calls\n- ✅ No duplicate imports\n- ✅ Prefer const over let\n- ✅ No var declarations\n\nWorker configuration additionally:\n\n- ✅ Allows console.warn and console.error\n- ✅ Includes Cloudflare Workers globals\n\n## Integration\n\nThis config works with:\n\n- **ESLint 9+** (flat config format)\n- **TypeScript ESLint 8+**\n- **lint-staged** for pre-commit hooks\n- **Husky** for git hooks\n","readmeFilename":"README.md"}