UNPKG

@reactant/cli

Version:
97 lines (68 loc) 7.48 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports.createDynamicPlugin = createDynamicPlugin; exports.default = void 0; var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray")); var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator")); var _fsExtra = _interopRequireDefault(require("fs-extra")); var _path = _interopRequireDefault(require("path")); var _pkgDir = _interopRequireDefault(require("pkg-dir")); var _command = require("@oclif/command"); var _config = require("@oclif/config"); var _core = require("@reactant/core"); var _actions = require("../actions"); // eslint-disable-next-line max-classes-per-file let platformActions = []; let pluginActions = []; function createDynamicPlugin(hookContext, commandName, context) { class DynamicPlugin extends _config.Plugin { get hooks() { return {}; } get topics() { return []; } get commandIDs() { return [commandName]; } get commands() { var _class, _temp; const cmd = (_temp = _class = class cmd extends _command.Command { static load() { return cmd; } run() { return (0, _asyncToGenerator2.default)(function* () { const logger = new _core.Logger(context.logLevel); yield (0, _core.runActions)(context, logger, pluginActions, platformActions); })(); } }, _class.id = commandName, _temp); // @ts-ignore return [cmd]; } } return new DynamicPlugin(hookContext.config); } // eslint-disable-next-line func-names const hook = /*#__PURE__*/function () { var _ref = (0, _asyncToGenerator2.default)(function* () { if (!_fsExtra.default.pathExistsSync(_path.default.resolve(_pkgDir.default.sync(process.cwd()) || process.cwd(), 'package.json'))) { process.stdout.write('must run inside a reactant project\n'); process.exit(); } var _registerActions = (0, _actions.registerActions)((actionName, context) => { this.config.plugins.push(createDynamicPlugin(this, actionName, context)); }); var _registerActions2 = (0, _slicedToArray2.default)(_registerActions, 2); pluginActions = _registerActions2[0]; platformActions = _registerActions2[1]; }); return function hook() { return _ref.apply(this, arguments); }; }(); var _default = hook; exports.default = _default; //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ob29rcy9pbml0LnRzIl0sIm5hbWVzIjpbInBsYXRmb3JtQWN0aW9ucyIsInBsdWdpbkFjdGlvbnMiLCJjcmVhdGVEeW5hbWljUGx1Z2luIiwiaG9va0NvbnRleHQiLCJjb21tYW5kTmFtZSIsImNvbnRleHQiLCJEeW5hbWljUGx1Z2luIiwiUGx1Z2luIiwiaG9va3MiLCJ0b3BpY3MiLCJjb21tYW5kSURzIiwiY29tbWFuZHMiLCJjbWQiLCJDb21tYW5kIiwibG9hZCIsInJ1biIsImxvZ2dlciIsIkxvZ2dlciIsImxvZ0xldmVsIiwiaWQiLCJjb25maWciLCJob29rIiwiZnMiLCJwYXRoRXhpc3RzU3luYyIsInBhdGgiLCJyZXNvbHZlIiwicGtnRGlyIiwic3luYyIsInByb2Nlc3MiLCJjd2QiLCJzdGRvdXQiLCJ3cml0ZSIsImV4aXQiLCJhY3Rpb25OYW1lIiwicGx1Z2lucyIsInB1c2giXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBRUE7O0FBQ0E7O0FBQ0E7O0FBUkE7QUFVQSxJQUFJQSxlQUFpQyxHQUFHLEVBQXhDO0FBQ0EsSUFBSUMsYUFBNkIsR0FBRyxFQUFwQzs7QUFFTyxTQUFTQyxtQkFBVCxDQUNMQyxXQURLLEVBRUxDLFdBRkssRUFHTEMsT0FISyxFQUlHO0FBQ1IsUUFBTUMsYUFBTixTQUE0QkMsY0FBNUIsQ0FBbUM7QUFDakMsUUFBSUMsS0FBSixHQUFZO0FBQ1YsYUFBTyxFQUFQO0FBQ0Q7O0FBRUQsUUFBSUMsTUFBSixHQUFhO0FBQ1gsYUFBTyxFQUFQO0FBQ0Q7O0FBRUQsUUFBSUMsVUFBSixHQUFpQjtBQUNmLGFBQU8sQ0FBQ04sV0FBRCxDQUFQO0FBQ0Q7O0FBRUQsUUFBSU8sUUFBSixHQUF1QztBQUFBOztBQUNyQyxZQUFNQyxHQUFHLHFCQUFHLE1BQU5BLEdBQU0sU0FBY0MsZ0JBQWQsQ0FBc0I7QUFHaEMsZUFBT0MsSUFBUCxHQUFjO0FBQ1osaUJBQU9GLEdBQVA7QUFDRDs7QUFFS0csUUFBQUEsR0FBTixHQUFZO0FBQUE7QUFDVixrQkFBTUMsTUFBTSxHQUFHLElBQUlDLFlBQUosQ0FBV1osT0FBTyxDQUFDYSxRQUFuQixDQUFmO0FBQ0Esa0JBQU0sc0JBQVdiLE9BQVgsRUFBb0JXLE1BQXBCLEVBQTRCZixhQUE1QixFQUEyQ0QsZUFBM0MsQ0FBTjtBQUZVO0FBR1g7O0FBVitCLE9BQXpCLFNBQ0FtQixFQURBLEdBQ0tmLFdBREwsUUFBVCxDQURxQyxDQWFyQzs7QUFDQSxhQUFPLENBQUNRLEdBQUQsQ0FBUDtBQUNEOztBQTVCZ0M7O0FBOEJuQyxTQUFPLElBQUlOLGFBQUosQ0FBa0JILFdBQVcsQ0FBQ2lCLE1BQTlCLENBQVA7QUFDRCxDLENBRUQ7OztBQUNBLE1BQU1DLElBQWtCO0FBQUEsNkNBQUcsYUFBa0I7QUFDM0MsUUFDRSxDQUFDQyxpQkFBR0MsY0FBSCxDQUNDQyxjQUFLQyxPQUFMLENBQWFDLGdCQUFPQyxJQUFQLENBQVlDLE9BQU8sQ0FBQ0MsR0FBUixFQUFaLEtBQThCRCxPQUFPLENBQUNDLEdBQVIsRUFBM0MsRUFBMEQsY0FBMUQsQ0FERCxDQURILEVBSUU7QUFDQUQsTUFBQUEsT0FBTyxDQUFDRSxNQUFSLENBQWVDLEtBQWYsQ0FBcUIsc0NBQXJCO0FBQ0FILE1BQUFBLE9BQU8sQ0FBQ0ksSUFBUjtBQUNEOztBQVIwQywyQkFTUiw4QkFDakMsQ0FBQ0MsVUFBRCxFQUFxQjVCLE9BQXJCLEtBQTBDO0FBQ3hDLFdBQUtlLE1BQUwsQ0FBWWMsT0FBWixDQUFvQkMsSUFBcEIsQ0FBeUJqQyxtQkFBbUIsQ0FBQyxJQUFELEVBQU8rQixVQUFQLEVBQW1CNUIsT0FBbkIsQ0FBNUM7QUFDRCxLQUhnQyxDQVRROztBQUFBOztBQVMxQ0osSUFBQUEsYUFUMEM7QUFTM0JELElBQUFBLGVBVDJCO0FBYzVDLEdBZHVCOztBQUFBLGtCQUFsQnFCLElBQWtCO0FBQUE7QUFBQTtBQUFBLEdBQXhCOztlQWdCZUEsSSIsInNvdXJjZXNDb250ZW50IjpbIi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBtYXgtY2xhc3Nlcy1wZXItZmlsZVxuaW1wb3J0IGZzIGZyb20gJ2ZzLWV4dHJhJztcbmltcG9ydCBwYXRoIGZyb20gJ3BhdGgnO1xuaW1wb3J0IHBrZ0RpciBmcm9tICdwa2ctZGlyJztcbmltcG9ydCB7IENvbW1hbmQgfSBmcm9tICdAb2NsaWYvY29tbWFuZCc7XG5pbXBvcnQgeyBDb250ZXh0LCBQbHVnaW5BY3Rpb24sIFBsYXRmb3JtQWN0aW9uIH0gZnJvbSAnQHJlYWN0YW50L3R5cGVzJztcbmltcG9ydCB7IEhvb2ssIFBsdWdpbiwgQ29tbWFuZCBhcyBDb25maWdDb21tYW5kIH0gZnJvbSAnQG9jbGlmL2NvbmZpZyc7XG5pbXBvcnQgeyBMb2dnZXIsIHJ1bkFjdGlvbnMgfSBmcm9tICdAcmVhY3RhbnQvY29yZSc7XG5pbXBvcnQgeyByZWdpc3RlckFjdGlvbnMgfSBmcm9tICcuLi9hY3Rpb25zJztcblxubGV0IHBsYXRmb3JtQWN0aW9uczogUGxhdGZvcm1BY3Rpb25bXSA9IFtdO1xubGV0IHBsdWdpbkFjdGlvbnM6IFBsdWdpbkFjdGlvbltdID0gW107XG5cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVEeW5hbWljUGx1Z2luKFxuICBob29rQ29udGV4dDogSG9vay5Db250ZXh0LFxuICBjb21tYW5kTmFtZTogc3RyaW5nLFxuICBjb250ZXh0OiBDb250ZXh0XG4pOiBQbHVnaW4ge1xuICBjbGFzcyBEeW5hbWljUGx1Z2luIGV4dGVuZHMgUGx1Z2luIHtcbiAgICBnZXQgaG9va3MoKSB7XG4gICAgICByZXR1cm4ge307XG4gICAgfVxuXG4gICAgZ2V0IHRvcGljcygpIHtcbiAgICAgIHJldHVybiBbXTtcbiAgICB9XG5cbiAgICBnZXQgY29tbWFuZElEcygpIHtcbiAgICAgIHJldHVybiBbY29tbWFuZE5hbWVdO1xuICAgIH1cblxuICAgIGdldCBjb21tYW5kcygpOiBDb25maWdDb21tYW5kLlBsdWdpbltdIHtcbiAgICAgIGNvbnN0IGNtZCA9IGNsYXNzIGV4dGVuZHMgQ29tbWFuZCB7XG4gICAgICAgIHN0YXRpYyBpZCA9IGNvbW1hbmROYW1lO1xuXG4gICAgICAgIHN0YXRpYyBsb2FkKCkge1xuICAgICAgICAgIHJldHVybiBjbWQ7XG4gICAgICAgIH1cblxuICAgICAgICBhc3luYyBydW4oKSB7XG4gICAgICAgICAgY29uc3QgbG9nZ2VyID0gbmV3IExvZ2dlcihjb250ZXh0LmxvZ0xldmVsKTtcbiAgICAgICAgICBhd2FpdCBydW5BY3Rpb25zKGNvbnRleHQsIGxvZ2dlciwgcGx1Z2luQWN0aW9ucywgcGxhdGZvcm1BY3Rpb25zKTtcbiAgICAgICAgfVxuICAgICAgfTtcbiAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgIHJldHVybiBbY21kXTtcbiAgICB9XG4gIH1cbiAgcmV0dXJuIG5ldyBEeW5hbWljUGx1Z2luKGhvb2tDb250ZXh0LmNvbmZpZyk7XG59XG5cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBmdW5jLW5hbWVzXG5jb25zdCBob29rOiBIb29rPCdpbml0Jz4gPSBhc3luYyBmdW5jdGlvbiAoKSB7XG4gIGlmIChcbiAgICAhZnMucGF0aEV4aXN0c1N5bmMoXG4gICAgICBwYXRoLnJlc29sdmUocGtnRGlyLnN5bmMocHJvY2Vzcy5jd2QoKSkgfHwgcHJvY2Vzcy5jd2QoKSwgJ3BhY2thZ2UuanNvbicpXG4gICAgKVxuICApIHtcbiAgICBwcm9jZXNzLnN0ZG91dC53cml0ZSgnbXVzdCBydW4gaW5zaWRlIGEgcmVhY3RhbnQgcHJvamVjdFxcbicpO1xuICAgIHByb2Nlc3MuZXhpdCgpO1xuICB9XG4gIFtwbHVnaW5BY3Rpb25zLCBwbGF0Zm9ybUFjdGlvbnNdID0gcmVnaXN0ZXJBY3Rpb25zKFxuICAgIChhY3Rpb25OYW1lOiBzdHJpbmcsIGNvbnRleHQ6IENvbnRleHQpID0+IHtcbiAgICAgIHRoaXMuY29uZmlnLnBsdWdpbnMucHVzaChjcmVhdGVEeW5hbWljUGx1Z2luKHRoaXMsIGFjdGlvbk5hbWUsIGNvbnRleHQpKTtcbiAgICB9XG4gICk7XG59O1xuXG5leHBvcnQgZGVmYXVsdCBob29rO1xuIl19