首页 > 其他分享 >配置.husky和commitlint以及Eslint

配置.husky和commitlint以及Eslint

时间:2023-04-27 12:55:37浏览次数:50  
标签:lint js Eslint commit husky commitlint eslint

代码规范 ESLint + Prettier(项目是基于uniapp+vue3+ts)

无脑执行以下操作,让你在vue3+ts的项目中愉快的使用 eslint 和 prettier。

npm install eslint prettier --save-dev
npm install eslint-config-prettier eslint-plugin-prettier eslint-plugin-vue --save-dev
npm install @typescript-eslint/eslint-plugin @typescript-eslint/parser --save-dev
  1. 添加 .eslintrc.js
  2. 添加 .prettierrc.js

以下是笔者比较喜欢的配置分享(仅供参考):

// .eslintrc.js
module.exports = {
  parser: 'vue-eslint-parser',
  extends: ['plugin:vue/recommended', 'plugin:prettier/recommended'],
  parserOptions: {
    parser: '@typescript-eslint/parser',
    ecmaVersion: 2018,
    sourceType: 'module',
  },
  plugins: ['vue', '@typescript-eslint'],
  rules: {
    'vue/multi-word-component-names': 'off',,
    "vue/valid-v-for": "off",
  },
}
// .prettierrc.js
module.exports = {
  printWidth: 120,
  tabWidth: 2,
  tabs: false,
  semi: false,
  singleQuote: true,
  quoteProps: 'as-needed',
  bracketSpacing: true,
  jsxBracketSameLine: false,
  arrowParens: 'always',
  endOfLine: 'auto',
}

Husky + lint-staged + commitlint

工程化怎么能少的了这些利器呢!不过这些配置之后虽然便利,但由于每次提交之前都会检查一遍代码,会损耗一些时间。

husky: 是一个 Git Hook 工具,借助 husky 我们可以在 git 提交的不同生命周期进行一些自动化操作
lint-staged: 用于实现每次提交只检查本次提交所修改的文件
commitlint: 提交时 commit 信息规范校验配置流程,每次提交时就会去检查你的commit-msg是否合规

  1. 下载依赖
npm i husky lint-staged @commitlint/cli @commitlint/config-conventional -D
  1. package.json 文件中添加 scripts
"scripts": {
    "prepare": "husky install",
    "lint": "eslint src",
    "lint-staged": "lint-staged",
    "commitlint": "commitlint --config commitlint.config.js -e -V"
},
  "husky": {     "hooks": {       "pre-commit": "lint-staged",       "commit-msg": "commitlint -E HUSKY_GIT_PARAMS"     }   },   "lint-staged": {     "src/**/*.{js,jsx,ts,tsx}": [       "prettier --write",       "eslint  --fix"     ]   },
 
  1. 执行 npm run prepare

  生成了.husky 文件夹

  1. 添加 pre-commit 钩子
npx husky add .husky/pre-commit "npm run lint-staged"
  1. 创建 .lintstagedrc 配置文件
{
    "src/**/*.{js,vue}": "npm run lint"
}
  1. 添加 commit-msg 钩子
npx husky add .husky/commit-msg "npm run commitlint"

uni-app开发实记:vue3 + vite + ts + sass + laf云开发

  1. 创建 commitlint.config.js 配置文件
module.exports = {
  extends: ['@commitlint/config-conventional'],
  rules: {
    'type-enum': [
      // type枚举
      2,
      'always',
      [
        'build', // 编译相关的修改,例如发布版本、对项目构建或者依赖的改动
        'feat', // 新功能
        'fix', // 修补bug
        'docs', // 文档修改
        'style', // 代码格式修改, 注意不是 css 修改
        'refactor', // 重构
        'perf', // 优化相关,比如提升性能、体验
        'test', // 测试用例修改
        'revert', // 代码回滚
        'ci', // 持续集成修改
        'config', // 配置修改
        'chore', // 其他改动
      ],
    ],
    'type-empty': [2, 'never'], // never: type不能为空; always: type必须为空
    'type-case': [0, 'always', 'lower-case'], // type必须小写,upper-case大写,camel-case小驼峰,kebab-case短横线,pascal-case大驼峰,等等
    'scope-empty': [0],
    'scope-case': [0],
    'subject-empty': [2, 'never'], // subject不能为空
    'subject-case': [0],
    'subject-full-stop': [0, 'never', '.'], // subject以.为结束标记
    'header-max-length': [2, 'always', 72], // header最长72
    'body-leading-blank': [0], // body换行
    'footer-leading-blank': [0, 'always'], // footer以空行开头
  },
}

 

