UNPKG

@electron-forge/maker-zip

Version:

ZIP maker for Electron Forge

69 lines 6.66 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.MakerZIP = void 0; const node_path_1 = __importDefault(require("node:path")); const node_util_1 = require("node:util"); const maker_base_1 = require("@electron-forge/maker-base"); const fs_extra_1 = __importDefault(require("fs-extra")); const got_1 = __importDefault(require("got")); class MakerZIP extends maker_base_1.MakerBase { constructor() { super(...arguments); this.name = 'zip'; this.defaultPlatforms = ['darwin', 'mas', 'win32', 'linux']; } isSupportedOnCurrentPlatform() { return true; } async make({ dir, makeDir, appName, packageJSON, targetArch, targetPlatform }) { const { zip } = require('cross-zip'); const zipDir = ['darwin', 'mas'].includes(targetPlatform) ? node_path_1.default.resolve(dir, `${appName}.app`) : dir; const zipName = `${node_path_1.default.basename(dir)}-${packageJSON.version}.zip`; const zipPath = node_path_1.default.resolve(makeDir, 'zip', targetPlatform, targetArch, zipName); await this.ensureFile(zipPath); await (0, node_util_1.promisify)(zip)(zipDir, zipPath); // Only generate RELEASES.json for darwin builds (not MAS) if (targetPlatform === 'darwin' && this.config.macUpdateManifestBaseUrl) { const parsed = new URL(this.config.macUpdateManifestBaseUrl); parsed.pathname += '/RELEASES.json'; const response = await got_1.default.get(parsed.toString(), { throwHttpErrors: false, }); let currentValue = { currentRelease: '', releases: [], }; if (response.statusCode === 200) { currentValue = JSON.parse(response.body); } const updateUrl = new URL(this.config.macUpdateManifestBaseUrl); updateUrl.pathname += `/${zipName}`; // Remove existing release if it is already in the manifest currentValue.releases = currentValue.releases || []; currentValue.releases = currentValue.releases.filter((release) => release.version !== packageJSON.version); // Add the current version as the current release currentValue.currentRelease = packageJSON.version; currentValue.releases.push({ version: packageJSON.version, updateTo: { name: `${appName} v${packageJSON.version}`, version: packageJSON.version, pub_date: new Date().toISOString(), url: updateUrl.toString(), notes: this.config.macUpdateReleaseNotes || '', }, }); const releasesPath = node_path_1.default.resolve(makeDir, 'zip', targetPlatform, targetArch, 'RELEASES.json'); await this.ensureFile(releasesPath); await fs_extra_1.default.writeJson(releasesPath, currentValue); return [zipPath, releasesPath]; } return [zipPath]; } } exports.default = MakerZIP; exports.MakerZIP = MakerZIP; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTWFrZXJaSVAuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvTWFrZXJaSVAudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsMERBQTZCO0FBQzdCLHlDQUFzQztBQUV0QywyREFBcUU7QUFFckUsd0RBQTBCO0FBQzFCLDhDQUFzQjtBQW9CdEIsTUFBcUIsUUFBUyxTQUFRLHNCQUF5QjtJQUEvRDs7UUFDRSxTQUFJLEdBQUcsS0FBSyxDQUFDO1FBRWIscUJBQWdCLEdBQW9CLENBQUMsUUFBUSxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsT0FBTyxDQUFDLENBQUM7SUEwRDFFLENBQUM7SUF4REMsNEJBQTRCO1FBQzFCLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVELEtBQUssQ0FBQyxJQUFJLENBQUMsRUFBRSxHQUFHLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxXQUFXLEVBQUUsVUFBVSxFQUFFLGNBQWMsRUFBZ0I7UUFDekYsTUFBTSxFQUFFLEdBQUcsRUFBRSxHQUFHLE9BQU8sQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUVyQyxNQUFNLE1BQU0sR0FBRyxDQUFDLFFBQVEsRUFBRSxLQUFLLENBQUMsQ0FBQyxRQUFRLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxDQUFDLG1CQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxHQUFHLE9BQU8sTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQztRQUV0RyxNQUFNLE9BQU8sR0FBRyxHQUFHLG1CQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxJQUFJLFdBQVcsQ0FBQyxPQUFPLE1BQU0sQ0FBQztRQUNuRSxNQUFNLE9BQU8sR0FBRyxtQkFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLEVBQUUsS0FBSyxFQUFFLGNBQWMsRUFBRSxVQUFVLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFFbEYsTUFBTSxJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxDQUFD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