UNPKG

@electron-forge/maker-squirrel

Version:

Squirrel maker for Electron Forge

57 lines • 5.91 kB
import fs from 'node:fs/promises'; import os from 'node:os'; import path from 'node:path'; import { pathExists } from '@electron-forge/core-utils'; import { MakerBase } from '@electron-forge/maker-base'; import { convertVersion, createWindowsInstaller, } from 'electron-winstaller'; export default class MakerSquirrel extends MakerBase { name = 'squirrel'; defaultPlatforms = ['win32']; isSupportedOnCurrentPlatform() { return (this.isInstalled('electron-winstaller') && !process.env.DISABLE_SQUIRREL_TEST); } async make({ dir, makeDir, targetArch, packageJSON, appName, forgeConfig, }) { const outPath = path.resolve(makeDir, `squirrel.windows/${targetArch}`); await this.ensureDirectory(outPath); const tmpFolder = await fs.mkdtemp(path.resolve(os.tmpdir(), 'squirrel-maker-')); await fs.cp(dir, tmpFolder, { recursive: true }); try { const winstallerConfig = { name: typeof packageJSON.name === 'string' ? packageJSON.name.replace(/-/g, '_') : undefined, // squirrel hates hyphens title: appName, noMsi: true, exe: `${forgeConfig.packagerConfig.executableName || appName}.exe`, setupExe: `${appName}-${packageJSON.version} Setup.exe`, ...this.config, appDirectory: tmpFolder, outputDirectory: outPath, }; await createWindowsInstaller(winstallerConfig); const nupkgVersion = convertVersion(packageJSON.version); const artifacts = [ path.resolve(outPath, 'RELEASES'), path.resolve(outPath, winstallerConfig.setupExe || `${appName}Setup.exe`), path.resolve(outPath, `${winstallerConfig.name}-${nupkgVersion}-full.nupkg`), ]; const deltaPath = path.resolve(outPath, `${winstallerConfig.name}-${nupkgVersion}-delta.nupkg`); if (winstallerConfig.remoteReleases && !winstallerConfig.noDelta && (await pathExists(deltaPath))) { artifacts.push(deltaPath); } const msiPath = path.resolve(outPath, winstallerConfig.setupMsi || `${appName}Setup.msi`); if (!winstallerConfig.noMsi && (await pathExists(msiPath))) { artifacts.push(msiPath); } return artifacts; } finally { await fs.rm(tmpFolder, { recursive: true, force: true }); } } } export { MakerSquirrel }; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTWFrZXJTcXVpcnJlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9NYWtlclNxdWlycmVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ2xDLE9BQU8sRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUN6QixPQUFPLElBQUksTUFBTSxXQUFXLENBQUM7QUFFN0IsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ3hELE9BQU8sRUFBRSxTQUFTLEVBQWdCLE1BQU0sNEJBQTRCLENBQUM7QUFFckUsT0FBTyxFQUNMLGNBQWMsRUFDZCxzQkFBc0IsR0FFdkIsTUFBTSxxQkFBcUIsQ0FBQztBQU83QixNQUFNLENBQUMsT0FBTyxPQUFPLGFBQWMsU0FBUSxTQUE4QjtJQUN2RSxJQUFJLEdBQUcsVUFBVSxDQUFDO0lBRWxCLGdCQUFnQixHQUFvQixDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBRTlDLDRCQUE0QjtRQUMxQixPQUFPLENBQ0wsSUFBSSxDQUFDLFdBQVcsQ0FBQyxxQkFBcUIsQ0FBQztZQUN2QyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMscUJBQXFCLENBQ25DLENBQUM7SUFDSixDQUFDO0lBRUQsS0FBSyxDQUFDLElBQUksQ0FBQyxFQUNULEdBQUcsRUFDSCxPQUFPLEVBQ1AsVUFBVSxFQUNWLFdBQVcsRUFDWCxPQUFPLEVBQ1AsV0FBVyxHQUNFO1FBQ2IsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLEVBQUUsb0JBQW9CLFVBQVUsRUFBRSxDQUFDLENBQUM7UUFDeEUsTUFBTSxJQUFJLENBQUMsZUFBZSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBRXBDLE1BQU0sU0FBUyxHQUFHLE1BQU0sRUFBRSxDQUFDLE9BQU8sQ0FDaEMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsTUFBTSxFQUFFLEVBQUUsaUJBQWlCLENBQUMsQ0FD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