{"version":3,"sources":["jsdelivr-header.js","/npm/axo-electron-rebuild@1.0.2/lib/main.js"],"names":[],"mappings":"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","file":"/npm/axo-electron-rebuild@1.0.2/lib/main.js","sourceRoot":"","sourcesContent":["/**\n * Minified by jsDelivr using Terser v5.39.0.\n * Original file: /npm/axo-electron-rebuild@1.0.2/lib/main.js\n *\n * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files\n */\n","'use strict';\n\nvar _regeneratorRuntime = require('babel-runtime/regenerator')['default'];\n\nvar _interopRequireDefault = require('babel-runtime/helpers/interop-require-default')['default'];\n\nObject.defineProperty(exports, '__esModule', {\n  value: true\n});\n\nvar _this = this;\n\nexports.installNodeHeaders = installNodeHeaders;\nexports.shouldRebuildNativeModules = shouldRebuildNativeModules;\nexports.rebuildNativeModules = rebuildNativeModules;\n\nvar _path = require('path');\n\nvar _path2 = _interopRequireDefault(_path);\n\nvar _lodash = require('lodash');\n\nvar _lodash2 = _interopRequireDefault(_lodash);\n\nvar _child_process = require('child_process');\n\nvar _child_process2 = _interopRequireDefault(_child_process);\n\nvar _spawn = require('./spawn');\n\nvar _spawn2 = _interopRequireDefault(_spawn);\n\nvar _promisify = require('./promisify');\n\nvar _promisify2 = _interopRequireDefault(_promisify);\n\nvar fs = (0, _promisify2['default'])(require('fs'));\n\nvar getHeadersRootDirForVersion = function getHeadersRootDirForVersion(version) {\n  return _path2['default'].resolve(__dirname, 'headers');\n};\n\nvar checkForInstalledHeaders = function checkForInstalledHeaders(nodeVersion, headersDir) {\n  var canary, stat;\n  return _regeneratorRuntime.async(function checkForInstalledHeaders$(context$1$0) {\n    while (1) switch (context$1$0.prev = context$1$0.next) {\n      case 0:\n        canary = _path2['default'].join(headersDir, '.node-gyp', nodeVersion, 'common.gypi');\n        context$1$0.next = 3;\n        return _regeneratorRuntime.awrap(fs.stat(canary));\n\n      case 3:\n        stat = context$1$0.sent;\n\n        if (stat) {\n          context$1$0.next = 6;\n          break;\n        }\n\n        throw new Error(\"Canary file 'common.gypi' doesn't exist\");\n\n      case 6:\n        return context$1$0.abrupt('return', true);\n\n      case 7:\n      case 'end':\n        return context$1$0.stop();\n    }\n  }, null, this);\n};\n\nvar spawnWithHeadersDir = function spawnWithHeadersDir(cmd, args, headersDir, cwd) {\n  var env, opts;\n  return _regeneratorRuntime.async(function spawnWithHeadersDir$(context$1$0) {\n    while (1) switch (context$1$0.prev = context$1$0.next) {\n      case 0:\n        env = _lodash2['default'].extend({}, process.env, { HOME: headersDir });\n\n        if (process.platform === 'win32') {\n          env.USERPROFILE = env.HOME;\n        }\n\n        context$1$0.prev = 2;\n        opts = { env: env };\n\n        if (cwd) {\n          opts.cwd = cwd;\n        }\n\n        context$1$0.next = 7;\n        return _regeneratorRuntime.awrap((0, _spawn2['default'])({ cmd: cmd, args: args, opts: opts }));\n\n      case 7:\n        return context$1$0.abrupt('return', context$1$0.sent);\n\n      case 10:\n        context$1$0.prev = 10;\n        context$1$0.t0 = context$1$0['catch'](2);\n\n        if (context$1$0.t0.stdout) console.log(context$1$0.t0.stdout);\n        if (context$1$0.t0.stderr) console.log(context$1$0.t0.stderr);\n\n        throw context$1$0.t0;\n\n      case 15:\n      case 'end':\n        return context$1$0.stop();\n    }\n  }, null, _this, [[2, 10]]);\n};\n\nvar getElectronModuleVersion = function getElectronModuleVersion(pathToElectronExecutable) {\n  var args, env, result, versionAsString;\n  return _regeneratorRuntime.async(function getElectronModuleVersion$(context$1$0) {\n    while (1) switch (context$1$0.prev = context$1$0.next) {\n      case 0:\n        args = ['-e', 'console.log(process.versions.modules)'];\n        env = { ATOM_SHELL_INTERNAL_RUN_AS_NODE: '1' };\n        context$1$0.next = 4;\n        return _regeneratorRuntime.awrap((0, _spawn2['default'])({ cmd: pathToElectronExecutable, args: args, opts: { env: env } }));\n\n      case 4:\n        result = context$1$0.sent;\n        versionAsString = (result.stdout + result.stderr).replace(/\\n/g, '');\n\n        if (versionAsString.match(/^\\d+$/)) {\n          context$1$0.next = 8;\n          break;\n        }\n\n        throw new Error('Failed to check Electron\\'s module version number: ' + versionAsString);\n\n      case 8:\n        return context$1$0.abrupt('return', toString(versionAsString));\n\n      case 9:\n      case 'end':\n        return context$1$0.stop();\n    }\n  }, null, _this);\n};\n\nfunction installNodeHeaders(nodeVersion) {\n  var nodeDistUrl = arguments.length <= 1 || arguments[1] === undefined ? null : arguments[1];\n  var headersDir = arguments.length <= 2 || arguments[2] === undefined ? null : arguments[2];\n  var arch = arguments.length <= 3 || arguments[3] === undefined ? null : arguments[3];\n  var distUrl, cmd, args;\n  return _regeneratorRuntime.async(function installNodeHeaders$(context$1$0) {\n    while (1) switch (context$1$0.prev = context$1$0.next) {\n      case 0:\n        headersDir = headersDir || getHeadersRootDirForVersion(nodeVersion);\n        distUrl = nodeDistUrl || 'https://gh-contractor-zcbenz.s3.amazonaws.com/atom-shell/dist';\n        context$1$0.prev = 2;\n        context$1$0.next = 5;\n        return _regeneratorRuntime.awrap(checkForInstalledHeaders(nodeVersion, headersDir));\n\n      case 5:\n        return context$1$0.abrupt('return');\n\n      case 8:\n        context$1$0.prev = 8;\n        context$1$0.t0 = context$1$0['catch'](2);\n\n      case 10:\n        cmd = 'node';\n        args = [require.resolve('npm/node_modules/node-gyp/bin/node-gyp'), 'install', '--target=' + nodeVersion, '--arch=' + (arch || process.arch), '--dist-url=' + distUrl];\n        context$1$0.next = 14;\n        return _regeneratorRuntime.awrap(spawnWithHeadersDir(cmd, args, headersDir));\n\n      case 14:\n      case 'end':\n        return context$1$0.stop();\n    }\n  }, null, this, [[2, 8]]);\n}\n\nfunction shouldRebuildNativeModules(pathToElectronExecutable) {\n  var explicitNodeVersion = arguments.length <= 1 || arguments[1] === undefined ? null : arguments[1];\n  var args, version;\n  return _regeneratorRuntime.async(function shouldRebuildNativeModules$(context$1$0) {\n    while (1) switch (context$1$0.prev = context$1$0.next) {\n      case 0:\n        context$1$0.prev = 0;\n        args = ['-e', 'require(\"nslog\")'];\n        context$1$0.next = 4;\n        return _regeneratorRuntime.awrap((0, _spawn2['default'])({ cmd: process.execPath, args: args }));\n\n      case 4:\n\n        require('nslog');\n        context$1$0.next = 10;\n        break;\n\n      case 7:\n        context$1$0.prev = 7;\n        context$1$0.t0 = context$1$0['catch'](0);\n        return context$1$0.abrupt('return', true);\n\n      case 10:\n        context$1$0.t1 = explicitNodeVersion;\n\n        if (context$1$0.t1) {\n          context$1$0.next = 15;\n          break;\n        }\n\n        context$1$0.next = 14;\n        return _regeneratorRuntime.awrap(getElectronModuleVersion(pathToElectronExecutable));\n\n      case 14:\n        context$1$0.t1 = context$1$0.sent;\n\n      case 15:\n        version = context$1$0.t1;\n\n        if (!(version === process.versions.modules)) {\n          context$1$0.next = 18;\n          break;\n        }\n\n        return context$1$0.abrupt('return', false);\n\n      case 18:\n        return context$1$0.abrupt('return', true);\n\n      case 19:\n      case 'end':\n        return context$1$0.stop();\n    }\n  }, null, this, [[0, 7]]);\n}\n\nfunction rebuildNativeModules(nodeVersion, nodeModulesPath) {\n  var whichModule = arguments.length <= 2 || arguments[2] === undefined ? null : arguments[2];\n  var headersDir = arguments.length <= 3 || arguments[3] === undefined ? null : arguments[3];\n  var arch = arguments.length <= 4 || arguments[4] === undefined ? null : arguments[4];\n  var command = arguments.length <= 5 || arguments[5] === undefined ? 'rebuild' : arguments[5];\n  var cmd, args;\n  return _regeneratorRuntime.async(function rebuildNativeModules$(context$1$0) {\n    while (1) switch (context$1$0.prev = context$1$0.next) {\n      case 0:\n        headersDir = headersDir || getHeadersRootDirForVersion(nodeVersion);\n        context$1$0.next = 3;\n        return _regeneratorRuntime.awrap(checkForInstalledHeaders(nodeVersion, headersDir));\n\n      case 3:\n        cmd = 'node';\n        args = [require.resolve('npm/bin/npm-cli'), command];\n\n        if (whichModule) {\n          args.push(whichModule);\n        }\n\n        args.push('--runtime=electron', '--target=' + nodeVersion, '--arch=' + (arch || process.arch));\n\n        context$1$0.next = 9;\n        return _regeneratorRuntime.awrap(spawnWithHeadersDir(cmd, args, headersDir, nodeModulesPath));\n\n      case 9:\n      case 'end':\n        return context$1$0.stop();\n    }\n  }, null, this);\n}\n\n// Try to load our canary module - if it fails, we know that it's built\n// against a different node module than ours, so we're good\n//\n// NB: Apparently on OS X, this not only fails to be required, it segfaults\n// the process, because lol.\n\n// We need to check the native module version of Electron vs ours - if they\n// happen to be the same, we're good\n\n// If we loaded nslog and the versions don't match, we've got to rebuild"]}