Semantic Release shareable config to publish NPM packages with 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.
$> npx @scaleleap/semantic-release-config
The shareable config can be configured in the semantic-release configuration file:
In package.json
:
{
"release": {
"extends": "@scaleleap/semantic-release-config"
}
}
Ensure that your CI configuration has the following secret environment variables set:
GH_TOKEN
withpublic_repo
access.NPM_TOKEN
NODE_AUTH_TOKEN
SLACK_WEBHOOK
Optional
See each plugin documentation for required installation and configuration steps.
This repository uses Conventional Commit style commit messages.
- Roman Filippov (Scale Leap)
This project is licensed under the MIT License.