1.1.79 • Public • Published

Pre-configured shareable Semantic Release configuration for conventional commits

npm version

This is a ready-to-use, pre-defined configuration for semantic-release, meant to support the use of conventional commits along with Whitesource Renovate.


MAJOR release

  • Any commit type and scope terminating with ! causes a BREAKING CHANGE

MINOR release

  • Commit type chore with scope api-deps (Dependency updates)
  • Commit type feat (Features) with any scope

PATCH release

  • Commit type chore with scope core-deps (Dependency updates)
  • Commit type fix (Bug Fixes) with any scope
  • Commit type docs (Documentation) with any scope
  • Commit type perf (Performance improvements) with any scope
  • Commit type revert (Revert previous changes) with any scope

No release

  • Commit type test (Tests)
  • Commit type ci (Build and continuous integration)
  • Commit type build (Build and continuous integration)
  • Commit type chore with scope deps (Dependency updates)
  • Commit type chore (General maintenance) with scopes different than the ones mentioned above
  • Commit type style (Style improvements) with any scope
  • Commit type refactor (Refactoring) with any scope


To use this configuration, add to your package.json:

  "devDependencies": {
    "semantic-release-preconfigured-conventional-commits": "latest"

(actually, pick the latest stable version)

The configuration sets up and pre-applies semantic-release/commit-analyzer, semantic-release/release-notes-generator, and semantic-release/changelog.

These are usually always present, but rarely enough.

Then, the recommended way to exploit this pre-configuration is through a release.config.js file in the project root; the reason is that currently the semantic release extension mechanism does not merge the configurations in-depth, thus, adding further plugins results in the configuration being ignored.

A minimal release.config.js for creating releases on GitHub, for instance, looks like:

var config = require('semantic-release-preconfigured-conventional-commits');
module.exports = config

It can be easily enriched to account for more elaborate workflows, as, for instance:

var publishCmd = `
docker build -t "$IMAGE_NAME:\${nextRelease.version}"
docker push --all-tags "$IMAGE_NAME"
var config = require('semantic-release-preconfigured-conventional-commits');
            "publishCmd": publishCmd,
module.exports = config

Proposing changes

I gladly consider changes to the configuration. In case you think something is missing or deserves to be changed, open an issue.

Package Sidebar


npm i semantic-release-preconfigured-conventional-commits

Weekly Downloads






Unpacked Size

12 kB

Total Files


Last publish


  • danysk