aboutsummaryrefslogtreecommitdiffstats
path: root/config/webpack
diff options
context:
space:
mode:
Diffstat (limited to 'config/webpack')
-rw-r--r--config/webpack/loader/arrange-shared-module-loader.js37
-rw-r--r--config/webpack/utils/get-injection-code.js11
2 files changed, 31 insertions, 17 deletions
diff --git a/config/webpack/loader/arrange-shared-module-loader.js b/config/webpack/loader/arrange-shared-module-loader.js
index 9e21b23..1669a64 100644
--- a/config/webpack/loader/arrange-shared-module-loader.js
+++ b/config/webpack/loader/arrange-shared-module-loader.js
@@ -5,22 +5,39 @@ const { ImportManager } = require("import-manager");
const sharedModules = webpackRequire("utils/shared-modules.js");
module.exports = function(source) {
- const { sortedSharedModules } = this.getOptions();
- const manager = new ImportManager(source);
+ const currentSharedModuleName = path.basename(this.resourcePath.substring(0, this.resourcePath.length - 3));
- for (const unit of manager.imports.es6.units) {
- const moduleIndex = sharedModules.indexOf(unit.module.name);
+ if (sharedModules.includes(currentSharedModuleName)) {
+ const { sortedSharedModules } = this.getOptions();
+ const manager = new ImportManager(source);
+ const modulesToBeIncluded = [];
- if (moduleIndex >= 0) {
- const currentSharedModuleName = sharedModules[moduleIndex];
+ for (const unit of manager.imports.es6.units) {
+ const moduleIndex = sharedModules.indexOf(unit.module.name);
- if (!sortedSharedModules.includes(currentSharedModuleName)) {
- sortedSharedModules.push(currentSharedModuleName);
+ if (moduleIndex >= 0) {
+ const currentSharedModuleName = sharedModules[moduleIndex];
+
+ if (!(sortedSharedModules.includes(currentSharedModuleName) || modulesToBeIncluded.includes(currentSharedModuleName))) {
+ modulesToBeIncluded.push(currentSharedModuleName);
+ }
}
}
- }
- sortedSharedModules.push(path.basename(this.resourcePath.substring(0, this.resourcePath.length - 3)));
+ const currentModuleIndex = sortedSharedModules.indexOf(currentSharedModuleName);
+
+ if (currentModuleIndex >= 0) {
+ for (const sharedModule of modulesToBeIncluded) {
+ sortedSharedModules.splice(currentModuleIndex, 0, sharedModule);
+ }
+ } else {
+ for (const sharedModule of modulesToBeIncluded) {
+ sortedSharedModules.push(sharedModule);
+ }
+
+ sortedSharedModules.push(currentSharedModuleName);
+ }
+ }
return source;
};
diff --git a/config/webpack/utils/get-injection-code.js b/config/webpack/utils/get-injection-code.js
index 6333a6a..ec969c1 100644
--- a/config/webpack/utils/get-injection-code.js
+++ b/config/webpack/utils/get-injection-code.js
@@ -1,11 +1,8 @@
module.exports.getInjectionCode = (code, front) => {
- const escapeSequences = ["b", "f", "n", "r", "t", "v"];
- let finalCode = code.replaceAll("`","\\`");
-
- for (const escapeSequence of escapeSequences) {
- finalCode = finalCode
- .replaceAll("\\" + escapeSequence, "\\\\" + escapeSequence)
- }
+ let finalCode = code
+ .replaceAll("\\", "\\\\")
+ .replaceAll("`","\\`")
+ .replaceAll("${", "\\${");
const concatenationCode = front
? "t.innerHTML=i+t.innerHTML"