electron-forge
Version:
A complete tool for building modern Electron applications
116 lines (84 loc) • 6.25 kB
JavaScript
;
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==