Go to file
2022-12-12 18:01:40 +01:00
.github/workflows chore: add release script 2022-07-10 10:46:19 +08:00
fixtures/vitesse chore: update deps 2022-11-29 17:33:00 +08:00
packages feat(ts): can change tsconfig by env (#136) 2022-12-12 18:01:40 +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
CHANGELOG.md v0.19.1 2022-03-30 16:57:53 +08:00
LICENSE chore: update 2022-03-11 04:46:10 +08:00
package.json chore: release v0.33.1 2022-11-30 21:16:29 +08:00
pnpm-lock.yaml chore: update deps 2022-11-29 17:33:00 +08:00
pnpm-workspace.yaml feat: add react and all 2020-08-12 19:24:32 +08:00
README.md feat(ts): can change tsconfig by env (#136) 2022-12-12 18:01:40 +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. 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