Go to file
2023-01-09 10:58:26 +01:00
.github/workflows chore: add release script 2022-07-10 10:46:19 +08:00
fixtures/vitesse chore: update deps 2022-12-12 18:05:07 +01:00
packages fix: prefer const when all variables in destructuring should be const (#149) 2023-01-09 10:58:26 +01:00
.eslintrc.json feat: add react and all 2020-08-12 19:24:32 +08:00
.gitignore chore: allow lock files 2019-12-12 02:21:20 +08:00
.npmrc feat: support TS 4.8, close #111 2022-09-03 13:03:40 +08:00
LICENSE chore: update 2022-03-11 04:46:10 +08:00
package.json chore: release v0.34.0 2022-12-12 18:05:13 +01:00
pnpm-lock.yaml feat(ts): enable jest/unbound-method (#141) 2022-12-15 10:04:50 +01:00
pnpm-workspace.yaml feat: add react and all 2020-08-12 19:24:32 +08:00
README.md fix: allow void as statement in ts file (#142) 2022-12-16 11:48:11 +01:00
tsconfig.json feat: format for generics spacing 2022-11-01 03:34:15 +08:00

@antfu/eslint-config

npm

  • 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

License

MIT License © 2019-PRESENT Anthony Fu