@reactant/core
Version:
85 lines (62 loc) • 8.78 kB
JavaScript
;
require("core-js/modules/es.promise");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = install;
exports.installDependencies = installDependencies;
var _execa = _interopRequireDefault(require("execa"));
var _fsExtra = _interopRequireDefault(require("fs-extra"));
var _path = _interopRequireDefault(require("path"));
var _node = require("@reactant/context/node");
var _node2 = require("@reactant/config/node");
var _helpers = require("@reactant/helpers");
var _logger = _interopRequireDefault(require("../logger"));
var _ = _interopRequireDefault(require("."));
var _hooks = require("../hooks");
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
function install(_x, _x2) {
return _install.apply(this, arguments);
}
function _install() {
_install = _asyncToGenerator(function* (platformName, options, pluginActions = []) {
const context = (0, _node.bootstrap)((0, _node2.loadConfig)(), platformName, 'install', options, _hooks.preBootstrap, _hooks.postBootstrap);
const logger = new _logger.default(context.logLevel);
yield (0, _.default)(context, logger, pluginActions);
yield installDependencies(context);
(0, _hooks.postProcess)(context, logger);
return null;
});
return _install.apply(this, arguments);
}
function installDependencies(_x3) {
return _installDependencies.apply(this, arguments);
}
function _installDependencies() {
_installDependencies = _asyncToGenerator(function* (context) {
var _context$config, _command, _command2, _command3, _command4;
let command = (yield (0, _helpers.where)(((_context$config = context.config) === null || _context$config === void 0 ? void 0 : _context$config.preferredPackageManager) || '')) || '';
if (!((_command = command) === null || _command === void 0 ? void 0 : _command.length)) command = (yield (0, _helpers.where)('pnpm')) || '';
if (!((_command2 = command) === null || _command2 === void 0 ? void 0 : _command2.length)) command = (yield (0, _helpers.where)('yarn')) || '';
if (!((_command3 = command) === null || _command3 === void 0 ? void 0 : _command3.length)) command = (yield (0, _helpers.where)('npm')) || '';
if (!((_command4 = command) === null || _command4 === void 0 ? void 0 : _command4.length)) {
throw new Error("please install 'pnpm', 'yarn' or 'npm'");
}
const pkgPath = _path.default.resolve(context.paths.root, 'package.json');
const pkgBackupPath = _path.default.resolve(context.paths.root, 'package.json.reactant_backup');
yield _fsExtra.default.rename(pkgPath, pkgBackupPath);
yield _fsExtra.default.writeJson(pkgPath, context.pkg, {
spaces: 2
});
yield (0, _execa.default)(command, ['install'], {
stdio: 'inherit',
cwd: context.paths.root
});
yield _fsExtra.default.remove(pkgPath);
yield _fsExtra.default.rename(pkgBackupPath, pkgPath);
});
return _installDependencies.apply(this, arguments);
}
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9hY3Rpb25zL2luc3RhbGwudHMiXSwibmFtZXMiOlsiaW5zdGFsbCIsInBsYXRmb3JtTmFtZSIsIm9wdGlvbnMiLCJwbHVnaW5BY3Rpb25zIiwiY29udGV4dCIsInByZUJvb3RzdHJhcCIsInBvc3RCb290c3RyYXAiLCJsb2dnZXIiLCJMb2dnZXIiLCJsb2dMZXZlbCIsImluc3RhbGxEZXBlbmRlbmNpZXMiLCJjb21tYW5kIiwiY29uZmlnIiwicHJlZmVycmVkUGFja2FnZU1hbmFnZXIiLCJsZW5ndGgiLCJFcnJvciIsInBrZ1BhdGgiLCJwYXRoIiwicmVzb2x2ZSIsInBhdGhzIiwicm9vdCIsInBrZ0JhY2t1cFBhdGgiLCJmcyIsInJlbmFtZSIsIndyaXRlSnNvbiIsInBrZyIsInNwYWNlcyIsInN0ZGlvIiwiY3dkIiwicmVtb3ZlIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7O0FBQUE7O0FBQ0E7O0FBQ0E7O0FBRUE7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7Ozs7Ozs7O1NBRThCQSxPOzs7OzsrQkFBZixXQUNiQyxZQURhLEVBRWJDLE9BRmEsRUFHYkMsYUFBNkIsR0FBRyxFQUhuQixFQUlVO0FBQ3ZCLFVBQU1DLE9BQU8sR0FBRyxxQkFDZCx3QkFEYyxFQUVkSCxZQUZjLEVBR2QsU0FIYyxFQUlkQyxPQUpjLEVBS2RHLG1CQUxjLEVBTWRDLG9CQU5jLENBQWhCO0FBUUEsVUFBTUMsTUFBTSxHQUFHLElBQUlDLGVBQUosQ0FBV0osT0FBTyxDQUFDSyxRQUFuQixDQUFmO0FBQ0EsVUFBTSxlQUFXTCxPQUFYLEVBQW9CRyxNQUFwQixFQUE0QkosYUFBNUIsQ0FBTjtBQUNBLFVBQU1PLG1CQUFtQixDQUFDTixPQUFELENBQXpCO0FBQ0EsNEJBQVlBLE9BQVosRUFBcUJHLE1BQXJCO0FBQ0EsV0FBTyxJQUFQO0FBQ0QsRzs7OztTQUVxQkcsbUI7Ozs7OzJDQUFmLFdBQW1DTixPQUFuQyxFQUFxRDtBQUFBOztBQUMxRCxRQUFJTyxPQUFPLEdBQ1QsT0FBTyxvQkFBTSxvQkFBQVAsT0FBTyxDQUFDUSxNQUFSLG9FQUFnQkMsdUJBQWhCLEtBQTJDLEVBQWpELENBQVAsS0FBZ0UsRUFEbEU7QUFFQSxRQUFJLGNBQUNGLE9BQUQsNkNBQUMsU0FBU0csTUFBVixDQUFKLEVBQXNCSCxPQUFPLEdBQUcsT0FBTyxvQkFBTSxNQUFOLENBQVAsS0FBeUIsRUFBbkM7QUFDdEIsUUFBSSxlQUFDQSxPQUFELDhDQUFDLFVBQVNHLE1BQVYsQ0FBSixFQUFzQkgsT0FBTyxHQUFHLE9BQU8sb0JBQU0sTUFBTixDQUFQLEtBQXlCLEVBQW5DO0FBQ3RCLFFBQUksZUFBQ0EsT0FBRCw4Q0FBQyxVQUFTRyxNQUFWLENBQUosRUFBc0JILE9BQU8sR0FBRyxPQUFPLG9CQUFNLEtBQU4sQ0FBUCxLQUF3QixFQUFsQzs7QUFDdEIsUUFBSSxlQUFDQSxPQUFELDhDQUFDLFVBQVNHLE1BQVYsQ0FBSixFQUFzQjtBQUNwQixZQUFNLElBQUlDLEtBQUosQ0FBVSx3Q0FBVixDQUFOO0FBQ0Q7O0FBQ0QsVUFBTUMsT0FBTyxHQUFHQyxjQUFLQyxPQUFMLENBQWFkLE9BQU8sQ0FBQ2UsS0FBUixDQUFjQyxJQUEzQixFQUFpQyxjQUFqQyxDQUFoQjs7QUFDQSxVQUFNQyxhQUFhLEdBQUdKLGNBQUtDLE9BQUwsQ0FDcEJkLE9BQU8sQ0FBQ2UsS0FBUixDQUFjQyxJQURNLEVBRXBCLDhCQUZvQixDQUF0Qjs7QUFJQSxVQUFNRSxpQkFBR0MsTUFBSCxDQUFVUCxPQUFWLEVBQW1CSyxhQUFuQixDQUFOO0FBQ0EsVUFBTUMsaUJBQUdFLFNBQUgsQ0FBYVIsT0FBYixFQUFzQlosT0FBTyxDQUFDcUIsR0FBOUIsRUFBbUM7QUFBRUMsTUFBQUEsTUFBTSxFQUFFO0FBQVYsS0FBbkMsQ0FBTjtBQUNBLFVBQU0sb0JBQU1mLE9BQU4sRUFBZSxDQUFDLFNBQUQsQ0FBZixFQUE0QjtBQUNoQ2dCLE1BQUFBLEtBQUssRUFBRSxTQUR5QjtBQUVoQ0MsTUFBQUEsR0FBRyxFQUFFeEIsT0FBTyxDQUFDZSxLQUFSLENBQWNDO0FBRmEsS0FBNUIsQ0FBTjtBQUlBLFVBQU1FLGlCQUFHTyxNQUFILENBQVViLE9BQVYsQ0FBTjtBQUNBLFVBQU1NLGlCQUFHQyxNQUFILENBQVVGLGFBQVYsRUFBeUJMLE9BQXpCLENBQU47QUFDRCxHIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGV4ZWNhIGZyb20gJ2V4ZWNhJztcbmltcG9ydCBmcyBmcm9tICdmcy1leHRyYSc7XG5pbXBvcnQgcGF0aCBmcm9tICdwYXRoJztcbmltcG9ydCB7IENvbnRleHQsIEFjdGlvblJlc3VsdCwgT3B0aW9ucywgUGx1Z2luQWN0aW9uIH0gZnJvbSAnQHJlYWN0YW50L3R5cGVzJztcbmltcG9ydCB7IGJvb3RzdHJhcCB9IGZyb20gJ0ByZWFjdGFudC9jb250ZXh0L25vZGUnO1xuaW1wb3J0IHsgbG9hZENvbmZpZyB9IGZyb20gJ0ByZWFjdGFudC9jb25maWcvbm9kZSc7XG5pbXBvcnQgeyB3aGVyZSB9IGZyb20gJ0ByZWFjdGFudC9oZWxwZXJzJztcbmltcG9ydCBMb2dnZXIgZnJvbSAnLi4vbG9nZ2VyJztcbmltcG9ydCBydW5BY3Rpb25zIGZyb20gJy4nO1xuaW1wb3J0IHsgcHJlQm9vdHN0cmFwLCBwb3N0Qm9vdHN0cmFwLCBwb3N0UHJvY2VzcyB9IGZyb20gJy4uL2hvb2tzJztcblxuZXhwb3J0IGRlZmF1bHQgYXN5bmMgZnVuY3Rpb24gaW5zdGFsbChcbiAgcGxhdGZvcm1OYW1lPzogc3RyaW5nLFxuICBvcHRpb25zPzogT3B0aW9ucyxcbiAgcGx1Z2luQWN0aW9uczogUGx1Z2luQWN0aW9uW10gPSBbXVxuKTogUHJvbWlzZTxBY3Rpb25SZXN1bHQ+IHtcbiAgY29uc3QgY29udGV4dCA9IGJvb3RzdHJhcChcbiAgICBsb2FkQ29uZmlnKCksXG4gICAgcGxhdGZvcm1OYW1lLFxuICAgICdpbnN0YWxsJyxcbiAgICBvcHRpb25zLFxuICAgIHByZUJvb3RzdHJhcCxcbiAgICBwb3N0Qm9vdHN0cmFwXG4gICk7XG4gIGNvbnN0IGxvZ2dlciA9IG5ldyBMb2dnZXIoY29udGV4dC5sb2dMZXZlbCk7XG4gIGF3YWl0IHJ1bkFjdGlvbnMoY29udGV4dCwgbG9nZ2VyLCBwbHVnaW5BY3Rpb25zKTtcbiAgYXdhaXQgaW5zdGFsbERlcGVuZGVuY2llcyhjb250ZXh0KTtcbiAgcG9zdFByb2Nlc3MoY29udGV4dCwgbG9nZ2VyKTtcbiAgcmV0dXJuIG51bGw7XG59XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBpbnN0YWxsRGVwZW5kZW5jaWVzKGNvbnRleHQ6IENvbnRleHQpIHtcbiAgbGV0IGNvbW1hbmQgPVxuICAgIChhd2FpdCB3aGVyZShjb250ZXh0LmNvbmZpZz8ucHJlZmVycmVkUGFja2FnZU1hbmFnZXIgfHwgJycpKSB8fCAnJztcbiAgaWYgKCFjb21tYW5kPy5sZW5ndGgpIGNvbW1hbmQgPSAoYXdhaXQgd2hlcmUoJ3BucG0nKSkgfHwgJyc7XG4gIGlmICghY29tbWFuZD8ubGVuZ3RoKSBjb21tYW5kID0gKGF3YWl0IHdoZXJlKCd5YXJuJykpIHx8ICcnO1xuICBpZiAoIWNvbW1hbmQ/Lmxlbmd0aCkgY29tbWFuZCA9IChhd2FpdCB3aGVyZSgnbnBtJykpIHx8ICcnO1xuICBpZiAoIWNvbW1hbmQ/Lmxlbmd0aCkge1xuICAgIHRocm93IG5ldyBFcnJvcihcInBsZWFzZSBpbnN0YWxsICdwbnBtJywgJ3lhcm4nIG9yICducG0nXCIpO1xuICB9XG4gIGNvbnN0IHBrZ1BhdGggPSBwYXRoLnJlc29sdmUoY29udGV4dC5wYXRocy5yb290LCAncGFja2FnZS5qc29uJyk7XG4gIGNvbnN0IHBrZ0JhY2t1cFBhdGggPSBwYXRoLnJlc29sdmUoXG4gICAgY29udGV4dC5wYXRocy5yb290LFxuICAgICdwYWNrYWdlLmpzb24ucmVhY3RhbnRfYmFja3VwJ1xuICApO1xuICBhd2FpdCBmcy5yZW5hbWUocGtnUGF0aCwgcGtnQmFja3VwUGF0aCk7XG4gIGF3YWl0IGZzLndyaXRlSnNvbihwa2dQYXRoLCBjb250ZXh0LnBrZywgeyBzcGFjZXM6IDIgfSk7XG4gIGF3YWl0IGV4ZWNhKGNvbW1hbmQsIFsnaW5zdGFsbCddLCB7XG4gICAgc3RkaW86ICdpbmhlcml0JyxcbiAgICBjd2Q6IGNvbnRleHQucGF0aHMucm9vdFxuICB9KTtcbiAgYXdhaXQgZnMucmVtb3ZlKHBrZ1BhdGgpO1xuICBhd2FpdCBmcy5yZW5hbWUocGtnQmFja3VwUGF0aCwgcGtnUGF0aCk7XG59XG4iXX0=