{"_id":"@bassist/eslint-config","_rev":"13-dc408c7a7b4af388c5631771ac50b486","name":"@bassist/eslint-config","dist-tags":{"latest":"0.5.0"},"versions":{"0.1.0":{"name":"@bassist/eslint-config","version":"0.1.0","keywords":["eslint","eslint config","eslint flat config"],"author":{"name":"chengpeiquan","email":"chengpeiquan@chengpeiquan.com"},"license":"MIT","_id":"@bassist/eslint-config@0.1.0","maintainers":[{"name":"chengpeiquan","email":"chengpeiquan@chengpeiquan.com"}],"homepage":"https://github.com/chengpeiquan/bassist/tree/main/packages/eslint-config","bugs":{"url":"https://github.com/chengpeiquan/bassist/issues"},"dist":{"shasum":"4f4c2e55d5dee038d1c50df0e5bce576715bf912","tarball":"https://registry.npmjs.org/@bassist/eslint-config/-/eslint-config-0.1.0.tgz","fileCount":7,"integrity":"sha512-ZXOEAW6fwUUNMxGNpDtn/g+MXMhQyEP2CIH/0iF4soowUkbcCva8FqD7kxthzD0JNaIu/9CLm7olcsDX1m+XyA==","signatures":[{"sig":"MEUCIQDawj6fgaQWWFMxVObLd7ZoqqU5kIC/OcN//wEPu782wQIgKsxXuUrZhkO9NK+fGoPRWAdWo+Umej78rRw1SWfoAXg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":46519},"main":"./dist/index.cjs","_from":"file:bassist-eslint-config-0.1.0.tgz","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.cjs"}},"_npmUser":{"name":"chengpeiquan","email":"chengpeiquan@chengpeiquan.com"},"_resolved":"/private/var/folders/kj/856p9v8j7sndztf7z51cwm2h0000gn/T/afc542b07a304bf8ea1b62154327656a/bassist-eslint-config-0.1.0.tgz","_integrity":"sha512-ZXOEAW6fwUUNMxGNpDtn/g+MXMhQyEP2CIH/0iF4soowUkbcCva8FqD7kxthzD0JNaIu/9CLm7olcsDX1m+XyA==","repository":{"url":"git+https://github.com/chengpeiquan/bassist.git","type":"git"},"_npmVersion":"10.2.4","description":"Flat ESLint config for JavaScript, TypeScript, Vue, React, Prettier and so on by @chengpeiquan .","directories":{},"_nodeVersion":"20.11.0","dependencies":{"eslint":"^9.22.0","globals":"^16.0.0","prettier":"^3.5.3","@eslint/js":"^9.22.0","typescript":"^5.8.2","eslint-plugin-n":"^17.16.2","@eslint/markdown":"^6.3.0","eslint-plugin-vue":"^9.33.0","vue-eslint-parser":"^9.4.3","eslint-plugin-react":"^7.37.4","eslint-plugin-import":"^2.31.0","eslint-plugin-regexp":"^2.7.0","eslint-plugin-unicorn":"^57.0.0","prettier-plugin-jsdoc":"1.3.2","eslint-config-prettier":"^10.1.1","eslint-plugin-prettier":"^5.2.3","@next/eslint-plugin-next":"^15.2.1","@typescript-eslint/parser":"^8.26.0","eslint-plugin-react-hooks":"^5.2.0","eslint-plugin-tailwindcss":"^3.18.0","eslint-plugin-react-refresh":"^0.4.19","@typescript-eslint/eslint-plugin":"^8.26.0","@ianvs/prettier-plugin-sort-imports":"^4.4.1"},"typesVersions":{"*":{"*":["./dist/index.d.ts","./dist/*"]}},"_hasShrinkwrap":false,"devDependencies":{"@types/eslint-config-prettier":"^6.11.3","@types/eslint-plugin-tailwindcss":"^3.17.0"},"peerDependencies":{"eslint":">=9.0.0","typescript":">=5.0.0"},"peerDependenciesMeta":{"typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/eslint-config_0.1.0_1741458553639_0.7781390841502813","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"@bassist/eslint-config","version":"0.1.1","keywords":["eslint","eslint config","eslint flat config"],"author":{"name":"chengpeiquan","email":"chengpeiquan@chengpeiquan.com"},"license":"MIT","_id":"@bassist/eslint-config@0.1.1","maintainers":[{"name":"chengpeiquan","email":"chengpeiquan@chengpeiquan.com"}],"homepage":"https://github.com/chengpeiquan/bassist/tree/main/packages/eslint-config","bugs":{"url":"https://github.com/chengpeiquan/bassist/issues"},"dist":{"shasum":"48b37f41e8ee5cce2e45442e563e61e80565dfa6","tarball":"https://registry.npmjs.org/@bassist/eslint-config/-/eslint-config-0.1.1.tgz","fileCount":7,"integrity":"sha512-EA2rkyrQ0KrO2xDPkIoTlEnX+dVYTuq7udY/xbucsNdje24wX+wThm0YtmbLACRw+ffmU+tM5DPMq5h2mLlxWQ==","signatures":[{"sig":"MEYCIQCjIZr6J6jZ6X9SY2jMBezOItmqRA0l6mQzKayXB5rk1wIhAIb3mcqF+uvFZwQIuAR2RMSV/xEyZe/0Q+DPd/LY+MFH","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":46566},"main":"./dist/index.cjs","_from":"file:bassist-eslint-config-0.1.1.tgz","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.cjs"}},"_npmUser":{"name":"chengpeiquan","email":"chengpeiquan@chengpeiquan.com"},"_resolved":"/private/var/folders/kj/856p9v8j7sndztf7z51cwm2h0000gn/T/f2972d0aa26946d8fa4d1ebf3b4125d9/bassist-eslint-config-0.1.1.tgz","_integrity":"sha512-EA2rkyrQ0KrO2xDPkIoTlEnX+dVYTuq7udY/xbucsNdje24wX+wThm0YtmbLACRw+ffmU+tM5DPMq5h2mLlxWQ==","repository":{"url":"git+https://github.com/chengpeiquan/bassist.git","type":"git"},"_npmVersion":"10.2.4","description":"Flat ESLint config for JavaScript, TypeScript, Vue, React, Prettier and so on by @chengpeiquan .","directories":{},"_nodeVersion":"20.11.0","dependencies":{"eslint":"^9.22.0","globals":"^16.0.0","prettier":"^3.5.3","@eslint/js":"^9.22.0","typescript":"^5.8.2","eslint-plugin-n":"^17.16.2","@eslint/markdown":"^6.3.0","eslint-plugin-vue":"^9.33.0","vue-eslint-parser":"^9.4.3","eslint-plugin-react":"^7.37.4","eslint-plugin-import":"^2.31.0","eslint-plugin-regexp":"^2.7.0","eslint-plugin-unicorn":"^57.0.0","prettier-plugin-jsdoc":"1.3.2","eslint-config-prettier":"^10.1.1","eslint-plugin-prettier":"^5.2.3","@next/eslint-plugin-next":"^15.2.1","@typescript-eslint/parser":"^8.26.0","eslint-plugin-react-hooks":"^5.2.0","eslint-plugin-tailwindcss":"^3.18.0","eslint-plugin-react-refresh":"^0.4.19","@typescript-eslint/eslint-plugin":"^8.26.0","@ianvs/prettier-plugin-sort-imports":"^4.4.1"},"typesVersions":{"*":{"*":["./dist/index.d.ts","./dist/*"]}},"_hasShrinkwrap":false,"devDependencies":{"@types/eslint-config-prettier":"^6.11.3","@types/eslint-plugin-tailwindcss":"^3.17.0"},"peerDependencies":{"eslint":">=9.0.0","typescript":">=5.0.0"},"peerDependenciesMeta":{"typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/eslint-config_0.1.1_1741510661125_0.6105615075137849","host":"s3://npm-registry-packages-npm-production"}},"0.1.2":{"name":"@bassist/eslint-config","version":"0.1.2","keywords":["eslint","eslint config","eslint flat config"],"author":{"name":"chengpeiquan","email":"chengpeiquan@chengpeiquan.com"},"license":"MIT","_id":"@bassist/eslint-config@0.1.2","maintainers":[{"name":"chengpeiquan","email":"chengpeiquan@chengpeiquan.com"}],"homepage":"https://github.com/chengpeiquan/bassist/blob/main/packages/eslint-config/README.md","bugs":{"url":"https://github.com/chengpeiquan/bassist/issues"},"dist":{"shasum":"9c22ff4e8a87b8676fb3e9162128670049152069","tarball":"https://registry.npmjs.org/@bassist/eslint-config/-/eslint-config-0.1.2.tgz","fileCount":7,"integrity":"sha512-X5coef/bkkLrrr0IH6yZDfFNx84hSpNAqOeivxvG0CPnRAcpMTEHkWiUr4nfYWdNoXRt8+/KvFXtsufCDCAD4Q==","signatures":[{"sig":"MEYCIQDZhydTtHTSFCjeiphv1ScExwo8UKTGzQ8hcUtIXguw7AIhAIEPYlx+XkkmLVI17yQokvsZAGFF2VnBGddZvqCWV6j2","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":49231},"main":"./dist/index.cjs","_from":"file:bassist-eslint-config-0.1.2.tgz","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.cjs"}},"_npmUser":{"name":"chengpeiquan","email":"chengpeiquan@chengpeiquan.com"},"_resolved":"/private/var/folders/kj/856p9v8j7sndztf7z51cwm2h0000gn/T/89396dfe88e7780093a78f685db07908/bassist-eslint-config-0.1.2.tgz","_integrity":"sha512-X5coef/bkkLrrr0IH6yZDfFNx84hSpNAqOeivxvG0CPnRAcpMTEHkWiUr4nfYWdNoXRt8+/KvFXtsufCDCAD4Q==","repository":{"url":"git+https://github.com/chengpeiquan/bassist.git","type":"git"},"_npmVersion":"10.2.4","description":"A modern flat ESLint configuration for ESLint, crafted by @chengpeiquan .","directories":{},"_nodeVersion":"20.11.0","dependencies":{"globals":"^16.0.0","@eslint/js":"^9.22.0","eslint-plugin-n":"^17.16.2","@eslint/markdown":"^6.3.0","eslint-plugin-vue":"^9.33.0","vue-eslint-parser":"^9.4.3","eslint-plugin-react":"^7.37.4","eslint-plugin-regexp":"^2.7.0","eslint-plugin-unicorn":"^57.0.0","prettier-plugin-jsdoc":"1.3.2","eslint-config-prettier":"^10.1.1","eslint-plugin-import-x":"^4.6.1","eslint-plugin-prettier":"^5.2.3","@next/eslint-plugin-next":"^15.2.1","@typescript-eslint/parser":"^8.26.0","eslint-plugin-react-hooks":"^5.2.0","eslint-plugin-tailwindcss":"^3.18.0","eslint-plugin-react-refresh":"^0.4.19","@typescript-eslint/eslint-plugin":"^8.26.0"},"typesVersions":{"*":{"*":["./dist/index.d.ts","./dist/*"]}},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^9.22.0","prettier":"^3.5.3","typescript":"^5.8.2","@types/eslint-config-prettier":"^6.11.3","@types/eslint-plugin-tailwindcss":"^3.17.0"},"peerDependencies":{"eslint":">=9.0.0","prettier":">=3.0.0","typescript":">=5.0.0"},"peerDependenciesMeta":{"typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/eslint-config_0.1.2_1741536922296_0.4626365070143945","host":"s3://npm-registry-packages-npm-production"}},"0.1.3":{"name":"@bassist/eslint-config","version":"0.1.3","keywords":["eslint","eslint config","eslint flat config"],"author":{"name":"chengpeiquan","email":"chengpeiquan@chengpeiquan.com"},"license":"MIT","_id":"@bassist/eslint-config@0.1.3","maintainers":[{"name":"chengpeiquan","email":"chengpeiquan@chengpeiquan.com"}],"homepage":"https://github.com/chengpeiquan/bassist/blob/main/packages/eslint-config/README.md","bugs":{"url":"https://github.com/chengpeiquan/bassist/issues"},"dist":{"shasum":"97bee175b6f4f8a92d6b7adf6cb52bb7952cae5a","tarball":"https://registry.npmjs.org/@bassist/eslint-config/-/eslint-config-0.1.3.tgz","fileCount":8,"integrity":"sha512-83v+ia9cUXaTJWRSlxvRREwqH11LqQQYRqc1Bw6DUqwYaq8AQtB/VCbA/BXe4rSPp16efF8yx66x7F2k0YcbWg==","signatures":[{"sig":"MEQCIHAlzNhIipu+8KLZmWV1IO37KzN2K0gEEj60SkV/C3wFAiAnaZH5NYf8AILwJeXsfx2M1dmzumtJWYSQ3F78AxKPXw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":58754},"main":"./dist/index.cjs","_from":"file:bassist-eslint-config-0.1.3.tgz","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.cjs"}},"_npmUser":{"name":"chengpeiquan","email":"chengpeiquan@chengpeiquan.com"},"_resolved":"/private/var/folders/kj/856p9v8j7sndztf7z51cwm2h0000gn/T/adc9493dc9484f581f5c2bf432857c5b/bassist-eslint-config-0.1.3.tgz","_integrity":"sha512-83v+ia9cUXaTJWRSlxvRREwqH11LqQQYRqc1Bw6DUqwYaq8AQtB/VCbA/BXe4rSPp16efF8yx66x7F2k0YcbWg==","repository":{"url":"git+https://github.com/chengpeiquan/bassist.git","type":"git"},"_npmVersion":"11.4.1","description":"A modern flat ESLint configuration for ESLint, crafted by @chengpeiquan .","directories":{},"_nodeVersion":"22.9.0","dependencies":{"globals":"^16.1.0","@eslint/js":"^9.27.0","eslint-plugin-n":"^17.18.0","@eslint/markdown":"^6.4.0","eslint-plugin-vue":"^9.33.0","vue-eslint-parser":"^9.4.3","eslint-plugin-react":"^7.37.5","eslint-plugin-regexp":"^2.7.0","eslint-plugin-unicorn":"^57.0.0","prettier-plugin-jsdoc":"1.3.2","eslint-config-prettier":"^10.1.5","eslint-plugin-import-x":"^4.12.2","eslint-plugin-prettier":"^5.4.0","@next/eslint-plugin-next":"^15.3.2","@typescript-eslint/parser":"^8.32.1","eslint-plugin-react-hooks":"^5.2.0","eslint-plugin-tailwindcss":"^3.18.0","eslint-plugin-react-refresh":"^0.4.20","@typescript-eslint/eslint-plugin":"^8.32.1"},"typesVersions":{"*":{"*":["./dist/index.d.ts","./dist/*"]}},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^9.27.0","prettier":"^3.5.3","typescript":"^5.8.3","@types/eslint-config-prettier":"^6.11.3","@types/eslint-plugin-tailwindcss":"^3.17.0"},"peerDependencies":{"eslint":">=9.0.0","prettier":">=3.0.0","typescript":">=5.0.0"},"peerDependenciesMeta":{"typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/eslint-config_0.1.3_1747927183834_0.6449727801477538","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"@bassist/eslint-config","version":"0.2.0","keywords":["eslint","eslint config","eslint flat config"],"author":{"name":"chengpeiquan","email":"chengpeiquan@chengpeiquan.com"},"license":"MIT","_id":"@bassist/eslint-config@0.2.0","maintainers":[{"name":"chengpeiquan","email":"chengpeiquan@chengpeiquan.com"}],"homepage":"https://github.com/chengpeiquan/bassist/blob/main/packages/eslint-config/README.md","bugs":{"url":"https://github.com/chengpeiquan/bassist/issues"},"dist":{"shasum":"4f41fa2fed088267bbea1c8e5e5fd89f1018c377","tarball":"https://registry.npmjs.org/@bassist/eslint-config/-/eslint-config-0.2.0.tgz","fileCount":13,"integrity":"sha512-eIY5HdXf0xTYThCJmsqtTkq6rRMNIq3eXsyx2Wa6qs/6nPLNV33sV99HQvYMiiA5GZz/BycsJ6eaNBCvpJiWnA==","signatures":[{"sig":"MEYCIQDG7kEl3ZpN+QvclPEW1lQVOzv7H09WdYNCflhQTpk38gIhAJMrUERmcSecib++QqI8TVCrc9KHbdD+EvwpbwpbN6XR","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":66558},"main":"./dist/index.cjs","_from":"file:bassist-eslint-config-0.2.0.tgz","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.cjs"},"./prettier-config":{"types":"./dist/prettier-config.d.ts","import":"./dist/prettier-config.mjs","require":"./dist/prettier-config.cjs"}},"scripts":{"build":"tsup"},"_npmUser":{"name":"chengpeiquan","actor":{"name":"chengpeiquan","type":"user","email":"chengpeiquan@chengpeiquan.com"},"email":"chengpeiquan@chengpeiquan.com"},"_resolved":"/private/var/folders/kj/856p9v8j7sndztf7z51cwm2h0000gn/T/41bf831dc54104f5f05dae2b7f7a6222/bassist-eslint-config-0.2.0.tgz","_integrity":"sha512-eIY5HdXf0xTYThCJmsqtTkq6rRMNIq3eXsyx2Wa6qs/6nPLNV33sV99HQvYMiiA5GZz/BycsJ6eaNBCvpJiWnA==","repository":{"url":"git+https://github.com/chengpeiquan/bassist.git","type":"git"},"_npmVersion":"10.2.4","description":"A modern flat ESLint configuration for ESLint, crafted by @chengpeiquan .","directories":{},"_nodeVersion":"20.11.0","dependencies":{"globals":"^16.3.0","@eslint/js":"^9.30.1","eslint-plugin-n":"^17.21.0","@eslint/markdown":"^6.6.0","eslint-plugin-vue":"^9.33.0","vue-eslint-parser":"^9.4.3","eslint-plugin-react":"^7.37.5","eslint-plugin-regexp":"^2.9.0","eslint-plugin-unicorn":"^57.0.0","prettier-plugin-jsdoc":"^1.3.3","eslint-config-prettier":"^10.1.5","eslint-plugin-import-x":"^4.16.1","eslint-plugin-prettier":"^5.5.1","@next/eslint-plugin-next":"^15.3.5","@typescript-eslint/parser":"^8.35.1","eslint-plugin-react-hooks":"^5.2.0","eslint-plugin-tailwindcss":"^3.18.0","eslint-plugin-react-refresh":"^0.4.20","@typescript-eslint/eslint-plugin":"^8.35.1"},"typesVersions":{"*":{"*":["./dist/index.d.ts","./dist/*"],"prettier-config":["./dist/prettier-config.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^9.30.1","prettier":"^3.6.2","typescript":"^5.8.3","@types/eslint-config-prettier":"^6.11.3","@types/eslint-plugin-tailwindcss":"^3.17.0"},"peerDependencies":{"eslint":">=9.0.0","prettier":">=3.0.0","typescript":">=5.0.0"},"peerDependenciesMeta":{"typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/eslint-config_0.2.0_1751806252946_0.5202477742476737","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"@bassist/eslint-config","version":"0.3.0","keywords":["eslint","eslint config","eslint flat config"],"author":{"name":"chengpeiquan","email":"chengpeiquan@chengpeiquan.com"},"license":"MIT","_id":"@bassist/eslint-config@0.3.0","maintainers":[{"name":"chengpeiquan","email":"chengpeiquan@chengpeiquan.com"}],"homepage":"https://github.com/chengpeiquan/bassist/blob/main/packages/eslint-config/README.md","bugs":{"url":"https://github.com/chengpeiquan/bassist/issues"},"dist":{"shasum":"72f6d30ffa9651691905c9af25d22fedd7a5b835","tarball":"https://registry.npmjs.org/@bassist/eslint-config/-/eslint-config-0.3.0.tgz","fileCount":13,"integrity":"sha512-LQuHkWQRnx7VwnxN8eNyuNg8oM/igS6VoZAmWfNrs+l4jDoVDkgdiyPTIyxR9GTlMDOwHI2lQM8sQAhiHQq5ZA==","signatures":[{"sig":"MEYCIQDMpJ2FvM/l0RIDtxRNyRK2eIKJOVj89y6po0/lodktnwIhANQgyVeyyhkkX9b5diNDKCepQwmbYCVzUosPODmyUUB+","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":69628},"main":"./dist/index.cjs","_from":"file:bassist-eslint-config-0.3.0.tgz","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.cjs"},"./prettier-config":{"types":"./dist/prettier-config.d.ts","import":"./dist/prettier-config.mjs","require":"./dist/prettier-config.cjs"}},"scripts":{"build":"tsup"},"_npmUser":{"name":"chengpeiquan","email":"chengpeiquan@chengpeiquan.com"},"_resolved":"/private/var/folders/kj/856p9v8j7sndztf7z51cwm2h0000gn/T/3b08bb92040532194412baf453aa4969/bassist-eslint-config-0.3.0.tgz","_integrity":"sha512-LQuHkWQRnx7VwnxN8eNyuNg8oM/igS6VoZAmWfNrs+l4jDoVDkgdiyPTIyxR9GTlMDOwHI2lQM8sQAhiHQq5ZA==","repository":{"url":"git+https://github.com/chengpeiquan/bassist.git","type":"git"},"_npmVersion":"10.2.4","description":"A modern flat ESLint configuration for ESLint, crafted by @chengpeiquan .","directories":{},"_nodeVersion":"20.11.0","dependencies":{"globals":"^16.3.0","@eslint/js":"^9.32.0","eslint-plugin-n":"^17.21.1","@eslint/markdown":"^7.1.0","eslint-plugin-vue":"^9.33.0","vue-eslint-parser":"^9.4.3","eslint-plugin-react":"^7.37.5","eslint-plugin-regexp":"^2.9.0","eslint-plugin-unicorn":"^57.0.0","prettier-plugin-jsdoc":"^1.3.3","eslint-config-prettier":"^10.1.8","eslint-plugin-import-x":"^4.16.1","eslint-plugin-prettier":"^5.5.3","prettier-plugin-lint-md":"^1.0.1","@next/eslint-plugin-next":"^15.4.4","@typescript-eslint/parser":"^8.38.0","eslint-plugin-react-hooks":"^5.2.0","eslint-plugin-tailwindcss":"^3.18.2","eslint-plugin-react-refresh":"^0.4.20","@typescript-eslint/eslint-plugin":"^8.38.0"},"typesVersions":{"*":{"*":["./dist/index.d.ts","./dist/*"],"prettier-config":["./dist/prettier-config.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^9.32.0","prettier":"^3.6.2","typescript":"^5.8.3","@lint-md/core":"^2.0.0","@types/eslint-config-prettier":"^6.11.3","@types/eslint-plugin-tailwindcss":"^3.17.0"},"peerDependencies":{"eslint":">=9.0.0","prettier":">=3.0.0","typescript":">=5.0.0"},"peerDependenciesMeta":{"typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/eslint-config_0.3.0_1753610755497_0.8423471660832351","host":"s3://npm-registry-packages-npm-production"}},"0.4.0":{"name":"@bassist/eslint-config","version":"0.4.0","keywords":["eslint","eslint config","eslint flat config"],"author":"chengpeiquan <chengpeiquan@chengpeiquan.com>","license":"MIT","_id":"@bassist/eslint-config@0.4.0","maintainers":[{"name":"chengpeiquan","email":"chengpeiquan@chengpeiquan.com"}],"homepage":"https://github.com/chengpeiquan/bassist/blob/main/packages/eslint-config/README.md","dist":{"shasum":"9214ca857adb725407f6e553762ec7ccf91f4daa","tarball":"https://registry.npmjs.org/@bassist/eslint-config/-/eslint-config-0.4.0.tgz","fileCount":13,"integrity":"sha512-yN7G2EVOISTl3AdEGvBEs0MwcZ/OtAx4vc7vTgeHMh1nuu6W3hhzjmn6yQ0qzn5LJK7Lr+eiQ8E0GLNf/xGglg==","signatures":[{"sig":"MEQCIAGLFUC717crHVxwzw5rm3AMpMKEnF/2GQlrNcZfRdnIAiAcDCuMo/YY1SYOuUPKsTEFRXXOmUVSPotYmb/HLiznpQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":67656},"main":"./dist/index.cjs","types":"./dist/index.d.ts","module":"./dist/index.mjs","shasum":"9214ca857adb725407f6e553762ec7ccf91f4daa","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.cjs"},"./prettier-config":{"types":"./dist/prettier-config.d.ts","import":"./dist/prettier-config.mjs","require":"./dist/prettier-config.cjs"}},"scripts":{"build":"tsdown"},"_npmUser":{"name":"chengpeiquan","email":"chengpeiquan@chengpeiquan.com"},"_integrity":"sha512-yN7G2EVOISTl3AdEGvBEs0MwcZ/OtAx4vc7vTgeHMh1nuu6W3hhzjmn6yQ0qzn5LJK7Lr+eiQ8E0GLNf/xGglg==","repository":{"url":"https://github.com/chengpeiquan/bassist","type":"git"},"_npmVersion":"10.8.3","description":"A modern flat ESLint configuration for ESLint, crafted by @chengpeiquan .","directories":{},"_nodeVersion":"24.3.0","dependencies":{"globals":"^17.4.0","@eslint/js":"^10.0.1","eslint-plugin-n":"^17.24.0","@eslint/markdown":"^8.0.1","eslint-plugin-vue":"^10.8.0","vue-eslint-parser":"^10.4.0","eslint-plugin-react":"^7.37.5","eslint-plugin-regexp":"^3.1.0","eslint-plugin-unicorn":"^64.0.0","prettier-plugin-jsdoc":"^1.3.3","eslint-config-prettier":"^10.1.8","eslint-plugin-import-x":"^4.16.2","eslint-plugin-prettier":"^5.5.5","prettier-plugin-lint-md":"^1.0.1","@next/eslint-plugin-next":"^16.2.2","@typescript-eslint/parser":"^8.58.0","eslint-plugin-react-hooks":"^7.0.1","eslint-plugin-tailwindcss":"^3.18.2","eslint-plugin-react-refresh":"^0.5.2","@typescript-eslint/eslint-plugin":"^8.58.0"},"typesVersions":{"*":{"*":["./dist/index.d.ts","./dist/*"],"prettier-config":["./dist/prettier-config.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^10.2.0","prettier":"^3.6.2","typescript":">=6.0.2 <6.1.0","@lint-md/core":"^2.0.0","@types/eslint-config-prettier":"^6.11.3","@types/eslint-plugin-tailwindcss":"^3.17.0"},"peerDependencies":{"eslint":">=9.0.0 <11.0.0","prettier":">=3.0.0","typescript":">=5.0.0"},"peerDependenciesMeta":{"typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/eslint-config_0.4.0_1775399098230_0.18587699853690443","host":"s3://npm-registry-packages-npm-production"}},"0.4.1":{"name":"@bassist/eslint-config","version":"0.4.1","keywords":["eslint","eslint config","eslint flat config"],"author":"chengpeiquan <chengpeiquan@chengpeiquan.com>","license":"MIT","_id":"@bassist/eslint-config@0.4.1","maintainers":[{"name":"chengpeiquan","email":"chengpeiquan@chengpeiquan.com"}],"homepage":"https://github.com/chengpeiquan/bassist/blob/main/packages/eslint-config/README.md","dist":{"shasum":"edd77c91b18952fe7a2ceede32c19d215a0ed5b3","tarball":"https://registry.npmjs.org/@bassist/eslint-config/-/eslint-config-0.4.1.tgz","fileCount":13,"integrity":"sha512-pdbfjlJtG05VWt7LAr9Iy/UoorpBvk5cSuGlQM17jYJTZN1Eg56nrcDakkqa3c5GrF8pjQ1XU4q2iU+Ld+1X1A==","signatures":[{"sig":"MEQCIHvXrETOzOZv6qjpAT5RB0ObK1uEciRoiGb9icoca6dSAiBG4xr1xVGJqw+gG5KzKq39FkOeQJq1pEKf2Nf3PIOipQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":71220},"main":"./dist/index.cjs","types":"./dist/index.d.ts","module":"./dist/index.mjs","shasum":"edd77c91b18952fe7a2ceede32c19d215a0ed5b3","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.cjs"},"./prettier-config":{"types":"./dist/prettier-config.d.ts","import":"./dist/prettier-config.mjs","require":"./dist/prettier-config.cjs"}},"scripts":{"build":"tsdown"},"_npmUser":{"name":"chengpeiquan","email":"chengpeiquan@chengpeiquan.com"},"_integrity":"sha512-pdbfjlJtG05VWt7LAr9Iy/UoorpBvk5cSuGlQM17jYJTZN1Eg56nrcDakkqa3c5GrF8pjQ1XU4q2iU+Ld+1X1A==","repository":{"url":"https://github.com/chengpeiquan/bassist","type":"git"},"_npmVersion":"10.8.3","description":"A modern flat ESLint configuration for ESLint, crafted by @chengpeiquan .","directories":{},"_nodeVersion":"24.3.0","dependencies":{"globals":"^17.4.0","@eslint/js":"^10.0.1","eslint-plugin-n":"^17.24.0","@eslint/markdown":"^8.0.1","eslint-plugin-vue":"^10.8.0","vue-eslint-parser":"^10.4.0","eslint-plugin-jsonc":"^3.1.2","eslint-plugin-react":"^7.37.5","jsonc-eslint-parser":"^3.1.0","eslint-plugin-regexp":"^3.1.0","eslint-plugin-unicorn":"^64.0.0","prettier-plugin-jsdoc":"^1.3.3","eslint-config-prettier":"^10.1.8","eslint-plugin-import-x":"^4.16.2","eslint-plugin-prettier":"^5.5.5","prettier-plugin-lint-md":"^1.0.1","@next/eslint-plugin-next":"^16.2.2","@typescript-eslint/parser":"^8.58.0","eslint-plugin-react-hooks":"^7.0.1","eslint-plugin-tailwindcss":"^3.18.2","eslint-plugin-react-refresh":"^0.5.2","@typescript-eslint/eslint-plugin":"^8.58.0"},"typesVersions":{"*":{"*":["./dist/index.d.ts","./dist/*"],"prettier-config":["./dist/prettier-config.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^10.2.0","prettier":"^3.6.2","typescript":">=6.0.2 <6.1.0","@lint-md/core":"^2.0.0","@types/eslint-config-prettier":"^6.11.3","@types/eslint-plugin-tailwindcss":"^3.17.0"},"peerDependencies":{"eslint":">=9.0.0 <11.0.0","prettier":">=3.0.0","typescript":">=5.0.0"},"peerDependenciesMeta":{"typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/eslint-config_0.4.1_1775576437613_0.9825648369633435","host":"s3://npm-registry-packages-npm-production"}},"0.5.0":{"name":"@bassist/eslint-config","version":"0.5.0","description":"A modern flat ESLint configuration for ESLint, crafted by @chengpeiquan .","keywords":["eslint","eslint config","eslint flat config"],"homepage":"https://github.com/chengpeiquan/bassist/blob/main/packages/eslint-config/README.md","license":"MIT","author":{"name":"chengpeiquan","email":"chengpeiquan@chengpeiquan.com"},"repository":{"type":"git","url":"git+https://github.com/chengpeiquan/bassist.git"},"main":"./dist/index.cjs","module":"./dist/index.mjs","types":"./dist/index.d.ts","typesVersions":{"*":{"prettier-config":["./dist/prettier-config.d.ts"],"*":["./dist/index.d.ts","./dist/*"]}},"exports":{"./prettier-config":{"types":"./dist/prettier-config.d.ts","import":"./dist/prettier-config.mjs","require":"./dist/prettier-config.cjs"},".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.cjs"}},"dependencies":{"@eslint/js":"^10.0.1","@eslint/markdown":"^8.0.1","@next/eslint-plugin-next":"^16.2.2","@typescript-eslint/eslint-plugin":"^8.58.0","@typescript-eslint/parser":"^8.58.0","eslint-config-prettier":"^10.1.8","eslint-plugin-better-tailwindcss":"^4.5.0","eslint-plugin-import-x":"^4.16.2","eslint-plugin-jsonc":"^3.1.2","eslint-plugin-n":"^17.24.0","eslint-plugin-prettier":"^5.5.5","eslint-plugin-react":"^7.37.5","eslint-plugin-react-hooks":"^7.0.1","eslint-plugin-react-refresh":"^0.5.2","eslint-plugin-regexp":"^3.1.0","eslint-plugin-unicorn":"^64.0.0","eslint-plugin-vue":"^10.8.0","globals":"^17.4.0","jsonc-eslint-parser":"^3.1.0","prettier-plugin-jsdoc":"^1.3.3","prettier-plugin-lint-md":"^1.0.1","vue-eslint-parser":"^10.4.0"},"devDependencies":{"@lint-md/core":"^2.0.0","@types/eslint-config-prettier":"^6.11.3","eslint":"^10.2.0","prettier":"^3.6.2","typescript":">=6.0.2 <6.1.0"},"peerDependencies":{"eslint":">=9.0.0 <11.0.0","prettier":">=3.0.0","typescript":">=5.0.0"},"peerDependenciesMeta":{"typescript":{"optional":true}},"scripts":{"build":"tsdown"},"_id":"@bassist/eslint-config@0.5.0","bugs":{"url":"https://github.com/chengpeiquan/bassist/issues"},"_integrity":"sha512-9iD6sW10zZjCCR58TFob84rsVZ6hPFnRnbxYXgIV8/bsuTNRorYUdXblHiSJ0LhOfKn6KXc+4lQa1Vl4a6FL8g==","_resolved":"/private/var/folders/kj/856p9v8j7sndztf7z51cwm2h0000gn/T/e021865c1565c61929de746d10aecaff/bassist-eslint-config-0.5.0.tgz","_from":"file:bassist-eslint-config-0.5.0.tgz","_nodeVersion":"22.19.0","_npmVersion":"10.9.3","dist":{"integrity":"sha512-9iD6sW10zZjCCR58TFob84rsVZ6hPFnRnbxYXgIV8/bsuTNRorYUdXblHiSJ0LhOfKn6KXc+4lQa1Vl4a6FL8g==","shasum":"626c444a77b1c8ce56271031bfc45f35bb127d50","tarball":"https://registry.npmjs.org/@bassist/eslint-config/-/eslint-config-0.5.0.tgz","fileCount":14,"unpackedSize":72349,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQCC4Yzm2A0UCOMK58tLw33HeoqUteCPm7AHSZc9qM0l5gIgOh5AHF+DDiUfAVCEAj5Tf4AOsBz01fsL00gMPjFgzvA="}]},"_npmUser":{"name":"chengpeiquan","email":"chengpeiquan@chengpeiquan.com"},"directories":{},"maintainers":[{"name":"chengpeiquan","email":"chengpeiquan@chengpeiquan.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/eslint-config_0.5.0_1777634288852_0.7422460252900631"},"_hasShrinkwrap":false}},"time":{"created":"2025-03-08T18:29:13.550Z","modified":"2026-05-01T11:18:09.157Z","0.1.0":"2025-03-08T18:29:13.871Z","0.1.1":"2025-03-09T08:57:41.362Z","0.1.2-alpha.1":"2025-03-09T14:43:40.229Z","0.1.2-alpha.2":"2025-03-09T15:35:44.905Z","0.1.2":"2025-03-09T16:15:22.457Z","0.1.3":"2025-05-22T15:19:44.035Z","0.2.0":"2025-07-06T12:50:53.171Z","0.3.0":"2025-07-27T10:05:55.687Z","0.4.0":"2026-04-05T14:24:58.382Z","0.4.1":"2026-04-07T15:40:37.756Z","0.5.0":"2026-05-01T11:18:09.030Z"},"author":{"name":"chengpeiquan","email":"chengpeiquan@chengpeiquan.com"},"license":"MIT","homepage":"https://github.com/chengpeiquan/bassist/blob/main/packages/eslint-config/README.md","keywords":["eslint","eslint config","eslint flat config"],"repository":{"type":"git","url":"git+https://github.com/chengpeiquan/bassist.git"},"description":"A modern flat ESLint configuration for ESLint, crafted by @chengpeiquan .","maintainers":[{"name":"chengpeiquan","email":"chengpeiquan@chengpeiquan.com"}],"readme":"# @bassist/eslint-config\n\n<p>\n  <a href='https://www.npmjs.com/package/@bassist/eslint-config'>\n    <img src=\"https://img.shields.io/npm/v/@bassist/eslint-config?color=f43f5e&label=npm\" />\n  </a>\n  <a href=\"https://www.npmjs.com/package/@bassist/eslint-config\" target=\"__blank\">\n    <img src=\"https://img.shields.io/npm/dy/@bassist/eslint-config?color=f43f5e&label=downloads\" />\n  </a>\n  <a href=\"https://github.com/chengpeiquan/bassist/tree/main/packages/eslint-config\" target=\"__blank\">\n    <img src=\"https://img.shields.io/static/v1?label=&message=docs%20%26%20demos&color=f43f5e\" />\n  </a>\n  <a href=\"https://github.com/chengpeiquan/bassist\" target=\"__blank\">\n    <img alt=\"GitHub stars\" src=\"https://img.shields.io/github/stars/chengpeiquan/bassist?style=social\" />\n  </a>\n</p>\n\n[English](https://github.com/chengpeiquan/bassist/blob/main/packages/eslint-config/README.md) | 简体中文\n\n一款现代化的扁平 ESLint 配置，适用于 [ESLint](https://eslint.org/) v9 和 v10 ，由 [@chengpeiquan](https://github.com/chengpeiquan) 精心打造。\n\n## ⚡ 使用方法\n\n使用此 ESLint 配置仅需三步：\n\n1. 安装依赖（参考：[🚀 安装](#-安装)）\n2. 添加 ESLint 配置文件（参考：[📂 配置文件](#-配置文件)）\n3. 在 VS Code 的 `settings.json` 启用自动 Lint（参考：[🛠 VS Code 配置](#-vs-code-配置)）\n\n这个快速指南可以作为入门辅助，避免遗漏关键步骤 🚀 。\n\n## 🚀 安装\n\n使用常用的包管理器安装该包：\n\n```bash\nnpm install -D eslint @bassist/eslint-config\n```\n\n**注意：** 支持 ESLint `9.x` 和 `10.x`，并且需要 TypeScript 版本 >= `5.0.0`。\n\n如果使用的是 `pnpm`，建议在项目根目录添加 `.npmrc` 文件，并包含以下配置，以更顺利地处理 peer 依赖：\n\n```ini\nshamefully-hoist=true\nauto-install-peers=true\n```\n\n> 如果仍在使用 ESLint v8，请参考旧版（已不再维护）包：[@bassist/eslint](https://www.npmjs.com/package/@bassist/eslint)。\n\n## 📂 配置文件\n\n在项目根目录创建 `eslint.config.js` 文件：\n\n```js\n// eslint.config.js\nimport { imports, typescript } from '@bassist/eslint-config'\n\n// 导出一个包含多个配置对象的数组\nexport default [...imports, ...typescript]\n```\n\n然后在 `package.json` 中添加 \"type\": \"module\" ：\n\n```json\n{\n  \"type\": \"module\",\n  \"scripts\": {\n    \"lint\": \"eslint src\",\n    \"lint:inspector\": \"npx @eslint/config-inspector\"\n  }\n}\n```\n\n运行 `npm run lint` 以检查代码，或运行 `npm run lint:inspector` 在 `http://localhost:7777` 查看可视化的 ESLint 配置。\n\n> Bun 可以直接加载 `eslint.config.ts` 。如果你通过 Node.js 运行 ESLint，建议改用 `eslint.config.mjs`，或者按照 ESLint 文档完成[额外的设置](https://eslint.org/docs/latest/use/configure/configuration-files#typescript-configuration-files)。\n\n```bash\n# pnpm 工作流\npnpm lint\n```\n\n## 🧩 JSONC 预设\n\n如果希望 ESLint 直接检查 JSON 系列文件，可以使用 `jsonc` 预设：\n\n```js\n// eslint.config.js\nimport { jsonc } from '@bassist/eslint-config'\n\nexport default [...jsonc]\n```\n\n`jsonc` 的默认行为：\n\n- 支持 `.json`、`.jsonc`、`.json5`\n- 默认递归排序对象 key（`jsonc/sort-keys`）\n- 默认忽略 `package.json`，让包清单 key 排序继续交给格式化流程处理\n\n如果你在 VS Code 里通过 ESLint 扩展做校验，并且手动设置了\n`eslint.validate`，记得把 `json` 和 `jsonc` 也加进去。\n\n如果需要，也可以在项目里覆盖默认行为：\n\n```js\nimport { jsonc } from '@bassist/eslint-config'\n\nexport default [\n  ...jsonc,\n  {\n    files: ['**/*.json', '**/*.jsonc', '**/*.json5'],\n    rules: {\n      'jsonc/sort-keys': 'off',\n    },\n  },\n]\n```\n\n## ✅ 类型安全的配置\n\n为了增强类型安全性，可以使用 `defineFlatConfig`:\n\n```js\n// @ts-check\nimport { defineFlatConfig, imports, vue } from '@bassist/eslint-config'\n\nexport default defineFlatConfig([\n  ...imports,\n  ...vue,\n  // 添加更多自定义配置\n  {\n    // 为每个配置提供名称，以便在运行 `npm run lint:inspector` 时，\n    // 可以在可视化工具中清晰展示\n    name: 'my-custom-rule/vue',\n    rules: {\n      // 例如：默认情况下，该规则是 `off`\n      'vue/component-tags-order': 'error',\n    },\n    ignores: ['examples'],\n  },\n])\n```\n\n## 🛠 VS Code 配置\n\n在 VS Code 工作区的 `settings.json` 添加以下配置，以启用自动 Lint 修复：\n\n```json\n{\n  \"editor.formatOnSave\": true,\n  \"editor.codeActionsOnSave\": {\n    \"source.fixAll.eslint\": \"always\",\n    \"source.fixAll.prettier\": \"always\"\n  },\n  \"editor.defaultFormatter\": \"esbenp.prettier-vscode\",\n  \"eslint.useFlatConfig\": true,\n  \"eslint.format.enable\": true,\n  \"eslint.validate\": [\n    \"javascript\",\n    \"javascriptreact\",\n    \"typescript\",\n    \"typescriptreact\",\n    \"json\",\n    \"jsonc\"\n  ],\n  \"prettier.configPath\": \"./.prettierrc.js\"\n}\n```\n\n关于 `prettier.configPath` 请查看 [格式化工具](#格式化工具) 部分。\n\n## 📘 API 参考\n\n### defineFlatConfig\n\n定义 ESLint 配置，可选支持 Prettier 和 Tailwind CSS。\n\nAPI 类型声明：\n\n```ts\n/**\n * 定义 ESLint 配置，可选支持 Prettier 集成。\n *\n * @param configs 基础 ESLint 配置数组。\n * @param options - 配置选项。\n * @returns 最终的 ESLint 配置数组。\n */\ndeclare const defineFlatConfig: (\n  configs: FlatESLintConfig[],\n  options?: DefineFlatConfigOptions,\n) => FlatESLintConfig[]\n```\n\n选项类型声明：\n\n```ts\ninterface DefineFlatConfigOptions {\n  /**\n   * 指定用于加载 `.prettierrc` 配置的工作目录。\n   *\n   * 配置文件应为 JSON 格式。\n   *\n   * @default process.cwd()\n   */\n  cwd?: string\n\n  /**\n   * 如果 `prettierEnabled` 设为 `false`，则所有与 Prettier 相关的规则和配置都将被忽略， 即使提供了\n   * `prettierRules` 也不会生效。\n   *\n   * @default true\n   */\n  prettierEnabled?: boolean\n\n  /**\n   * 默认情况下，会从当前工作目录读取 `.prettierrc`，并且 `.prettierrc` 文件必须是 JSON 格式。\n   *\n   * 如果配置文件不是 JSON 格式，或者使用了不同的文件名，可以将其转换为 JSON 规则后传入。\n   *\n   * 读取自定义配置后，会与默认的 ESLint 规则合并。\n   *\n   * @see https://prettier.io/docs/configuration.html\n   */\n  prettierRules?: PartialPrettierExtendedOptions\n\n  /**\n   * Tailwind CSS 规则默认启用。如果它们影响了项目，可以通过该选项禁用。\n   *\n   * @default true\n   */\n  tailwindcssEnabled?: boolean\n\n  /**\n   * 如果需要覆盖 Tailwind CSS 配置，可以传入相应的选项。\n   *\n   * 如果想要合并配置，可以导入 `defaultTailwindcssSettings`，手动合并后再传入。\n   *\n   * 如果传入空对象 `{}`，则会使用默认设置。\n   *\n   * @see https://github.com/schoero/eslint-plugin-better-tailwindcss\n   */\n  tailwindcssSettings?: TailwindcssSettings\n}\n```\n\n### createGetConfigNameFactory\n\n`createGetConfigNameFactory` 是一个灵活的工具函数，用于生成 ESLint 配置命名工具。它可以快速拼接配置名称，确保命名空间一致，并便于组织和管理复杂的规则集。\n\nAPI 类型声明：\n\n```ts\n/**\n * 一个灵活的工具函数，用于生成 ESLint 配置命名工具。 它可以快速拼接配置名称，确保命名空间一致，并便于组织和管理复杂的规则集。\n *\n * @param prefix - 表示配置名称前缀的字符串。\n * @returns 一个函数，该函数会将提供的名称片段与指定的前缀拼接在一起。\n */\ndeclare const createGetConfigNameFactory: (\n  prefix: string,\n) => (...names: string[]) => string\n```\n\n使用示例：\n\n```ts\nimport {\n  createGetConfigNameFactory,\n  defineFlatConfig,\n} from '@bassist/eslint-config'\n\nconst getConfigName = createGetConfigNameFactory('my-prefix')\n\nexport default defineFlatConfig([\n  {\n    name: getConfigName('ignore'), // --> `my-prefix/ignore`\n    ignores: ['**/dist/**', '**/.build/**', '**/CHANGELOG.md'],\n  },\n])\n```\n\n为什么要使用它？\n\n- 一致性：强制执行清晰统一的配置命名模式。\n- 灵活性：允许为不同项目或范围自定义前缀。\n- 简化管理：便于组织和浏览大型 ESLint 配置。\n\n这个工具在构建可复用的 ESLint 配置或维护复杂项目的规则集时尤其有用。\n\n## 📦 导出的配置\n\n这些是一些常用的配置，如果有额外需求，欢迎提交 PR！\n\n### 语言支持\n\n- [JavaScript](https://github.com/chengpeiquan/bassist/blob/main/packages/eslint-config/src/configs/javascript.ts)\n- [TypeScript](https://github.com/chengpeiquan/bassist/blob/main/packages/eslint-config/src/configs/typescript.ts)\n- [JSX](https://github.com/chengpeiquan/bassist/blob/main/packages/eslint-config/src/configs/jsx.ts)\n- [JSON / JSONC / JSON5](https://github.com/chengpeiquan/bassist/blob/main/packages/eslint-config/src/configs/jsonc.ts)\n- [Markdown](https://github.com/chengpeiquan/bassist/blob/main/packages/eslint-config/src/configs/markdown.ts)\n\n#### 框架支持\n\n- [Next.js](https://github.com/chengpeiquan/bassist/blob/main/packages/eslint-config/src/configs/next.ts)\n- [React](https://github.com/chengpeiquan/bassist/blob/main/packages/eslint-config/src/configs/react.ts)\n- [Vue (v2 and v3)](https://github.com/chengpeiquan/bassist/blob/main/packages/eslint-config/src/configs/vue.ts)\n\n#### 格式化工具\n\n格式化规则默认启用，不会单独导出。如需自定义配置，请通过 [defineFlatConfig API](#defineflatconfig) 的 `options` 传入。\n\n- [Prettier](https://github.com/chengpeiquan/bassist/blob/main/packages/eslint-config/src/private-configs/prettier.ts) :\n  - 默认会读取 `.prettierrc` 和 `.prettierignore` 的内容，并添加到 ESLint 规则中。\n  - 如果预期的配置文件不存在，则会使用 [内置的 Prettier](https://github.com/chengpeiquan/bassist/blob/main/packages/eslint-config/src/shared/prettier-config.mjs) 规则作为兜底规则。\n  - 非以上配置文件并且不喜欢默认规则时，可以通过 [defineFlatConfig](#defineflatconfig) 的 `options.prettierRules` 将完整配置传递进来优先作为 ESLint 规则使用\n- [Tailwind CSS](https://github.com/chengpeiquan/bassist/blob/main/packages/eslint-config/src/private-configs/tailwindcss.ts) :\n  - 使用 `eslint-plugin-better-tailwindcss`，让 Tailwind CSS v3 和 v4 项目共用同一套 class linting。\n  - Monorepo、自定义 CSS 入口或自定义 class selector，可通过 `options.tailwindcssSettings` 传递。\n\n#### 其它\n\n- [Node.js](https://github.com/chengpeiquan/bassist/blob/main/packages/eslint-config/src/configs/node.ts)\n- [Imports](https://github.com/chengpeiquan/bassist/blob/main/packages/eslint-config/src/configs/imports.ts)\n- [Regexp](https://github.com/chengpeiquan/bassist/blob/main/packages/eslint-config/src/configs/regexp.ts)\n- [Unicorn](https://github.com/chengpeiquan/bassist/blob/main/packages/eslint-config/src/configs/unicorn.ts)\n\n## 📚 迁移指南\n\n- 扁平化配置（Flat Configs）不支持 ESLint 8.x 以下的版本。\n- `--ext` CLI 选项已被移除 ([#16991](https://github.com/eslint/eslint/issues/16991)) 。\n\n## 📝 发布日志\n\n详细更新内容请参考 [CHANGELOG](https://github.com/chengpeiquan/bassist/blob/main/packages/eslint-config/CHANGELOG.md) 。\n\n## 📜 License\n\nMIT License © 2023-PRESENT [chengpeiquan](https://github.com/chengpeiquan)\n","readmeFilename":"README.zh-CN.md","bugs":{"url":"https://github.com/chengpeiquan/bassist/issues"}}