react-static
Version:
A progressive static site generator for React
64 lines (52 loc) • 6.8 kB
JavaScript
;
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=