{"_id":"@bust/eslint-config","_rev":"3-c20762e23990521bfbb64d1984faa1b5","name":"@bust/eslint-config","dist-tags":{"latest":"2.0.0"},"versions":{"1.0.0":{"name":"@bust/eslint-config","version":"1.0.0","author":{"name":"busticated"},"license":"UNLICENSED","_id":"@bust/eslint-config@1.0.0","maintainers":[{"name":"busticated","email":"itsbusticated@gmail.com"}],"dist":{"shasum":"9fe90e8d17f3819dc6fa83b9ab8573ff708cd59b","tarball":"https://registry.npmjs.org/@bust/eslint-config/-/eslint-config-1.0.0.tgz","integrity":"sha512-S5WmlESmN0K1N2i5hfQfbuPpQlq86iid5MGuvDa2IkxDEuiTjK09tgFChvSxcoyGUp2B4AlhGriYlvxm4Y0WHg==","signatures":[{"sig":"MEUCIHHwh0l+LEvgJd9U0d3COfJEGnE+QCyNCJhfxb4oXtFmAiEAj+iJHcsyFtoUJgjbRf9OXqU7u+22Nz1aNxT1pf1kjsA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"gitHead":"d55ff95248ca98f084d7b2f63e4a80d1b02d94c2","scripts":{"lint":"eslint ."},"_npmUser":{"name":"busticated","email":"itsbusticated@gmail.com"},"_npmVersion":"5.3.0","description":"ESLint configuration for my projects","_nodeVersion":"8.6.0","dependencies":{},"devDependencies":{"eslint":"^4.8.0"},"peerDependencies":{"eslint":">=3"},"_npmOperationalInternal":{"tmp":"tmp/eslint-config-1.0.0.tgz_1507072038448_0.6832799736876041","host":"s3://npm-registry-packages"},"directories":{}},"2.0.0":{"name":"@bust/eslint-config","description":"Shared ESLint configuration for Busticated JS/TS projects","version":"2.0.0","author":{"name":"Busticated"},"license":"(MIT OR Apache-2.0)","keywords":["eslint","eslintconfig","eslint-config","typescript","flat-config"],"publishConfig":{"access":"public"},"type":"module","module":"./dist/esm/index.js","tshy":{"dialects":["esm"],"exports":{"./package.json":"./package.json",".":"./src/index.ts"}},"exports":{"./package.json":"./package.json",".":{"import":{"types":"./dist/esm/index.d.ts","default":"./dist/esm/index.js"}}},"scripts":{"version":"npm run changelog:update && npm run docs:build","prepare":"npm run build","test:unit":"npm run build && node --test --test-reporter spec --experimental-test-coverage --test-coverage-lines=99 --test-coverage-branches=100 --test-coverage-functions=100 --enable-source-maps dist/esm/*.test.js","test:e2e":"echo \"Zero e2e tests to run!\" && exit 0","typecheck":"tsc --project .tshy/esm.json --noemit","build":"tshy","clean":"rm -rf ./dist && rm -rf ./tmp/*","clean:modules":"rm -rf ./node_modules","docs:build":"npm run docs:build:api && npm run docs:build:readme","docs:build:api":"typedoc --plugin typedoc-plugin-markdown --hideBreadcrumbs true --githubPages false --sourceLinkTemplate '/{path}#L{line}' --readme none src/index.ts","docs:build:readme":"node ../../bin/update-package-readme.mjs @bust/eslint-config","changelog:show":"node ../../bin/show-unpublished-changes.mjs @bust/eslint-config","changelog:update":"node ../../bin/update-changelog.mjs @bust/eslint-config"},"engines":{"node":">=22","npm":">=10"},"dependencies":{"@eslint-react/eslint-plugin":"^5.18.6","@eslint/js":"^10.0.1","@stylistic/eslint-plugin":"^5.10.0","@vitest/eslint-plugin":"^1.6.27","eslint-plugin-react-hooks":"^7.1.1","globals":"^17.11.0","typescript-eslint":"^8.68.0"},"peerDependencies":{"eslint":">=10"},"gitHead":"b1a0217223143f8a0a2d6bb1fbbc81e305784631","_id":"@bust/eslint-config@2.0.0","_nodeVersion":"24.19.0","_npmVersion":"lerna/10.0.0/node@v24.19.0+x64 (linux)","dist":{"integrity":"sha512-B1wsbo+BvXqXKgtyncegyUhDEb2vqUFZCVsp5hnYsdWXDAk1U9+vsHsqwrQtTBO1mbclX6q3XxLgienaaAxKxQ==","shasum":"58e55107d5bc9b4ead001641064c2e8129f465e1","tarball":"https://registry.npmjs.org/@bust/eslint-config/-/eslint-config-2.0.0.tgz","fileCount":12,"unpackedSize":49189,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQCGz6D5vCeOuOW/tNRdzxu5SbuVMllUi/6ZVmE3ckysFQIhAMov4KLHz6IXGoWQKyBK89fe42zkfyymzsEQ1QkiQd+g"}]},"_npmUser":{"name":"busticated","email":"itsbusticated@gmail.com"},"directories":{},"maintainers":[{"name":"busticated","email":"itsbusticated@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/eslint-config_2.0.0_1787610636069_0.48944128759549277"},"_hasShrinkwrap":false}},"time":{"created":"2017-10-03T23:07:18.532Z","modified":"2026-08-24T22:30:36.412Z","1.0.0":"2017-10-03T23:07:18.532Z","2.0.0":"2026-08-24T22:30:36.217Z"},"author":{"name":"Busticated"},"license":"(MIT OR Apache-2.0)","description":"Shared ESLint configuration for Busticated JS/TS projects","maintainers":[{"name":"busticated","email":"itsbusticated@gmail.com"}],"readme":"# `@bust/eslint-config`\n\nShared ESLint configuration for Busticated JS/TS projects\n\n\n## Installation\n\n```shell\nnpm install @bust/eslint-config --save-dev\n```\n\n`eslint` is a peer dependency - everything else this config needs (`typescript-eslint`, `@stylistic`, the React and Vitest plugins) ships with it, so there is nothing else to install.\n\n\n## Usage\n\nCall the factory from your `eslint.config.js` and export the result. It targets TypeScript by default, with type-aware rules on.\n\n```js\n// eslint.config.js\nimport bust from '@bust/eslint-config';\n\nexport default bust();\n```\n\nOptions turn on the layers a project needs:\n\n```js\nexport default bust({\n\treact: true,\n\tvitest: true,\n\tignores: ['.output/', '.nitro/'],\n});\n```\n\n### JavaScript-only projects\n\n`typescript: false` drops `typescript-eslint` and the type-aware rules, keeping the same core and stylistic rules with the built-in `no-unused-vars` and `no-use-before-define` in place of their TS-aware equivalents.\n\n```js\nexport default bust({ typescript: false });\n```\n\n### Test runners\n\n`vitest: true` adds Vitest's recommended rules. `nodeTest: true` is for projects on `node:test`, where `describe()` and `it()` return promises nobody awaits - it relaxes `no-floating-promises` across the spec, test, e2e, and integration suites, and does nothing when the type-aware rules are off.\n\n### Type-aware rules\n\nThese are on by default and need your `tsconfig.json` to cover every file being linted. A file the tsconfig lists but excludes - an `eslint.config.js` in a project without `allowJs`, say - needs naming explicitly:\n\n```js\nexport default bust({ allowDefaultProject: ['eslint.config.js'] });\n```\n\nTurn them off with `typeAware: false` if a project's tsconfig isn't ready for it.\n\n### Overriding\n\nThe factory returns a flat-config array, so append your own blocks - later blocks win:\n\n```js\nexport default [\n\t...bust(),\n\t{\n\t\tfiles: ['bin/**'],\n\t\trules: { 'no-console': 'off' },\n\t},\n];\n```\n\nEvery block this package contributes is named `bust/*`, so `npx eslint --inspect-config` will tell you which one applied a given rule.\n\n\n## API\n<!-- api-docs-start -->\nsee [here](https://github.com/busticated/jsville/tree/%40bust%2Feslint-config%402.0.0/packages/eslint-config/docs)\n<!-- api-docs-end -->\n\n_NOTE: When in doubt, check usage in [tests](./src/index.test.ts)_\n\n\n## License\n\n_See [LICENSE.md](./LICENSE.md)_\n\n","readmeFilename":"README.md","keywords":["eslint","eslintconfig","eslint-config","typescript","flat-config"]}