import { Component, ReleasableCommits, Version, VersionBranchOptions, release } from 'projen'; import { GatherVersionsOptions } from './gather-versions.task'; import { TypeScriptWorkspace } from './typescript-workspace'; export interface WorkspaceReleaseOptions { readonly private: boolean; /** @default 'lts/*' */ readonly workflowNodeVersion?: string; readonly publishToNpm?: boolean; readonly npmDistTag?: string; readonly releasableCommits?: ReleasableCommits; readonly nextVersionCommand?: string; readonly npmTrustedPublishing?: boolean; readonly environment?: string; readonly versionBranchOptions: VersionBranchOptions; /** * For runtime and peer dependencies, the type of dependency we take on each package */ readonly repoRuntimeDependencies?: GatherVersionsOptions['repoRuntimeDependencies']; } export declare class WorkspaceRelease extends Component { readonly publisher?: release.Publisher; readonly version?: Version; readonly workspace: TypeScriptWorkspace; constructor(project: TypeScriptWorkspace, options: WorkspaceReleaseOptions); /** * Get the bump version task * * If this is a private package, it won't have a bump task yet. * So instead we create an empty one that can be called from the monorepo root * and serve as a container for other steps that need to occur as part of the release */ private obtainBumpTask; /** * Get the unbump version task *. * If this is a private package, it won't have a bump task yet * So instead we create an empty one that can be called from the monorepo root * and serve as a container for other steps that need to occur as part of the release */ private obtainUnbumpTask; }