UNPKG

@reactant/context

Version:
92 lines (67 loc) 12 kB
"use strict"; require("core-js/modules/es.symbol"); require("core-js/modules/es.array.filter"); require("core-js/modules/es.array.for-each"); require("core-js/modules/es.array.reduce"); require("core-js/modules/es.function.name"); require("core-js/modules/es.object.get-own-property-descriptor"); require("core-js/modules/es.object.get-own-property-descriptors"); require("core-js/modules/es.object.keys"); require("core-js/modules/web.dom-collections.for-each"); Object.defineProperty(exports, "__esModule", { value: true }); exports.getPlatforms = getPlatforms; exports.getPlatform = getPlatform; var _fsExtra = _interopRequireDefault(require("fs-extra")); var _path = _interopRequireDefault(require("path")); var _merge = _interopRequireDefault(require("./merge")); var _node = require("./node"); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; } function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } var _platforms; function getPlatforms(rootPath) { var platformsOptions = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; var pkg = arguments.length > 2 ? arguments[2] : undefined; if (_platforms && Object.keys(_platforms).length) return _platforms; var dependencyNames = Object.keys(_objectSpread(_objectSpread({}, pkg.dependencies), pkg.devDependencies)); _platforms = dependencyNames.filter(function (dependencyName) { // eslint-disable-next-line global-require,import/no-dynamic-require var pkgPath = _path.default.resolve(rootPath, 'node_modules', dependencyName, 'package.json'); if (!_fsExtra.default.pathExistsSync(pkgPath)) return false; return !!require(pkgPath).reactantPlatform; }).reduce(function (platforms, moduleName) { var _platform$options; var platformPath = _path.default.resolve(rootPath, 'node_modules', moduleName, // eslint-disable-next-line global-require,import/no-dynamic-require require(_path.default.resolve(rootPath, 'node_modules', moduleName, 'package.json')).reactantPlatform); var requiredPlatform = (0, _node.requireDefault)(platformPath); var platform = { actions: requiredPlatform.actions, config: requiredPlatform.config || function (config, _context, _options) { return config; }, moduleName: moduleName, name: requiredPlatform.name || moduleName, options: (0, _merge.default)(requiredPlatform.defaultOptions || {}, platformsOptions[requiredPlatform.name || moduleName] || {}), origionalName: requiredPlatform.name || moduleName, path: platformPath }; // eslint-disable-next-line no-restricted-globals if ((_platform$options = platform.options) === null || _platform$options === void 0 ? void 0 : _platform$options.name) platform.name = platform.options.name; platforms[platform.name] = platform; return platforms; }, {}); return _platforms; } function getPlatform(platformName, rootPath) { var platformOptions = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {}; var pkg = arguments.length > 3 ? arguments[3] : undefined; if (!platformName) return null; var platforms = getPlatforms(rootPath, _defineProperty({}, platformName, platformOptions), pkg); var platform = platforms[platformOptions.name || platformName]; if (!platform) return null; platform.options = (0, _merge.default)(platform.options, platformOptions || {}); return platform; } //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9wbGF0Zm9ybS50cyJdLCJuYW1lcyI6WyJfcGxhdGZvcm1zIiwiZ2V0UGxhdGZvcm1zIiwicm9vdFBhdGgiLCJwbGF0Zm9ybXNPcHRpb25zIiwicGtnIiwiT2JqZWN0Iiwia2V5cyIsImxlbmd0aCIsImRlcGVuZGVuY3lOYW1lcyIsImRlcGVuZGVuY2llcyIsImRldkRlcGVuZGVuY2llcyIsImZpbHRlciIsImRlcGVuZGVuY3lOYW1lIiwicGtnUGF0aCIsInBhdGgiLCJyZXNvbHZlIiwiZnMiLCJwYXRoRXhpc3RzU3luYyIsInJlcXVpcmUiLCJyZWFjdGFudFBsYXRmb3JtIiwicmVkdWNlIiwicGxhdGZvcm1zIiwibW9kdWxlTmFtZSIsInBsYXRmb3JtUGF0aCIsInJlcXVpcmVkUGxhdGZvcm0iLCJwbGF0Zm9ybSIsImFjdGlvbnMiLCJjb25maWciLCJfY29udGV4dCIsIl9vcHRpb25zIiwibmFtZSIsIm9wdGlvbnMiLCJkZWZhdWx0T3B0aW9ucyIsIm9yaWdpb25hbE5hbWUiLCJnZXRQbGF0Zm9ybSIsInBsYXRmb3JtTmFtZSIsInBsYXRmb3JtT3B0aW9ucyJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTs7QUFDQTs7QUFZQTs7QUFDQTs7Ozs7Ozs7OztBQUVBLElBQUlBLFVBQUo7O0FBRU8sU0FBU0MsWUFBVCxDQUNMQyxRQURLLEVBSVk7QUFBQSxNQUZqQkMsZ0JBRWlCLHVFQUZvQixFQUVwQjtBQUFBLE1BRGpCQyxHQUNpQjtBQUNqQixNQUFJSixVQUFVLElBQUlLLE1BQU0sQ0FBQ0MsSUFBUCxDQUFZTixVQUFaLEVBQXdCTyxNQUExQyxFQUFrRCxPQUFPUCxVQUFQO0FBQ2xELE1BQU1RLGVBQXlCLEdBQUdILE1BQU0sQ0FBQ0MsSUFBUCxpQ0FDN0JGLEdBQUcsQ0FBQ0ssWUFEeUIsR0FFN0JMLEdBQUcsQ0FBQ00sZUFGeUIsRUFBbEM7QUFJQVYsRUFBQUEsVUFBVSxHQUFHUSxlQUFlLENBQ3pCRyxNQURVLENBQ0gsVUFBQ0MsY0FBRCxFQUE0QjtBQUNsQztBQUNBLFFBQU1DLE9BQU8sR0FBR0MsY0FBS0MsT0FBTCxDQUNkYixRQURjLEVBRWQsY0FGYyxFQUdkVSxjQUhjLEVBSWQsY0FKYyxDQUFoQjs7QUFNQSxRQUFJLENBQUNJLGlCQUFHQyxjQUFILENBQWtCSixPQUFsQixDQUFMLEVBQWlDLE9BQU8sS0FBUDtBQUNqQyxXQUFPLENBQUMsQ0FBQ0ssT0FBTyxDQUFDTCxPQUFELENBQVAsQ0FBaUJNLGdCQUExQjtBQUNELEdBWFUsRUFZVkMsTUFaVSxDQVlILFVBQUNDLFNBQUQsRUFBNkJDLFVBQTdCLEVBQW9EO0FBQUE7O0FBQzFELFFBQU1DLFlBQVksR0FBR1QsY0FBS0MsT0FBTCxDQUNuQmIsUUFEbUIsRUFFbkIsY0FGbUIsRUFHbkJvQixVQUhtQixFQUluQjtBQUNBSixJQUFBQSxPQUFPLENBQUNKLGNBQUtDLE9BQUwsQ0FDTmIsUUFETSxFQUVOLGNBRk0sRUFHTm9CLFVBSE0sRUFJTixjQUpNLENBQUQsQ0FBUCxDQUtHSCxnQkFWZ0IsQ0FBckI7O0FBWUEsUUFBTUssZ0JBQTBCLEdBQUcsMEJBQXlCRCxZQUF6QixDQUFuQztBQUNBLFFBQU1FLFFBQXdCLEdBQUc7QUFDL0JDLE1BQUFBLE9BQU8sRUFBRUYsZ0JBQWdCLENBQUNFLE9BREs7QUFFL0JDLE1BQUFBLE1BQU0sRUFDSkgsZ0JBQWdCLENBQUNHLE1BQWpCLElBQ0MsVUFDQ0EsTUFERCxFQUVDQyxRQUZELEVBR0NDLFFBSEQ7QUFBQSxlQUlJRixNQUpKO0FBQUEsT0FKNEI7QUFTL0JMLE1BQUFBLFVBQVUsRUFBVkEsVUFUK0I7QUFVL0JRLE1BQUFBLElBQUksRUFBRU4sZ0JBQWdCLENBQUNNLElBQWpCLElBQXlCUixVQVZBO0FBVy9CUyxNQUFBQSxPQUFPLEVBQUUsb0JBQ1BQLGdCQUFnQixDQUFDUSxjQUFqQixJQUFtQyxFQUQ1QixFQUVQN0IsZ0JBQWdCLENBQUNxQixnQkFBZ0IsQ0FBQ00sSUFBakIsSUFBeUJSLFVBQTFCLENBQWhCLElBQXlELEVBRmxELENBWHNCO0FBZS9CVyxNQUFBQSxhQUFhLEVBQUVULGdCQUFnQixDQUFDTSxJQUFqQixJQUF5QlIsVUFmVDtBQWdCL0JSLE1BQUFBLElBQUksRUFBRVM7QUFoQnlCLEtBQWpDLENBZDBELENBZ0MxRDs7QUFDQSw2QkFBSUUsUUFBUSxDQUFDTSxPQUFiLHNEQUFJLGtCQUFrQkQsSUFBdEIsRUFBNEJMLFFBQVEsQ0FBQ0ssSUFBVCxHQUFnQkwsUUFBUSxDQUFDTSxPQUFULENBQWlCRCxJQUFqQztBQUM1QlQsSUFBQUEsU0FBUyxDQUFDSSxRQUFRLENBQUNLLElBQVYsQ0FBVCxHQUEyQkwsUUFBM0I7QUFDQSxXQUFPSixTQUFQO0FBQ0QsR0FoRFUsRUFnRFIsRUFoRFEsQ0FBYjtBQWlEQSxTQUFPckIsVUFBUDtBQUNEOztBQUVNLFNBQVNrQyxXQUFULENBQ0xDLFlBREssRUFFTGpDLFFBRkssRUFLa0I7QUFBQSxNQUZ2QmtDLGVBRXVCLHVFQUZZLEVBRVo7QUFBQSxNQUR2QmhDLEdBQ3VCO0FBQ3ZCLE1BQUksQ0FBQytCLFlBQUwsRUFBbUIsT0FBTyxJQUFQO0FBQ25CLE1BQU1kLFNBQVMsR0FBR3BCLFlBQVksQ0FDNUJDLFFBRDRCLHNCQUV6QmlDLFlBRnlCLEVBRVZDLGVBRlUsR0FHNUJoQyxHQUg0QixDQUE5QjtBQUtBLE1BQU1xQixRQUFRLEdBQUdKLFNBQVMsQ0FBQ2UsZUFBZSxDQUFDTixJQUFoQixJQUF3QkssWUFBekIsQ0FBMUI7QUFDQSxNQUFJLENBQUNWLFFBQUwsRUFBZSxPQUFPLElBQVA7QUFDZkEsRUFBQUEsUUFBUSxDQUFDTSxPQUFULEdBQW1CLG9CQUNqQk4sUUFBUSxDQUFDTSxPQURRLEVBRWpCSyxlQUFlLElBQUksRUFGRixDQUFuQjtBQUlBLFNBQU9YLFFBQVA7QUFDRCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBmcyBmcm9tICdmcy1leHRyYSc7XG5pbXBvcnQgcGF0aCBmcm9tICdwYXRoJztcbmltcG9ydCB7XG4gIENvbmZpZyxcbiAgQ29udGV4dCxcbiAgTG9hZGVkUGxhdGZvcm0sXG4gIExvYWRlZFBsYXRmb3JtcyxcbiAgUGtnLFxuICBQbGF0Zm9ybSxcbiAgUGxhdGZvcm1BY3Rpb25zLFxuICBQbGF0Zm9ybU9wdGlvbnMsXG4gIFBsYXRmb3Jtc09wdGlvbnNcbn0gZnJvbSAnQHJlYWN0YW50L3R5cGVzJztcbmltcG9ydCBtZXJnZSBmcm9tICcuL21lcmdlJztcbmltcG9ydCB7IHJlcXVpcmVEZWZhdWx0IH0gZnJvbSAnLi9ub2RlJztcblxubGV0IF9wbGF0Zm9ybXM6IExvYWRlZFBsYXRmb3JtcztcblxuZXhwb3J0IGZ1bmN0aW9uIGdldFBsYXRmb3JtcyhcbiAgcm9vdFBhdGg6IHN0cmluZyxcbiAgcGxhdGZvcm1zT3B0aW9uczogUGxhdGZvcm1zT3B0aW9ucyA9IHt9LFxuICBwa2c6IFBrZ1xuKTogTG9hZGVkUGxhdGZvcm1zIHtcbiAgaWYgKF9wbGF0Zm9ybXMgJiYgT2JqZWN0LmtleXMoX3BsYXRmb3JtcykubGVuZ3RoKSByZXR1cm4gX3BsYXRmb3JtcztcbiAgY29uc3QgZGVwZW5kZW5jeU5hbWVzOiBzdHJpbmdbXSA9IE9iamVjdC5rZXlzKHtcbiAgICAuLi5wa2cuZGVwZW5kZW5jaWVzLFxuICAgIC4uLnBrZy5kZXZEZXBlbmRlbmNpZXNcbiAgfSk7XG4gIF9wbGF0Zm9ybXMgPSBkZXBlbmRlbmN5TmFtZXNcbiAgICAuZmlsdGVyKChkZXBlbmRlbmN5TmFtZTogc3RyaW5nKSA9PiB7XG4gICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgZ2xvYmFsLXJlcXVpcmUsaW1wb3J0L25vLWR5bmFtaWMtcmVxdWlyZVxuICAgICAgY29uc3QgcGtnUGF0aCA9IHBhdGgucmVzb2x2ZShcbiAgICAgICAgcm9vdFBhdGgsXG4gICAgICAgICdub2RlX21vZHVsZXMnLFxuICAgICAgICBkZXBlbmRlbmN5TmFtZSxcbiAgICAgICAgJ3BhY2thZ2UuanNvbidcbiAgICAgICk7XG4gICAgICBpZiAoIWZzLnBhdGhFeGlzdHNTeW5jKHBrZ1BhdGgpKSByZXR1cm4gZmFsc2U7XG4gICAgICByZXR1cm4gISFyZXF1aXJlKHBrZ1BhdGgpLnJlYWN0YW50UGxhdGZvcm07XG4gICAgfSlcbiAgICAucmVkdWNlKChwbGF0Zm9ybXM6IExvYWRlZFBsYXRmb3JtcywgbW9kdWxlTmFtZTogc3RyaW5nKSA9PiB7XG4gICAgICBjb25zdCBwbGF0Zm9ybVBhdGggPSBwYXRoLnJlc29sdmUoXG4gICAgICAgIHJvb3RQYXRoLFxuICAgICAgICAnbm9kZV9tb2R1bGVzJyxcbiAgICAgICAgbW9kdWxlTmFtZSxcbiAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGdsb2JhbC1yZXF1aXJlLGltcG9ydC9uby1keW5hbWljLXJlcXVpcmVcbiAgICAgICAgcmVxdWlyZShwYXRoLnJlc29sdmUoXG4gICAgICAgICAgcm9vdFBhdGgsXG4gICAgICAgICAgJ25vZGVfbW9kdWxlcycsXG4gICAgICAgICAgbW9kdWxlTmFtZSxcbiAgICAgICAgICAncGFja2FnZS5qc29uJ1xuICAgICAgICApKS5yZWFjdGFudFBsYXRmb3JtXG4gICAgICApO1xuICAgICAgY29uc3QgcmVxdWlyZWRQbGF0Zm9ybTogUGxhdGZvcm0gPSByZXF1aXJlRGVmYXVsdDxQbGF0Zm9ybT4ocGxhdGZvcm1QYXRoKTtcbiAgICAgIGNvbnN0IHBsYXRmb3JtOiBMb2FkZWRQbGF0Zm9ybSA9IHtcbiAgICAgICAgYWN0aW9uczogcmVxdWlyZWRQbGF0Zm9ybS5hY3Rpb25zIGFzIFBsYXRmb3JtQWN0aW9ucyxcbiAgICAgICAgY29uZmlnOlxuICAgICAgICAgIHJlcXVpcmVkUGxhdGZvcm0uY29uZmlnIHx8XG4gICAgICAgICAgKChcbiAgICAgICAgICAgIGNvbmZpZzogUGFydGlhbDxDb25maWc+LFxuICAgICAgICAgICAgX2NvbnRleHQ6IENvbnRleHQsXG4gICAgICAgICAgICBfb3B0aW9uczogUGxhdGZvcm1PcHRpb25zXG4gICAgICAgICAgKSA9PiBjb25maWcpLFxuICAgICAgICBtb2R1bGVOYW1lLFxuICAgICAgICBuYW1lOiByZXF1aXJlZFBsYXRmb3JtLm5hbWUgfHwgbW9kdWxlTmFtZSxcbiAgICAgICAgb3B0aW9uczogbWVyZ2U8UGxhdGZvcm1PcHRpb25zPihcbiAgICAgICAgICByZXF1aXJlZFBsYXRmb3JtLmRlZmF1bHRPcHRpb25zIHx8IHt9LFxuICAgICAgICAgIHBsYXRmb3Jtc09wdGlvbnNbcmVxdWlyZWRQbGF0Zm9ybS5uYW1lIHx8IG1vZHVsZU5hbWVdIHx8IHt9XG4gICAgICAgICksXG4gICAgICAgIG9yaWdpb25hbE5hbWU6IHJlcXVpcmVkUGxhdGZvcm0ubmFtZSB8fCBtb2R1bGVOYW1lLFxuICAgICAgICBwYXRoOiBwbGF0Zm9ybVBhdGhcbiAgICAgIH07XG4gICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tcmVzdHJpY3RlZC1nbG9iYWxzXG4gICAgICBpZiAocGxhdGZvcm0ub3B0aW9ucz8ubmFtZSkgcGxhdGZvcm0ubmFtZSA9IHBsYXRmb3JtLm9wdGlvbnMubmFtZTtcbiAgICAgIHBsYXRmb3Jtc1twbGF0Zm9ybS5uYW1lXSA9IHBsYXRmb3JtO1xuICAgICAgcmV0dXJuIHBsYXRmb3JtcztcbiAgICB9LCB7fSk7XG4gIHJldHVybiBfcGxhdGZvcm1zO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0UGxhdGZvcm0oXG4gIHBsYXRmb3JtTmFtZTogc3RyaW5nIHwgdW5kZWZpbmVkLFxuICByb290UGF0aDogc3RyaW5nLFxuICBwbGF0Zm9ybU9wdGlvbnM6IFBsYXRmb3JtT3B0aW9ucyA9IHt9LFxuICBwa2c6IFBrZ1xuKTogTG9hZGVkUGxhdGZvcm0gfCBudWxsIHtcbiAgaWYgKCFwbGF0Zm9ybU5hbWUpIHJldHVybiBudWxsO1xuICBjb25zdCBwbGF0Zm9ybXMgPSBnZXRQbGF0Zm9ybXMoXG4gICAgcm9vdFBhdGgsXG4gICAgeyBbcGxhdGZvcm1OYW1lXTogcGxhdGZvcm1PcHRpb25zIH0sXG4gICAgcGtnXG4gICk7XG4gIGNvbnN0IHBsYXRmb3JtID0gcGxhdGZvcm1zW3BsYXRmb3JtT3B0aW9ucy5uYW1lIHx8IHBsYXRmb3JtTmFtZV07XG4gIGlmICghcGxhdGZvcm0pIHJldHVybiBudWxsO1xuICBwbGF0Zm9ybS5vcHRpb25zID0gbWVyZ2U8UGxhdGZvcm1PcHRpb25zPihcbiAgICBwbGF0Zm9ybS5vcHRpb25zLFxuICAgIHBsYXRmb3JtT3B0aW9ucyB8fCB7fVxuICApO1xuICByZXR1cm4gcGxhdGZvcm07XG59XG4iXX0=