111 lines
3.7 KiB
JavaScript
111 lines
3.7 KiB
JavaScript
const types = ['config', 'feature', 'fix', 'docs', 'style', 'refactor', 'performance', 'test', 'build', 'release', 'chore', 'revert'];
|
|
|
|
module.exports = {
|
|
parserPreset: { parserOpts: { headerPattern: /^(\w*)(?:\((.*)\))?!?: (.*)$/ } },
|
|
extends: ['@commitlint/config-conventional'],
|
|
rules: {
|
|
'type-empty': [2, 'never'],
|
|
'type-enum': [2, 'always', types],
|
|
'scope-case': [0, 'always'],
|
|
'subject-empty': [2, 'never'],
|
|
'subject-case': [0, 'never'],
|
|
'header-max-length': [2, 'always', 88],
|
|
},
|
|
prompt: {
|
|
questions: {
|
|
type: {
|
|
description: "Select the type of change that you're committing",
|
|
enum: {
|
|
config: {
|
|
description: 'Changes that affect the tools, such as eslint, npm, vscode.',
|
|
title: 'Config',
|
|
emoji: '🛠',
|
|
},
|
|
feature: {
|
|
description: 'A new feature',
|
|
title: 'Features',
|
|
emoji: '✨',
|
|
},
|
|
fix: {
|
|
description: 'A bug fix',
|
|
title: 'Bug Fixes',
|
|
emoji: '🐛',
|
|
},
|
|
docs: {
|
|
description: 'Documentation only changes',
|
|
title: 'Documentation',
|
|
emoji: '📚',
|
|
},
|
|
style: {
|
|
description: 'Changes that do not affect the meaning of the code (white-space, formatting, missing semi-colons, etc)',
|
|
title: 'Styles',
|
|
emoji: '💎',
|
|
},
|
|
refactor: {
|
|
description: 'A code change that neither fixes a bug nor adds a feature',
|
|
title: 'Code Refactoring',
|
|
emoji: '📦',
|
|
},
|
|
performance: {
|
|
description: 'A code change that improves performance',
|
|
title: 'Performance Improvements',
|
|
emoji: '🚀',
|
|
},
|
|
test: {
|
|
description: 'Adding missing tests or correcting existing tests',
|
|
title: 'Tests',
|
|
emoji: '🚨',
|
|
},
|
|
build: {
|
|
description: 'Changes that affect the build system or external dependencies (example scopes: gulp, broccoli, npm)',
|
|
title: 'Builds',
|
|
emoji: '🛠',
|
|
},
|
|
ci: {
|
|
description: 'Changes to our CI configuration files and scripts (example scopes: Travis, Circle, BrowserStack, SauceLabs)',
|
|
title: 'Continuous Integrations',
|
|
emoji: '⚙️',
|
|
},
|
|
chore: {
|
|
description: "Other changes that don't modify src or test files",
|
|
title: 'Chores',
|
|
emoji: '♻️',
|
|
},
|
|
revert: {
|
|
description: 'Reverts a previous commit',
|
|
title: 'Reverts',
|
|
emoji: '🗑',
|
|
},
|
|
},
|
|
},
|
|
scope: {
|
|
description: 'What is the scope of this change (e.g. component or file name)',
|
|
},
|
|
subject: {
|
|
description: 'Write a short, imperative tense description of the change',
|
|
},
|
|
body: {
|
|
description: 'Provide a longer description of the change',
|
|
},
|
|
isBreaking: {
|
|
description: 'Are there any breaking changes?',
|
|
},
|
|
breakingBody: {
|
|
description: 'A BREAKING CHANGE commit requires a body. Please enter a longer description of the commit itself',
|
|
},
|
|
breaking: {
|
|
description: 'Describe the breaking changes',
|
|
},
|
|
isIssueAffected: {
|
|
description: 'Does this change affect any open issues?',
|
|
},
|
|
issuesBody: {
|
|
description: 'If issues are closed, the commit requires a body. Please enter a longer description of the commit itself',
|
|
},
|
|
issues: {
|
|
description: 'Add issue references (e.g. "fix #123", "re #123".)',
|
|
},
|
|
},
|
|
}
|
|
};
|