コードを送信する前に、提出内容を検証します.


ターゲット
プロジェクトでは、git倉庫前のeslintのチェックとgit commit messageのチェックにコードを追加します.
背景
  • 具体的なeslintルールは、前に書いたブログを参照してください.
  • 現在のプロジェクトは主に業界で最も広く使われているAnglar Message規格を参考にしています.
  • プロジェクトのボリュームが大きいので、コードチェックは変更コードがあるファイルをチェックするだけです.
    インストール依存
    npm install husky lint-staged @commitlint/cli @commitlint/config-conventional -D
    
    comitlintを追加します
    comitlintはgit commit messageの検査に便利です.また、Angular Message については、阮先生のComit messageとChange logsを参考にしてマニュアルを作成することができます.
    // commitlint.config.js
    
    //   git          
    module.exports = {
         
      extends: ['@commitlint/config-conventional'],
      rules: {
         
        //      
        // feat:   (feature)
        // fix:   bug
        // docs:  (README、Change Log  )
        // style:   ,     ,   CSS   
        // refactor:  (       ,      Bug      )
        // test:    
        // chore:            ,      、Dockerfile、package.json    
        'type-enum': [2, 'always', [
          'feat', 'fix', 'docs', 'style', 'refactor', 'test', 'chore'
        ]],
        'type-case': [0],
        'type-empty': [0],
        'scope-empty': [0],
        'scope-case': [0],
        'subject-full-stop': [0, 'never'],
        'subject-case': [0, 'never'],
        'header-max-length': [0, 'always', 72]
      }
    }
    
    lint-stagedを追加
    lint-stagedは現在gitに提出されているコードのみをチェックします.
    // lint-staged.config.js
    
    //   git                   
    module.exports = {
         
      'src/**/*.js': ['eslint --fix', 'git add'],
      'src/**/*.vue': ['eslint --fix', 'git add']
    }
    
    ここではjsvueファイルをチェックするだけでなく、スタイリングポイントなどを追加してコードのスタイルをチェックすることもできます.
    huskyを追加
    huskyは、規格外コードの提出を防ぐために便利なgithookgit commitなどを提供する.
    // .husky.json
    
    {
         
        "hooks": {
         
            "pre-commit": ["lint-staged"],
            "commit-msg": "commitlint -e $HUSKY_GIT_PARAMS",
        }
    }