Skip to content

release()

Execute a complete release workflow programmatically.

Signature

ts
function release(options: ReleaseOptions): Promise<void>

Options

ts
interface ReleaseOptions {
  // Release type
  releaseType?: 'major' | 'minor' | 'patch'

  // Git operations
  commit?: boolean
  tag?: boolean
  push?: boolean
  noGitChecks?: boolean

  // Publishing
  publish?: boolean
  providerRelease?: boolean

  // Monorepo
  packages?: string[]

  // Behavior
  yes?: boolean
  dryRun?: boolean
  logLevel?: 'silent' | 'error' | 'warn' | 'info' | 'debug'

  // Configuration
  config?: string

  /**
   * Run without side effects
   * @default false
   */
  dryRun?: boolean
  /**
   * @default undefined
   */
  from?: string
  /**
   * @default undefined
   */
  to?: string
  /**
   * @default undefined
   */
  token?: string
  /**
   * @default undefined
   */
  logLevel?: LogLevel
  /**
   * @default 'relizy'
   */
  configName?: string
  /**
   * Bump even if there are no commits
   * @default false
   */
  force?: boolean
  /**
   * Custom suffix for prerelease versions - replace the last .X with .suffix (e.g. 1.0.0-beta.0 -> 1.0.0-beta.suffix)
   * @default undefined
   */
  suffix?: string
}

Example

ts
import { release } from 'relizy'

await release({
  type: 'minor',
  commit: true,
  tag: true,
  push: true,
  publish: true,
  providerRelease: true,
})

See Also

Released under the MIT License.