UNPKG

@jwpkg/gitversion

Version:

Gitversion is a complete customizable git-based release management system

58 lines 6.28 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.RestoreCommand = void 0; const application_1 = require("../core/application"); const bump_manifest_1 = require("../core/bump-manifest"); const format_utils_1 = require("../core/format-utils"); const version_utils_1 = require("../core/version-utils"); const workspace_utils_1 = require("../core/workspace-utils"); const context_1 = require("./context"); class RestoreCommand extends context_1.GitVersionCommand { static paths = [ ['restore'], ]; async execute() { const { project, configuration, git, branch, logger } = await application_1.Application.init(this.context.application); if (!project) { return 1; } logger.reportInfo(`Branch type: ${(0, format_utils_1.formatVersionBranch)(branch)}`); const section = logger.beginSection('Restore step'); const isShallow = await git.exec('rev-parse', '--is-shallow-repository'); if (isShallow === 'true') { logger.reportInfo('Unshallowing'); if (!(await git.execSilent('fetch', '--unshallow'))) { await git.execSilent('fetch', '--all'); } } await bump_manifest_1.BumpManifest.clear(configuration); if (configuration.options.independentVersioning) { const promises = project.workspaces.map(async (workspace) => { const version = await this.currentVersionFromGit(workspace, git, branch, configuration.options.versionTagPrefix); await (0, workspace_utils_1.updateWorkspaceVersion)(workspace, logger, version.version); }); await Promise.all(promises); } else { const version = await this.currentVersionFromGit(project, git, branch, configuration.options.versionTagPrefix); logger.reportInfo(`Latest version in git tags: ${(0, format_utils_1.formatVersion)(version.version)}`); await Promise.all(project.workspaces.map(w => (0, workspace_utils_1.updateWorkspaceVersion)(w, logger, version.version))); } logger.endSection(section); return 0; } async currentVersionFromGit(workspace, git, branch, standardPrefix) { const tags = await git.versionTags(workspace.tagPrefix); if (tags.length === 0) { const projectTags = await git.versionTags(workspace.project.tagPrefix); if (projectTags.length === 0) { const officialGenericTags = await git.versionTags(standardPrefix); return (0, version_utils_1.determineCurrentVersion)(officialGenericTags, branch, standardPrefix); } return (0, version_utils_1.determineCurrentVersion)(projectTags, branch, workspace.project.tagPrefix); } return (0, version_utils_1.determineCurrentVersion)(tags, branch, workspace.tagPrefix); } } exports.RestoreCommand = RestoreCommand; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzdG9yZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb21tYW5kcy9yZXN0b3JlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHFEQUFrRDtBQUNsRCx5REFBcUQ7QUFFckQsdURBQTBFO0FBRTFFLHlEQUFnRTtBQUNoRSw2REFBNkU7QUFFN0UsdUNBQThDO0FBRTlDLE1BQWEsY0FBZSxTQUFRLDJCQUFpQjtJQUNuRCxNQUFNLENBQUMsS0FBSyxHQUFHO1FBQ2IsQ0FBQyxTQUFTLENBQUM7S0FDWixDQUFDO0lBRUYsS0FBSyxDQUFDLE9BQU87UUFDWCxNQUFNLEVBQUUsT0FBTyxFQUFFLGFBQWEsRUFBRSxHQUFHLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxHQUFHLE1BQU0seUJBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUN6RyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDYixPQUFPLENBQUMsQ0FBQztRQUNYLENBQUM7UUFFRCxNQUFNLENBQUMsVUFBVSxDQUFDLGdCQUFnQixJQUFBLGtDQUFtQixFQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUNqRSxNQUFNLE9BQU8sR0FBRyxNQUFNLENBQUMsWUFBWSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBRXBELE1BQU0sU0FBUyxHQUFHLE1BQU0sR0FBRyxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUseUJBQXlCLENBQUMsQ0FBQztRQUN6RSxJQUFJLFNBQVMsS0FBSyxNQUFNLEVBQUUsQ0FBQztZQUN6QixNQUFNLENBQUMsVUFBVSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1lBQ2xDLElBQUksQ0FBQyxDQUFDLE1BQU0sR0FBRyxDQUFDLFVBQVUsQ0FBQyxPQUFPLEVBQUUsYUFBYSxDQUFDLENBQUMsRUFBRSxDQUFDO2dCQUNwRCxNQUFNLEdBQUcsQ0FBQyxVQUFVLENBQUMsT0FBTyxFQUFFLE9BQU8s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