oxlint
oxlint is an emerging linter that requires no configuration by default and is mainly used for script files.
Positioning of oxlint
oxlint is not a complete replacement for ESLint; rather, oxlint complements ESLint because oxlint is very fast. You can run oxlint before running ESLint to get a faster feedback loop.
Installation
You have to install oxlint first. Currently oxlint v0.15 is supported.
npm install oxlint -D
yarn add oxlint -D
pnpm install oxlint -D
Configuration
Update package.json
and add lint:oxlint
script.
{
"scripts": {
"lint:oxlint": "oxlint --fix"
}
}
Ignoring files
While the ESLint config provides .gitignore, .eslintignore, and some built-in ignore files support, oxlint only supports specifying a single ignore pattern file, and uses both the .gitignore and .eslintignore ignore pattern files by default.
If you have other files to ignore, you can use --ignore-pattern
like below. It ignores all dts files, which is useful in projects that automatically generate dts files.
{
"scripts": {
"lint:oxlint": "oxlint --ignore-pattern=*.d.ts --fix"
}
}
FAQ
Integration of VSC?
Install the corresponding oxlint plugin.
Integration of WebStorm?
There is only MVP version yet.
Please track down oxc discussions 3269 and Oxlint support for all Intellij-based IDEs.
Integration of lint-staged?
If you are using the lint-staged configuration provided by the package, see the lint-staged chapter.
If you are not, you can refer to the following configuration.
// lint-staged.config.mjs
import { filterFilenames } from "@modyqyw/fabric";
export default {
"*.{js,cjs,mjs,jsx,ts,cts,mts,tsx,vue}": (filenames) => {
const filtered = filterFilenames(filenames);
return [
`oxlint --fix ${filtered.join(" ")}`,
`eslint --fix --cache --no-error-on-unmatched-pattern ${filtered.join(" ")}`,
];
},
};