Skip to content

release

Publish workspace npm packages and generate changelogs.

Usage

shell
rt release
rt release --skip-npm-publish
rt release --npm-tag beta
rt release --skip-changelog --skip-git-tag
rt release --check-remote-version --remote upstream

CLI Arguments

All options can be passed as command-line arguments. CLI arguments take priority over config file options.

ArgumentDescription
-t, --npm-tag <tag>npm dist-tag for publishing, e.g. beta, next
-r, --remote <remote>Git remote name for pushing
--skip-npm-publishSkip npm publish
--skip-changelogSkip changelog generation
--skip-git-tagSkip git tag
-c, --check-remote-versionSkip publish if the current version already exists on npm

Config

ts
import { defineConfig } from 'rattail/vite-plus'

export default defineConfig({
  rattail: {
    release: {
      // skipNpmPublish: true,
      // skipChangelog: true,
    },
  },
})

Programmatic Usage

ts
import { release } from 'rattail/cli'

await release({
  // skipNpmPublish: true,
  // skipChangelog: true,
})

Options

OptionTypeDefaultDescription
npmTagstring-npm dist-tag for publishing, e.g. beta, next. Defaults to latest if not set
skipNpmPublishboolean-Skip npm publish
skipChangelogboolean-Skip changelog generation
skipGitTagboolean-Skip git tag
checkRemoteVersionboolean-Check npm remote version before publishing, skip if version already exists
task(newVersion, oldVersion) => Promise<void>-Custom task to run after version update but before npm publish, e.g. build
remotestringoriginGit remote name for pushing, rarely needs to be changed