{"_id":"@apicurio/eslint-config","_rev":"5-67ac54a8ca2689d94616857304e02dae","name":"@apicurio/eslint-config","dist-tags":{"latest":"1.0.0"},"versions":{"0.1.0":{"name":"@apicurio/eslint-config","version":"0.1.0","keywords":["eslint"],"author":{"name":"Enda Phelan"},"license":"Apache-2.0","_id":"@apicurio/eslint-config@0.1.0","maintainers":[{"name":"ephelan","email":"ephelan@redhat.com"},{"name":"apicurio-ci","email":"apicurio.ci@gmail.com"},{"name":"eric.wittmann","email":"eric.wittmann@gmail.com"}],"homepage":"https://github.com/Apicurio/apicurio-configs#readme","bugs":{"url":"https://github.com/Apicurio/apicurio-configs/issues"},"dist":{"shasum":"10d5e7bded5d4179af012ed3ce5bfe04a715f1a8","tarball":"https://registry.npmjs.org/@apicurio/eslint-config/-/eslint-config-0.1.0.tgz","fileCount":3,"integrity":"sha512-MbGsC4u00VnYx8kxbwAsGWxLVaEREzSAgdB8nz1XhUlnFchh1BWPWm5NY7EdWjCQ/nHrnbN9IZ4glbbG6nw3ZA==","signatures":[{"sig":"MEUCIDYdnleq0RqabfYBErSqLjp/bKeq3ITZH3umW03l24ipAiEAqjTtOqlefDCaCF1TBETILF6rU825sCNvprrJCjnNtgQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":2662,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiuxnSACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoIzQ//dZo8FLUhOgasVXLLnuiN5C5sp8pF5mDlqgDb45ovRzpHU/8e\r\nETEuzshNB3GL8YhPdTkcqc1kp1YkC3MLoAp+NlqT58zj81KVinQA4w15MHwJ\r\noNYMAcrQUi+z4UHqWr7D9+gSJo2D2J0jcxOBCxdWtL+PHm0nPF8HWC+ACoFC\r\njIgPbqMdG415XmadvinA8NUuVztUWjzvoSgz203NXfBoTkNAjP5wPElFxzsI\r\nPe/ytNh++7GuQDLeHHYe3R/PpVmye7eDOt0+jGTpT5XA1IcJ3za61SxAyukD\r\nYyi0PrIHW/hR7gYPIhe2bgYYdjQOeIeVx1GZ0v3t7woRKdnEld8tA1qlhTI1\r\nE0DKjcZNpMlLA7JqKc3yCtP6vMQF+vqUgTPx6aLP9I1uzCB+RL959FxNf3y3\r\nWgnT+t1ISIrqoojYeFs745G/fuEyExmWeBPPd3+X0R4ZTUNdUUL4QLOTlmJ6\r\nUuAj8lKG5fwn76hj1jU0EP0OIKv/o2TlSKfDbl+9okvAGCE0DmmNGRbmqyQU\r\nQH+0m8ZEzF5wGTZB7g+dpetnrPpBAs57wzrpBqzmGlTKVthiKp38u15MSsHv\r\nbfsxKoBmTkXxtDZFm//9zyLs+JZQ2SMstosaAF2v2KWfSQKmm0J7+G+eP8OZ\r\nkudsfxEsa79jrP6uQg6ZflJJvlAyyb3nOok=\r\n=k3Et\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","gitHead":"78c35076fc47f39c53e290a8519238948836b3be","_npmUser":{"name":"apicurio-ci","email":"apicurio.ci@gmail.com"},"repository":{"url":"git+https://github.com/Apicurio/apicurio-configs.git","type":"git"},"_npmVersion":"8.1.2","description":"This package provides Apicurio's .eslintrc as an extensible shared config.","directories":{},"_nodeVersion":"16.13.2","dependencies":{"@typescript-eslint/parser":"^5.30.0"},"_hasShrinkwrap":false,"peerDependencies":{"eslint":">= 3","@typescript-eslint/eslint-plugin":">= 5"},"_npmOperationalInternal":{"tmp":"tmp/eslint-config_0.1.0_1656429010254_0.5039108480086902","host":"s3://npm-registry-packages"}},"0.2.0":{"name":"@apicurio/eslint-config","version":"0.2.0","keywords":["eslint"],"author":{"name":"Enda Phelan"},"license":"Apache-2.0","_id":"@apicurio/eslint-config@0.2.0","maintainers":[{"name":"ephelan","email":"ephelan@redhat.com"},{"name":"apicurio-ci","email":"apicurio.ci@gmail.com"},{"name":"eric.wittmann","email":"eric.wittmann@gmail.com"}],"homepage":"https://github.com/Apicurio/apicurio-configs#readme","bugs":{"url":"https://github.com/Apicurio/apicurio-configs/issues"},"dist":{"shasum":"b9860c636131635a4083aba8eac7b60f3bf397af","tarball":"https://registry.npmjs.org/@apicurio/eslint-config/-/eslint-config-0.2.0.tgz","fileCount":3,"integrity":"sha512-AekLyV3gQcpAadPpk3R/LIcouUYnlQUAllBjZtym/LUGuTLWU4OA1pAq57W+W0ixEyf2MVDpDHj5TTuvfz2Q6w==","signatures":[{"sig":"MEQCIDbAcRnX4nJAkcONCWhk/S8n/r9bcqihKazIW7esV8mxAiA7lTxEnL0xTBDTjoTQJK/hloXHImSQByF2c24hdt/FOw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":2821,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJi/5lLACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoUxQ/+M+SUwHuWnoKRoZa7RJju5/fJNeduWm2btnybYAvinRMK4jVA\r\nvXl0UHgzc0kjBHnFX+9aMg3l6wfE5dJeChaC7z1trtCrarZkZWYN7N7GWuk0\r\nQ13ZAV8r7GWa+YsCejahpNU3pFSAl0rTuF4iFlobeZAMOK/w6OkciPqFlhFZ\r\n1D33EjLkyFweGg1XNAzRLhja3yVyXF+AI346qEjEyHgDOqCgRpgeByBG6Vbr\r\nMS12gXN+AtGReqlMDOH3rr35r4hcwr+59sbotXxVxv5xOgxZ00QjnYwnBK/T\r\nUbNAtK/qX+CxWMTH31y3LeO0CPmpqCbjdqSGmTzyOmoFY3fPOw8FCd7ZzEZf\r\niOy1y3d6hzM2tpeETDQ0ML29xkt7osJKleKMrXThUDo5TaxVAf8M0AXPJzj7\r\nTsPMrDdDnmlN2R9gpVxSUEGe87FbVeOolxfdCouOLdClm2RJEc/F7ZzvPPTM\r\nLPS31gE82O9l4ofQO/aKbak9PFyrwhQwqJBCVIHQbk/bFowaucU5KgfxSKTJ\r\nA/tlMtIXDQaoUTshfVpOKW3QZ3IUQORrOMGH+60mbk+oboLs1xf2AUtTJRi8\r\nLvhODSXaUWgsdA8c8cnPjEc6MOpLSIIW7T6Yn8XHLG4OrhEIGrg6OXedDpQv\r\ndlMrWrb8NuJoa2T6JZ5V9YUX8Tzh8q55aXI=\r\n=BqIB\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","gitHead":"d59ef069d1e5097c6837adce1427f7d7a72e6094","_npmUser":{"name":"eric.wittmann","email":"eric.wittmann@gmail.com"},"repository":{"url":"git+https://github.com/Apicurio/apicurio-configs.git","type":"git"},"_npmVersion":"8.11.0","description":"This package provides Apicurio's .eslintrc as an extensible shared config.","directories":{},"_nodeVersion":"16.16.0","dependencies":{"@typescript-eslint/parser":"^5.30.0"},"_hasShrinkwrap":false,"peerDependencies":{"eslint":">= 3","@typescript-eslint/eslint-plugin":">= 5"},"_npmOperationalInternal":{"tmp":"tmp/eslint-config_0.2.0_1660918091572_0.3080493794249881","host":"s3://npm-registry-packages"}},"0.3.0":{"name":"@apicurio/eslint-config","version":"0.3.0","keywords":["eslint"],"author":{"name":"Enda Phelan"},"license":"Apache-2.0","_id":"@apicurio/eslint-config@0.3.0","maintainers":[{"name":"ephelan","email":"ephelan@redhat.com"},{"name":"apicurio-ci","email":"apicurio.ci@gmail.com"},{"name":"eric.wittmann","email":"eric.wittmann@gmail.com"}],"homepage":"https://github.com/Apicurio/apicurio-configs#readme","bugs":{"url":"https://github.com/Apicurio/apicurio-configs/issues"},"dist":{"shasum":"8f19f295ee7cf83a234808e0a7ac1e1143604858","tarball":"https://registry.npmjs.org/@apicurio/eslint-config/-/eslint-config-0.3.0.tgz","fileCount":3,"integrity":"sha512-4kPwmTCcFG6z8vMdfnkqh6wskoXWKa27wRclZLwoLRd3m7TZvWDARu47rrXr6blqkix1Plm1JbGyq4oii8seFw==","signatures":[{"sig":"MEYCIQC2LYA64KX81gCCq1gB85cCIleFuKPqNPFaBDwPfuaOGwIhANP/HfLdsu9sXpS34sU4MW2zo6kg6OUR7qA25eXb20po","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":2723},"main":"index.js","gitHead":"31af47a48d92f467e29cf5a1d48292f0e722e4dc","_npmUser":{"name":"apicurio-ci","email":"apicurio.ci@gmail.com"},"repository":{"url":"git+https://github.com/Apicurio/apicurio-configs.git","type":"git"},"_npmVersion":"10.2.3","description":"This package provides Apicurio's .eslintrc as an extensible shared config.","directories":{},"_nodeVersion":"18.19.0","dependencies":{"@typescript-eslint/parser":"7.6.0"},"_hasShrinkwrap":false,"peerDependencies":{"eslint":">= 8","@typescript-eslint/eslint-plugin":">= 7"},"_npmOperationalInternal":{"tmp":"tmp/eslint-config_0.3.0_1712753117777_0.33883008625250066","host":"s3://npm-registry-packages"}},"1.0.0":{"name":"@apicurio/eslint-config","version":"1.0.0","description":"This package provides Apicurio's ESLint configuration as an extensible shared config for ESLint 9+.","type":"module","main":"index.js","exports":{".":"./index.js"},"repository":{"type":"git","url":"git+https://github.com/Apicurio/apicurio-configs.git"},"keywords":["eslint","eslint-config","typescript"],"author":{"name":"Eric Wittmann"},"license":"Apache-2.0","bugs":{"url":"https://github.com/Apicurio/apicurio-configs/issues"},"homepage":"https://github.com/Apicurio/apicurio-configs#readme","dependencies":{"@eslint/js":"^9","typescript-eslint":"^8"},"peerDependencies":{"eslint":"^9"},"gitHead":"f02643bb87b59ef49bcec040eefbb54fe9a8b4f0","_id":"@apicurio/eslint-config@1.0.0","_nodeVersion":"20.20.0","_npmVersion":"11.9.0","dist":{"integrity":"sha512-pvtxsDw5OY15nIVG1V+dDwLx0jlVSbaC8wOo4oKGcYPbCCr74hugRBWk7R8OYQ2WcdqFOfi1aYiDjVgaaP8uyg==","shasum":"2a72038e64cbbab44eacc38f44fd6cff975bceee","tarball":"https://registry.npmjs.org/@apicurio/eslint-config/-/eslint-config-1.0.0.tgz","fileCount":3,"unpackedSize":5276,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@apicurio%2feslint-config@1.0.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQDlydLsnbOK9mODcbq84bTPCi9Z0eFOexFhJUWsTZAkiQIhAIFvHdEjSFo1EIXGnp/PMMffEnwoazbk5ICllN+X2Wj6"}]},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:aa5e1a0c-7839-4ccb-8cca-003375df3528"}},"directories":{},"maintainers":[{"name":"apicurio-ci","email":"apicurio.ci@gmail.com"},{"name":"eric.wittmann","email":"eric.wittmann@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/eslint-config_1.0.0_1770231917883_0.006451032433623549"},"_hasShrinkwrap":false}},"time":{"created":"2022-06-28T15:10:10.180Z","modified":"2026-02-04T19:05:18.324Z","0.1.0":"2022-06-28T15:10:10.425Z","0.2.0":"2022-08-19T14:08:11.728Z","0.3.0":"2024-04-10T12:45:17.914Z","1.0.0":"2026-02-04T19:05:18.023Z"},"bugs":{"url":"https://github.com/Apicurio/apicurio-configs/issues"},"author":{"name":"Eric Wittmann"},"license":"Apache-2.0","homepage":"https://github.com/Apicurio/apicurio-configs#readme","keywords":["eslint","eslint-config","typescript"],"repository":{"type":"git","url":"git+https://github.com/Apicurio/apicurio-configs.git"},"description":"This package provides Apicurio's ESLint configuration as an extensible shared config for ESLint 9+.","maintainers":[{"name":"apicurio-ci","email":"apicurio.ci@gmail.com"},{"name":"eric.wittmann","email":"eric.wittmann@gmail.com"}],"readme":"# @apicurio/eslint-config\n\n> ESLint shareable config for Apicurio projects using ESLint 9+ flat config format.\n\n## Version Notes\n\n- **v1.0.0+**: Supports ESLint 9 with the new flat config format\n- **v0.3.0 and earlier**: Supports ESLint 8 with the legacy `.eslintrc.*` format\n\n## Installation\n\n```shell\nnpm install --save-dev eslint @apicurio/eslint-config\n```\n\n> Note: This config is designed for TypeScript projects. The required TypeScript ESLint dependencies are\n> included as dependencies of this package, so you don't need to install them separately.\n\n## Usage\n\n### ESLint 9 (Flat Config)\n\nCreate an `eslint.config.js` file in your project root:\n\n```javascript\nimport apicurioConfig from \"@apicurio/eslint-config\";\n\nexport default [\n    ...apicurioConfig,\n    {\n        // Additional project-specific configuration\n        rules: {\n            // Override or add rules here\n        }\n    }\n];\n```\n\n### Advanced Usage with File Patterns\n\n```javascript\nimport apicurioConfig from \"@apicurio/eslint-config\";\n\nexport default [\n    {\n        ignores: [\"dist/**\", \"build/**\", \"*.config.js\"]\n    },\n    ...apicurioConfig,\n    {\n        files: [\"**/*.ts\", \"**/*.tsx\"],\n        rules: {\n            // TypeScript-specific overrides\n        }\n    }\n];\n```\n\n### Integrating with React and Other Plugins\n\n```javascript\nimport apicurioConfig from \"@apicurio/eslint-config\";\nimport reactPlugin from \"eslint-plugin-react-hooks\";\nimport reactRefresh from \"eslint-plugin-react-refresh\";\n\nexport default [\n    ...apicurioConfig,\n    {\n        plugins: {\n            \"react-hooks\": reactPlugin,\n            \"react-refresh\": reactRefresh\n        },\n        rules: {\n            \"react-hooks/rules-of-hooks\": \"error\",\n            \"react-hooks/exhaustive-deps\": \"warn\",\n            \"react-refresh/only-export-components\": [\n                \"warn\",\n                { allowConstantExport: true }\n            ]\n        }\n    }\n];\n```\n\n## Included Rules\n\nThis configuration includes:\n\n- ESLint recommended rules\n- TypeScript ESLint recommended rules\n- Custom Apicurio style preferences:\n  - Double quotes for strings\n  - Semicolons required\n  - 4-space indentation\n  - Function parameters aligned to first parameter\n  - Switch cases indented by 1 space\n  - Object curly brace spacing\n  - Relaxed TypeScript type inference rules\n\n## Migration from v0.x (ESLint 8)\n\nIf you're upgrading from `@apicurio/eslint-config` v0.x:\n\n1. Update to ESLint 9: `npm install --save-dev eslint@^9`\n2. Update this package: `npm install --save-dev @apicurio/eslint-config@^1`\n3. Convert your `.eslintrc.*` file to `eslint.config.js` using the flat config format (see examples above)\n4. Remove old TypeScript ESLint dependencies if they were explicitly installed\n5. Update your lint script in `package.json` if needed (remove `--ext` flags as they're no longer needed)\n\n## License\n\nApache-2.0\n","readmeFilename":"README.md"}