UNPKG

@reactant/config

Version:
97 lines (74 loc) 7.94 kB
"use strict"; function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } require("core-js/modules/es.function.name"); require("core-js/modules/es.regexp.exec"); require("core-js/modules/es.string.search"); Object.defineProperty(exports, "__esModule", { value: true }); var _exportNames = { getUserConfig: true, loadConfig: true, setConfig: true, sanitizeConfig: true, defaultConfig: true }; exports.getUserConfig = getUserConfig; exports.loadConfig = loadConfig; exports.default = getConfig; exports.setConfig = setConfig; exports.sanitizeConfig = sanitizeConfig; Object.defineProperty(exports, "defaultConfig", { enumerable: true, get: function get() { return _defaultConfig.default; } }); var _node = _interopRequireWildcard(require("@reactant/context/node")); var _pkgDir = _interopRequireDefault(require("pkg-dir")); var _cosmiconfig = require("cosmiconfig"); var _defaultConfig = _interopRequireDefault(require("./defaultConfig")); var _config = require("@reactant/types/lib/config"); Object.keys(_config).forEach(function (key) { if (key === "default" || key === "__esModule") return; if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return; Object.defineProperty(exports, key, { enumerable: true, get: function get() { return _config[key]; } }); }); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function _getRequireWildcardCache() { return cache; }; return cache; } function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; } function getUserConfig() { var rootPath = _pkgDir.default.sync(process.cwd()) || process.cwd(); var userConfig = {}; try { var payload = (0, _cosmiconfig.cosmiconfigSync)('reactant').search(rootPath); // TODO userConfig = payload && payload.config ? payload.config : {}; } catch (err) { if (err.name !== 'YAMLException') throw err; // eslint-disable-next-line import/no-dynamic-require,global-require,no-eval userConfig = eval("require(".concat(err.mark.name, ")")); } return userConfig; } function loadConfig() { return (0, _node.merge)(_defaultConfig.default, getUserConfig()); } function getConfig() { return (0, _node.default)().config || _defaultConfig.default; } function setConfig(config) { var mergeConfig = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true; (0, _node.syncContext)(function (context) { context.config = mergeConfig ? (0, _node.merge)(context.config || _defaultConfig.default, config) : config; return context; }); return getConfig(); } function sanitizeConfig(config, rootPath) { return (0, _node.sanitizeConfig)(config, rootPath); } //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9ub2RlLnRzIl0sIm5hbWVzIjpbImdldFVzZXJDb25maWciLCJyb290UGF0aCIsInBrZ0RpciIsInN5bmMiLCJwcm9jZXNzIiwiY3dkIiwidXNlckNvbmZpZyIsInBheWxvYWQiLCJzZWFyY2giLCJjb25maWciLCJlcnIiLCJuYW1lIiwiZXZhbCIsIm1hcmsiLCJsb2FkQ29uZmlnIiwiZGVmYXVsdENvbmZpZyIsImdldENvbmZpZyIsInNldENvbmZpZyIsIm1lcmdlQ29uZmlnIiwiY29udGV4dCIsInNhbml0aXplQ29uZmlnIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBOztBQUtBOztBQUVBOztBQUNBOztBQTBDQTs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTs7Ozs7Ozs7QUF4Q08sU0FBU0EsYUFBVCxHQUEwQztBQUMvQyxNQUFNQyxRQUFRLEdBQUdDLGdCQUFPQyxJQUFQLENBQVlDLE9BQU8sQ0FBQ0MsR0FBUixFQUFaLEtBQThCRCxPQUFPLENBQUNDLEdBQVIsRUFBL0M7QUFDQSxNQUFJQyxVQUEyQixHQUFHLEVBQWxDOztBQUNBLE1BQUk7QUFDRixRQUFNQyxPQUFPLEdBQUcsa0NBQWdCLFVBQWhCLEVBQTRCQyxNQUE1QixDQUFtQ1AsUUFBbkMsQ0FBaEIsQ0FERSxDQUVGOztBQUNBSyxJQUFBQSxVQUFVLEdBQUlDLE9BQU8sSUFBSUEsT0FBTyxDQUFDRSxNQUFuQixHQUE0QkYsT0FBTyxDQUFDRSxNQUFwQyxHQUE2QyxFQUEzRDtBQUdELEdBTkQsQ0FNRSxPQUFPQyxHQUFQLEVBQVk7QUFDWixRQUFJQSxHQUFHLENBQUNDLElBQUosS0FBYSxlQUFqQixFQUFrQyxNQUFNRCxHQUFOLENBRHRCLENBRVo7O0FBQ0FKLElBQUFBLFVBQVUsR0FBR00sSUFBSSxtQkFBWUYsR0FBRyxDQUFDRyxJQUFKLENBQVNGLElBQXJCLE9BQWpCO0FBQ0Q7O0FBQ0QsU0FBT0wsVUFBUDtBQUNEOztBQUVNLFNBQVNRLFVBQVQsR0FBOEI7QUFDbkMsU0FBTyxpQkFBTUMsc0JBQU4sRUFBcUJmLGFBQWEsRUFBbEMsQ0FBUDtBQUNEOztBQUVjLFNBQVNnQixTQUFULEdBQTZCO0FBQzFDLFNBQVEsb0JBQUQsQ0FBMEJQLE1BQTFCLElBQW9DTSxzQkFBM0M7QUFDRDs7QUFFTSxTQUFTRSxTQUFULENBQW1CUixNQUFuQixFQUErRDtBQUFBLE1BQTVCUyxXQUE0Qix1RUFBZCxJQUFjO0FBQ3BFLHlCQUFZLFVBQUNDLE9BQUQsRUFBc0I7QUFDaENBLElBQUFBLE9BQU8sQ0FBQ1YsTUFBUixHQUFpQlMsV0FBVyxHQUN4QixpQkFBTUMsT0FBTyxDQUFDVixNQUFSLElBQWtCTSxzQkFBeEIsRUFBdUNOLE1BQXZDLENBRHdCLEdBRXhCQSxNQUZKO0FBR0EsV0FBT1UsT0FBUDtBQUNELEdBTEQ7QUFNQSxTQUFPSCxTQUFTLEVBQWhCO0FBQ0Q7O0FBRU0sU0FBU0ksY0FBVCxDQUF3QlgsTUFBeEIsRUFBd0NSLFFBQXhDLEVBQW1FO0FBQ3hFLFNBQU8sMEJBQXNCUSxNQUF0QixFQUE4QlIsUUFBOUIsQ0FBUDtBQUNEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGdldENvbnRleHQsIHtcbiAgbWVyZ2UsXG4gIHNhbml0aXplQ29uZmlnIGFzIGNvbnRleHRTYW5pdGl6ZUNvbmZpZyxcbiAgc3luY0NvbnRleHRcbn0gZnJvbSAnQHJlYWN0YW50L2NvbnRleHQvbm9kZSc7XG5pbXBvcnQgcGtnRGlyIGZyb20gJ3BrZy1kaXInO1xuaW1wb3J0IHsgQ29uZmlnLCBDb250ZXh0IH0gZnJvbSAnQHJlYWN0YW50L3R5cGVzJztcbmltcG9ydCB7IGNvc21pY29uZmlnU3luYyB9IGZyb20gJ2Nvc21pY29uZmlnJztcbmltcG9ydCBkZWZhdWx0Q29uZmlnIGZyb20gJy4vZGVmYXVsdENvbmZpZyc7XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRVc2VyQ29uZmlnKCk6IFBhcnRpYWw8Q29uZmlnPiB7XG4gIGNvbnN0IHJvb3RQYXRoID0gcGtnRGlyLnN5bmMocHJvY2Vzcy5jd2QoKSkgfHwgcHJvY2Vzcy5jd2QoKTtcbiAgbGV0IHVzZXJDb25maWc6IFBhcnRpYWw8Q29uZmlnPiA9IHt9O1xuICB0cnkge1xuICAgIGNvbnN0IHBheWxvYWQgPSBjb3NtaWNvbmZpZ1N5bmMoJ3JlYWN0YW50Jykuc2VhcmNoKHJvb3RQYXRoKTtcbiAgICAvLyBUT0RPXG4gICAgdXNlckNvbmZpZyA9IChwYXlsb2FkICYmIHBheWxvYWQuY29uZmlnID8gcGF5bG9hZC5jb25maWcgOiB7fSkgYXMgUGFydGlhbDxcbiAgICAgIENvbmZpZ1xuICAgID47XG4gIH0gY2F0Y2ggKGVycikge1xuICAgIGlmIChlcnIubmFtZSAhPT0gJ1lBTUxFeGNlcHRpb24nKSB0aHJvdyBlcnI7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGltcG9ydC9uby1keW5hbWljLXJlcXVpcmUsZ2xvYmFsLXJlcXVpcmUsbm8tZXZhbFxuICAgIHVzZXJDb25maWcgPSBldmFsKGByZXF1aXJlKCR7ZXJyLm1hcmsubmFtZX0pYCk7XG4gIH1cbiAgcmV0dXJuIHVzZXJDb25maWc7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBsb2FkQ29uZmlnKCk6IENvbmZpZyB7XG4gIHJldHVybiBtZXJnZShkZWZhdWx0Q29uZmlnLCBnZXRVc2VyQ29uZmlnKCkpO1xufVxuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBnZXRDb25maWcoKTogQ29uZmlnIHtcbiAgcmV0dXJuIChnZXRDb250ZXh0KCkgYXMgQ29udGV4dCkuY29uZmlnIHx8IGRlZmF1bHRDb25maWc7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBzZXRDb25maWcoY29uZmlnOiBDb25maWcsIG1lcmdlQ29uZmlnID0gdHJ1ZSk6IENvbmZpZyB7XG4gIHN5bmNDb250ZXh0KChjb250ZXh0OiBDb250ZXh0KSA9PiB7XG4gICAgY29udGV4dC5jb25maWcgPSBtZXJnZUNvbmZpZ1xuICAgICAgPyBtZXJnZShjb250ZXh0LmNvbmZpZyB8fCBkZWZhdWx0Q29uZmlnLCBjb25maWcpXG4gICAgICA6IGNvbmZpZztcbiAgICByZXR1cm4gY29udGV4dDtcbiAgfSk7XG4gIHJldHVybiBnZXRDb25maWcoKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHNhbml0aXplQ29uZmlnKGNvbmZpZzogQ29uZmlnLCByb290UGF0aD86IHN0cmluZyk6IENvbmZpZyB7XG4gIHJldHVybiBjb250ZXh0U2FuaXRpemVDb25maWcoY29uZmlnLCByb290UGF0aCk7XG59XG5cbmV4cG9ydCB7IGRlZmF1bHRDb25maWcgfTtcbmV4cG9ydCAqIGZyb20gJ0ByZWFjdGFudC90eXBlcy9saWIvY29uZmlnJztcbiJdfQ==