UNPKG

@reactant/cli

Version:
80 lines (58 loc) 10.1 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); require("core-js/modules/es.array.filter"); require("core-js/modules/es.array.iterator"); require("core-js/modules/es.array.map"); require("core-js/modules/es.array.slice"); require("core-js/modules/es.object.entries"); require("core-js/modules/es.object.values"); require("core-js/modules/es.set"); Object.defineProperty(exports, "__esModule", { value: true }); exports.registerActions = registerActions; var _fsExtra = _interopRequireDefault(require("fs-extra")); var _path = _interopRequireDefault(require("path")); var _node = require("@reactant/context/node"); var _node2 = require("@reactant/config/node"); const platformActions = []; const pluginActions = []; let registered = false; function getContext() { var _process$argv, _process$argv2; return (0, _node.bootstrap)((0, _node2.loadConfig)(), (_process$argv = process.argv) === null || _process$argv === void 0 ? void 0 : _process$argv.slice(3).find(arg => arg.length && arg[0] !== '-'), (_process$argv2 = process.argv) === null || _process$argv2 === void 0 ? void 0 : _process$argv2.slice(2).find(arg => arg.length && arg[0] !== '-'), { args: [], config: {}, debug: false }, c => c, c => c); } function registerActions(registerActionName = _actionName => {}) { if (registered) return [pluginActions, platformActions]; const context = getContext(); const commandsPath = _path.default.resolve(__dirname, './commands'); const ignorePlatformActions = new Set(_fsExtra.default.readdirSync(commandsPath).filter(fileName => _fsExtra.default.pathExistsSync(_path.default.resolve(commandsPath, fileName)) && fileName.substr(fileName.length - 3) === '.js').map(fileName => fileName.substr(0, fileName.length - 3))); const registeredActionNames = new Set(ignorePlatformActions); if (context.platform) { Object.entries(context.platform.actions).forEach(([actionName, platformAction]) => { if ((!context.action.length || context.action === actionName) && !registeredActionNames.has(actionName)) { platformActions.push(platformAction); registeredActionNames.add(actionName); registerActionName(actionName, context); } }); } Object.values(context.plugins).forEach(plugin => { Object.entries(plugin.actions).forEach(([actionName, pluginAction]) => { if (!context.action.length || context.action === actionName) { pluginActions.push(pluginAction); if (!registeredActionNames.has(actionName)) { registeredActionNames.add(actionName); registerActionName(actionName, context); } } }); }); registered = true; return [pluginActions, platformActions]; } //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9hY3Rpb25zLnRzIl0sIm5hbWVzIjpbInBsYXRmb3JtQWN0aW9ucyIsInBsdWdpbkFjdGlvbnMiLCJyZWdpc3RlcmVkIiwiZ2V0Q29udGV4dCIsInByb2Nlc3MiLCJhcmd2Iiwic2xpY2UiLCJmaW5kIiwiYXJnIiwibGVuZ3RoIiwiYXJncyIsImNvbmZpZyIsImRlYnVnIiwiYyIsInJlZ2lzdGVyQWN0aW9ucyIsInJlZ2lzdGVyQWN0aW9uTmFtZSIsIl9hY3Rpb25OYW1lIiwiY29udGV4dCIsImNvbW1hbmRzUGF0aCIsInBhdGgiLCJyZXNvbHZlIiwiX19kaXJuYW1lIiwiaWdub3JlUGxhdGZvcm1BY3Rpb25zIiwiU2V0IiwiZnMiLCJyZWFkZGlyU3luYyIsImZpbHRlciIsImZpbGVOYW1lIiwicGF0aEV4aXN0c1N5bmMiLCJzdWJzdHIiLCJtYXAiLCJyZWdpc3RlcmVkQWN0aW9uTmFtZXMiLCJwbGF0Zm9ybSIsIk9iamVjdCIsImVudHJpZXMiLCJhY3Rpb25zIiwiZm9yRWFjaCIsImFjdGlvbk5hbWUiLCJwbGF0Zm9ybUFjdGlvbiIsImFjdGlvbiIsImhhcyIsInB1c2giLCJhZGQiLCJ2YWx1ZXMiLCJwbHVnaW5zIiwicGx1Z2luIiwicGx1Z2luQWN0aW9uIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBOztBQUNBOztBQUNBOztBQUNBOztBQVFBLE1BQU1BLGVBQWlDLEdBQUcsRUFBMUM7QUFDQSxNQUFNQyxhQUE2QixHQUFHLEVBQXRDO0FBQ0EsSUFBSUMsVUFBVSxHQUFHLEtBQWpCOztBQUVBLFNBQVNDLFVBQVQsR0FBc0I7QUFBQTs7QUFDcEIsU0FBTyxxQkFDTCx3QkFESyxtQkFFTEMsT0FBTyxDQUFDQyxJQUZILGtEQUVMLGNBQWNDLEtBQWQsQ0FBb0IsQ0FBcEIsRUFBdUJDLElBQXZCLENBQTZCQyxHQUFELElBQWlCQSxHQUFHLENBQUNDLE1BQUosSUFBY0QsR0FBRyxDQUFDLENBQUQsQ0FBSCxLQUFXLEdB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QXRCLFVBQUFBLGtCQUFrQixDQUFDc0IsVUFBRCxFQUFhcEIsT0FBYixDQUFsQjtBQUNEO0FBQ0Y7QUFDRixLQVRIO0FBV0QsR0FaRDtBQWFBZixFQUFBQSxVQUFVLEdBQUcsSUFBYjtBQUNBLFNBQU8sQ0FBQ0QsYUFBRCxFQUFnQkQsZUFBaEIsQ0FBUDtBQUNEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGZzIGZyb20gJ2ZzLWV4dHJhJztcbmltcG9ydCBwYXRoIGZyb20gJ3BhdGgnO1xuaW1wb3J0IHsgYm9vdHN0cmFwIH0gZnJvbSAnQHJlYWN0YW50L2NvbnRleHQvbm9kZSc7XG5pbXBvcnQgeyBsb2FkQ29uZmlnIH0gZnJvbSAnQHJlYWN0YW50L2NvbmZpZy9ub2RlJztcbmltcG9ydCB7XG4gIENvbnRleHQsXG4gIExvYWRlZFBsdWdpbixcbiAgUGxhdGZvcm1BY3Rpb24sXG4gIFBsdWdpbkFjdGlvblxufSBmcm9tICdAcmVhY3RhbnQvdHlwZXMnO1xuXG5jb25zdCBwbGF0Zm9ybUFjdGlvbnM6IFBsYXRmb3JtQWN0aW9uW10gPSBbXTtcbmNvbnN0IHBsdWdpbkFjdGlvbnM6IFBsdWdpbkFjdGlvbltdID0gW107XG5sZXQgcmVnaXN0ZXJlZCA9IGZhbHNlO1xuXG5mdW5jdGlvbiBnZXRDb250ZXh0KCkge1xuICByZXR1cm4gYm9vdHN0cmFwKFxuICAgIGxvYWRDb25maWcoKSxcbiAgICBwcm9jZXNzLmFyZ3Y/LnNsaWNlKDMpLmZpbmQoKGFyZzogc3RyaW5nKSA9PiBhcmcubGVuZ3RoICYmIGFyZ1swXSAhPT0gJy0nKSxcbiAgICBwcm9jZXNzLmFyZ3Y/LnNsaWNlKDIpLmZpbmQoKGFyZzogc3RyaW5nKSA9PiBhcmcubGVuZ3RoICYmIGFyZ1swXSAhPT0gJy0nKSxcbiAgICB7XG4gICAgICBhcmdzOiBbXSxcbiAgICAgIGNvbmZpZzoge30sXG4gICAgICBkZWJ1ZzogZmFsc2VcbiAgICB9LFxuICAgIChjOiBDb250ZXh0KTogQ29udGV4dCA9PiBjLFxuICAgIChjOiBDb250ZXh0KTogQ29udGV4dCA9PiBjXG4gICk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiByZWdpc3RlckFjdGlvbnMoXG4gIHJlZ2lzdGVyQWN0aW9uTmFtZTogKGFjdGlvbk5hbWU6IHN0cmluZywgY29udGV4dDogQ29udGV4dCkgPT4gdm9pZCA9IChcbiAgICBfYWN0aW9uTmFtZTogc3RyaW5nXG4gICkgPT4ge31cbik6IFtQbHVnaW5BY3Rpb25bXSwgUGxhdGZvcm1BY3Rpb25bXV0ge1xuICBpZiAocmVnaXN0ZXJlZCkgcmV0dXJuIFtwbHVnaW5BY3Rpb25zLCBwbGF0Zm9ybUFjdGlvbnNdO1xuICBjb25zdCBjb250ZXh0ID0gZ2V0Q29udGV4dCgpO1xuICBjb25zdCBjb21tYW5kc1BhdGggPSBwYXRoLnJlc29sdmUoX19kaXJuYW1lLCAnLi9jb21tYW5kcycpO1xuICBjb25zdCBpZ25vcmVQbGF0Zm9ybUFjdGlvbnMgPSBuZXcgU2V0KFxuICAgIGZzXG4gICAgICAucmVhZGRpclN5bmMoY29tbWFuZHNQYXRoKVxuICAgICAgLmZpbHRlcihcbiAgICAgICAgKGZpbGVOYW1lOiBzdHJpbmcpID0+XG4gICAgICAgICAgZnMucGF0aEV4aXN0c1N5bmMocGF0aC5yZXNvbHZlKGNvbW1hbmRzUGF0aCwgZmlsZU5hbWUpKSAmJlxuICAgICAgICAgIGZpbGVOYW1lLnN1YnN0cihmaWxlTmFtZS5sZW5ndGggLSAzKSA9PT0gJy5qcydcbiAgICAgIClcbiAgICAgIC5tYXAoKGZpbGVOYW1lKSA9PiBmaWxlTmFtZS5zdWJzdHIoMCwgZmlsZU5hbWUubGVuZ3RoIC0gMykpXG4gICk7XG4gIGNvbnN0IHJlZ2lzdGVyZWRBY3Rpb25OYW1lczogU2V0PHN0cmluZz4gPSBuZXcgU2V0KGlnbm9yZVBsYXRmb3JtQWN0aW9ucyk7XG4gIGlmIChjb250ZXh0LnBsYXRmb3JtKSB7XG4gICAgT2JqZWN0LmVudHJpZXMoY29udGV4dC5wbGF0Zm9ybS5hY3Rpb25zKS5mb3JFYWNoKFxuICAgICAgKFthY3Rpb25OYW1lLCBwbGF0Zm9ybUFjdGlvbl06IFtzdHJpbmcsIFBsYXRmb3JtQWN0aW9uXSkgPT4ge1xuICAgICAgICBpZiAoXG4gICAgICAgICAgKCFjb250ZXh0LmFjdGlvbi5sZW5ndGggfHwgY29udGV4dC5hY3Rpb24gPT09IGFjdGlvbk5hbWUpICYmXG4gICAgICAgICAgIXJlZ2lzdGVyZWRBY3Rpb25OYW1lcy5oYXMoYWN0aW9uTmFtZSlcbiAgICAgICAgKSB7XG4gICAgICAgICAgcGxhdGZvcm1BY3Rpb25zLnB1c2gocGxhdGZvcm1BY3Rpb24pO1xuICAgICAgICAgIHJlZ2lzdGVyZWRBY3Rpb25OYW1lcy5hZGQoYWN0aW9uTmFtZSk7XG4gICAgICAgICAgcmVnaXN0ZXJBY3Rpb25OYW1lKGFjdGlvbk5hbWUsIGNvbnRleHQpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgKTtcbiAgfVxuICBPYmplY3QudmFsdWVzKGNvbnRleHQucGx1Z2lucykuZm9yRWFjaCgocGx1Z2luOiBMb2FkZWRQbHVnaW4pID0+IHtcbiAgICBPYmplY3QuZW50cmllcyhwbHVnaW4uYWN0aW9ucykuZm9yRWFjaChcbiAgICAgIChbYWN0aW9uTmFtZSwgcGx1Z2luQWN0aW9uXTogW3N0cmluZywgUGx1Z2luQWN0aW9uXSkgPT4ge1xuICAgICAgICBpZiAoIWNvbnRleHQuYWN0aW9uLmxlbmd0aCB8fCBjb250ZXh0LmFjdGlvbiA9PT0gYWN0aW9uTmFtZSkge1xuICAgICAgICAgIHBsdWdpbkFjdGlvbnMucHVzaChwbHVnaW5BY3Rpb24pO1xuICAgICAgICAgIGlmICghcmVnaXN0ZXJlZEFjdGlvbk5hbWVzLmhhcyhhY3Rpb25OYW1lKSkge1xuICAgICAgICAgICAgcmVnaXN0ZXJlZEFjdGlvbk5hbWVzLmFkZChhY3Rpb25OYW1lKTtcbiAgICAgICAgICAgIHJlZ2lzdGVyQWN0aW9uTmFtZShhY3Rpb25OYW1lLCBjb250ZXh0KTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICApO1xuICB9KTtcbiAgcmVnaXN0ZXJlZCA9IHRydWU7XG4gIHJldHVybiBbcGx1Z2luQWN0aW9ucywgcGxhdGZvcm1BY3Rpb25zXTtcbn1cbiJdfQ==