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-configThe 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_TOKENwithpublic_repoaccess.NPM_TOKENNODE_AUTH_TOKENSLACK_WEBHOOKOptional
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.
