美文网首页
ESLint + Prettier + husky代码规范

ESLint + Prettier + husky代码规范

作者: Poppy11 | 来源:发表于2023-06-14 22:26 被阅读0次

    ESLint

    代码规范校验使用ESLint,但是一开始 ESLint 只有检测告诉你哪里有问题,后来 ESLint 提供了$ ESLint filename --fix的命令,可以自动帮你修复一些不符合规范的代码。

    Prettier

    Prettier 是一个代码格式化工具,可以帮你把代码格式化成可读性更好的格式,比如加分号,或者换行之类的。

    husky

    husky是强制git commit按照标准规则来提交。

    项目实践(pnpm + monorepo)

    1. 下载ESLint和prettier
    pnpm i eslint -D -w     
    pnpm i prettier -D -w   
    
    1. 初始化ESLint
    npx eslint --init   
    
    1. 下载ESLint解析器
    pnpm i @typescript-eslint/parser -D -w
    
    1. 安装plugin
    • eslint-config-prettier 的作用是关闭eslint中与prettier相互冲突的规则。
    • eslint-plugin-prettier 的作用是赋予eslint用prettier格式化代码的能力。 安装依赖并修改.eslintrc文件
    pnpm i eslint-config-prettier -D -w
    pnpm i eslint-plugin-prettier -D -w
    pnpm i @typescript-eslint/eslint-plugin -D -w
    
    1. .eslintrc.json配置
    {
        "env": {
            "browser": true,
            "es2021": true
        },
        "extends": [
            "eslint:recommended",
            "plugin:@typescript-eslint/recommended",
            "plugin:prettier/recommended"
        ],
        "parser": "@typescript-eslint/parser",
        "parserOptions": {
            "ecmaVersion": "latest",
            "sourceType": "module"
        },
        "plugins": ["@typescript-eslint", "prettier"],
        "rules": {
            "prettier/prettier": "error"
        }
    }
    
    
    1. package.json文件中添加一个脚本命令,这个脚本意思是指执行packages文件下的所有ts,js,jsx,tsx文件,并且自动按照prettier配置进行修复。
     "scripts": {
        "lint": "eslint --ext .ts,.js,.jsx,.tsx --fix ./packages"
      },
    
    1. 安装husky
    pnpm i husky -D -w
    
    1. 初始化husky
    npx husky install
    

    8)将pnpm lint 纳入commit时husky将执行的脚本

    npx husky add .husky/pre-commit "pnpm lint"
    
    1. 安装lint-staged,因为项目比较大后,每次扫描全部代码,就会很慢,而它则可以让我们只扫描本次提交的代码的规范
    1. 针对每次提交信息进行检查,看是否规范,安装commit-lint
    pnpm i @commitlint/cli @commitlint/config-conventional -D -w
    
    1. 创建.commitlintrc.js文件
    module.exports = { extends: ['@commitlint/config-conventional'] }
    
    1. 添加到husky中,每次提交代码时进行检查
    npx husky add .husky/commit-msg  'npx --no -- commitlint --edit ${1}'
    

    相关文章

      网友评论

          本文标题:ESLint + Prettier + husky代码规范

          本文链接:https://www.haomeiwen.com/subject/odukydtx.html