Security News
RubyGems.org Adds New Maintainer Role
RubyGems.org has added a new "maintainer" role that allows for publishing new versions of gems. This new permission type is aimed at improving security for gem owners and the service overall.
cz-conventional-changelog
Advanced tools
Commitizen adapter following the conventional-changelog format.
The cz-conventional-changelog package is an adapter for Commitizen that prompts developers to follow the Conventional Commits specification when making commits. This helps in generating consistent and meaningful commit messages, which can be used to automate the release process and generate changelogs.
Commit Message Prompting
This feature provides a set of prompts to guide the developer in writing a commit message that adheres to the Conventional Commits specification. The prompts include selecting the type of change, writing a short description, and optionally providing a longer description, listing breaking changes, and referencing issues.
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' },
{ 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 or correcting existing tests' },
{ value: 'build', name: 'build: Changes that affect the build system or external dependencies' },
{ value: 'ci', name: 'ci: Changes to our CI configuration files and scripts' },
{ value: 'chore', name: 'chore: Other changes that don't modify src or test files' },
{ value: 'revert', name: 'revert: Reverts a previous commit' }
],
messages: {
type: "Select the type of change that you're committing:",
subject: 'Write a short, imperative tense description of the change (max 94 chars):',
body: 'Provide a longer description of the change (optional). Use "|" to break new line:',
breaking: 'List any breaking changes (optional):',
footer: 'Issues this commit closes, e.g., #31, #34 (optional):'
}
};
Commitizen is a tool that helps you write consistent commit messages by providing an interactive prompt. It is the base tool that cz-conventional-changelog extends. While Commitizen itself does not enforce a specific commit message format, it allows you to use adapters like cz-conventional-changelog to enforce the Conventional Commits specification.
Standard Version is a tool that automates versioning and changelog generation based on Conventional Commits. Unlike cz-conventional-changelog, which focuses on guiding the commit message process, Standard Version takes those commit messages and uses them to bump versions, generate changelogs, and create Git tags.
Semantic Release automates the versioning and package publishing process based on the commit messages. It uses the Conventional Commits specification to determine the type of changes in the codebase and automatically publishes new versions. While cz-conventional-changelog helps in writing commit messages, Semantic Release takes it a step further by automating the release process.
Part of the commitizen family. Prompts for conventional changelog standard.
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": "",
"types": {
...
"feat": {
"description": "A new feature",
"title": "Features"
},
...
}
}
}
// ...
}
The following environment varibles can be used to override any default configuration or package.json based configuration.
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.
FAQs
Commitizen adapter following the conventional-changelog format.
The npm package cz-conventional-changelog receives a total of 592,698 weekly downloads. As such, cz-conventional-changelog popularity was classified as popular.
We found that cz-conventional-changelog demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 5 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
RubyGems.org has added a new "maintainer" role that allows for publishing new versions of gems. This new permission type is aimed at improving security for gem owners and the service overall.
Security News
Node.js will be enforcing stricter semver-major PR policies a month before major releases to enhance stability and ensure reliable release candidates.
Security News
Research
Socket's threat research team has detected five malicious npm packages targeting Roblox developers, deploying malware to steal credentials and personal data.