diff options
Diffstat (limited to 'desktop/node_modules/@electron/osx-sign/dist/cjs/flat.js')
-rw-r--r-- | desktop/node_modules/@electron/osx-sign/dist/cjs/flat.js | 153 |
1 files changed, 153 insertions, 0 deletions
diff --git a/desktop/node_modules/@electron/osx-sign/dist/cjs/flat.js b/desktop/node_modules/@electron/osx-sign/dist/cjs/flat.js new file mode 100644 index 0000000..abd7312 --- /dev/null +++ b/desktop/node_modules/@electron/osx-sign/dist/cjs/flat.js @@ -0,0 +1,153 @@ +"use strict"; +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { return m[k]; } }; + } + Object.defineProperty(o, k2, desc); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.flat = exports.buildPkg = void 0; +const path = __importStar(require("path")); +const util_1 = require("./util"); +const util_identities_1 = require("./util-identities"); +const pkgVersion = require('../../package.json').version; +/** + * This function returns a promise validating all options passed in opts. + * @function + * @param {Object} opts - Options. + * @returns {Promise} Promise. + */ +async function validateFlatOpts(opts) { + await (0, util_1.validateOptsApp)(opts); + let pkg = opts.pkg; + if (pkg) { + if (typeof pkg !== 'string') + throw new Error('`pkg` must be a string.'); + if (path.extname(pkg) !== '.pkg') { + throw new Error('Extension of output package must be `.pkg`.'); + } + } + else { + (0, util_1.debugWarn)('No `pkg` passed in arguments, will fallback to default inferred from the given application.'); + pkg = path.join(path.dirname(opts.app), path.basename(opts.app, '.app') + '.pkg'); + } + let install = opts.install; + if (install) { + if (typeof install !== 'string') { + return Promise.reject(new Error('`install` must be a string.')); + } + } + else { + (0, util_1.debugWarn)('No `install` passed in arguments, will fallback to default `/Applications`.'); + install = '/Applications'; + } + return Object.assign(Object.assign({}, opts), { pkg, + install, platform: await (0, util_1.validateOptsPlatform)(opts) }); +} +/** + * This function returns a promise flattening the application. + * @function + * @param {Object} opts - Options. + * @returns {Promise} Promise. + */ +async function buildApplicationPkg(opts, identity) { + const args = ['--component', opts.app, opts.install, '--sign', identity.name, opts.pkg]; + if (opts.keychain) { + args.unshift('--keychain', opts.keychain); + } + if (opts.scripts) { + args.unshift('--scripts', opts.scripts); + } + (0, util_1.debugLog)('Flattening... ' + opts.app); + await (0, util_1.execFileAsync)('productbuild', args); +} +/** + * This function is exported and returns a promise flattening the application. + */ +async function buildPkg(_opts) { + (0, util_1.debugLog)('@electron/osx-sign@%s', pkgVersion); + const validatedOptions = await validateFlatOpts(_opts); + let identities = []; + let identityInUse = null; + if (validatedOptions.identity) { + (0, util_1.debugLog)('`identity` passed in arguments.'); + if (validatedOptions.identityValidation === false) { + // Do nothing + } + else { + identities = await (0, util_identities_1.findIdentities)(validatedOptions.keychain || null, validatedOptions.identity); + } + } + else { + (0, util_1.debugWarn)('No `identity` passed in arguments...'); + if (validatedOptions.platform === 'mas') { + (0, util_1.debugLog)('Finding `3rd Party Mac Developer Installer` certificate for flattening app distribution in the Mac App Store...'); + identities = await (0, util_identities_1.findIdentities)(validatedOptions.keychain || null, '3rd Party Mac Developer Installer:'); + } + else { + (0, util_1.debugLog)('Finding `Developer ID Application` certificate for distribution outside the Mac App Store...'); + identities = await (0, util_identities_1.findIdentities)(validatedOptions.keychain || null, 'Developer ID Installer:'); + } + } + if (identities.length > 0) { + // Provisioning profile(s) found + if (identities.length > 1) { + (0, util_1.debugWarn)('Multiple identities found, will use the first discovered.'); + } + else { + (0, util_1.debugLog)('Found 1 identity.'); + } + identityInUse = identities[0]; + } + else { + // No identity found + throw new Error('No identity found for signing.'); + } + (0, util_1.debugLog)('Flattening application...', '\n', '> Application:', validatedOptions.app, '\n', '> Package output:', validatedOptions.pkg, '\n', '> Install path:', validatedOptions.install, '\n', '> Identity:', validatedOptions.identity, '\n', '> Scripts:', validatedOptions.scripts); + await buildApplicationPkg(validatedOptions, identityInUse); + (0, util_1.debugLog)('Application flattened.'); +} +exports.buildPkg = buildPkg; +/** + * This function is exported with normal callback implementation. + * + * @deprecated Please use the promise based "buildPkg" method + */ +const flat = (opts, cb) => { + buildPkg(opts) + .then(() => { + (0, util_1.debugLog)('Application flattened, saved to: ' + opts.app); + if (cb) + cb(); + }) + .catch((err) => { + (0, util_1.debugLog)('Flat failed:'); + if (err.message) + (0, util_1.debugLog)(err.message); + else if (err.stack) + (0, util_1.debugLog)(err.stack); + else + (0, util_1.debugLog)(err); + if (cb) + cb(err); + }); +}; +exports.flat = flat; +//# sourceMappingURL=flat.js.map
\ No newline at end of file |