@ryaninvents/changeset-run
v0.1.0
Published
Use custom publish scripts for packages in Atlassian Changesets, perfect for non-npm artifacts
Downloads
3
Readme
@ryaninvents/changeset-run
Use custom publish scripts for packages in Atlassian Changesets, perfect for non-npm artifacts
Usage
Workflow based on this GitHub comment.
Install:
$ npm install -g @ryaninvents/changeset-run
Make sure that you have a line /.changeset/.release-plan.json
in your .gitignore
file.
Update your CI setup to run something like this:
# Create the release-plan file
$(npm bin)/changeset-run preversion
# Update the version(s) of your package(s)
$(npm bin)/changeset version
# Your typical build steps go here; for example:
npm run build
npm test
# Run your publish step for each package, as defined in `/.changeset/changeset-run.config.json`
$(npm bin)/changeset-run publish
# Push your Git tags back to the repo
git push --follow-tags
Config
Here's the config file format. Comments here are only for illustration; if you add comments to your config file it will break.
{
"packageOptions": {
// Keyed on the name of the package. If a package is not listed, ordinary `npm publish` will apply.
"@my-scope/docker-package": {
"steps": [
{
// The command to run
"command": "docker",
// Array of arguments to the command.
"args": [
// Ordinary string argument
"build",
"-t",
// Array argument. Values are concatenated together; objects with a "$" key represent a
// variable to look up in the release plan. Possible values are `newVersion`, `oldVersion`,
// `releaseType`, and `packageName`
["my-scope/image-name:", { "$": "newVersion" }],
"."
]
},
{
"command": "docker",
"args": ["push"]
}
]
}
}
}
Commands
changeset-run help [COMMAND]
display help for changeset-run
USAGE
$ changeset-run help [COMMAND]
ARGUMENTS
COMMAND command to show help for
OPTIONS
--all see all commands in CLI
See code: @oclif/plugin-help
changeset-run preversion
Cache planned publish steps before running changeset version
USAGE
$ changeset-run preversion
OPTIONS
-h, --help show CLI help
-p, --planfile=planfile [default: ./.changeset/.release-plan.json] release plan file to write to; must be in
.gitignore
See code: src/commands/preversion.ts
changeset-run publish
Run custom publish command for one or more packages in this project.
USAGE
$ changeset-run publish
OPTIONS
-c, --config=config [default: ./.changeset/changeset-run.config.json] Path to alternate changeset-run config file
-h, --help show CLI help
-p, --planfile=planfile [default: ./.changeset/.release-plan.json] release plan file to write to; must be in
.gitignore
--exclude=exclude [default: ] Individual package name to prevent publish. May be specified multiple times;
processed after --include
--include=include [default: ] Individual package name to publish. May be specified multiple times; processed
before --exclude
See code: src/commands/publish.ts