{"_id":"@aggreggator-labs/config-eslint","name":"@aggreggator-labs/config-eslint","dist-tags":{"latest":"0.0.1"},"versions":{"0.0.1":{"name":"@aggreggator-labs/config-eslint","version":"0.0.1","description":"Shared ESLint flat config for aggreggator-labs repositories - spread it after the ignores of a repo-local eslint.config.mjs","type":"module","main":"index.mjs","types":"index.d.mts","exports":{".":{"types":"./index.d.mts","default":"./index.mjs"}},"repository":{"type":"git","url":"git+https://github.com/aggreggator-labs/dotfiles.git","directory":"npm/config-eslint"},"keywords":["eslint","eslint-config","flat-config","config"],"license":"MIT","peerDependencies":{"eslint":"^10.0.0","typescript":">=4.8.4 <6.1.0"},"dependencies":{"@eslint/js":"^10.0.1","eslint-config-prettier":"^10.1.8","eslint-plugin-import-x":"^4.17.1","eslint-plugin-unused-imports":"^4.4.1","globals":"^17.12.0","typescript-eslint":"^8.69.0"},"publishConfig":{"access":"public"},"gitHead":"5e3d070df03f0757a25ca989fd9cc4e48590b8f9","_id":"@aggreggator-labs/config-eslint@0.0.1","bugs":{"url":"https://github.com/aggreggator-labs/dotfiles/issues"},"homepage":"https://github.com/aggreggator-labs/dotfiles#readme","_nodeVersion":"26.8.1","_npmVersion":"11.19.0","dist":{"integrity":"sha512-gG09JPGbF+SDP6qb/MMmTyF5e5i3/a+Q6VQt13MVUjcfHD0XzQNPi511EX69wjLsEQFhfX9zn40IUALhadiD3Q==","shasum":"f0acf7b78f5544e95426ea9575f993b4053844ed","tarball":"https://registry.npmjs.org/@aggreggator-labs/config-eslint/-/config-eslint-0.0.1.tgz","fileCount":4,"unpackedSize":6055,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIDKndr21mnRU0kF3s0ZEeqUfo4tiCRsZI5PzkpFhfDA+AiEAhHMO7F+OZWFSNjMchQJiAlFycpewcumMw/U5gGJnZ7s="}]},"_npmUser":{"name":"aggreggator-labs","email":"labs-npmjs@aggreggator.de"},"directories":{},"maintainers":[{"name":"aggreggator-labs","email":"labs-npmjs@aggreggator.de"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/config-eslint_0.0.1_1788576277167_0.6126157367557781"},"_hasShrinkwrap":false}},"time":{"created":"2026-09-05T02:44:36.964Z","0.0.1":"2026-09-05T02:44:37.305Z","modified":"2026-09-05T02:44:37.538Z"},"maintainers":[{"name":"aggreggator-labs","email":"labs-npmjs@aggreggator.de"}],"description":"Shared ESLint flat config for aggreggator-labs repositories - spread it after the ignores of a repo-local eslint.config.mjs","homepage":"https://github.com/aggreggator-labs/dotfiles#readme","keywords":["eslint","eslint-config","flat-config","config"],"repository":{"type":"git","url":"git+https://github.com/aggreggator-labs/dotfiles.git","directory":"npm/config-eslint"},"bugs":{"url":"https://github.com/aggreggator-labs/dotfiles/issues"},"license":"MIT","readme":"# @aggreggator-labs/config-eslint\n\nThe shared ESLint flat config for aggreggator-labs repositories.\n`index.mjs` is the source of truth; a repository spreads it after\nits own ignores and carries no second copy of a rule.\n\n## Usage\n\n```bash\nbun add -d @aggreggator-labs/config-eslint eslint typescript\n```\n\nRoot `eslint.config.mjs`:\n\n```js\nimport shared from '@aggreggator-labs/config-eslint';\n\nexport default [\n  { ignores: ['dist/**', 'coverage/**'] },\n  ...shared,\n];\n```\n\nOnly the rules are shared; `ignores` are each repository's own.\nThe spread keeps `eslint-config-prettier` as the last element, so\nPrettier wins every formatting conflict. The package brings its\nplugins along as dependencies; a consumer installs `eslint` (10\nor newer) and `typescript` itself.\n\n## Rules\n\nOn top of `@eslint/js` recommended and `typescript-eslint`\nrecommended - not type-aware, `projectService` is off - for\n`.js`, `.mjs`, `.cjs`, `.ts`, `.tsx` and `.jsx` files, with Node\nglobals:\n\n- `no-console` off\n- `import-x/order` warn - builtin, external, internal, parent,\n  sibling, index, type; a blank line between groups; alphabetised\n  without regard to case\n- `@typescript-eslint/consistent-type-imports` warn - prefer\n  `import type`\n- `@typescript-eslint/no-explicit-any` off\n- `@typescript-eslint/no-unused-vars` off - the `unused-imports`\n  pair below reports instead, once\n- `unused-imports/no-unused-imports` warn\n- `unused-imports/no-unused-vars` warn - all variables, arguments\n  after the last used one; names starting with `_` are ignored\n\nBrowser globals and React rules are not part of this config;\neither would be a second export, not a change to this one.\n\n## Publishing\n\nReleases are staged, never pushed live by a machine. A push to\n`main` with a new version in `package.json` runs\n`.github/workflows/publish-npm.yml` in the dotfiles repository,\nwhich stages the version on npmjs through trusted publishing\n(GitHub OIDC, no token; no provenance, which npm attaches only\nfor public source repositories). A maintainer then approves it\nwith two-factor authentication - `npm stage approve` or the\npackage page - and only then is it on the registry. An unchanged\nversion stages nothing and says so. Bump the version here to\nrelease; patch bumps (`0.0.x`) by default.\n","readmeFilename":"README.md","_rev":"1-a0e0d695c381cf2213297de296473939"}