semantic-release shareable configuration for npm & GitHub
This shareable configuration uses the following plugins:
@semantic-release/commit-analyzer
@semantic-release/release-notes-generator
@semantic-release/npm
@semantic-release/github
@semantic-release/git
- Provides an informative git commit message for the release commit that does not trigger continuous integration and conforms to the conventional commits specification (e.g., "chore(release): 1.2.3 [skip ci]\n\nnotes").
- Creates a tarball that gets uploaded with each GitHub release.
- Publishes the same tarball to npm.
- Commits the version change in
package.json
. - Creates or updates a changelog file.
$ npm install --save-dev semantic-release @bubkoo/semantic-release-config
The shareable config can be configured in the semantic-release configuration file with default configuration:
{
"extends": "@bubkoo/semantic-release-config"
}
We can also specify plugin options in .releaserc.js
file:
var config = require('@bubkoo/semantic-release-config/config');
module.exports = config({
commitAnalyzer: {...},
releaseNotesGenerator: {...},
changelog: {...},
npm: {...},
github: {...},
git: {...},
})