| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546 |
- const fs = require('fs');
- const path = require('path');
- const { execSync } = require('child_process');
- const components = fs
- .readdirSync(path.resolve(__dirname, './src/packages/__VUE'), { withFileTypes: true })
- .filter((dirent) => dirent.isDirectory())
- .map((dirent) => dirent.name);
- // precomputed scope
- const scopeComplete = execSync('git status --porcelain || true')
- .toString()
- .trim()
- .split('\n')
- .find((r) => r.indexOf('M ') !== -1)
- ?.replace(/(\/)/g, '%%')
- ?.match(/src%%packages%%__VUE%%((\w|-)*)/)?.[1];
- /** @type {import('cz-git').UserConfig} */
- module.exports = {
- extends: ['@commitlint/config-conventional'],
- rules: {
- 'body-leading-blank': [1, 'always'],
- 'footer-leading-blank': [1, 'always'],
- 'header-max-length': [2, 'always', 72],
- 'scope-case': [2, 'always', 'lower-case'],
- 'subject-case': [2, 'never', ['sentence-case', 'start-case', 'pascal-case', 'upper-case']],
- 'subject-empty': [2, 'never'],
- 'subject-full-stop': [2, 'never', '.'],
- 'type-case': [2, 'always', 'lower-case'],
- 'type-empty': [2, 'never'],
- 'type-enum': [
- 2,
- 'always',
- ['upd', 'chore', 'docs', 'feat', 'fix', 'test', 'refactor', 'revert', 'style', 'release']
- ]
- },
- prompt: {
- typesAppend: [{ value: 'upd', name: 'upd: ' }],
- customScopesAlign: !scopeComplete ? 'top' : 'bottom',
- scopes: [...components],
- defaultScope: scopeComplete,
- allowCustomIssuePrefixs: false,
- allowEmptyIssuePrefixs: false
- }
- };
|