published helps streamline a git based workflow with package publishing through continues delivery. Developers control their branch and version strategies, and published takes care of logical conditioning of when to publish stable versions and/or release candidates.
npx published@1
OR
npm exec published@1 --yes
| option | Description | Example |
|---|---|---|
| testing | Dry run | npm exec published --yes -- --testing |
| slack.webhook | Notify on Slack | npm exec published --yes -- --slack.webhook $SLACK_WEBHOOK |
| slack.channel | Change Slack webhook channel | npm exec published --yes -- --slack.webhook $SLACK_WEBHOOK --slack.channel "#publish" |
| quiet | Silent outputs and notifications | npm exec published --yes -- --quiet |
| git-tag | Push a tag to git, Only from master(latest-branch) or latest branch |
npm exec published --yes -- --git-tag |
| prefix-git-tag | Choose a prefix that will be prepend to git tag. Only from master(latest-branch) or latest branch |
npm exec published --yes -- --git-tag --prefix-git-tag=my-prefix@ |
| on-publish | Execute shell command after a publish event | npm exec published --yes -- --on-publish bash\ ./do-more.sh |
| on-<tag> | Execute shell command after a publish event with this tag (executes after on-publish) | npm exec published --yes -- --on-latest 'echo "Published!"' |
| latest-branch | Branch that is considered latest (default is 'master') | npm exec published --yes -- --latest-branch stable |
| tag-name | Tag name to be used regardless of config. If performed from a branch other than master, needs to be used in conjunction with latest-branch option |
npm exec published --yes -- --tag-name next --latest-branch next |
| no-sha | Disables the commit's SHA suffix for RC versions | npm exec published --yes -- --no-sha |
| Branch type | action |
|---|---|
| Feature branch | Release RC versions on tag by branch name. |
| Master (latest) branch | Release clean semver on "latest" tag. |
echo "//registry.npmjs.org/:_authToken=$NPM_TOKEN" >> ~/.npmrc
rc string--no-sha flag was passed, branch versions get a suffix that matches the commit ID, so you can re install the same tag and get updates* using
latest-branchoption will switch its behaviour with master
| branch | version | publish | tag | w/o sha |
|---|---|---|---|---|
my_feature_branch, next |
1.3.0 |
nothing | N/A | - |
my_feature_branch, next |
1.3.1-alpha |
nothing | N/A | - |
my_feature_branch, next |
1.3.1-rc |
1.3.1-rc |
my_feature_branch, next |
✓ |
my_feature_branch, next |
1.3.1-rc.1 |
1.3.1-rc.1 |
my_feature_branch, next |
✓ |
my_feature_branch, next |
1.3.1-rc |
1.3.1-rc-c447f6a |
my_feature_branch, next |
✕ |
my_feature_branch, next |
1.3.1-rc.1 |
1.3.1-rc.1-c447f6a |
my_feature_branch, next |
✕ |
master, latest |
1.3.0 |
1.3.0 |
latest |
- |
master, latest |
1.3.0-beta |
Throws Error | N/A | - |
master, latest |
1.3.0-rc |
Throws Error | N/A | - |
* using
latest-branchoption will switch its behaviour with master
Package icon by Julien Deveaux from the Noun Project