@cyenoch/eslint-config
- Single quotes, no semi
- Auto fix for formatting (aimed to be used standalone without Prettier)
- Designed to work with TypeScript, Vue out-of-box
- Lint also for json, yaml, markdown
- Sorted imports, dangling commas
- Reasonable defaults, best practices, only one-line of config
- Style principle: Minimal for reading, stable for diff
Usage
Install
pnpm add -D eslint @cyenoch/eslint-config
.eslintrc
Config {
"extends": "@cyenoch"
}
You don't need
.eslintignore
normally 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. 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'
}
Extended Reading
Learn more about the context - Why I don't use Prettier.
Check Also
- antfu/dotfiles - My dotfiles
- antfu/vscode-settings - My VS Code settings
- antfu/ts-starter - My starter template for TypeScript library
- antfu/vitesse - My starter template for Vue & Vite app