semantic-release-preconfigured-conventional-commits v1.1.85
Pre-configured shareable Semantic Release configuration for conventional commits
This is a ready-to-use, pre-defined configuration for semantic-release, meant to support the use of conventional commits along with Whitesource Renovate.
Configuration
MAJOR release
- Any commit type and scope terminating with
!
causes aBREAKING CHANGE
MINOR release
- Commit type
chore
with scopeapi-deps
(Dependency updates) - Commit type
feat
(Features) with any scope
PATCH release
- Commit type
chore
with scopecore-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 scopedeps
(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
Usage
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');
config.plugins.push(
"@semantic-release/github",
"@semantic-release/git",
)
module.exports = config
It can be easily enriched to account for more elaborate workflows, as, for instance:
var publishCmd = `
IMAGE_NAME="danysk/docker-manjaro-texlive-ruby"
docker build -t "$IMAGE_NAME:\${nextRelease.version}"
docker push --all-tags "$IMAGE_NAME"
`
var config = require('semantic-release-preconfigured-conventional-commits');
config.plugins.push(
[
"@semantic-release/exec",
{
"publishCmd": publishCmd,
}
],
"@semantic-release/github",
"@semantic-release/git",
)
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.
4 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
6 months ago
6 months ago
6 months ago
6 months ago
6 months ago
5 months ago
5 months ago
6 months ago
6 months ago
5 months ago
6 months ago
8 months ago
8 months ago
8 months ago
7 months ago
7 months ago
7 months ago
8 months ago
7 months ago
7 months ago
7 months ago
7 months ago
7 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
10 months ago
10 months ago
10 months ago
8 months ago
8 months ago
10 months ago
10 months ago
8 months ago
8 months ago
8 months ago
8 months ago
8 months ago
8 months ago
8 months ago
8 months ago
8 months ago
8 months ago
8 months ago
11 months ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
2 years ago
1 year ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago