UNPKG

electron-forge

Version:

A complete tool for building modern Electron applications

67 lines (49 loc) 5.13 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); var _bluebird = require('bluebird'); var _debug = require('debug'); var _debug2 = _interopRequireDefault(_debug); var _fsExtra = require('fs-extra'); var _fsExtra2 = _interopRequireDefault(_fsExtra); var _exactVersion = require('exact-version'); var _exactVersion2 = _interopRequireDefault(_exactVersion); 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 }; } const d = (0, _debug2.default)('electron-forge:project-resolver'); exports.default = (() => { var _ref = (0, _bluebird.coroutine)(function* (dir) { let mDir = dir; let prevDir; while (prevDir !== mDir) { prevDir = mDir; const testPath = _path2.default.resolve(mDir, 'package.json'); d('searching for project in:', mDir); if (yield _fsExtra2.default.pathExists(testPath)) { const packageJSON = yield (0, _readPackageJson2.default)(mDir); if (packageJSON.devDependencies && packageJSON.devDependencies['electron-prebuilt-compile']) { const version = packageJSON.devDependencies['electron-prebuilt-compile']; if (!(0, _exactVersion2.default)(version)) { throw `You must depend on an EXACT version of "electron-prebuilt-compile" not a range (got "${version}")`; } } else { throw 'You must depend on "electron-prebuilt-compile" in your devDependencies'; } if (packageJSON.config && packageJSON.config.forge) { d('electron-forge compatible package.json found in', testPath); return mDir; } } mDir = _path2.default.dirname(mDir); } return null; }); return function (_x) { return _ref.apply(this, arguments); }; })(); //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInV0aWwvcmVzb2x2ZS1kaXIuanMiXSwibmFtZXMiOlsiZCIsImRpciIsIm1EaXIiLCJwcmV2RGlyIiwidGVzdFBhdGgiLCJwYXRoIiwicmVzb2x2ZSIsImZzIiwicGF0aEV4aXN0cyIsInBhY2thZ2VKU09OIiwiZGV2RGVwZW5kZW5jaWVzIiwidmVyc2lvbiIsImNvbmZpZyIsImZvcmdlIiwiZGlybmFtZSJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUFBQTs7OztBQUNBOzs7O0FBQ0E7Ozs7QUFDQTs7OztBQUNBOzs7Ozs7QUFFQSxNQUFNQSxJQUFJLHFCQUFNLGlDQUFOLENBQVY7OztzQ0FFZSxXQUFPQyxHQUFQLEVBQWU7QUFDNUIsUUFBSUMsT0FBT0QsR0FBWDtBQUNBLFFBQUlFLE9BQUo7QUFDQSxXQUFPQSxZQUFZRCxJQUFuQixFQUF5QjtBQUN2QkMsZ0JBQVVELElBQVY7QUFDQSxZQUFNRSxXQUFXQyxlQUFLQyxPQUFMLENBQWFKLElBQWIsRUFBbUIsY0FBbkIsQ0FBakI7QUFDQUYsUUFBRSwyQkFBRixFQUErQkUsSUFBL0I7QUFDQSxVQUFJLE1BQU1LLGtCQUFHQyxVQUFILENBQWNKLFFBQWQsQ0FBVixFQUFtQztBQUNqQyxjQUFNSyxjQUFjLE1BQU0sK0JBQWdCUCxJQUFoQixDQUExQjs7QUFFQSxZQUFJTyxZQUFZQyxlQUFaLElBQStCRCxZQUFZQyxlQUFaLENBQTRCLDJCQUE1QixDQUFuQyxFQUE2RjtBQUMzRixnQkFBTUMsVUFBVUYsWUFBWUMsZUFBWixDQUE0QiwyQkFBNUIsQ0FBaEI7QUFDQSxjQUFJLENBQUMsNEJBQWVDLE9BQWYsQ0FBTCxFQUE4QjtBQUM1QixrQkFBTyx3RkFBdUZBLE9BQVEsSUFBdEc7QUFDRDtBQUNGLFNBTEQsTUFLTztBQUNMLGdCQUFNLHdFQUFOO0FBQ0Q7O0FBRUQsWUFBSUYsWUFBWUcsTUFBWixJQUFzQkgsWUFBWUcsTUFBWixDQUFtQkMsS0FBN0MsRUFBb0Q7QUFDbERiLFlBQUUsaURBQUYsRUFBcURJLFFBQXJEO0FBQ0EsaUJBQU9GLElBQVA7QUFDRDtBQUNGO0FBQ0RBLGFBQU9HLGVBQUtTLE9BQUwsQ0FBYVosSUFBYixDQUFQO0FBQ0Q7QUFDRCxXQUFPLElBQVA7QUFDRCxHIiwiZmlsZSI6InV0aWwvcmVzb2x2ZS1kaXIuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgZGVidWcgZnJvbSAnZGVidWcnO1xuaW1wb3J0IGZzIGZyb20gJ2ZzLWV4dHJhJztcbmltcG9ydCBpc0V4YWN0VmVyc2lvbiBmcm9tICdleGFjdC12ZXJzaW9uJztcbmltcG9ydCBwYXRoIGZyb20gJ3BhdGgnO1xuaW1wb3J0IHJlYWRQYWNrYWdlSlNPTiBmcm9tICcuL3JlYWQtcGFja2FnZS1qc29uJztcblxuY29uc3QgZCA9IGRlYnVnKCdlbGVjdHJvbi1mb3JnZTpwcm9qZWN0LXJlc29sdmVyJyk7XG5cbmV4cG9ydCBkZWZhdWx0IGFzeW5jIChkaXIpID0+IHtcbiAgbGV0IG1EaXIgPSBkaXI7XG4gIGxldCBwcmV2RGlyO1xuICB3aGlsZSAocHJldkRpciAhPT0gbURpcikge1xuICAgIHByZXZEaXIgPSBtRGlyO1xuICAgIGNvbnN0IHRlc3RQYXRoID0gcGF0aC5yZXNvbHZlKG1EaXIsICdwYWNrYWdlLmpzb24nKTtcbiAgICBkKCdzZWFyY2hpbmcgZm9yIHByb2plY3QgaW46JywgbURpcik7XG4gICAgaWYgKGF3YWl0IGZzLnBhdGhFeGlzdHModGVzdFBhdGgpKSB7XG4gICAgICBjb25zdCBwYWNrYWdlSlNPTiA9IGF3YWl0IHJlYWRQYWNrYWdlSlNPTihtRGlyKTtcblxuICAgICAgaWYgKHBhY2thZ2VKU09OLmRldkRlcGVuZGVuY2llcyAmJiBwYWNrYWdlSlNPTi5kZXZEZXBlbmRlbmNpZXNbJ2VsZWN0cm9uLXByZWJ1aWx0LWNvbXBpbGUnXSkge1xuICAgICAgICBjb25zdCB2ZXJzaW9uID0gcGFja2FnZUpTT04uZGV2RGVwZW5kZW5jaWVzWydlbGVjdHJvbi1wcmVidWlsdC1jb21waWxlJ107XG4gICAgICAgIGlmICghaXNFeGFjdFZlcnNpb24odmVyc2lvbikpIHtcbiAgICAgICAgICB0aHJvdyBgWW91IG11c3QgZGVwZW5kIG9uIGFuIEVYQUNUIHZlcnNpb24gb2YgXCJlbGVjdHJvbi1wcmVidWlsdC1jb21waWxlXCIgbm90IGEgcmFuZ2UgKGdvdCBcIiR7dmVyc2lvbn1cIilgO1xuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aHJvdyAnWW91IG11c3QgZGVwZW5kIG9uIFwiZWxlY3Ryb24tcHJlYnVpbHQtY29tcGlsZVwiIGluIHlvdXIgZGV2RGVwZW5kZW5jaWVzJztcbiAgICAgIH1cblxuICAgICAgaWYgKHBhY2thZ2VKU09OLmNvbmZpZyAmJiBwYWNrYWdlSlNPTi5jb25maWcuZm9yZ2UpIHtcbiAgICAgICAgZCgnZWxlY3Ryb24tZm9yZ2UgY29tcGF0aWJsZSBwYWNrYWdlLmpzb24gZm91bmQgaW4nLCB0ZXN0UGF0aCk7XG4gICAgICAgIHJldHVybiBtRGlyO1xuICAgICAgfVxuICAgIH1cbiAgICBtRGlyID0gcGF0aC5kaXJuYW1lKG1EaXIpO1xuICB9XG4gIHJldHVybiBudWxsO1xufTtcbiJdfQ==