eslint & lint-stage & husky搭建自动构建流

Step 1: 安装包

npm i -D eslint eslint-config-prettier eslint-plugin-prettier prettier husky lint-staged babel-eslint

Step 2: 配置.eslintrc.js

{
...
  extends: [
  ....
    'prettier'
],
  plugins: [
...
'prettier'
],
parserOptions: {
    parser: 'babel-eslint',
    sourceType: 'module',
    ecmaVersion: 2015,
  },
rules: {
'prettier/prettier': ['error'],
}
}

Step 3: 配置package.json

"lint-staged": {
    "!(*test).js": "eslint --fix",
    "*.json": "prettier --write"
  },
  "husky": {
    "hooks": {
      "pre-commit": "lint-staged",
      "pre-push": "npm test"
    }
  },

Step 4: 新增prettier配置文件

在根目录中新增prettier.config.js, 相关配置api参考:https://prettier.io/docs/en/configuration.html

module.exports = {
    trailingComma: 'es5',
    tabWidth: 2,
    semi: false,
    singleQuote: true,
  }

Step 5: test prettier

在某个js文件中修改tab设置为4,假设路径为./test.js

npx eslint --fix ./test.js

正常执行后tab 从4变为2,否则没有生效。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。