forked from daren.hsu/line_push
104 lines
3.2 KiB
JavaScript
104 lines
3.2 KiB
JavaScript
"use strict";
|
|
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: true
|
|
});
|
|
exports.interleaveConfig = interleaveConfig;
|
|
exports.interleaveStyleConfig = interleaveStyleConfig;
|
|
exports.interleaveStyleJsConfig = interleaveStyleJsConfig;
|
|
exports.hasExternalizedModuleViaJson = void 0;
|
|
|
|
var _mem = _interopRequireDefault(require("mem"));
|
|
|
|
var _utils = require("./utils");
|
|
|
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
|
|
var interleaveMap = (0, _utils.getInterleaveConfig)();
|
|
var hasExternalizedModuleViaJson = (0, _mem["default"])(function (moduleResource) {
|
|
if (!moduleResource || !interleaveMap) return;
|
|
var interleaveKeys = Object.keys(interleaveMap || {});
|
|
|
|
if (interleaveKeys) {
|
|
var foundMatch = interleaveKeys.find(function (item) {
|
|
return moduleResource.includes(item);
|
|
});
|
|
return interleaveMap[foundMatch] || false;
|
|
}
|
|
});
|
|
exports.hasExternalizedModuleViaJson = hasExternalizedModuleViaJson;
|
|
|
|
function interleaveConfig(_ref) {
|
|
var testPath = _ref.testPath,
|
|
manifestName = _ref.manifestName;
|
|
return {
|
|
test: function test(module) {
|
|
// check if module has a resource path (not virtual modules)
|
|
if (module.resource) {
|
|
return module.resource.includes(testPath) && !!hasExternalizedModuleViaJson(module.resource, manifestName);
|
|
}
|
|
},
|
|
name: function name(module) {
|
|
// Check if module is listed in the interleave interface
|
|
var foundValue = hasExternalizedModuleViaJson(module.resource, manifestName);
|
|
if (foundValue) return foundValue;
|
|
},
|
|
// force module into a chunk regardless of how its used
|
|
enforce: true // might need for next.js
|
|
// reuseExistingChunk: false,
|
|
|
|
};
|
|
}
|
|
|
|
function interleaveStyleConfig(_ref2) {
|
|
var manifestName = _ref2.manifestName;
|
|
return {
|
|
test: function test(module) {
|
|
// check if module has a resource path (not virtual modules)
|
|
if (module.constructor.name === "CssModule") {
|
|
return !!hasExternalizedModuleViaJson(module.identifier(), manifestName);
|
|
}
|
|
},
|
|
// eslint-disable-next-line no-unused-vars
|
|
name: function name(module, chunks, cacheGroupKey) {
|
|
// Check if module is listed in the interleave interface
|
|
if (!module.resource) {
|
|
var foundValue = hasExternalizedModuleViaJson(module.resource || module.identifier(), manifestName);
|
|
if (foundValue) return "".concat(foundValue, "-style");
|
|
}
|
|
|
|
return "styles";
|
|
},
|
|
// force module into a chunk regardless of how its used
|
|
chunks: "all",
|
|
enforce: true,
|
|
reuseExistingChunk: false
|
|
};
|
|
}
|
|
|
|
function interleaveStyleJsConfig(_ref3) {
|
|
var manifestName = _ref3.manifestName;
|
|
return {
|
|
test: function test(module) {
|
|
if (module.request && module.request.match(/\\(style-loader|css-loader|sass-loader)$/)) {
|
|
return true;
|
|
}
|
|
|
|
if (module.constructor.name === "CssModule") {
|
|
return false;
|
|
}
|
|
|
|
if (module.resource && module.resource.match(/\.(scss|css)$/)) {
|
|
return true;
|
|
}
|
|
|
|
return false;
|
|
},
|
|
name: function name(module, chunks) {
|
|
return "".concat(manifestName, "-stylejs");
|
|
},
|
|
chunks: "all",
|
|
enforce: true,
|
|
reuseExistingChunk: false
|
|
};
|
|
} |