From b018bc7ac5e21ac5fb550c74a8b3172b62bb3f4d Mon Sep 17 00:00:00 2001 From: Tobias Koppers Date: Sun, 25 Mar 2018 10:15:01 +0200 Subject: [PATCH] more tests and fixes for webworker --- lib/webworker/WebWorkerMainTemplatePlugin.js | 38 +++++++++---------- .../output-filename/test.config.js | 1 + .../output-filename/webpack.config.js | 28 ++++++++++++++ 3 files changed, 48 insertions(+), 19 deletions(-) diff --git a/lib/webworker/WebWorkerMainTemplatePlugin.js b/lib/webworker/WebWorkerMainTemplatePlugin.js index f5881475bcd..3408511bf92 100644 --- a/lib/webworker/WebWorkerMainTemplatePlugin.js +++ b/lib/webworker/WebWorkerMainTemplatePlugin.js @@ -51,27 +51,27 @@ class WebWorkerMainTemplatePlugin { length )} + "`, chunk: { - id: '" + chunkId + "' - }, - contentHash: { - javascript: `" + ${JSON.stringify( - chunkMaps.contentHash.javascript - )}[chunkId] + "` - }, - contentHashWithLength: { - javascript: length => { - const shortContentHashMap = {}; - const contentHash = chunkMaps.contentHash.javascript; - for (const chunkId of Object.keys(contentHash)) { - if (typeof contentHash[chunkId] === "string") { - shortContentHashMap[chunkId] = contentHash[ - chunkId - ].substr(0, length); + id: '" + chunkId + "', + contentHash: { + javascript: `" + ${JSON.stringify( + chunkMaps.contentHash.javascript + )}[chunkId] + "` + }, + contentHashWithLength: { + javascript: length => { + const shortContentHashMap = {}; + const contentHash = chunkMaps.contentHash.javascript; + for (const chunkId of Object.keys(contentHash)) { + if (typeof contentHash[chunkId] === "string") { + shortContentHashMap[chunkId] = contentHash[ + chunkId + ].substr(0, length); + } } + return `" + ${JSON.stringify( + shortContentHashMap + )}[chunkId] + "`; } - return `" + ${JSON.stringify( - shortContentHashMap - )}[chunkId] + "`; } }, contentHashType: "javascript" diff --git a/test/configCases/hash-length/output-filename/test.config.js b/test/configCases/hash-length/output-filename/test.config.js index d77b4a23fbe..a6d2483ca2f 100644 --- a/test/configCases/hash-length/output-filename/test.config.js +++ b/test/configCases/hash-length/output-filename/test.config.js @@ -47,5 +47,6 @@ module.exports = { }, afterExecute: () => { delete global.webpackJsonp; + delete global.webpackChunk; } }; diff --git a/test/configCases/hash-length/output-filename/webpack.config.js b/test/configCases/hash-length/output-filename/webpack.config.js index 971f6ee6ebb..ca75582b24b 100644 --- a/test/configCases/hash-length/output-filename/webpack.config.js +++ b/test/configCases/hash-length/output-filename/webpack.config.js @@ -191,6 +191,34 @@ module.exports = [ expectedFilenameLength: 9 + 7 + 3, expectedChunkFilenameLength: 2 + 9 + 7 + 3 } + }, + { + name: "contenthash in webpack", + entry: "./no-async", + output: { + filename: "bundle16.[contenthash].js", + chunkFilename: "[id].bundle16.[contenthash].js", + globalObject: "this" + }, + target: "webworker", + amd: { + expectedFilenameLength: 32, + expectedChunkFilenameLength: 34 + } + }, + { + name: "contenthash in async-node with length", + entry: "./no-async", + output: { + filename: "bundle17.[contenthash:7].js", + chunkFilename: "[id].bundle17.[contenthash:7].js", + globalObject: "this" + }, + target: "webworker", + amd: { + expectedFilenameLength: 9 + 7 + 3, + expectedChunkFilenameLength: 2 + 9 + 7 + 3 + } } ];