pnpm add -D eslint @antfu/eslint-config
.eslintrc{
"extends": "@antfu"
}
You don’t need
.eslintignorenormally as it has been provided by the preset.
For example:
{
"scripts": {
"lint": "eslint .",
"lint:fix": "eslint . --fix"
}
}
Install VS Code ESLint extension and create .vscode/settings.json
{
"prettier.enable": false,
"editor.formatOnSave": false,
"editor.codeActionsOnSave": {
"source.fixAll.eslint": true
}
}
Type aware rules are enabled when a tsconfig.eslint.json is found in the project root, which will introduce some stricter rules into your project. If you want to enable it while have no tsconfig.eslint.json in the project root, you can change tsconfig name by modifying ESLINT_TSCONFIG env.
// .eslintrc.js
process.env.ESLINT_TSCONFIG = 'tsconfig.json'
module.exports = {
extends: '@antfu'
}
If you want to apply lint and auto-fix before every commit, you can add the following to your package.json:
{
"simple-git-hooks": {
"pre-commit": "pnpm lint-staged"
},
"lint-staged": {
"*": "eslint --fix"
}
}
and then
npm i -D lint-staged simple-git-hooks
This config does NOT lint CSS. I personally use UnoCSS so I don’t write CSS. If you still prefer CSS, you can use stylelint for CSS linting.
Sure, you can override the rules in your .eslintrc file.
{
"extends": "@antfu",
"rules": {
// your rules...
}
}
Or you can always fork this repo and make your own.
MIT License © 2019-PRESENT Anthony Fu
We use cookies
We use cookies to analyze traffic and improve your experience. You can accept or reject analytics cookies.