You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
67 lines
6.3 KiB
67 lines
6.3 KiB
"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 path_1 = __importDefault(require("path"));
|
|
const util_1 = require("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) ? path_1.default.resolve(dir, `${appName}.app`) : dir;
|
|
const zipName = `${path_1.default.basename(dir)}-${packageJSON.version}.zip`;
|
|
const zipPath = path_1.default.resolve(makeDir, 'zip', targetPlatform, targetArch, zipName);
|
|
await this.ensureFile(zipPath);
|
|
await (0, 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());
|
|
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 = 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTWFrZXJaSVAuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvTWFrZXJaSVAudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsZ0RBQXdCO0FBQ3hCLCtCQUFpQztBQUVqQywyREFBcUU7QUFFckUsd0RBQTBCO0FBQzFCLDhDQUFzQjtBQW9CdEIsTUFBcUIsUUFBUyxTQUFRLHNCQUF5QjtJQUEvRDs7UUFDRSxTQUFJLEdBQUcsS0FBSyxDQUFDO1FBRWIscUJBQWdCLEdBQW9CLENBQUMsUUFBUSxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsT0FBTyxDQUFDLENBQUM7SUF3RDFFLENBQUM7SUF0REMsNEJBQTRCO1FBQzFCLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVELEtBQUssQ0FBQyxJQUFJLENBQUMsRUFBRSxHQUFHLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxXQUFXLEVBQUUsVUFBVSxFQUFFLGNBQWMsRUFBZ0I7UUFDekYsTUFBTSxFQUFFLEdBQUcsRUFBRSxHQUFHLE9BQU8sQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUVyQyxNQUFNLE1BQU0sR0FBRyxDQUFDLFFBQVEsRUFBRSxLQUFLLENBQUMsQ0FBQyxRQUFRLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxDQUFDLGNBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFLEdBQUcsT0FBTyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDO1FBRXRHLE1BQU0sT0FBTyxHQUFHLEdBQUcsY0FBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsSUFBSSxXQUFXLENBQUMsT0FBTyxNQUFNLENBQUM7UUFDbkUsTUFBTSxPQUFPLEdBQUcsY0FBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLEVBQUUsS0FBSyxFQUFFLGNBQWMsRUFBRSxVQUFVLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFFbEYsTUFBTSxJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FB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
|