Sharable conventional changelog configuration for cz-emoji style commit.
Inspired by @Arvin Xu's gitmoji-commit-workflow.
The code refers to conventional-changelog-angular and conventional-changelog-gitmoji-config.
{
"config": {
"commitizen": {
"path": "cz-emoji"
},
"cz-emoji": {
"symbol": true,
"conventional": true,
"types": [
{
"emoji": "โจ",
"code": ":sparkles:",
"description": "Introduce new features",
"name": "feat"
},
{
"emoji": "๐",
"code": ":bug:",
"description": "Fix bug",
"name": "fix"
},
{
"emoji": "๐",
"code": ":ambulance:",
"description": "Critical hotfix",
"name": "hotfix"
},
{
"emoji": "๐ฉน",
"code": ":adhesive_bandage:",
"description": "Simple fix for a non-critical issue",
"name": "patch"
},
{
"emoji": "๐จ",
"code": ":art:",
"description": "Improve structure / format of the code",
"name": "style"
},
{
"emoji": "๐",
"code": ":memo:",
"description": "Add or update documentation",
"name": "docs"
},
{
"emoji": "๐ ๏ธ",
"code": ":shooting_star:",
"description": "Improve performance",
"name": "perf"
},
{
"emoji": "๐ซ",
"code": ":file_cabinet:",
"description": "Chores",
"name": "chore"
},
{
"emoji": "๐ญ",
"code": ":factory:",
"description": "Add or update build system",
"name": "build"
},
{
"emoji": "๐",
"code": ":lipstick:",
"description": "Add or update UI and style files",
"name": "ui"
},
{
"emoji": "๐",
"code": ":cyclone:",
"description": "Refactor code",
"name": "refactor"
},
{
"emoji": "๐ง",
"code": ":wrench:",
"description": "Add or update configuration files",
"name": "config"
},
{
"emoji": "๐",
"code": ":globe_with_meridians:",
"description": "Internationalization and localization",
"name": "i18n"
},
{
"emoji": "โ",
"code": ":lower_right_pencil:",
"description": "Fix typos",
"name": "typo"
},
{
"emoji": "โช",
"code": ":rewind:",
"description": "Revert changes",
"name": "revert"
},
{
"emoji": "๐",
"code": ":twisted_rightwards_arrows:",
"description": "Merge branches",
"name": "merge"
},
{
"emoji": "๐ฅ",
"code": ":boom:",
"description": "Introduce breaking changes",
"name": "break"
},
{
"emoji": "๐ฝ",
"code": ":alien:",
"description": "Update code due to external API changes",
"name": "api"
},
{
"emoji": "๐จ",
"code": ":rotating_light:",
"description": "Fix compiler / linter warnings",
"name": "lint"
},
{
"emoji": "โ
",
"code": ":white_check_mark:",
"description": "Add, update, or pass tests",
"name": "test"
},
{
"emoji": "๐ฅ",
"code": ":fire:",
"description": "Remove code or files",
"name": "prune"
},
{
"emoji": "๐",
"code": ":truck:",
"description": "Move or rename resources (e.g.: files, paths, routes)",
"name": "move"
},
{
"emoji": "๐ก",
"code": ":satellite:",
"description": "Data exploration / inspection",
"name": "data"
},
{
"emoji": "๐ฝ",
"code": ":computer_disk:",
"description": "Perform database related changes",
"name": "db"
},
{
"emoji": "๐ธ",
"code": ":children_crossing:",
"description": "Improve user experience / usability",
"name": "ux"
},
{
"emoji": "๐",
"code": ":necktie:",
"description": "Add or update business logic",
"name": "business"
},
{
"emoji": "๐ ",
"code": ":house:",
"description": "Make architectural changes",
"name": "arch"
},
{
"emoji": "๐ฌ",
"code": ":speech_balloon:",
"description": "Add or update text and literals",
"name": "texts"
},
{
"emoji": "๐ฑ",
"code": ":bento:",
"description": "Add or update assets",
"name": "assets"
},
{
"emoji": "๐",
"code": ":passport_control:",
"description": "Work on code related to authorization, roles and permissions",
"name": "auth"
},
{
"emoji": "โฟ",
"code": ":wheelchair:",
"description": "Improve accessibility",
"name": "access"
},
{
"emoji": "๐",
"code": ":ok_hand:",
"description": "Update code due to code review changes",
"name": "review"
},
{
"emoji": "๐งช",
"code": ":test_tube:",
"description": "Perform experiments",
"name": "experiment"
},
{
"emoji": "๐ฉ",
"code": ":triangular_flag_on_post:",
"description": "Add, update, or remove feature flags",
"name": "flags"
},
{
"emoji": "๐ซ",
"code": ":dizzy:",
"description": "Add or update animations and transitions",
"name": "animation"
},
{
"emoji": "๐ฑ",
"code": ":iphone:",
"description": "Work on responsive design",
"name": "responsive"
},
{
"emoji": "๐",
"code": ":notebook_with_decorative_cover:",
"description": "Add or update types",
"name": "types"
},
{
"emoji": "๐คก",
"code": ":clown_face:",
"description": "Mock things",
"name": "mock"
},
{
"emoji": "๐จ",
"code": ":hammer:",
"description": "Add or update development scripts",
"name": "script"
},
{
"emoji": "๐ฅ
",
"code": ":goal_net:",
"description": "Catch errors",
"name": "error"
},
{
"emoji": "๐ฉบ",
"code": ":stethoscope:",
"description": "Add or update healthcheck",
"name": "healthcheck"
},
{
"emoji": "๐ฆ",
"code": ":package:",
"description": "Add or update compiled files or packages",
"name": "package"
},
{
"emoji": "โ",
"code": ":heavy_plus_sign:",
"description": "Add dependencies",
"name": "dep-add"
},
{
"emoji": "โ",
"code": ":heavy_minus_sign:",
"description": "Remove dependencies",
"name": "dep-rm"
},
{
"emoji": "โฌ",
"code": ":arrow_down:",
"description": "Downgrade dependencies",
"name": "dep-down"
},
{
"emoji": "โฌ",
"code": ":arrow_up:",
"description": "Upgrade dependencies",
"name": "dep-up"
},
{
"emoji": "๐",
"code": ":pushpin:",
"description": "Pin dependencies to specific versions",
"name": "pushpin"
},
{
"emoji": "๐",
"code": ":tada:",
"description": "Begin a project",
"name": "init"
},
{
"emoji": "๐ง",
"code": ":construction:",
"description": "Work in progress",
"name": "wip"
},
{
"emoji": "๐",
"code": ":rocket:",
"description": "Deploy stuff",
"name": "deploy"
},
{
"emoji": "๐",
"code": ":bookmark:",
"description": "Release / Version tags",
"name": "release"
},
{
"emoji": "๐",
"code": ":chart_with_upwards_trend:",
"description": "Add or update analytics or track code",
"name": "analytics"
},
{
"emoji": "๐",
"code": ":lock:",
"description": "Fix security issues",
"name": "security"
},
{
"emoji": "๐ท",
"code": ":construction_worker:",
"description": "Add or update CI build system",
"name": "ci"
},
{
"emoji": "๐",
"code": ":green_heart:",
"description": "Fix CI Build",
"name": "fixci"
},
{
"emoji": "๐งน",
"code": ":broom:",
"description": "Deprecate code that needs to be cleaned up",
"name": "clean"
},
{
"emoji": "๐ฎ",
"code": ":trash:",
"description": "Remove dead code",
"name": "deadcode"
},
{
"emoji": "๐ณ",
"code": ":whale:",
"description": "Work about Docker",
"name": "docker"
},
{
"emoji": "๐ก",
"code": ":ferris_wheel:",
"description": "Work about Kubernetes",
"name": "k8s"
},
{
"emoji": "๐",
"code": ":apple:",
"description": "Fix something on macOS",
"name": "osx"
},
{
"emoji": "๐ง",
"code": ":penguin:",
"description": "Fix something on Linux",
"name": "linux"
},
{
"emoji": "๐",
"code": ":checkered_flag:",
"description": "Fix something on Windows",
"name": "windows"
},
{
"emoji": "๐ค",
"code": ":robot:",
"description": "Fix something on Android",
"name": "android"
},
{
"emoji": "๐",
"code": ":green_apple:",
"description": "Fix something on iOS",
"name": "ios"
},
{
"emoji": "๐",
"code": ":see_no_evil:",
"description": "Add or update .gitignore file",
"name": "ignore"
},
{
"emoji": "๐ก",
"code": ":bulb:",
"description": "Add or update comments in source code",
"name": "comment"
},
{
"emoji": "๐ธ",
"code": ":camera_flash:",
"description": "Add or update snapshots",
"name": "snapshot"
},
{
"emoji": "๐",
"code": ":loud_sound:",
"description": "Add or update logs",
"name": "addlog"
},
{
"emoji": "๐",
"code": ":mute:",
"description": "Remove logs",
"name": "rmlog"
},
{
"emoji": "๐ฑ",
"code": ":seedling:",
"description": "Add or update seed files",
"name": "seed"
},
{
"emoji": "๐",
"code": ":mag:",
"description": "Improve SEO",
"name": "seo"
},
{
"emoji": "๐ฅ",
"code": ":busts_in_silhouette:",
"description": "Add or update contributor(s)",
"name": "contrib"
},
{
"emoji": "๐",
"code": ":page_facing_up:",
"description": "Add or update license",
"name": "license"
},
{
"emoji": "๐ฅ",
"code": ":egg:",
"description": "Add or update an easter egg",
"name": "egg"
},
{
"emoji": "๐ป",
"code": ":beers:",
"description": "Write code drunkenly",
"name": "beer"
},
{
"emoji": "๐ฉ",
"code": ":poop:",
"description": "Write bad code that needs to be improved",
"name": "poo"
}
]
}
},
}
conventional-changelog-cz-emoji-config
uses cosmiconfig to find and load your configuration object. Starting from the current working directory, it looks for the following possible sources:
- a
changelog
property inpackage.json
- a
.changelogrc
file - a
changelog.config.js
file exporting a JS object
The .changelogrc
file (without extension) can be in JSON or YAML format. You can add a filename extension to help your text editor provide syntax checking and highlighting:
- .changelogrc.json
- .changelogrc.yaml / .changelogrc.yml
- .changelogrc.js
module.exports = {
headerPattern: /^([\w\-]*)(?:\(([\w\-\*]*)\))?:\s+((?:.*(?=\())|.*)(?:\(#(\d*)\))?$/,
headerCorrespondence: ['type', 'scope', 'subject', 'ticket'],
displayTypes: ['*'],
displayScopes: ['*'],
displayTitles: {
'feat': 'Features',
'fix': 'Bug Fixes',
'hotfix': 'Bug Fixes',
'patch': 'Bug Fixes',
'style': 'Styles',
'docs': 'Documentation',
'perf': 'Performance Improvements',
'chore': 'Chores',
'build': 'Build System',
'prune': 'Prune & Move & Rename',
'ui': 'UI',
'test': 'Tests',
'lint': 'Lint',
'refactor': 'Code Refactoring',
'config': 'Configuration',
'i18n': 'Internationalization & Localization',
'typo': 'Typos',
'revert': 'Reverts',
'merge': 'Merge',
'break': 'BREAKING CHANGES',
'api': 'API',
'move': 'Move & Rename',
'data': 'Data',
'db': 'Database',
'ux': 'User experience & Usability',
'business': 'Business Logic',
'arch': 'Architecture',
'texts': 'Text & Literals',
'assets': 'Assets',
'auth': 'Authorization',
'access': 'Accessibility',
'review': 'Review Changes',
'experiment': 'Experiments',
'flags': 'Feature Flags',
'animation': 'Animations',
'responsive': 'Responsive Design',
'types': 'Types',
'mock': 'Mock',
'script': 'Scripts',
'error': 'Errors',
'healthcheck': 'Healthcheck',
'package': 'Packages',
'dep-add': 'Dependencies',
'dep-rm': 'Dependencies',
'dep-down': 'Dependencies',
'pushpin': 'Dependencies',
'dep-up': 'Dependencies',
'init': 'Init Project',
'wip': 'Work in Progress',
'deploy': 'Deploy',
'release': 'Release & Version tags',
'analytics': 'Analytics',
'security': 'Security',
'ci': 'Continuous Integration',
'fixci': 'Continuous Integration',
'clean': 'Clean',
'deadcode': 'Clean',
'docker': 'Docker',
'k8s': 'Kubernetes',
'osx': 'macOS',
'linux': 'Linux',
'windows': 'Windows',
'android': 'Android',
'ios': 'iOS',
'ignore': 'Git',
'comment': 'Comments',
'snapshot': 'Snapshots',
'addlog': 'Logs',
'rmlog': 'Logs',
'seed': 'Seed files',
'seo': 'SEO',
'contrib': 'Contributors',
'license': 'License',
'egg': 'Easter Egg',
'beer': 'Bad Code',
'poo': 'Bad Code',
},
displayTitleEmojis: {
'Features': 'โจ',
'Bug Fixes': '๐',
'Styles': '๐จ',
'Documentation': '๐',
'Performance Improvements': '๐ ๏ธ',
'Chores': '๐ซ',
'Build System': '๐ญ',
'Prune & Move & Rename': '๐ฅ',
'UI': '๐',
'Tests': 'โ
',
'Lint': '๐จ',
'Code Refactoring': '๐',
'Configuration': '๐ง',
'Internationalization & Localization': '๐',
'Typos': 'โ',
'Reverts': 'โช',
'Merge': '๐',
'BREAKING CHANGES': '๐ฅ',
'API': '๐ฝ',
'Move & Rename': '๐',
'Data': '๐ก',
'Database': '๐ฝ',
'User experience & Usability': '๐ธ',
'Business Logic': '๐',
'Architecture': '๐ ',
'Text & Literals': '๐ฌ',
'Assets': '๐ฑ',
'Authorization': '๐',
'Accessibility': 'โฟ',
'Review Changes': '๐',
'Experiments': '๐งช',
'Feature Flags': '๐ฉ',
'Animations': '๐ซ',
'Responsive Design': '๐ฑ',
'Types': '๐',
'Mock': '๐คก',
'Scripts': '๐จ',
'Errors': '๐ฅ
',
'Healthcheck': '๐ฉบ',
'Packages': '๐ฆ',
'Dependencies': '๐',
'Init Project': '๐',
'Work in Progress': '๐ง',
'Deploy': '๐',
'Release & Version tags': '๐',
'Analytics': '๐',
'Security': '๐',
'Continuous Integration': '๐ท',
'Clean': '๐งน',
'Docker': '๐ณ',
'Kubernetes': '๐ก',
'macOS': '๐',
'Linux': '๐ง',
'Windows': '๐',
'Android': '๐ค',
'iOS': '๐',
'Git': '๐',
'Comments': '๐ก',
'Snapshots': '๐ธ',
'Logs': '๐',
'Seed files': '๐ฑ',
'SEO': '๐',
'Contributors': '๐ฅ',
'License': '๐',
'Easter Egg': '๐ฅ',
'Bad Code': '๐ฉ',
},
scopeDisplayName: {},
withEmoji: true,
showAuthor: false,
}