{"_id":"@bassist/oxc-integration","_rev":"7-9b7b2c5327dffd8ee4b2c436cdf819b7","name":"@bassist/oxc-integration","dist-tags":{"alpha":"0.1.4-alpha.0","latest":"0.2.0"},"versions":{"0.1.0":{"name":"@bassist/oxc-integration","version":"0.1.0","keywords":["oxc","oxfmt","oxlint"],"author":"chengpeiquan <chengpeiquan@chengpeiquan.com>","license":"MIT","_id":"@bassist/oxc-integration@0.1.0","maintainers":[{"name":"chengpeiquan","email":"chengpeiquan@chengpeiquan.com"}],"homepage":"https://github.com/chengpeiquan/bassist/tree/main/packages/oxc-integration","dist":{"shasum":"5cdd573fe43b034a41c7d43f68d24627bf2ea818","tarball":"https://registry.npmjs.org/@bassist/oxc-integration/-/oxc-integration-0.1.0.tgz","fileCount":8,"integrity":"sha512-uNT7WMYwxOLKbtvtOln5JtkVrDFC+GHbaY/kx9dWxD6JIqm+SKcw6fnlXBG5/qkYoCrucxYE8T5hjUp3VVmSMg==","signatures":[{"sig":"MEUCIBkiQItzGljlbAmwcRXc8pESbYioy7wghTJyKm4e3V+VAiEAxn8LYRpicIpBFPfWMCw4E1zQQGP2G+glsImvJh/EDZc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":27462},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.mjs","shasum":"5cdd573fe43b034a41c7d43f68d24627bf2ea818","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.cjs"}},"scripts":{"build":"tsdown"},"_npmUser":{"name":"chengpeiquan","email":"chengpeiquan@chengpeiquan.com"},"_integrity":"sha512-uNT7WMYwxOLKbtvtOln5JtkVrDFC+GHbaY/kx9dWxD6JIqm+SKcw6fnlXBG5/qkYoCrucxYE8T5hjUp3VVmSMg==","repository":{"url":"https://github.com/chengpeiquan/bassist","type":"git","directory":"packages/oxc-integration"},"_npmVersion":"10.8.3","description":"An Oxc-first lint and format integration preset by @chengpeiquan .","directories":{},"_nodeVersion":"24.3.0","dependencies":{"eslint-plugin-n":"^17.24.0","eslint-plugin-oxlint":"^1.58.0","@vitest/eslint-plugin":"^1.6.14","@bassist/eslint-config":"0.4.0"},"_hasShrinkwrap":false,"devDependencies":{"oxfmt":"^0.43.0","oxlint":"^1.58.0"},"peerDependencies":{"oxfmt":">=0.42.0","eslint":">=10.0.0","oxlint":">=1.57.0","eslint-plugin-n":">=17.0.0","eslint-plugin-vue":">=10.0.0","vue-eslint-parser":">=10.0.0","@typescript-eslint/parser":">=8.0.0"},"peerDependenciesMeta":{"eslint":{"optional":true},"eslint-plugin-n":{"optional":true},"eslint-plugin-vue":{"optional":true},"vue-eslint-parser":{"optional":true},"@typescript-eslint/parser":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/oxc-integration_0.1.0_1775474121811_0.8554152466148734","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"@bassist/oxc-integration","version":"0.1.1","keywords":["oxc","oxfmt","oxlint"],"author":"chengpeiquan <chengpeiquan@chengpeiquan.com>","license":"MIT","_id":"@bassist/oxc-integration@0.1.1","maintainers":[{"name":"chengpeiquan","email":"chengpeiquan@chengpeiquan.com"}],"homepage":"https://github.com/chengpeiquan/bassist/tree/main/packages/oxc-integration","dist":{"shasum":"cd82559b47703e8d90c77af1ebc7576036206d84","tarball":"https://registry.npmjs.org/@bassist/oxc-integration/-/oxc-integration-0.1.1.tgz","fileCount":8,"integrity":"sha512-0XdHh/9CxOOTmyCik0kMcamH8h0p5J1ubxJAEaDJejbfijwgwPqbwxiScPH+0IV6jZ6fwszz6xMFWHl93vEQUw==","signatures":[{"sig":"MEUCIQC3BElz5kPSg23DupBUZ7WVZEQH0n0TvJeOB80K1z5YlQIgHOoF2yiw2MqHK8qyf9f/s9VcoFm7Xg+DU2cU2UAv37I=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":30440},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.mjs","shasum":"cd82559b47703e8d90c77af1ebc7576036206d84","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.cjs"}},"scripts":{"build":"tsdown"},"_npmUser":{"name":"chengpeiquan","email":"chengpeiquan@chengpeiquan.com"},"_integrity":"sha512-0XdHh/9CxOOTmyCik0kMcamH8h0p5J1ubxJAEaDJejbfijwgwPqbwxiScPH+0IV6jZ6fwszz6xMFWHl93vEQUw==","repository":{"url":"https://github.com/chengpeiquan/bassist","type":"git","directory":"packages/oxc-integration"},"_npmVersion":"10.8.3","description":"An Oxc-first lint and format integration preset by @chengpeiquan .","directories":{},"_nodeVersion":"24.3.0","dependencies":{"eslint-plugin-n":"^17.24.0","eslint-plugin-oxlint":"^1.58.0","@vitest/eslint-plugin":"^1.6.14","@bassist/eslint-config":"0.4.0"},"_hasShrinkwrap":false,"devDependencies":{"oxfmt":"^0.43.0","oxlint":"^1.58.0"},"peerDependencies":{"oxfmt":">=0.42.0","eslint":">=10.0.0","oxlint":">=1.57.0","eslint-plugin-n":">=17.0.0","eslint-plugin-vue":">=10.0.0","vue-eslint-parser":">=10.0.0","@typescript-eslint/parser":">=8.0.0"},"peerDependenciesMeta":{"eslint":{"optional":true},"eslint-plugin-n":{"optional":true},"eslint-plugin-vue":{"optional":true},"vue-eslint-parser":{"optional":true},"@typescript-eslint/parser":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/oxc-integration_0.1.1_1775495154549_0.25262542670542376","host":"s3://npm-registry-packages-npm-production"}},"0.1.2":{"name":"@bassist/oxc-integration","version":"0.1.2","keywords":["oxc","oxfmt","oxlint"],"author":"chengpeiquan <chengpeiquan@chengpeiquan.com>","license":"MIT","_id":"@bassist/oxc-integration@0.1.2","maintainers":[{"name":"chengpeiquan","email":"chengpeiquan@chengpeiquan.com"}],"homepage":"https://github.com/chengpeiquan/bassist/tree/main/packages/oxc-integration","dist":{"shasum":"7ee8c5423574f46cbb4f89c35f437f001eb2b0bf","tarball":"https://registry.npmjs.org/@bassist/oxc-integration/-/oxc-integration-0.1.2.tgz","fileCount":8,"integrity":"sha512-hp8pkJ2gsNYZX5WFS4NCVSTVnqZ+6bCjSypdI4iC6EQj8CywugdPtn86A7YszXkSz0otUGlpVfP1SKTyI9skqA==","signatures":[{"sig":"MEUCIQCsOaYNjxI0G045LKhwDqyvKSZ+8cQkqy8di3j52riTdAIgEPHbg9FhpFWAUC1ggjD08aYvy+RWXHOUwTTuNnZwzzI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":31896},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.mjs","shasum":"7ee8c5423574f46cbb4f89c35f437f001eb2b0bf","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.cjs"}},"scripts":{"build":"tsdown"},"_npmUser":{"name":"chengpeiquan","email":"chengpeiquan@chengpeiquan.com"},"_integrity":"sha512-hp8pkJ2gsNYZX5WFS4NCVSTVnqZ+6bCjSypdI4iC6EQj8CywugdPtn86A7YszXkSz0otUGlpVfP1SKTyI9skqA==","repository":{"url":"https://github.com/chengpeiquan/bassist","type":"git","directory":"packages/oxc-integration"},"_npmVersion":"10.8.3","description":"An Oxc-first lint and format integration preset by @chengpeiquan .","directories":{},"_nodeVersion":"24.3.0","dependencies":{"eslint-plugin-n":"^17.24.0","eslint-plugin-oxlint":"^1.58.0","@vitest/eslint-plugin":"^1.6.14","@bassist/eslint-config":"0.4.0"},"_hasShrinkwrap":false,"devDependencies":{"oxfmt":"^0.43.0","oxlint":"^1.58.0"},"peerDependencies":{"oxfmt":">=0.42.0","eslint":">=10.0.0","oxlint":">=1.57.0","eslint-plugin-n":">=17.0.0","eslint-plugin-vue":">=10.0.0","vue-eslint-parser":">=10.0.0","@typescript-eslint/parser":">=8.0.0"},"peerDependenciesMeta":{"eslint":{"optional":true},"eslint-plugin-n":{"optional":true},"eslint-plugin-vue":{"optional":true},"vue-eslint-parser":{"optional":true},"@typescript-eslint/parser":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/oxc-integration_0.1.2_1775576588157_0.9809221263926868","host":"s3://npm-registry-packages-npm-production"}},"0.1.3":{"name":"@bassist/oxc-integration","version":"0.1.3","keywords":["oxc","oxfmt","oxlint"],"author":"chengpeiquan <chengpeiquan@chengpeiquan.com>","license":"MIT","_id":"@bassist/oxc-integration@0.1.3","maintainers":[{"name":"chengpeiquan","email":"chengpeiquan@chengpeiquan.com"}],"homepage":"https://github.com/chengpeiquan/bassist/tree/main/packages/oxc-integration","dist":{"shasum":"3d2199a74c64b56b03fe8da91acd5c3d361f6464","tarball":"https://registry.npmjs.org/@bassist/oxc-integration/-/oxc-integration-0.1.3.tgz","fileCount":8,"integrity":"sha512-nAH6udnZhBOrVp2g1El1+GC1/svDUXCEJ7DpO0O7eahue3QIVxcksle/DWIgqj2ZQDzJWQ54cz+XgyEI69SJwg==","signatures":[{"sig":"MEQCIA1J3SOV3XsKwFl+b5fE/nLLvOJjfpfi5o4zQuGufsO4AiAa7yQZjIjrVXq3Dc81BJ9ZVkD9vQk0qJebkGnqysrsug==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":31896},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.mjs","shasum":"3d2199a74c64b56b03fe8da91acd5c3d361f6464","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.cjs"}},"scripts":{"build":"tsdown"},"_npmUser":{"name":"chengpeiquan","email":"chengpeiquan@chengpeiquan.com"},"_integrity":"sha512-nAH6udnZhBOrVp2g1El1+GC1/svDUXCEJ7DpO0O7eahue3QIVxcksle/DWIgqj2ZQDzJWQ54cz+XgyEI69SJwg==","repository":{"url":"https://github.com/chengpeiquan/bassist","type":"git","directory":"packages/oxc-integration"},"_npmVersion":"10.8.3","description":"An Oxc-first lint and format integration preset by @chengpeiquan .","directories":{},"_nodeVersion":"24.3.0","dependencies":{"eslint-plugin-n":"^17.24.0","eslint-plugin-oxlint":"^1.58.0","@vitest/eslint-plugin":"^1.6.14","@bassist/eslint-config":"0.4.0"},"_hasShrinkwrap":false,"devDependencies":{"oxfmt":"^0.43.0","oxlint":"^1.58.0"},"peerDependencies":{"oxfmt":">=0.42.0","eslint":">=10.0.0","oxlint":">=1.57.0","eslint-plugin-n":">=17.0.0","eslint-plugin-vue":">=10.0.0","vue-eslint-parser":">=10.0.0","@typescript-eslint/parser":">=8.0.0"},"peerDependenciesMeta":{"eslint":{"optional":true},"eslint-plugin-n":{"optional":true},"eslint-plugin-vue":{"optional":true},"vue-eslint-parser":{"optional":true},"@typescript-eslint/parser":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/oxc-integration_0.1.3_1775578618968_0.6745858462093952","host":"s3://npm-registry-packages-npm-production"}},"0.1.4-alpha.0":{"name":"@bassist/oxc-integration","version":"0.1.4-alpha.0","keywords":["oxc","oxfmt","oxlint"],"author":{"name":"chengpeiquan","email":"chengpeiquan@chengpeiquan.com"},"license":"MIT","_id":"@bassist/oxc-integration@0.1.4-alpha.0","maintainers":[{"name":"chengpeiquan","email":"chengpeiquan@chengpeiquan.com"}],"homepage":"https://github.com/chengpeiquan/bassist/tree/main/packages/oxc-integration","bugs":{"url":"https://github.com/chengpeiquan/bassist/issues"},"dist":{"shasum":"a359971bae2bb4dc4535e951a66e6dba366150ce","tarball":"https://registry.npmjs.org/@bassist/oxc-integration/-/oxc-integration-0.1.4-alpha.0.tgz","fileCount":9,"integrity":"sha512-0hDcSbt3Ur6hXr3rEAuKG0gG6UfQ3faIpszBfPEdrc4DL2SawGTaCRThH9nBoeGm7iVenSQE0G6khBvRQZwjSQ==","signatures":[{"sig":"MEUCIECyHKju+KgMgy4Z8MaU6avQRVujY37WoSQzkJw/7R4nAiEAwK55QX19vNTD4t/+N5AnvC+yR/TGYapHHloyvfpLFgE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":33039},"main":"./dist/index.cjs","type":"module","_from":"file:bassist-oxc-integration-0.1.4-alpha.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"}},"scripts":{"build":"tsdown"},"_npmUser":{"name":"chengpeiquan","email":"chengpeiquan@chengpeiquan.com"},"_resolved":"/private/var/folders/kj/856p9v8j7sndztf7z51cwm2h0000gn/T/3624ceb3c8293e0334f616705c89dec1/bassist-oxc-integration-0.1.4-alpha.0.tgz","_integrity":"sha512-0hDcSbt3Ur6hXr3rEAuKG0gG6UfQ3faIpszBfPEdrc4DL2SawGTaCRThH9nBoeGm7iVenSQE0G6khBvRQZwjSQ==","repository":{"url":"git+https://github.com/chengpeiquan/bassist.git","type":"git","directory":"packages/oxc-integration"},"_npmVersion":"11.11.0","description":"An Oxc-first lint and format integration preset by @chengpeiquan .","directories":{},"_nodeVersion":"24.14.1","dependencies":{"eslint-plugin-n":"^17.24.0","eslint-plugin-oxlint":"^1.58.0","@vitest/eslint-plugin":"^1.6.14","@bassist/eslint-config":"0.4.1"},"_hasShrinkwrap":false,"readmeFilename":"README.zh-CN.md","devDependencies":{"oxfmt":"^0.43.0","oxlint":"^1.58.0"},"peerDependencies":{"oxfmt":">=0.42.0","eslint":">=10.0.0","oxlint":">=1.57.0","eslint-plugin-n":">=17.0.0","eslint-plugin-vue":">=10.0.0","vue-eslint-parser":">=10.0.0","@typescript-eslint/parser":">=8.0.0"},"peerDependenciesMeta":{"eslint":{"optional":true},"eslint-plugin-n":{"optional":true},"eslint-plugin-vue":{"optional":true},"vue-eslint-parser":{"optional":true},"@typescript-eslint/parser":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/oxc-integration_0.1.4-alpha.0_1775582389319_0.4928103460657147","host":"s3://npm-registry-packages-npm-production"}},"0.1.4":{"name":"@bassist/oxc-integration","version":"0.1.4","keywords":["oxc","oxfmt","oxlint"],"author":{"name":"chengpeiquan","email":"chengpeiquan@chengpeiquan.com"},"license":"MIT","_id":"@bassist/oxc-integration@0.1.4","maintainers":[{"name":"chengpeiquan","email":"chengpeiquan@chengpeiquan.com"}],"homepage":"https://github.com/chengpeiquan/bassist/tree/main/packages/oxc-integration","bugs":{"url":"https://github.com/chengpeiquan/bassist/issues"},"dist":{"shasum":"9d4ab27347a0a665d0c0a2a8f3c42764a189fbcc","tarball":"https://registry.npmjs.org/@bassist/oxc-integration/-/oxc-integration-0.1.4.tgz","fileCount":9,"integrity":"sha512-4BUc8QxA2DSHYFvGnK2r0KBE96/W8UWm/HOowdHYJPLG4cwuw5Jek4OnOnCHUtl7kBXuCU5/q6zLNvMpUG/tHg==","signatures":[{"sig":"MEUCIQCn+XDgVI9hqu95uNk2adZGiZKVd7imKF46XbgA6d+txwIgdJeGYhVnnpnn10rx99yTeUY1mn5GaExjtFaW2ScFXnI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":33007},"main":"./dist/index.cjs","type":"module","_from":"file:bassist-oxc-integration-0.1.4.tgz","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.cjs"}},"scripts":{"build":"tsdown"},"_npmUser":{"name":"chengpeiquan","email":"chengpeiquan@chengpeiquan.com"},"_resolved":"/private/var/folders/kj/856p9v8j7sndztf7z51cwm2h0000gn/T/85016eab300e6bcc2cd32727a1061a33/bassist-oxc-integration-0.1.4.tgz","_integrity":"sha512-4BUc8QxA2DSHYFvGnK2r0KBE96/W8UWm/HOowdHYJPLG4cwuw5Jek4OnOnCHUtl7kBXuCU5/q6zLNvMpUG/tHg==","repository":{"url":"git+https://github.com/chengpeiquan/bassist.git","type":"git","directory":"packages/oxc-integration"},"_npmVersion":"11.11.0","description":"An Oxc-first lint and format integration preset by @chengpeiquan .","directories":{},"_nodeVersion":"24.14.1","dependencies":{"eslint-plugin-n":"^17.24.0","eslint-plugin-oxlint":"^1.58.0","@vitest/eslint-plugin":"^1.6.14","@bassist/eslint-config":"0.4.1"},"_hasShrinkwrap":false,"devDependencies":{"oxfmt":"^0.43.0","oxlint":"^1.58.0"},"peerDependencies":{"oxfmt":">=0.42.0","eslint":">=10.0.0","oxlint":">=1.57.0","eslint-plugin-n":">=17.0.0","eslint-plugin-vue":">=10.0.0","vue-eslint-parser":">=10.0.0","@typescript-eslint/parser":">=8.0.0"},"peerDependenciesMeta":{"eslint":{"optional":true},"eslint-plugin-n":{"optional":true},"eslint-plugin-vue":{"optional":true},"vue-eslint-parser":{"optional":true},"@typescript-eslint/parser":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/oxc-integration_0.1.4_1775582648700_0.25155417924858536","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"@bassist/oxc-integration","version":"0.2.0","description":"An Oxc-first lint and format integration preset by @chengpeiquan .","keywords":["oxc","oxfmt","oxlint"],"homepage":"https://github.com/chengpeiquan/bassist/tree/main/packages/oxc-integration","license":"MIT","author":{"name":"chengpeiquan","email":"chengpeiquan@chengpeiquan.com"},"repository":{"type":"git","url":"git+https://github.com/chengpeiquan/bassist.git","directory":"packages/oxc-integration"},"type":"module","main":"./dist/index.cjs","module":"./dist/index.mjs","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.cjs"}},"dependencies":{"@vitest/eslint-plugin":"^1.6.14","eslint-plugin-better-tailwindcss":"^4.5.0","eslint-plugin-n":"^17.24.0","eslint-plugin-oxlint":"^1.58.0","@bassist/eslint-config":"0.5.0"},"devDependencies":{"oxfmt":"^0.43.0","oxlint":"^1.58.0"},"peerDependencies":{"@typescript-eslint/parser":">=8.0.0","eslint":">=10.0.0","eslint-plugin-n":">=17.0.0","eslint-plugin-vue":">=10.0.0","oxfmt":">=0.42.0","oxlint":">=1.57.0","vue-eslint-parser":">=10.0.0"},"peerDependenciesMeta":{"@typescript-eslint/parser":{"optional":true},"eslint":{"optional":true},"eslint-plugin-vue":{"optional":true},"vue-eslint-parser":{"optional":true},"eslint-plugin-n":{"optional":true}},"scripts":{"build":"tsdown"},"_id":"@bassist/oxc-integration@0.2.0","bugs":{"url":"https://github.com/chengpeiquan/bassist/issues"},"_integrity":"sha512-FmAr5ThCgNwDFq7Vq6lenaaukPfFQJ1nE3Y2TGrbsb5X5ou5cBBItLkETOXdUlNvvVqKoGRJW4iTt9KJ1NhM0w==","_resolved":"/private/var/folders/kj/856p9v8j7sndztf7z51cwm2h0000gn/T/2403f16b59d381c3e8a82b50d07af318/bassist-oxc-integration-0.2.0.tgz","_from":"file:bassist-oxc-integration-0.2.0.tgz","_nodeVersion":"22.19.0","_npmVersion":"10.9.3","dist":{"integrity":"sha512-FmAr5ThCgNwDFq7Vq6lenaaukPfFQJ1nE3Y2TGrbsb5X5ou5cBBItLkETOXdUlNvvVqKoGRJW4iTt9KJ1NhM0w==","shasum":"7a578569c7d6f2559c3f3c67b3db93e20a65cb53","tarball":"https://registry.npmjs.org/@bassist/oxc-integration/-/oxc-integration-0.2.0.tgz","fileCount":9,"unpackedSize":35307,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQD75VjLSf6me6dlRt2j1QmNgwG+jDc0pZKA8m1eDDv9fQIhALyunVjwFwHV37h3HxK0G3bgdLxvzfWQR9+k/q3O6jsw"}]},"_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/oxc-integration_0.2.0_1777634319228_0.030685978096448352"},"_hasShrinkwrap":false}},"time":{"created":"2026-04-06T11:15:21.738Z","modified":"2026-05-01T11:18:39.489Z","0.1.0":"2026-04-06T11:15:21.963Z","0.1.1":"2026-04-06T17:05:54.695Z","0.1.2":"2026-04-07T15:43:08.303Z","0.1.3":"2026-04-07T16:16:59.125Z","0.1.4-alpha.0":"2026-04-07T17:19:49.471Z","0.1.4":"2026-04-07T17:24:08.861Z","0.2.0":"2026-05-01T11:18:39.362Z"},"bugs":{"url":"https://github.com/chengpeiquan/bassist/issues"},"author":{"name":"chengpeiquan","email":"chengpeiquan@chengpeiquan.com"},"license":"MIT","homepage":"https://github.com/chengpeiquan/bassist/tree/main/packages/oxc-integration","keywords":["oxc","oxfmt","oxlint"],"repository":{"type":"git","url":"git+https://github.com/chengpeiquan/bassist.git","directory":"packages/oxc-integration"},"description":"An Oxc-first lint and format integration preset by @chengpeiquan .","maintainers":[{"name":"chengpeiquan","email":"chengpeiquan@chengpeiquan.com"}],"readme":"# @bassist/oxc-integration\n\n<p>\n  <a href='https://www.npmjs.com/package/@bassist/oxc-integration'>\n    <img src=\"https://img.shields.io/npm/v/@bassist/oxc-integration?color=f43f5e&label=npm\" />\n  </a>\n  <a href=\"https://www.npmjs.com/package/@bassist/oxc-integration\" target=\"__blank\">\n    <img src=\"https://img.shields.io/npm/dy/@bassist/oxc-integration?color=f43f5e&label=downloads\" />\n  </a>\n  <a href=\"https://github.com/chengpeiquan/bassist/tree/main/packages/oxc-integration\" 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](./README.md) | 简体中文\n\n`@bassist/oxc-integration` 是一个 Oxc 优先的工作流包，适合希望现在就用上带类型提示的 `oxlint.config.ts` 与 `oxfmt.config.ts`，同时在 Oxc 能力尚未完全覆盖时保留 ESLint 兜底能力的项目。\n\n## 使用方法\n\n通常只需要四步：\n\n1. 安装依赖（参考：[安装](#安装)）\n2. 添加 `oxlint.config.ts`（参考：[Oxlint 快速开始](#oxlint-快速开始)）\n3. 添加 `oxfmt.config.ts`（参考：[Oxfmt 快速开始](#oxfmt-快速开始)）\n4. 只有在项目需要 fallback coverage 时，再补 `eslint.config.js`（参考：[ESLint Fallback 快速开始](#eslint-fallback-快速开始)）\n\n## 安装\n\n```sh\nnpm i -D oxlint oxfmt @bassist/oxc-integration\n```\n\n如果你的项目需要 ESLint fallback，请再安装对应框架所需的 ESLint 生态依赖。\n\n## 编辑器设置\n\n`oxlint` / `eslint` 的 CLI 检查结果，与编辑器里的实时诊断并不是同一件事。\n\n如果你希望在编码过程中就获得 Oxc 的实时 lint 提示，还需要额外安装对应的编辑器插件。否则就可能出现“执行 lint 命令时能查出错误，但编辑器里没有任何\n提示”的情况。\n\n- VS Code / Cursor：安装官方 `oxc.oxc-vscode` 扩展\n- 其他编辑器：参考 Oxc 官方的编辑器接入文档\n\n官方文档： https://oxc.rs/docs/guide/usage/linter/editors.html\n\nOxc 的编辑器扩展会通过项目本地的 `oxlint --lsp` 工作，因此也请确保项目的\n`devDependencies` 里已经安装了 `oxlint`。\n\n如果你使用 VS Code 或 Cursor，也可以在项目里补一个\n`.vscode/settings.json`，让保存时修复和类型感知检查更完整：\n\n```json\n{\n  \"editor.codeActionsOnSave\": {\n    \"source.fixAll.eslint\": \"always\",\n    \"source.fixAll.oxc\": \"always\"\n  },\n  \"oxc.typeAware\": true\n}\n```\n\n- `source.fixAll.oxc` 用于通过 `oxc.oxc-vscode` 扩展启用 Oxc 的保存时自动修复\n- `oxc.typeAware: true` 可以在 TypeScript 项目里提供类型感知诊断\n- 如果你的项目还保留 `eslint.config.js` 作为 fallback layer，建议继续保留 `source.fixAll.eslint`\n- 如果项目已经是纯 Oxlint 工作流，可以移除 ESLint 的保存时动作\n\n## 定位\n\n- 如果你需要当前稳定、完整的 ESLint 优先方案，请使用 `@bassist/eslint-config`\n- 如果你想采用 Oxc 优先的工作流，请使用 `@bassist/oxc-integration`\n- 可以把它理解为未来 `@bassist/oxc-config` 的过渡形态\n\n## 工作方式\n\n`@bassist/oxc-integration` 采用 Oxc-first workflow：\n\n- `oxlint` 是主 Linter\n- `eslint` 是兜底 Linter，用来补齐 Oxc 还没完全覆盖的规则\n- `oxfmt` 是主 Formatter\n\n这也是为什么某些项目现在仍然会同时保留 `oxlint.config.ts` 和 `eslint.config.js`。\n它们不再是两个并列的主配置文件，而是：\n\n- `oxlint.config.ts`：主 Lint 配置\n- `eslint.config.js`：兜底 Lint 配置\n\n在这些 fallback presets 内部，会自动接入 `eslint-plugin-oxlint`，用于关闭那些已经由 Oxlint 覆盖的 ESLint 重叠规则。\n\n## 什么时候需要 ESLint Fallback\n\n如果 Oxc 已经足够覆盖你的项目，可以只使用 `oxlint.config.ts`。\n如果项目仍然依赖框架或生态特定的 ESLint 能力，则再补一个 `eslint.config.js`。\n\n通常可以这样理解：\n\n- `base` / `node`：很多场景只用 Oxlint 就够了\n- `react`：大多数情况下可以 Oxc 优先，但很多项目仍建议保留 ESLint fallback\n- `vue`：默认建议保留 ESLint fallback\n- `next`：默认建议保留 ESLint fallback\n- `tailwindcss`：优先使用 `oxlintPresets.tailwindcss()` 通过 Oxc JS plugin lint；如果项目仍需要 ESLint 专属覆盖，再补 ESLint fallback\n- `vitest`：如果你需要更完整的测试规则，建议保留 ESLint fallback\n\n## 内建的 Fallback Coverage\n\n当前 `@bassist/oxc-integration` 已内建这些 ESLint fallback presets：\n\n- `javascript`\n- `typescript`\n- `jsx`\n- `imports`\n- `jsonc`\n- `markdown`\n- `react`\n- `tailwindcss`\n- `vue`\n- `next`\n- `vitest`\n\n当前暂不纳入这个 Oxc-first 工作流范围的内容：\n\n- `lint-md`\n- 基于 Prettier 的 Markdown 内容工作流\n\n这些能力后续可以单独作为内容层工作流再设计。\n\n## 配置总览\n\n| 项目类型   | `oxlint.config.ts` | `eslint.config.js` | `oxfmt.config.ts` |\n| ---------- | ------------------ | ------------------ | ----------------- |\n| Base TS/JS | 必需               | 可选               | 必需              |\n| Node       | 必需               | 可选               | 必需              |\n| React      | 必需               | 推荐               | 必需              |\n| Vue        | 必需               | 推荐               | 必需              |\n| Next       | 必需               | 推荐               | 必需              |\n\n## Oxlint 快速开始\n\n### Base TS/JS\n\n```ts\n// oxlint.config.ts\nimport { defineOxlintConfig, oxlintPresets } from '@bassist/oxc-integration'\n\nexport default defineOxlintConfig(oxlintPresets.base())\n```\n\n### React\n\n```ts\n// oxlint.config.ts\nimport { defineOxlintConfig, oxlintPresets } from '@bassist/oxc-integration'\n\nexport default defineOxlintConfig(oxlintPresets.react(), oxlintPresets.vitest())\n```\n\n### Vue\n\n```ts\n// oxlint.config.ts\nimport { defineOxlintConfig, oxlintPresets } from '@bassist/oxc-integration'\n\nexport default defineOxlintConfig(oxlintPresets.vue(), oxlintPresets.vitest())\n```\n\n如果你需要官方 `oxlint` 类型，请直接从 `oxlint` 包导入，而不是从本包导入。\n\n## Oxlint 内建默认值\n\n`oxlintPresets.base()` 并不是空壳，它已经内置了这个包约定的 Oxc 基线配置。\n\n当前内建默认值包括：\n\n- plugins：`typescript`、`oxc`\n- categories：\n  - `correctness: error`\n  - `suspicious: error`\n  - `pedantic: warn`\n  - `style: off`\n- 基础规则覆盖：\n  - `typescript/no-explicit-any: off`\n\n然后更高层的 presets 会在这份基线上继续扩展：\n\n- `oxlintPresets.node()` 会补充 Node 运行时环境\n- `oxlintPresets.react()` 会补充 `react`、`react-perf`、`jsx-a11y`\n- `oxlintPresets.tailwindcss()` 会通过 Oxlint JS plugins 加载 `eslint-plugin-better-tailwindcss`\n- `oxlintPresets.vue()` 会补充 `vue`\n- `oxlintPresets.vitest()` 会补充 `vitest`\n\n## 如何扩展 Oxlint Presets\n\n建议先使用内建默认值，再把项目特有的差异作为额外配置传入。\n\n```ts\n// oxlint.config.ts\nimport { defineOxlintConfig, oxlintPresets } from '@bassist/oxc-integration'\n\nexport default defineOxlintConfig(oxlintPresets.react(), {\n  rules: {\n    'no-console': 'warn',\n  },\n  ignorePatterns: ['fixtures/**'],\n})\n```\n\n可以把 presets 理解成默认基线，把额外传入的对象理解成项目级扩展层。\n\n### Tailwind CSS\n\n```ts\n// oxlint.config.ts\nimport { defineOxlintConfig, oxlintPresets } from '@bassist/oxc-integration'\n\nexport default defineOxlintConfig(\n  oxlintPresets.react(),\n  oxlintPresets.tailwindcss({\n    entryPoint: './src/styles.css',\n  }),\n)\n```\n\nTailwind preset 会通过 Oxlint JS plugins 使用 `eslint-plugin-better-tailwindcss`，让 Tailwind CSS v3 和 v4 项目共用同一套 class linting 规则。\n\n## ESLint Fallback 快速开始\n\n### Vue / Next / 复杂 React 项目\n\n```js\n// eslint.config.js\nimport { defineEslintConfig, eslintPresets } from '@bassist/oxc-integration'\n\nexport default defineEslintConfig(\n  eslintPresets.imports(),\n  eslintPresets.react(),\n  eslintPresets.tailwindcss(),\n  eslintPresets.vitest(),\n)\n```\n\n如果是 Vue 项目，把 `react()` 换成 `vue()` 即可。\n如果是 Next 项目，请使用 `next()`。\n只有项目真的在使用 Tailwind CSS 时，才需要再加上 `tailwindcss()`。\n\n### Markdown 内容 lint\n\n```js\n// eslint.config.js\nimport { defineEslintConfig, eslintPresets } from '@bassist/oxc-integration'\n\nexport default defineEslintConfig(eslintPresets.markdown())\n```\n\n如果你只想为 Markdown 文件开启独立的 lint 行为，而不希望把它并入\n`lint-md` 或基于 Prettier 的内容工作流，可以使用 `markdown()`。\n\n## Oxfmt 快速开始\n\n建议优先使用带类型提示的 `oxfmt.config.ts`，这样配置结构会与官方 formatter API 保持一致。\n\n```ts\n// oxfmt.config.ts\nimport { defineConfig } from 'oxfmt'\nimport { oxfmtConfig } from '@bassist/oxc-integration'\n\nexport default defineConfig(oxfmtConfig)\n```\n\n如果你想覆盖默认值：\n\n```ts\n// oxfmt.config.ts\nimport { defineConfig } from 'oxfmt'\nimport { getOxfmtConfig } from '@bassist/oxc-integration'\n\nexport default defineConfig(\n  getOxfmtConfig({\n    semi: true,\n  }),\n)\n```\n\n`oxfmt .` 会自动发现 `oxfmt.config.ts`，所以通常不需要额外显式传入配置路径。\n\n如果你需要官方 formatter 类型，请直接从 `oxfmt` 包导入，而不是从本包导入。\n\n## 推荐脚本\n\n```json\n{\n  \"scripts\": {\n    \"lint\": \"oxlint .\",\n    \"lint:eslint\": \"eslint .\",\n    \"lint:full\": \"npm run lint && npm run lint:eslint\",\n    \"format\": \"oxfmt .\"\n  }\n}\n```\n\n推荐用法：\n\n- `base` / `node` 项目先从 `lint` 开始\n- `vue`、`next`、以及较复杂的 `react` 项目默认建议使用 `lint:full`\n","readmeFilename":"README.zh-CN.md"}