UNPKG

electron-forge

Version:

A complete tool for building modern Electron applications

116 lines (84 loc) 6.25 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); var _regenerator = require('babel-runtime/regenerator'); var _regenerator2 = _interopRequireDefault(_regenerator); var _bluebird = require('bluebird'); var _debug = require('debug'); var _debug2 = _interopRequireDefault(_debug); var _fsExtra = require('fs-extra'); var _fsExtra2 = _interopRequireDefault(_fsExtra); var _path = require('path'); var _path2 = _interopRequireDefault(_path); var _readPackageJson = require('./read-package-json'); var _readPackageJson2 = _interopRequireDefault(_readPackageJson); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } var d = (0, _debug2.default)('electron-forge:project-resolver'); exports.default = function () { var _ref = (0, _bluebird.coroutine)(_regenerator2.default.mark(function _callee(dir) { var mDir, prevDir, testPath, packageJSON; return _regenerator2.default.wrap(function _callee$(_context) { while (1) { switch (_context.prev = _context.next) { case 0: mDir = dir; prevDir = void 0; case 2: if (!(prevDir !== mDir)) { _context.next = 24; break; } prevDir = mDir; testPath = _path2.default.resolve(mDir, 'package.json'); d('searching for project in:', mDir); _context.next = 8; return _fsExtra2.default.pathExists(testPath); case 8: if (!_context.sent) { _context.next = 21; break; } _context.next = 11; return (0, _readPackageJson2.default)(mDir); case 11: packageJSON = _context.sent; if (!(packageJSON.devDependencies && packageJSON.devDependencies['electron-prebuilt-compile'])) { _context.next = 17; break; } if (/[0-9]/.test(packageJSON.devDependencies['electron-prebuilt-compile'][0])) { _context.next = 15; break; } throw 'You must depend on an EXACT version of "electron-prebuilt-compile" not a range'; case 15: _context.next = 18; break; case 17: throw 'You must depend on "electron-prebuilt-compile" in your devDependencies'; case 18: if (!(packageJSON.config && packageJSON.config.forge)) { _context.next = 21; break; } d('electron-forge compatible package.json found in', testPath); return _context.abrupt('return', mDir); case 21: mDir = _path2.default.dirname(mDir); _context.next = 2; break; case 24: return _context.abrupt('return', null); case 25: case 'end': return _context.stop(); } } }, _callee, undefined); })); return function (_x) { return _ref.apply(this, arguments); }; }(); //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInV0aWwvcmVzb2x2ZS1kaXIuanMiXSwibmFtZXMiOlsiZCIsImRpciIsIm1EaXIiLCJwcmV2RGlyIiwidGVzdFBhdGgiLCJyZXNvbHZlIiwicGF0aEV4aXN0cyIsInBhY2thZ2VKU09OIiwiZGV2RGVwZW5kZW5jaWVzIiwidGVzdCIsImNvbmZpZyIsImZvcmdlIiwiZGlybmFtZSJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0FBQUE7Ozs7QUFDQTs7OztBQUNBOzs7O0FBQ0E7Ozs7OztBQUVBLElBQU1BLElBQUkscUJBQU0saUNBQU4sQ0FBVjs7O2lFQUVlLGlCQUFPQyxHQUFQO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNUQyxnQkFEUyxHQUNGRCxHQURFO0FBRVRFLG1CQUZTOztBQUFBO0FBQUEsa0JBR05BLFlBQVlELElBSE47QUFBQTtBQUFBO0FBQUE7O0FBSVhDLHNCQUFVRCxJQUFWO0FBQ01FLG9CQUxLLEdBS00sZUFBS0MsT0FBTCxDQUFhSCxJQUFiLEVBQW1CLGNBQW5CLENBTE47O0FBTVhGLGNBQUUsMkJBQUYsRUFBK0JFLElBQS9CO0FBTlc7QUFBQSxtQkFPRCxrQkFBR0ksVUFBSCxDQUFjRixRQUFkLENBUEM7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTs7QUFBQTtBQUFBLG1CQVFpQiwrQkFBZ0JGLElBQWhCLENBUmpCOztBQUFBO0FBUUhLLHVCQVJHOztBQUFBLGtCQVVMQSxZQUFZQyxlQUFaLElBQStCRCxZQUFZQyxlQUFaLENBQTRCLDJCQUE1QixDQVYxQjtBQUFBO0FBQUE7QUFBQTs7QUFBQSxnQkFXRixRQUFRQyxJQUFSLENBQWFGLFlBQVlDLGVBQVosQ0FBNEIsMkJBQTVCLEVBQXlELENBQXpELENBQWIsQ0FYRTtBQUFBO0FBQUE7QUFBQTs7QUFBQSxrQkFZQyxnRkFaRDs7QUFBQTtBQUFBO0FBQUE7O0FBQUE7QUFBQSxrQkFlRCx3RUFmQzs7QUFBQTtBQUFBLGtCQWtCTEQsWUFBWUcsTUFBWixJQUFzQkgsWUFBWUcsTUFBWixDQUFtQkMsS0FsQnBDO0FBQUE7QUFBQTtBQUFBOztBQW1CUFgsY0FBRSxpREFBRixFQUFxREksUUFBckQ7QUFuQk8sNkNBb0JBRixJQXBCQTs7QUFBQTtBQXVCWEEsbUJBQU8sZUFBS1UsT0FBTCxDQUFhVixJQUFiLENBQVA7QUF2Qlc7QUFBQTs7QUFBQTtBQUFBLDZDQXlCTixJQXpCTTs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxHIiwiZmlsZSI6InV0aWwvcmVzb2x2ZS1kaXIuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgZGVidWcgZnJvbSAnZGVidWcnO1xuaW1wb3J0IGZzIGZyb20gJ2ZzLWV4dHJhJztcbmltcG9ydCBwYXRoIGZyb20gJ3BhdGgnO1xuaW1wb3J0IHJlYWRQYWNrYWdlSlNPTiBmcm9tICcuL3JlYWQtcGFja2FnZS1qc29uJztcblxuY29uc3QgZCA9IGRlYnVnKCdlbGVjdHJvbi1mb3JnZTpwcm9qZWN0LXJlc29sdmVyJyk7XG5cbmV4cG9ydCBkZWZhdWx0IGFzeW5jIChkaXIpID0+IHtcbiAgbGV0IG1EaXIgPSBkaXI7XG4gIGxldCBwcmV2RGlyO1xuICB3aGlsZSAocHJldkRpciAhPT0gbURpcikge1xuICAgIHByZXZEaXIgPSBtRGlyO1xuICAgIGNvbnN0IHRlc3RQYXRoID0gcGF0aC5yZXNvbHZlKG1EaXIsICdwYWNrYWdlLmpzb24nKTtcbiAgICBkKCdzZWFyY2hpbmcgZm9yIHByb2plY3QgaW46JywgbURpcik7XG4gICAgaWYgKGF3YWl0IGZzLnBhdGhFeGlzdHModGVzdFBhdGgpKSB7XG4gICAgICBjb25zdCBwYWNrYWdlSlNPTiA9IGF3YWl0IHJlYWRQYWNrYWdlSlNPTihtRGlyKTtcblxuICAgICAgaWYgKHBhY2thZ2VKU09OLmRldkRlcGVuZGVuY2llcyAmJiBwYWNrYWdlSlNPTi5kZXZEZXBlbmRlbmNpZXNbJ2VsZWN0cm9uLXByZWJ1aWx0LWNvbXBpbGUnXSkge1xuICAgICAgICBpZiAoIS9bMC05XS8udGVzdChwYWNrYWdlSlNPTi5kZXZEZXBlbmRlbmNpZXNbJ2VsZWN0cm9uLXByZWJ1aWx0LWNvbXBpbGUnXVswXSkpIHtcbiAgICAgICAgICB0aHJvdyAnWW91IG11c3QgZGVwZW5kIG9uIGFuIEVYQUNUIHZlcnNpb24gb2YgXCJlbGVjdHJvbi1wcmVidWlsdC1jb21waWxlXCIgbm90IGEgcmFuZ2UnO1xuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aHJvdyAnWW91IG11c3QgZGVwZW5kIG9uIFwiZWxlY3Ryb24tcHJlYnVpbHQtY29tcGlsZVwiIGluIHlvdXIgZGV2RGVwZW5kZW5jaWVzJztcbiAgICAgIH1cblxuICAgICAgaWYgKHBhY2thZ2VKU09OLmNvbmZpZyAmJiBwYWNrYWdlSlNPTi5jb25maWcuZm9yZ2UpIHtcbiAgICAgICAgZCgnZWxlY3Ryb24tZm9yZ2UgY29tcGF0aWJsZSBwYWNrYWdlLmpzb24gZm91bmQgaW4nLCB0ZXN0UGF0aCk7XG4gICAgICAgIHJldHVybiBtRGlyO1xuICAgICAgfVxuICAgIH1cbiAgICBtRGlyID0gcGF0aC5kaXJuYW1lKG1EaXIpO1xuICB9XG4gIHJldHVybiBudWxsO1xufTtcbiJdfQ==