Skip to content

Lint

EditorConfig

  • 配置文件:.editorconfig,配置项参考 EditorConfig
ini
[*.{js,jsx,mjs,cjs,ts,tsx,mts,cts,vue}]
charset = utf-8
indent_size = 2
indent_style = space
insert_final_newline = true
trim_trailing_whitespace = true
# end_of_line = lf

[*.md]
trim_trailing_whitespace = false

Prettier

  1. 安装依赖
bash
pnpm install -D prettier
  1. 配置文件
json
{
  "$schema": "https://json.schemastore.org/prettierrc",
  "arrowParens": "always",
  "bracketSameLine": false,
  "bracketSpacing": true,
  "embeddedLanguageFormatting": "auto",
  "experimentalTernaries": false,
  "htmlWhitespaceSensitivity": "ignore",
  "insertPragma": false,
  "jsxSingleQuote": false,
  "printWidth": 120,
  "proseWrap": "preserve",
  "quoteProps": "consistent",
  "requirePragma": false,
  "semi": false,
  "singleAttributePerLine": false,
  "singleQuote": true,
  "tabWidth": 2,
  "trailingComma": "all",
  "useTabs": false,
  "vueIndentScriptAndStyle": false
}
  1. 添加脚本
json
{
  "scripts": {
    "format": "prettier --write src/"
  }
}

ESLint

ts + prettier

  1. 安装依赖
bash
pnpm install -D eslint eslint-plugin-vue @vue/eslint-config-prettier @vue/eslint-config-typescript
  1. 配置文件
js
import pluginVue from 'eslint-plugin-vue'
import vueTsEslintConfig from '@vue/eslint-config-typescript'
import skipFormatting from '@vue/eslint-config-prettier/skip-formatting'

export default [
  {
    name: 'app/files-to-lint',
    files: ['**/*.{ts,mts,tsx,vue}'],
  },

  {
    name: 'app/files-to-ignore',
    ignores: ['**/dist/**', '**/dist-ssr/**', '**/coverage/**'],
  },

  ...pluginVue.configs['flat/essential'],
  ...vueTsEslintConfig(),
  skipFormatting,
]
  1. 添加脚本
json
{
  "scripts": {
    "lint": "eslint . --fix"
  }
}

Browserslist

  • 配置文件:.browserslistrc,配置项参考 Browserslist
ini
> 0.5%
last 2 versions
Firefox ESR
not dead

基于 MIT 许可发布