From cd7f07d5ef238d2a92f064e3c590d3e8b69b8e63 Mon Sep 17 00:00:00 2001 From: Wagner Santos <7467450+wagoid@users.noreply.github.com> Date: Fri, 12 Feb 2021 16:25:26 -0300 Subject: [PATCH] style: ignore body-max-line-length rule for deps commits --- .github/workflows/commitlint.yml | 12 +++++++++ commitlint.config.js | 24 +++++++++++++++++ package-lock.json | 46 ++++++++++++++++++++++++++------ package.json | 2 ++ 4 files changed, 76 insertions(+), 8 deletions(-) diff --git a/.github/workflows/commitlint.yml b/.github/workflows/commitlint.yml index 6a2f201..e63dd87 100644 --- a/.github/workflows/commitlint.yml +++ b/.github/workflows/commitlint.yml @@ -10,8 +10,14 @@ jobs: fetch-depth: 0 - run: sed -i -E "s/(docker:.+)/Dockerfile/" ./action.yml - run: echo -n '' > .dockerignore + - uses: actions/setup-node@v2 + with: + node-version: '14' + - run: npm install - uses: ./ id: run_commitlint + env: + NODE_PATH: ${{ github.workspace }}/node_modules - name: Show results from JSON output if: ${{ always() }} run: echo ${{ toJSON(steps.run_commitlint.outputs.results) }} @@ -21,4 +27,10 @@ jobs: - uses: actions/checkout@v2 with: fetch-depth: 0 + - uses: actions/setup-node@v2 + with: + node-version: '14' + - run: npm install - uses: ./ + env: + NODE_PATH: ${{ github.workspace }}/node_modules diff --git a/commitlint.config.js b/commitlint.config.js index 98ee7df..072ad14 100644 --- a/commitlint.config.js +++ b/commitlint.config.js @@ -1,3 +1,27 @@ +const { maxLineLength } = require('@commitlint/ensure') + +const bodyMaxLineLength = 100 + +const validateBodyMaxLengthIgnoringDeps = parsedCommit => { + const { type, scope, body } = parsedCommit + const isDepsCommit = + type === 'chore' && (scope === 'deps' || scope === 'deps-dev') + + return [ + isDepsCommit || !body || maxLineLength(body, bodyMaxLineLength), + `body's lines must not be longer than ${bodyMaxLineLength}`, + ] +} + module.exports = { extends: ['@commitlint/config-conventional'], + plugins: ['commitlint-plugin-function-rules'], + rules: { + 'body-max-line-length': [0], + 'function-rules/body-max-line-length': [ + 2, + 'always', + validateBodyMaxLengthIgnoringDeps, + ], + }, } diff --git a/package-lock.json b/package-lock.json index 9c13eac..76d8f9f 100644 --- a/package-lock.json +++ b/package-lock.json @@ -644,18 +644,20 @@ } }, "@commitlint/ensure": { - "version": "9.1.2", - "resolved": "https://registry.npmjs.org/@commitlint/ensure/-/ensure-9.1.2.tgz", - "integrity": "sha512-hwQICwpNSTsZgj/1/SdPvYAzhwjwgCJI4vLbT879+Jc+AJ6sj2bUDGw/F89vzgKz1VnaMm4D65bNhoWhG3pdhQ==", + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/@commitlint/ensure/-/ensure-11.0.0.tgz", + "integrity": "sha512-/T4tjseSwlirKZdnx4AuICMNNlFvRyPQimbZIOYujp9DSO6XRtOy9NrmvWujwHsq9F5Wb80QWi4WMW6HMaENug==", + "dev": true, "requires": { - "@commitlint/types": "^9.1.2", + "@commitlint/types": "^11.0.0", "lodash": "^4.17.19" }, "dependencies": { - "lodash": { - "version": "4.17.20", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.20.tgz", - "integrity": "sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA==" + "@commitlint/types": { + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/@commitlint/types/-/types-11.0.0.tgz", + "integrity": "sha512-VoNqai1vR5anRF5Tuh/+SWDFk7xi7oMwHrHrbm1BprYXjB2RJsWLhUrStMssDxEl5lW/z3EUdg8RvH/IUBccSQ==", + "dev": true } } }, @@ -901,6 +903,17 @@ "@commitlint/message": "^9.1.2", "@commitlint/to-lines": "^9.1.2", "@commitlint/types": "^9.1.2" + }, + "dependencies": { + "@commitlint/ensure": { + "version": "9.1.2", + "resolved": "https://registry.npmjs.org/@commitlint/ensure/-/ensure-9.1.2.tgz", + "integrity": "sha512-hwQICwpNSTsZgj/1/SdPvYAzhwjwgCJI4vLbT879+Jc+AJ6sj2bUDGw/F89vzgKz1VnaMm4D65bNhoWhG3pdhQ==", + "requires": { + "@commitlint/types": "^9.1.2", + "lodash": "^4.17.19" + } + } } }, "@commitlint/test": { @@ -4382,6 +4395,23 @@ "resolved": "https://registry.npmjs.org/commitlint-jira-utils/-/commitlint-jira-utils-1.4.0.tgz", "integrity": "sha512-vW1eGt7cSwtk9I/jOfvxJpDJoSixIn5lq9gI2UOFbidkL4eqAbWFOk/g0NuYVQIF2k/xPZ2yzDr2mXfSCkqAFA==" }, + "commitlint-plugin-function-rules": { + "version": "1.1.20", + "resolved": "https://registry.npmjs.org/commitlint-plugin-function-rules/-/commitlint-plugin-function-rules-1.1.20.tgz", + "integrity": "sha512-uaWdKa1OI4s0upk0g/sCX2SOgggo+3FCQk7omZxfm0caMj0NgbgEcYulcslFhHRYLc/FjhJfnL2cxPXEldRFWQ==", + "dev": true, + "requires": { + "@commitlint/types": "11.0.0" + }, + "dependencies": { + "@commitlint/types": { + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/@commitlint/types/-/types-11.0.0.tgz", + "integrity": "sha512-VoNqai1vR5anRF5Tuh/+SWDFk7xi7oMwHrHrbm1BprYXjB2RJsWLhUrStMssDxEl5lW/z3EUdg8RvH/IUBccSQ==", + "dev": true + } + } + }, "commitlint-plugin-jira-rules": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/commitlint-plugin-jira-rules/-/commitlint-plugin-jira-rules-1.4.0.tgz", diff --git a/package.json b/package.json index 7b25b01..c414256 100644 --- a/package.json +++ b/package.json @@ -34,8 +34,10 @@ }, "devDependencies": { "@commitlint/cli": "^11.0.0", + "@commitlint/ensure": "^11.0.0", "@commitlint/test": "^9.0.1", "@commitlint/test-environment": "^9.0.1", + "commitlint-plugin-function-rules": "^1.1.20", "conventional-changelog-cli": "^2.1.0", "husky": "^3.1.0", "jest": "^24.9.0",