@mouji/eslint-config
Thanks @antfu
Usage
Install
pnpm add -D eslint @mouji/eslint-config
Config .eslintrc
{
"extends": "@mouji"
}You don't need
.eslintignorenormally as it has been provided by the preset.
Add script for package.json
For example:
{
"scripts": {
"lint": "eslint .",
"lint:fix": "eslint . --fix"
}
}Config VS Code auto fix
Install VS Code ESLint extension and create .vscode/settings.json
{
"prettier.enable": false,
"editor.formatOnSave": false,
"editor.codeActionsOnSave": {
"source.fixAll.eslint": true
}
}TypeScript Aware Rules
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: '@mouji'
}Lint Staged
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
pnpm i -D lint-staged simple-git-hooksI prefer XXX...
Sure, you can override the rules in your .eslintrc file.
{
"extends": "@mouji",
"rules": {
// your rules...
}
}