标签:lint,js,Eslint,commit,husky,commitlint,eslint
From: https://www.cnblogs.com/UnfetteredMan/p/17358612.html

相关文章

  • vue3 create-vue 开启vite自动验证eslint
    0.vue3 cli推荐新的构建工具vite,但没有yarnrundev后并不自动检测eslint规则,需要运行yarnruneslint1.添加组件即可 yarnadd vite-plugin-eslint--dev 2.在vite.config.js加入1import{fileURLToPath,URL}from'node:url'23import{defineConfig}......
  • Eslint
    TypeError:this.cliEngineCtorisnotaconstructor,webstorm和eslint的版本纠结[email protected]://www.cnblogs.com/Neeo/articles/16945575.htmlhttps://blog.csdn.net/liming1016/article/details/124544409Environmentkey......
  • Husky + Commitlint实现commit message校验
    配置git提交的校验钩子husky:git提交时触发hookscommitlint:对提交的内容做规范校验husky,主要对pre-commit和commit-msg钩子做校验#安装huskynpminstallhusky-D#初始化husky配置,在根目录新增.husky配置文件。初始化配置pre-commitnpxhusky-init#另外新增一个......
  • eslint
    目录eslinteslint配置的方式eslinteslint配置的方式通过代码注释/*eslintquotes:["warn","single"],no-unused-vars:"off"*/通过配置文件.eslintrc.*(*包含json、js、yaml)package.json文件的eslintConfig配置......
  • async function 报eslint 错误:Parsing error: Unexpected token function 解决方法
    asyncfunctiongetData(){这个代码报eslint错误:Parsingerror:Unexpectedtokenfunction。.eslintrc中parserOptions:{ecmaVersion:6},根据ESLint的官方文档,"ecmaVersion"配置项可以配置以下值:3:ECMAScript 3(默认值)5:ECMAScript 56:ECMAScrip......
  • 【vue3-element-admin】Husky + Lint-staged + Commitlint + Commitizen + cz-git 配
    前言本文介绍vue3-element-admin如何通过Husky+Lint-staged+Commitlint+Commitizen+cz-git来配置Git提交代码规范。核心内容是配置Husky的pre-commit和commit-msg两个钩子:pre-commit:Husky+Lint-staged整合实现Git提交前代码规范检测/格式化(前提......
  • vscode保存时自动ESLint格式化(vue)
    一、安装eslint  二、vscode全局配置2.1打开设置   2.2打开settings.json  2.3在settings.json中添加eslint配置{"code-runner.runInTerminal":true,"eslint.format.enable":true,//以下是eslint配置//vscode默认启用了根据文件......
  • 在.net项目中添加Husky.Net提交验证
    参考:C#项目添加husky-jesn-博客园(cnblogs.com)官方文档:GettingStarted|Husky.Net(alirezanet.github.io)什么是Husky.net?Husky是一款githook(钩子)工具,让我们在gitcommit之前可以做一些操作,例如,代码格式化,重生生成,提交规范检查等,而Husky.net便是适用于.net平台......
  • 源码共读 | 为 vite 项目自动添加 eslint 和 prettier
    前言Vite是一个用于现代JavaScript应用程序的快速、轻量级的构建工具,其设计目的是易于使用和适用于大型项目。Vite-pretty-lint是一个插件,可以在基于Vite的项目中安装和配置,以便在编写代码时能够自动对代码进行格式化和检查代码。这可以帮助开发人员在开发过程的早期捕获格......
  • VSCode插件 : ESLint Prettier Vite
    #创建项目pnpmcreatevitevite-eslint--templatevuecdvite-eslintpnpminstallpnpmrundev#安装插件pnpmiprettier-D#创建配置文件echo{}>.prettierrc.json#安装ESLintpnpmieslinteslint-plugin-vue-D#安装eslint-config-prettierpnpm......