Skip to content

Instantly share code, notes, and snippets.

@HallexCosta
Last active April 11, 2025 12:49
Show Gist options
  • Save HallexCosta/dfa33a0971b35c649cb2d603b72df062 to your computer and use it in GitHub Desktop.
Save HallexCosta/dfa33a0971b35c649cb2d603b72df062 to your computer and use it in GitHub Desktop.
Configs for commitzen customizable
'use strict';
module.exports = {
types: [
{value: 'feat', name: 'feat: A new feature'},
{value: 'fix', name: 'fix: A bug fix'},
{value: 'docs', name: 'docs: Documentation only changes'},
{value: 'style', name: 'style: Changes that do not affect the meaning of the code\n (white-space, formatting, missing semi-colons, etc)'},
{value: 'refactor', name: 'refactor: A code change that neither fixes a bug nor adds a feature'},
{value: 'perf', name: 'perf: A code change that improves performance'},
{value: 'test', name: 'test: Adding missing tests'},
{value: 'chore', name: 'chore: Changes to the build process or auxiliary tools\n and libraries such as documentation generation'},
{value: 'revert', name: 'revert: Revert to a commit'},
{value: 'WIP', name: 'WIP: Work in progress'}
],
scopes: [
{name: 'static'},
{name: 'server'},
{name: 'ml'},
{name: '*'}
],
// it needs to match the value for field type. Eg.: 'fix'
/*
scopeOverrides: {
fix: [
{name: 'merge'},
{name: 'style'},
{name: 'e2eTest'},
{name: 'unitTest'}
]
},
*/
// override the messages, defaults are as follows
messages: {
type: 'Select the type of change that you\'re committing:',
scope: '\nDenote the SCOPE of this change (optional):',
// used if allowCustomScopes is true
customScope: 'Denote the SCOPE of this change:',
subject: 'Write a SHORT, IMPERATIVE tense description of the change:\n',
body: 'Provide a LONGER description of the change (optional). Use "|" to break new line:\n',
breaking: 'List any BREAKING CHANGES (optional):\n',
footer: 'List any ISSUES CLOSED by this change (optional). E.g.: #31, #34:\n',
confirmCommit: 'Are you sure you want to proceed with the commit above?'
},
allowCustomScopes: true,
allowBreakingChanges: ['feat', 'fix', 'perf'],
// limit subject length
subjectLimit: 100
};
const { types } = require('./node_modules/cz-customizable/cz-config-EXAMPLE')
const icons = {
feat: '✨' ,
fix: '🐞' ,
docs: 'πŸ“š' ,
style: 'πŸ’…' ,
refactor: 'πŸ› ' ,
perf: '🐎' ,
test: '🏁' ,
revert: 'βͺ' ,
chore: 'πŸ—―' ,
WIP: '🚧'
}
module.exports = () => {
return types.map((type, index) => ({
value: `${icons[type.value]} ${type.value}`, name: `${type.name}`,
}))
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment