UNPKG

@jwpkg/gitversion

Version:

Gitversion is a complete customizable git-based release management system

74 lines 5.77 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.BumpManifest = void 0; const promises_1 = require("fs/promises"); const fs_1 = require("fs"); const path_1 = require("path"); const MANIFEST_NAME = 'bump-manifest.json'; class BumpManifest { application; gitStatus; bumps; constructor(application, gitStatus, bumps) { this.application = application; this.bumps = bumps ?? []; this.gitStatus = gitStatus; } static async load(application) { const bumpManifestFile = (0, path_1.join)(application.configuration.stagingFolder, MANIFEST_NAME); if ((0, fs_1.existsSync)(bumpManifestFile)) { const content = await (0, promises_1.readFile)(bumpManifestFile, 'utf-8'); const manifest = JSON.parse(content); return new BumpManifest(application, manifest.gitStatus, manifest.bumps); } return null; } static async new(application) { await this.clear(application.configuration); const gitStatus = await application.git.gitStatusHash(); const result = new BumpManifest(application, { preBump: gitStatus, postBump: 'INVALID', }); return result; } static async clear(configuration) { (0, promises_1.rm)((0, path_1.join)(configuration.stagingFolder, MANIFEST_NAME), { force: true, }); } add(workspace, version, previousVersion, changeLog, commits) { this.bumps.push({ changeLog, previousVersion, packageName: workspace.packageName, packageRelativeCwd: workspace.relativeCwd, version, tag: workspace.tagPrefix + version, private: workspace.manifest.private === true, commits, }); } async persist() { if (!this.gitStatus.preBump) { throw new Error('No pre bump status hash set'); } const bumpManifestFile = (0, path_1.join)(this.application.configuration.stagingFolder, MANIFEST_NAME); const content = { gitStatus: { preBump: this.gitStatus.preBump, postBump: await this.application.git.gitStatusHash(), }, bumps: this.bumps, }; const contentData = JSON.stringify(content, null, 2); await (0, promises_1.mkdir)((0, path_1.dirname)(bumpManifestFile), { recursive: true, }); await (0, promises_1.writeFile)(bumpManifestFile, contentData, { encoding: 'utf-8', }); } } exports.BumpManifest = BumpManifest; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVtcC1tYW5pZmVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb3JlL2J1bXAtbWFuaWZlc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsMENBQTZEO0FBQzdELDJCQUFnQztBQUNoQywrQkFBcUM7QUFRckMsTUFBTSxhQUFhLEdBQUcsb0JBQW9CLENBQUM7QUF1QjNDLE1BQWEsWUFBWTtJQUlLO0lBSDVCLFNBQVMsQ0FBd0I7SUFDakMsS0FBSyxDQUFTO0lBRWQsWUFBNEIsV0FBeUIsRUFBRSxTQUFnQyxFQUFFLEtBQWM7UUFBM0UsZ0JBQVcsR0FBWCxXQUFXLENBQWM7UUFDbkQsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLElBQUksRUFBRSxDQUFDO1FBQ3pCLElBQUksQ0FBQyxTQUFTLEdBQUcsU0FBUyxDQUFDO0lBQzdCLENBQUM7SUFFRCxNQUFNLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxXQUF5QjtRQUN6QyxNQUFNLGdCQUFnQixHQUFHLElBQUEsV0FBSSxFQUFDLFdBQVcsQ0FBQyxhQUFhLENBQUMsYUFBYSxFQUFFLGFBQWEsQ0FBQyxDQUFDO1FBRXRGLElBQUksSUFBQSxlQUFVLEVBQUMsZ0JBQWdCLENBQUMsRUFBRSxDQUFDO1lBQ2pDLE1BQU0sT0FBTyxHQUFHLE1BQU0sSUFBQSxtQkFBUSxFQUFDLGdCQUFnQixFQUFFLE9BQU8sQ0FBQyxDQUFDO1lBQzFELE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUF3QixDQUFDO1lBQzVELE9BQU8sSUFBSSxZQUFZLENBQ3JCLFdBQVcsRUFDWCxRQUFRLENBQUMsU0FBUyxFQUNsQixRQUFRLENBQUMsS0FBSyxDQUNmLENBQUM7UUFDSixDQUFDO1FBQ0QsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQsTUFBTSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsV0FBeUI7UUFDeEMsTUFBTSxJQUFJLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUM1QyxNQUFNLFNBQVMsR0FBRyxNQUFNLFdBQVcsQ0FBQyxHQUFHLENBQUMsYUFBYSxFQUFFLENBQUM7UUFDeEQsTUFBTSxNQUFNLEdBQUcsSUFBSSxZQUFZLENBQUMsV0FBVyxFQUFFO1lBQzNDLE9BQU8sRUFBRSxTQUFTO1lBQ2xCLFFBQVEsRUFBRSxTQUFTO1NBQ3BCLENBQUMsQ0FBQztRQUVILE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7SUFFRCxNQUFNLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxhQUE2QjtRQUM5QyxJQUFBLGFBQUUsRUFBQyxJQUFBLFdBQUksRUFBQyxhQUFhLENBQUMsYUFBYSxFQUFFLGFBQWEsQ0FBQyxFQUFFO1lBQ25ELEtBQUssRUFBRSxJQUFJO1NBQ1osQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELEdBQUcsQ0FBQyxTQUFxQixFQUFFLE9BQWUsRUFBRSxlQUF1QixFQUFFLFNBQXlCLEVBQUUsT0FBNkI7UUFDM0gsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUM7WUFDZCxTQUFTO1lBQ1QsZUFBZTtZQUNmLFdBQVcsRUFBRSxTQUFTLENBQUMsV0FBVztZQUNsQyxrQkFBa0IsRUFBRSxTQUFTLENBQUMsV0FBVztZQUN6QyxPQUFPO1lBQ1AsR0FBRyxFQUFFLFNBQVMsQ0FBQyxTQUFTLEdBQUcsT0FBTztZQUNsQyxPQUFPLEVBQUUsU0FBUyxDQUFDLFFBQVEsQ0FBQyxPQUFPLEtBQUssSUFBSTtZQUM1QyxPQUFPO1NBQ1IsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELEtBQUssQ0FBQyxPQUFPO1FBQ1gsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDNUIsTUFBTSxJQUFJLEtBQUssQ0FBQyw2QkFBNkIsQ0FBQyxDQUFDO1FBQ2pELENBQUM7UUFDRCxNQUFNLGdCQUFnQixHQUFHLElBQUEsV0FBSSxFQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsYUFBYSxDQUFDLGFBQWEsRUFBRSxhQUFhLENBQUMsQ0FBQztRQUMzRixNQUFNLE9BQU8sR0FBd0I7WUFDbkMsU0FBUyxFQUFFO2dCQUNULE9BQU8sRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU87Z0JBQy9CLFFBQVEsRUFBRSxNQUFNLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLGFBQWEsRUFBRTthQUNyRDtZQUNELEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSztTQUNsQixDQUFDO1FBRUYsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQ3JELE1BQU0sSUFBQSxnQkFBSyxFQUFDLElBQUEsY0FBTyxFQUFDLGdCQUFnQixDQUFDLEVBQUU7WUFDckMsU0FBUyxFQUFFLElBQUk7U0FDaEIsQ0FBQyxDQUFDO1FBRUgsTUFBTSxJQUFBLG9CQUFTLEVBQUMsZ0JBQWdCLEVBQUUsV0FBVyxFQUFFO1lBQzdDLFFBQVEsRUFBRSxPQUFPO1NBQ2xCLENBQUMsQ0FBQztJQUNMLENBQUM7Q0FDRjtBQTVFRCxvQ0E0RUMifQ==