@ryaninvents/changeset-run
TypeScript icon, indicating that this package has built-in type declarations

0.1.0 • Public • Published

@ryaninvents/changeset-run

Use custom publish scripts for packages in Atlassian Changesets, perfect for non-npm artifacts

oclif Version CircleCI Downloads/week License

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

Readme

Keywords

Package Sidebar

Install

npm i @ryaninvents/changeset-run

Weekly Downloads

0

Version

0.1.0

License

MIT

Unpacked Size

18.5 kB

Total Files

18

Last publish

Collaborators

  • ryaninvents