37a4d762c3
Co-authored-by: 赵龙生 <zhaolongsheng@tenwit.com> |
||
---|---|---|
.github/workflows | ||
fixtures/vitesse | ||
packages | ||
.eslintrc.json | ||
.gitignore | ||
.npmrc | ||
LICENSE | ||
package.json | ||
pnpm-lock.yaml | ||
pnpm-workspace.yaml | ||
README.md | ||
tsconfig.json |
@antfu/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 @antfu/eslint-config
Config .eslintrc
{
"extends": "@antfu"
}
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, 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'
}
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
License
MIT License © 2019-PRESENT Anthony Fu