@chubbyts/chubbyts-oxlint
v1.0.1
Published
Oxlint Configuration for chubbyts libraries / framework / projects.
Readme
chubbyts-oxlint
Description
Oxlint Configuration for chubbyts libraries / framework / projects. Provides the same linting contract as @chubbyts/chubbyts-eslint, as close as oxlint allows.
Requirements
- node: 22
- oxlint: ^1.76.0 (peer dependency)
- oxc-resolver: ^11.24.2
Installation
Through NPM as @chubbyts/chubbyts-oxlint.
npm i -D oxlint @chubbyts/chubbyts-oxlint@^1.0.1Configuration
.oxlintrc.json
{
"extends": ["./node_modules/@chubbyts/chubbyts-oxlint/oxlintrc.json"]
}package.json
{
"scripts": {
"lint": "oxlint src tests",
"lint-fix": "oxlint --fix src tests"
}
}Differences to chubbyts-eslint
Most rules map 1:1 onto oxlint's native (Rust) implementations. The remaining rules are provided by JS plugins which are shipped with this package:
functional/no-let,functional/immutable-data,functional/prefer-tacit: syntactic reimplementations of the rules from eslint-plugin-functional. Oxlint does not provide typescript-eslint parser services to JS plugins, so the type-aware originals cannot run.immutable-datadetects mutations structurally (member assignments,delete, mutating array methods,Object.assignand friends on existing values) and therefore cannot detectMap/Setmutations.prefer-tacitonly reports wrappers around functions declared in the same file with a matching, fixed arity.importx/order,importx/no-unresolved: reimplementations of the eslint-plugin-import-x rules on top of oxc-resolver (the resolver oxlint itself uses, configured for TypeScript:.tsextensions,.js→.tsextension alias, tsconfig paths), keeping this package free of the eslint ecosystem and its typescript version constraint.orderimplements the default options only (builtin, external, parent, sibling, index). Theimport-xplugin name is reserved by oxlint for its native rules, hence theimportxalias.quotes,semiandlinebreak-styledo not exist in oxlint; formatting is owned by prettier in all chubbyts projects anyway.eslint.configs.recommendedand the non-type-aware part oftseslint.configs.strictare covered by thecorrectnessandsuspiciouscategories plus explicitly enabledtypescript/*rules.unused-imports/no-unused-importsis covered by oxlint'seslint/no-unused-vars, which reports and auto-fixes unused imports.
Type-aware linting (beyond the syntactic approximations above) can be added by installing oxlint-tsgolint and
running oxlint --type-aware.
Copyright
2026 Dominik Zogg
