UNPKG

electron-windows-installer

Version:

Build Windows installers for Electron apps using Squirrel. Works with Gulp!

64 lines (56 loc) 1.83 kB
// Generated by CoffeeScript 1.10.0 var Promise, asar, cp, dot, fs, path; Promise = require('bluebird'); cp = require('child_process'); fs = require('fs-extra'); asar = require('asar'); path = require('path'); dot = require('dot'); module.exports = { exec: function(cmd, args, options) { return new Promise(function(resolve, reject) { return cp.execFile(cmd, args, options, function(error, stdout, stderr) { if (error) { return reject(error); } else { return resolve(stdout); } }); }); }, getPackageJson: function(appDirectory) { var error, error1, error2; try { return JSON.parse(asar.extractFile(path.resolve(appDirectory, 'resources', 'app.asar'), 'package.json')); } catch (error1) { error = error1; try { return require(path.resolve(appDirectory, 'resources', 'app', 'package.json')); } catch (error2) { error = error2; throw new Error('Neither the resources/app folder nor the resources/app.asar package were found.'); } } }, getNuSpec: function(opts) { var template; template = fs.readFileSync(path.resolve(__dirname, '..', 'resources', 'template.nuspec')); template = dot.template(template.toString()); return template(opts); }, escapeEntities: function(str) { if (str) { return str.replace(/&/g, '&amp;').replace(/</g, '&lt;').replace(/>/g, '&gt;').replace(/"/g, '&quot;').replace(/'/g, '&apos;').replace(/@/g, '&#64;').replace(/©/g, '&#169;'); } }, convertVersion: function(version) { var mainVersion, parts; parts = version.split('-'); mainVersion = parts.shift(); if (parts.length > 0) { return [mainVersion, parts.join('-').replace(/\./g, '')].join('-'); } else { return mainVersion; } } };