@jwpkg/gitversion
Version:
Gitversion is a complete customizable git-based release management system
50 lines • 5.05 kB
JavaScript
;
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);
await (0, workspace_utils_1.updateWorkspaceVersion)(workspace, logger, version.version);
});
await Promise.all(promises);
}
else {
const version = await this.currentVersionFromGit(project, git, branch);
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) {
const tags = await git.versionTags(workspace.tagPrefix);
return (0, version_utils_1.determineCurrentVersion)(tags, branch, workspace.tagPrefix);
}
}
exports.RestoreCommand = RestoreCommand;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzdG9yZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb21tYW5kcy9yZXN0b3JlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHFEQUFrRDtBQUNsRCx5REFBcUQ7QUFFckQsdURBQTBFO0FBRTFFLHlEQUFnRTtBQUNoRSw2REFBNkU7QUFFN0UsdUNBQThDO0FBRTlDLE1BQWEsY0FBZSxTQUFRLDJCQUFpQjtJQUNuRCxNQUFNLENBQUMsS0FBSyxHQUFHO1FBQ2IsQ0FBQyxTQUFTLENBQUM7S0FDWixDQUFDO0lBRUYsS0FBSyxDQUFDLE9BQU87UUFDWCxNQUFNLEVBQUUsT0FBTyxFQUFFLGFBQWEsRUFBRSxHQUFHLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxHQUFHLE1BQU0seUJBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUN6RyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDYixPQUFPLENBQUMsQ0FBQztRQUNYLENBQUM7UUFFRCxNQUFNLENBQUMsVUFBVSxDQUFDLGdCQUFnQixJQUFBLGtDQUFtQixFQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUNqRSxNQUFNLE9BQU8sR0FBRyxNQUFNLENBQUMsWUFBWSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBRXBELE1BQU0sU0FBUyxHQUFHLE1BQU0sR0FBRyxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUseUJBQXlCLENBQUMsQ0FBQztRQUN6RSxJQUFJLFNBQVMsS0FBSyxNQUFNLEVBQUUsQ0FBQztZQUN6QixNQUFNLENBQUMsVUFBVSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1lBQ2xDLElBQUksQ0FBQyxDQUFDLE1BQU0sR0FBRyxDQUFDLFVBQVUsQ0FBQyxPQUFPLEVBQUUsYUFBYSxDQUFDLENBQUMsRUFBRSxDQUFDO2dCQUNwRCxNQUFNLEdBQUcsQ0FBQyxVQUFVLENBQUMsT0FBTyxFQUFFLE9BQU8sQ0FBQyxDQUFDO1lBQ3pDLENBQUM7UUFDSCxDQUFDO1FBRUQsTUFBTSw0QkFBWSxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUV4QyxJQUFJLGFBQWEsQ0FBQyxPQUFPLENBQUMscUJBQXFCLEVBQUUsQ0FBQztZQUNoRCxNQUFNLFFBQVEsR0FBRyxPQUFPLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxLQUFLLEVBQUMsU0FBUyxFQUFDLEVBQUU7Z0JBQ3hELE1BQU0sT0FBTyxHQUFHLE1BQU0sSUFBSSxDQUFDLHFCQUFxQixDQUFDLFNBQVMsRUFBRSxHQUFHLEVBQUUsTUFBTSxDQUFDLENBQUM7Z0JBQ3pFLE1BQU0sSUFBQSx3Q0FBc0IsRUFBQyxTQUFTLEVBQUUsTUFBTSxFQUFFLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUNuRSxDQUFDLENBQUMsQ0FBQztZQUNILE1BQU0sT0FBTyxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUM5QixDQUFDO2FBQU0sQ0FBQztZQUNOLE1BQU0sT0FBTyxHQUFHLE1BQU0sSUFBSSxDQUFDLHFCQUFxQixDQUFDLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxDQUFDLENBQUM7WUFFdkUsTUFBTSxDQUFDLFVBQVUsQ0FBQywrQkFBK0IsSUFBQSw0QkFBYSxFQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLENBQUM7WUFFbkYsTUFBTSxPQUFPLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsSUFBQSx3Q0FBc0IsRUFBQyxDQUFDLEVBQUUsTUFBTSxFQUFFLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDckcsQ0FBQztRQUVELE1BQU0sQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDM0IsT0FBTyxDQUFDLENBQUM7SUFDWCxDQUFDO0lBRUQsS0FBSyxDQUFDLHFCQUFxQixDQUFDLFNBQXFCLEVBQUUsR0FBUSxFQUFFLE1BQXFCO1FBQ2hGLE1BQU0sSUFBSSxHQUFHLE1BQU0sR0FBRyxDQUFDLFdBQVcsQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDeEQsT0FBTyxJQUFBLHVDQUF1QixFQUFDLElBQUksRUFBRSxNQUFNLEVBQUUsU0FBUyxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ3BFLENBQUM7O0FBN0NILHdDQThDQyJ9