Security News
Research
Data Theft Repackaged: A Case Study in Malicious Wrapper Packages on npm
The Socket Research Team breaks down a malicious wrapper package that uses obfuscation to harvest credentials and exfiltrate sensitive data.
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",
"disableScopeLowerCase": false,
"disableSubjectLowerCase": false,
"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 986,940 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
Research
The Socket Research Team breaks down a malicious wrapper package that uses obfuscation to harvest credentials and exfiltrate sensitive data.
Research
Security News
Attackers used a malicious npm package typosquatting a popular ESLint plugin to steal sensitive data, execute commands, and exploit developer systems.
Security News
The Ultralytics' PyPI Package was compromised four times in one weekend through GitHub Actions cache poisoning and failure to rotate previously compromised API tokens.