diff options
Diffstat (limited to 'config/webpack/utils')
| -rw-r--r-- | config/webpack/utils/generate-script-build-config.js | 14 | ||||
| -rw-r--r-- | config/webpack/utils/inline-javascript.js | 4 |
2 files changed, 11 insertions, 7 deletions
diff --git a/config/webpack/utils/generate-script-build-config.js b/config/webpack/utils/generate-script-build-config.js index f8e1697..a6f9f54 100644 --- a/config/webpack/utils/generate-script-build-config.js +++ b/config/webpack/utils/generate-script-build-config.js @@ -3,10 +3,9 @@ const path = require("path"); const SanitizeScriptsImportPlugin = require("../plugins/sanitize-scripts-import-webpack-plugin"); const InjectScriptPlugin = require("../plugins/inject-script-webpack-plugin"); +const inlineJavascript = require("./inline-javascript"); -const manifest = require(path.resolve(process.env.SOURCE_DIR, "manifest.json")); - -let count = 0; +const scripts = require(path.resolve(process.env.SOURCE_DIR, "scripts.json")); const getImportStatementForScript = script => { const importPath = path.resolve(process.env.SOURCE_DIR, "scripts", script); @@ -14,15 +13,16 @@ const getImportStatementForScript = script => { }; const getVirtualEntry = scriptType => { - const string = Object.keys(manifest[scriptType]).map(getImportStatementForScript).join("\n"); + const importStatements = Object.keys(scripts[scriptType]).map(getImportStatementForScript).join("\n"); - const base64 = Buffer.from(string).toString("base64"); - return `data:text/javascript;base64,${base64}`; + return inlineJavascript(importStatements); } +let injectedScriptsCount = 0; const generateScriptBuildConfig = scriptType => { return { entry: getVirtualEntry(scriptType), + name: scriptType, mode: "production", output: { filename: `${scriptType}.js` @@ -54,7 +54,7 @@ const generateScriptBuildConfig = scriptType => { scriptType.startsWith("injected") ? [new InjectScriptPlugin({ onload: scriptType === "injected_and_loaded", - isFirst: count++ <= 0 + isFirst: injectedScriptsCount++ <= 0 })] : [] ) diff --git a/config/webpack/utils/inline-javascript.js b/config/webpack/utils/inline-javascript.js new file mode 100644 index 0000000..b9348cc --- /dev/null +++ b/config/webpack/utils/inline-javascript.js @@ -0,0 +1,4 @@ +module.exports = code => { + const base64 = Buffer.from(code).toString("base64"); + return `data:text/javascript;base64,${base64}`; +}; |
