UNPKG

react-static

Version:

A progressive static site generator for React

64 lines (52 loc) 6.8 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports["default"] = _default; var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty")); var _fsExtra = _interopRequireDefault(require("fs-extra")); var _babelPreset = _interopRequireDefault(require("../../../../babel-preset")); 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) { (0, _defineProperty2["default"])(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; } // we check which babel config file exists in the project root var readBabelConfig = function readBabelConfig(root) { var babelFiles = ["".concat(root, "/.babelrc"), "".concat(root, "/.babelrc.js"), "".concat(root, "/babel.config.js")]; var extendsFile = {}; babelFiles.forEach(function (file) { try { _fsExtra["default"].statSync(file); extendsFile = { "extends": file }; } catch (err) {// dont do anything } }); return extendsFile; }; function _default(_ref) { var config = _ref.config, stage = _ref.stage; var babelFile = {}; var isRelativePath = config.paths.DIST.startsWith(config.paths.ROOT); if (!isRelativePath) { babelFile = readBabelConfig(config.paths.ROOT); } return { test: /\.(js|jsx|mjs)$/, include: [config.paths.PLUGINS, config.paths.SRC, /react-static-templates\.js/, /react-static-browser-plugins\.js/], use: [{ loader: 'babel-loader', options: _objectSpread(_objectSpread({}, babelFile), {}, { root: config.paths.ROOT, presets: [[_babelPreset["default"], { modules: false }]], cacheDirectory: isRelativePath ? stage !== 'prod' : config.paths.TEMP, compact: stage === 'prod', highlightCode: true }) }, 'react-hot-loader/webpack'] }; } //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9zdGF0aWMvd2VicGFjay9ydWxlcy9qc0xvYWRlci5qcyJdLCJuYW1lcyI6WyJyZWFkQmFiZWxDb25maWciLCJyb290IiwiYmFiZWxGaWxlcyIsImV4dGVuZHNGaWxlIiwiZm9yRWFjaCIsImZpbGUiLCJmcyIsInN0YXRTeW5jIiwiZXJyIiwiY29uZmlnIiwic3RhZ2UiLCJiYWJlbEZpbGUiLCJpc1JlbGF0aXZlUGF0aCIsInBhdGhzIiwiRElTVCIsInN0YXJ0c1dpdGgiLCJST09UIiwidGVzdCIsImluY2x1ZGUiLCJQTFVHSU5TIiwiU1JDIiwidXNlIiwibG9hZGVyIiwib3B0aW9ucyIsInByZXNldHMiLCJiYWJlbFByZXNldCIsIm1vZHVsZXMiLCJjYWNoZURpcmVjdG9yeSIsIlRFTVAiLCJjb21wYWN0IiwiaGlnaGxpZ2h0Q29kZSJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7QUFBQTs7QUFDQTs7Ozs7O0FBRUE7QUFDQSxJQUFNQSxlQUFlLEdBQUcsU0FBbEJBLGVBQWtCLENBQUFDLElBQUksRUFBSTtBQUM5QixNQUFNQyxVQUFVLEdBQUcsV0FDZEQsSUFEYywwQkFFZEEsSUFGYyw2QkFHZEEsSUFIYyxzQkFBbkI7QUFNQSxNQUFJRSxXQUFXLEdBQUcsRUFBbEI7QUFFQUQsRUFBQUEsVUFBVSxDQUFDRSxPQUFYLENBQW1CLFVBQUFDLElBQUksRUFBSTtBQUN6QixRQUFJO0FBQ0ZDLDBCQUFHQyxRQUFILENBQVlGLElBQVo7O0FBQ0FGLE1BQUFBLFdBQVcsR0FBRztBQUFFLG1CQUFTRTtBQUFYLE9BQWQ7QUFDRCxLQUhELENBR0UsT0FBT0csR0FBUCxFQUFZLENBQ1o7QUFDRDtBQUNGLEdBUEQ7QUFTQSxTQUFPTCxXQUFQO0FBQ0QsQ0FuQkQ7O0FBcUJlLHdCQUE0QjtBQUFBLE1BQWpCTSxNQUFpQixRQUFqQkEsTUFBaUI7QUFBQSxNQUFUQyxLQUFTLFFBQVRBLEtBQVM7QUFDekMsTUFBSUMsU0FBUyxHQUFHLEVBQWhCO0FBRUEsTUFBTUMsY0FBYyxHQUFHSCxNQUFNLENBQUNJLEtBQVAsQ0FBYUMsSUFBYixDQUFrQkMsVUFBbEIsQ0FBNkJOLE1BQU0sQ0FBQ0ksS0FBUCxDQUFhRyxJQUExQyxDQUF2Qjs7QUFFQSxNQUFJLENBQUNKLGNBQUwsRUFBcUI7QUFDbkJELElBQUFBLFNBQVMsR0FBR1gsZUFBZSxDQUFDUyxNQUFNLENBQUNJLEtBQVAsQ0FBYUcsSUFBZCxDQUEzQjtBQUNEOztBQUVELFNBQU87QUFDTEMsSUFBQUEsSUFBSSxFQUFFLGlCQUREO0FBRUxDLElBQUFBLE9BQU8sRUFBRSxDQUNQVCxNQUFNLENBQUNJLEtBQVAsQ0FBYU0sT0FETixFQUVQVixNQUFNLENBQUNJLEtBQVAsQ0FBYU8sR0FGTixFQUdQLDRCQUhPLEVBSVAsa0NBSk8sQ0FGSjtBQVFMQyxJQUFBQSxHQUFHLEVBQUUsQ0FDSDtBQUNFQyxNQUFBQSxNQUFNLEVBQUUsY0FEVjtBQUVFQyxNQUFBQSxPQUFPLGtDQUNGWixTQURFO0FBRUxWLFFBQUFBLElBQUksRUFBRVEsTUFBTSxDQUFDSSxLQUFQLENBQWFHLElBRmQ7QUFHTFEsUUFBQUEsT0FBTyxFQUFFLENBQUMsQ0FBQ0MsdUJBQUQsRUFBYztBQUFFQyxVQUFBQSxPQUFPLEVBQUU7QUFBWCxTQUFkLENBQUQsQ0FISjtBQUlMQyxRQUFBQSxjQUFjLEVBQUVmLGNBQWMsR0FBR0YsS0FBSyxLQUFLLE1BQWIsR0FBc0JELE1BQU0sQ0FBQ0ksS0FBUCxDQUFhZSxJQUo1RDtBQUtMQyxRQUFBQSxPQUFPLEVBQUVuQixLQUFLLEtBQUssTUFMZDtBQU1Mb0IsUUFBQUEsYUFBYSxFQUFFO0FBTlY7QUFGVCxLQURHLEVBWUgsMEJBWkc7QUFSQSxHQUFQO0FBdUJEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGZzIGZyb20gJ2ZzLWV4dHJhJ1xuaW1wb3J0IGJhYmVsUHJlc2V0IGZyb20gJy4uLy4uLy4uLy4uL2JhYmVsLXByZXNldCdcblxuLy8gd2UgY2hlY2sgd2hpY2ggYmFiZWwgY29uZmlnIGZpbGUgZXhpc3RzIGluIHRoZSBwcm9qZWN0IHJvb3RcbmNvbnN0IHJlYWRCYWJlbENvbmZpZyA9IHJvb3QgPT4ge1xuICBjb25zdCBiYWJlbEZpbGVzID0gW1xuICAgIGAke3Jvb3R9Ly5iYWJlbHJjYCxcbiAgICBgJHtyb290fS8uYmFiZWxyYy5qc2AsXG4gICAgYCR7cm9vdH0vYmFiZWwuY29uZmlnLmpzYCxcbiAgXVxuXG4gIGxldCBleHRlbmRzRmlsZSA9IHt9XG5cbiAgYmFiZWxGaWxlcy5mb3JFYWNoKGZpbGUgPT4ge1xuICAgIHRyeSB7XG4gICAgICBmcy5zdGF0U3luYyhmaWxlKVxuICAgICAgZXh0ZW5kc0ZpbGUgPSB7IGV4dGVuZHM6IGZpbGUgfVxuICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgLy8gZG9udCBkbyBhbnl0aGluZ1xuICAgIH1cbiAgfSlcblxuICByZXR1cm4gZXh0ZW5kc0ZpbGVcbn1cblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24oeyBjb25maWcsIHN0YWdlIH0pIHtcbiAgbGV0IGJhYmVsRmlsZSA9IHt9XG5cbiAgY29uc3QgaXNSZWxhdGl2ZVBhdGggPSBjb25maWcucGF0aHMuRElTVC5zdGFydHNXaXRoKGNvbmZpZy5wYXRocy5ST09UKVxuXG4gIGlmICghaXNSZWxhdGl2ZVBhdGgpIHtcbiAgICBiYWJlbEZpbGUgPSByZWFkQmFiZWxDb25maWcoY29uZmlnLnBhdGhzLlJPT1QpXG4gIH1cblxuICByZXR1cm4ge1xuICAgIHRlc3Q6IC9cXC4oanN8anN4fG1qcykkLyxcbiAgICBpbmNsdWRlOiBbXG4gICAgICBjb25maWcucGF0aHMuUExVR0lOUyxcbiAgICAgIGNvbmZpZy5wYXRocy5TUkMsXG4gICAgICAvcmVhY3Qtc3RhdGljLXRlbXBsYXRlc1xcLmpzLyxcbiAgICAgIC9yZWFjdC1zdGF0aWMtYnJvd3Nlci1wbHVnaW5zXFwuanMvLFxuICAgIF0sXG4gICAgdXNlOiBbXG4gICAgICB7XG4gICAgICAgIGxvYWRlcjogJ2JhYmVsLWxvYWRlcicsXG4gICAgICAgIG9wdGlvbnM6IHtcbiAgICAgICAgICAuLi5iYWJlbEZpbGUsXG4gICAgICAgICAgcm9vdDogY29uZmlnLnBhdGhzLlJPT1QsXG4gICAgICAgICAgcHJlc2V0czogW1tiYWJlbFByZXNldCwgeyBtb2R1bGVzOiBmYWxzZSB9XV0sXG4gICAgICAgICAgY2FjaGVEaXJlY3Rvcnk6IGlzUmVsYXRpdmVQYXRoID8gc3RhZ2UgIT09ICdwcm9kJyA6IGNvbmZpZy5wYXRocy5URU1QLFxuICAgICAgICAgIGNvbXBhY3Q6IHN0YWdlID09PSAncHJvZCcsXG4gICAgICAgICAgaGlnaGxpZ2h0Q29kZTogdHJ1ZSxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgICAncmVhY3QtaG90LWxvYWRlci93ZWJwYWNrJyxcbiAgICBdLFxuICB9XG59XG4iXX0=