Skip to content

HydenLiu/lint-config

Repository files navigation

@hydenliu/lint-config

npm

  • Single quotes, no semi
  • Auto fix for formatting (aimed to be used standalone without Prettier)
  • TypeScript, Vue, React out-of-box
  • Lint also for json, yaml, markdown
  • Check for syntax errors in CSS with Stylelint
  • Sorted imports, dangling commas for cleaner commit diff
  • Reasonable defaults, best practices, only one-line of config

Usage

Install

# vue
pnpm add -D eslint @hydenliu/eslint-config-vue

# react
pnpm add -D eslint @hydenliu/eslint-config-react

# typescript
pnpm add -D eslint @hydenliu/eslint-config-ts

# css
pnpm add -D stylelint @hydenliu/stylelint-config

Config .eslintrc

echo '{"extends": "@hydenliu/eslint-config-xxx"}' > .eslintrc

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

Create .vscode/settings.json

{
  "prettier.enable": false,
  "editor.codeActionsOnSave": {
    "source.fixAll.eslint": true
  }
}
// if use Vue
{
  "stylelint.validate": [
    // ↓ Add "vue" language.
    "vue"
  ]
}

Lint CSS

echo '{"extends": "@hydenliu/stylelint-config"}' > .stylelintrc

add script to package.json

{
  "scripts": {
    "stylelint:fix": "npx stylelint **/*.{css,scss,vue,less,html} --fix"
  }
}

Reference

License

MIT License © 2022-PRESENT Hyden Liu