A collection of functions and classes for managing version numbers.
$ yarn add @skypilot/versioner
# or
$ npm install @skypilot/versioner
import { bumpVersion, ChangeLevel } from '@skypilot/versioner';
bumpVersion(
version: string,
changeLevel: ChangeLevel,
channel?: string,
previousVersions?: string[]
)
bumpVersion('1.0.1', ChangeLevel.patch)
// '1.0.2'
bumpVersion('1.0.1', ChangeLevel.minor)
// '1.1.0'
bumpVersion('1.0.1', ChangeLevel.major)
// '2.0.0'
bumpVersion('1.0.1', ChangeLevel.minor, 'alpha')
// '1.1.0-alpha.0'
bumpVersion('1.0.1', ChangeLevel.minor, 'alpha', ['1.1.0-alpha.1', '1.1.0-alpha.2'])
// '1.1.0-alpha.3'
import { bumpVersion } from '@skypilot/versioner';
bumpVersion(
version, // string
changeLevel, // 'major' | 'minor' | 'patch' | 'fix'
channel, // [optional] string
previousVersions // [optional] string[]
)
bumpVersion('1.0.1', 'patch')
// '1.0.2'
bumpVersion('1.0.1', 'minor')
// '1.1.0'
bumpVersion('1.0.1', 'major')
// '2.0.0'
bumpVersion('1.0.1', 'minor', 'alpha')
// '1.1.0-alpha.0'
bumpVersion('1.0.1', 'minor', 'alpha', ['1.1.0-alpha.1', '1.1.0-alpha.2'])
// '1.1.0-alpha.3'
The library exposes the following exports:
PrereleaseVersion
ReleaseVersion
ChangeLevel
parseChangeLevel(changeLevel: string): ChangeLevel
TODO: Document class and function API.