Package Exports
- @telerik/semantic-prerelease
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (@telerik/semantic-prerelease) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
semantic-prerelease
A set of scripts for semantic-release that allow publishing of prerelease versions from branches.
This projects allows you to push prerelease package versions to NPM, hidden behind a dist-tag, and trigger deployments by fast-forwarding a release branch.
Prerequisites
- semantic-release 4.x+
- git 2.13+ (used for tag parsing)
This project has been tested in Travis-CI and Jenkins builds.
Usage
Install the node module through the following command:
npm install --save-dev @telerik/semantic-prerelease
Describe the branches that will publish prerelease versions. In this example, commits in the
develop
branch pushes prerelease versions to thedev
dist-tag. UsefallbackTags
to bootstrap the versions.// package.json "release": { "branchTags": { "develop": "dev" }, "fallbackTags": { "dev": "latest" } }
Configure semantic-release to use the included plug-ins:
// package.json "release": { "analyzeCommits": "@telerik/semantic-prerelease/analyzeCommits", "generateNotes": "@telerik/semantic-prerelease/generateNotes", "getLastRelease": "@telerik/semantic-prerelease/getLastRelease", "verifyConditions": "@telerik/semantic-prerelease/verifyConditions", "verifyRelease": "@telerik/semantic-prerelease/verifyRelease" }
Use
semantic-prerelease publish
instead ofnpm publish
in the end of your build. This publishes the prerelease versions behind dist-tags.
With the above setup, new official releases (bearing the latest
dist-tag) can be published from master
by fast-forwarding it to develop
:
git checkout master && git merge --ff-only develop && git push
Your first official release will be published with version 0.1.0 to enable automatic releases during initial development. You must mark a commit as a major release to bump the major version to 1. This is different than vanilla semantic-release where your first release is 1.0.0