Skip to content

🔧 NPM package: Prompt to format commits for conventional changelog generation

License

Notifications You must be signed in to change notification settings

weareopensource/conventional-changelog

Repository files navigation

npm Build Status Code Climate Dependabot badge Known Vulnerabilities

🌐 WeAreOpenSource Conventional Changelog

📖 Presentation

Prompts for conventional changelog standard, based on cz-conventional-changelog, which seems to be abandoned. For this reason, we decided to make our own package and included some PRs, switch to ES6 and add an Emoji system for some fun.

Our rules on this dev, Quick / Simple / Lite.

gif

Quick links :

💥 Installation

Make sure you have installed all of the following prerequisites on your development machine:

Local :

npm install --save-dev @weareopensource/conventional-changelog commitizen
commitizen init @weareopensource/conventional-changelog --save-dev --save-exact

Integration

We suggest to follow something like this : How to create good commit messages. Juste change cz-conventional-changelog part with @weareopensource/conventional-changelog

Configuration

package.json

Like commitizen, you specify the configuration of cz-conventional-changelog through the package.json's config.commitizen key.

{
// ...  default values
    "config": {
        "commitizen": {      
            "path": "./node_modules/cz-conventional-changelog",
            "maxHeaderWidth": 100,
            "maxLineWidth": 100,
            "defaultType": "",
            "defaultScope": "",        
            "defaultSubject": "",
            "defaultBody": "",
            "defaultIssues": ""
        }
    }
// ...    
}

Environment variables

The following environment varibles can be used to override any default configuration or package.json based configuration.

  • CZ_TYPE = defaultType
  • CZ_SCOPE = defaultScope
  • CZ_SUBJECT = defaultSubject
  • CZ_BODY = defaultBody
  • CZ_MAX_HEADER_WIDTH = maxHeaderWidth
  • CZ_MAX_LINE_WIDTH = maxLineWidth

Commitlint

If using the commitlint js library, the "maxHeaderWidth" configuration property will default to the configuration of the "header-max-length" rule instead of the hard coded value of 100. This can be ovewritten by setting the 'maxHeaderWidth' configuration in package.json or the CZ_MAX_HEADER_WIDTH environment variable.

✏️ Contribute

Today, we dreams to create Backs/Fronts, aligns on feats, in multiple languages, in order to allow anyone to compose fullstack on demand (React, Angular, VusJS, Node, Nest, Swift, Go). Feel free to discuss, share other kind of bricks, and invite whoever you want with this mindset to come help us.

Feel free to help us ! :)

📋 Licence

Packagist

🔗 Links

Blog Slack Discord Mail