diff options
author | RaindropsSys <raindrops@equestria.dev> | 2023-10-24 17:43:37 +0200 |
---|---|---|
committer | RaindropsSys <raindrops@equestria.dev> | 2023-10-24 17:43:37 +0200 |
commit | ae187b6d75c8079da0be1dc288613bad8466fe61 (patch) | |
tree | 5ea0d34185a2270f29ffaa65e1f5258028d7d5d0 /desktop/node_modules/electron-packager/src/common.js | |
download | mist-ae187b6d75c8079da0be1dc288613bad8466fe61.tar.gz mist-ae187b6d75c8079da0be1dc288613bad8466fe61.tar.bz2 mist-ae187b6d75c8079da0be1dc288613bad8466fe61.zip |
Initial commit
Diffstat (limited to 'desktop/node_modules/electron-packager/src/common.js')
-rw-r--r-- | desktop/node_modules/electron-packager/src/common.js | 128 |
1 files changed, 128 insertions, 0 deletions
diff --git a/desktop/node_modules/electron-packager/src/common.js b/desktop/node_modules/electron-packager/src/common.js new file mode 100644 index 0000000..1f6111f --- /dev/null +++ b/desktop/node_modules/electron-packager/src/common.js @@ -0,0 +1,128 @@ +'use strict' + +const debug = require('debug')('electron-packager') +const filenamify = require('filenamify') +const fs = require('fs-extra') +const metadata = require('../package.json') +const os = require('os') +const path = require('path') + +function sanitizeAppName (name) { + return filenamify(name, { replacement: '-' }) +} + +function generateFinalBasename (opts) { + return `${sanitizeAppName(opts.name)}-${opts.platform}-${opts.arch}` +} + +function generateFinalPath (opts) { + return path.join(opts.out || process.cwd(), generateFinalBasename(opts)) +} + +function info (message, quiet) { + if (!quiet) { + console.error(message) + } +} + +function warning (message, quiet) { + if (!quiet) { + console.warn(`WARNING: ${message}`) + } +} + +function subOptionWarning (properties, optionName, parameter, value, quiet) { + if (Object.prototype.hasOwnProperty.call(properties, parameter)) { + warning(`${optionName}.${parameter} will be inferred from the main options`, quiet) + } + properties[parameter] = value +} + +function createAsarOpts (opts) { + let asarOptions + if (opts.asar === true) { + asarOptions = {} + } else if (typeof opts.asar === 'object') { + asarOptions = opts.asar + } else if (opts.asar === false || opts.asar === undefined) { + return false + } else { + warning(`asar parameter set to an invalid value (${opts.asar}), ignoring and disabling asar`, opts.quiet) + return false + } + + return asarOptions +} + +module.exports = { + ensureArray: function ensureArray (value) { + return Array.isArray(value) ? value : [value] + }, + isPlatformMac: function isPlatformMac (platform) { + return platform === 'darwin' || platform === 'mas' + }, + + createAsarOpts: createAsarOpts, + + deprecatedParameter: function deprecatedParameter (properties, oldName, newName, newCLIName, quiet) { + if (Object.prototype.hasOwnProperty.call(properties, oldName)) { + warning(`The ${oldName} parameter is deprecated, use ${newName} (or --${newCLIName} in the CLI) instead`, quiet) + if (!Object.prototype.hasOwnProperty.call(properties, newName)) { + properties[newName] = properties[oldName] + } + delete properties[oldName] + } + }, + subOptionWarning: subOptionWarning, + + baseTempDir: function baseTempDir (opts) { + return path.join(opts.tmpdir || os.tmpdir(), 'electron-packager') + }, + generateFinalBasename: generateFinalBasename, + generateFinalPath: generateFinalPath, + sanitizeAppName, + /** + * Convert slashes to UNIX-format separators. + */ + normalizePath: function normalizePath (pathToNormalize) { + return pathToNormalize.replace(/\\/g, '/') + }, + /** + * Validates that the application directory contains a package.json file, and that there exists an + * appropriate main entry point file, per the rules of the "main" field in package.json. + * + * See: https://docs.npmjs.com/cli/v6/configuring-npm/package-json#main + * + * @param appDir - the directory specified by the user + * @param bundledAppDir - the directory where the appDir is copied to in the bundled Electron app + */ + validateElectronApp: async function validateElectronApp (appDir, bundledAppDir) { + debug('Validating bundled Electron app') + debug('Checking for a package.json file') + + const bundledPackageJSONPath = path.join(bundledAppDir, 'package.json') + if (!(await fs.pathExists(bundledPackageJSONPath))) { + const originalPackageJSONPath = path.join(appDir, 'package.json') + throw new Error(`Application manifest was not found. Make sure "${originalPackageJSONPath}" exists and does not get ignored by your ignore option`) + } + + debug('Checking for the main entry point file') + const packageJSON = await fs.readJson(bundledPackageJSONPath) + const mainScriptBasename = packageJSON.main || 'index.js' + const mainScript = path.resolve(bundledAppDir, mainScriptBasename) + if (!(await fs.pathExists(mainScript))) { + const originalMainScript = path.join(appDir, mainScriptBasename) + throw new Error(`The main entry point to your app was not found. Make sure "${originalMainScript}" exists and does not get ignored by your ignore option`) + } + + debug('Validation complete') + }, + + hostInfo: function hostInfo () { + return `Electron Packager ${metadata.version}\n` + + `Node ${process.version}\n` + + `Host Operating system: ${process.platform} ${os.release()} (${process.arch})` + }, + info: info, + warning: warning +} |