From 167c79f6b96efff178cbaf73feba90b4341c2ebb Mon Sep 17 00:00:00 2001 From: "Michael \"Z\" Goddard" Date: Sun, 11 Jun 2017 20:31:40 -0400 Subject: [PATCH 1/4] Regression test #105 hard-source fails to create a hard-module for a past built module with assets during the same watch-mode webpack compiler that first cached that module. --- tests/fixtures/loader-file-move/image.png | Bin 0 -> 12210 bytes tests/fixtures/loader-file-move/index.js | 1 + .../loader-file-move/webpack.config.js | 25 ++++++ tests/loaders.js | 49 +++++++++++ tests/util/index.js | 83 +++++++++++------- 5 files changed, 124 insertions(+), 34 deletions(-) create mode 100644 tests/fixtures/loader-file-move/image.png create mode 100644 tests/fixtures/loader-file-move/index.js create mode 100644 tests/fixtures/loader-file-move/webpack.config.js diff --git a/tests/fixtures/loader-file-move/image.png b/tests/fixtures/loader-file-move/image.png new file mode 100644 index 0000000000000000000000000000000000000000..5cd1451964e3aef1812910e0b1b7d9e9c3b2d22f GIT binary patch literal 12210 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 4) { + fns = [].slice.call(arguments, 2, arguments.length - 1); + expectHandle = arguments[arguments.length - 1]; } before(function() { @@ -200,35 +211,39 @@ exports.itCompiles = function(name, fixturePath, fnA, fnB, expectHandle) { it(name, function() { this.timeout(20000); this.slow(4000); - var run1; - var setup1, setup2; + var runs = []; + var setups = []; + var runIndex = 0; + function doRun() { + return Promise.resolve() + .then(function() {}) + .then(function() { + return fns[runIndex](runs[runIndex - 1]); + }) + .then(function(_setup) { + setups[runIndex] = _setup; + return exports.compile(fixturePath, _setup); + }) + .then(function(run) { + runs[runIndex] = run; + runIndex++; + if (runIndex < fns.length) { + return doRun(); + } + }); + } return Promise.resolve() .then(function() { - return fnA(); - }) - .then(function(_setup1) { - setup1 = _setup1; - run1 = exports.compile(fixturePath, setup1); - return run1; - }) - // Delay enough time so that file timestamps are different. - .then(function() { - // return new Promise(function(resolve) {setTimeout(resolve, 1000);}); + return doRun(); }) .then(function() { - return fnB(); - }) - .then(function(_setup2) { - setup2 = _setup2; - var run2 = exports.compile(fixturePath, setup2); - return Promise.all([run1, run2]); - }) - .then(function(runs) { expectHandle({ run1: runs[0], run2: runs[1], - setup1: setup1, - setup2: setup2, + runs: runs, + setup1: setups[0], + setup2: setups[1], + setups: setups, }); }); }); From 9b69f11d426b975b92dc007a7e36f2542c00c30e Mon Sep 17 00:00:00 2001 From: "Michael \"Z\" Goddard" Date: Sun, 11 Jun 2017 21:11:45 -0400 Subject: [PATCH 2/4] Fix #105 --- index.js | 3 +++ 1 file changed, 3 insertions(+) diff --git a/index.js b/index.js index 19cf7120..379f9534 100644 --- a/index.js +++ b/index.js @@ -1841,6 +1841,9 @@ HardSourceWebpackPlugin.prototype.apply = function(compiler) { if (assets.length) { assetOps = assetOps.concat(assets); + assets.forEach(function(op) { + assetCache[op.key] = op.value; + }); } } From a0f37dabf760ba6ec3b556735c4ee779245379fb Mon Sep 17 00:00:00 2001 From: "Michael \"Z\" Goddard" Date: Sun, 11 Jun 2017 21:12:14 -0400 Subject: [PATCH 3/4] Add ids to and clean up error messages --- index.js | 28 +++++++++++++++++----------- 1 file changed, 17 insertions(+), 11 deletions(-) diff --git a/index.js b/index.js index 379f9534..0ca75c9c 100644 --- a/index.js +++ b/index.js @@ -324,8 +324,8 @@ HardSourceWebpackPlugin.prototype.apply = function(compiler) { { id: 'environment-paths-deprecated' }, - 'HardSourceWebpackPlugin: environmentPaths is deprecated, please use ' + - 'environmentHash. environmentHash accepts the same options.' + 'environmentPaths is deprecated, please use environmentHash. ' + + 'environmentHash accepts the same options.' ); if (options.environmentPaths === false) { environmentHasher = function() { @@ -346,9 +346,11 @@ HardSourceWebpackPlugin.prototype.apply = function(compiler) { if (typeof options.environmentHash !== 'undefined') { if (environmentHasher) { loggerCore.warn( - {}, - 'HardSourceWebpackPlugin: environmentHash is a new option replacing ' + - 'environmentPaths. Please use only environmentHash.' + { + id: 'environment-paths-and-hash-defined' + }, + 'environmentHash is a new option replacing environmentPaths. Please ' + + 'use only environmentHash.' ); } if (options.environmentHash === false) { @@ -380,13 +382,14 @@ HardSourceWebpackPlugin.prototype.apply = function(compiler) { if (compiler.options.recordsInputPath || compiler.options.recordsPath) { loggerCore.error( { + id: 'records-input-path-set-in-root-config', webpackRecordsInputPath: compiler.options.recordsInputPath, webpackRecordsPath: compiler.options.recordsPath, hardSourceRecordsInputPath: options.recordsInputPath, hardSourceRecordsPath: options.recordsPath, }, - 'HardSourceWebpackPlugin will not set recordsInputPath when it is ' + - 'already set. Using current value: ' + + 'Can not set recordsInputPath when it is already set. Using current ' + + 'value: ' + (compiler.options.recordsInputPath || compiler.options.recordsPath) ); } @@ -406,13 +409,14 @@ HardSourceWebpackPlugin.prototype.apply = function(compiler) { if (compiler.options.recordsOutputPath || compiler.options.recordsPath) { loggerCore.error( { + id: 'records-output-path-set-in-root-config', webpackRecordsOutputPath: compiler.options.recordsInputPath, webpackRecordsPath: compiler.options.recordsPath, hardSourceRecordsOutputPath: options.recordsOutputPath, hardSourceRecordsPath: options.recordsPath, }, - 'HardSourceWebpackPlugin will not set recordsOutputPath when it is ' + - 'already set. Using current value: ' + + 'Can not set recordsOutputPath when it is already set. Using current ' + + 'value: ' + (compiler.options.recordsOutputPath || compiler.options.recordsPath) ); } @@ -470,8 +474,10 @@ HardSourceWebpackPlugin.prototype.apply = function(compiler) { !compiler.recordsInputPath || !compiler.recordsOutputPath ) { loggerCore.error( - {}, - 'HardSourceWebpackPlugin requires recordsPath to be set.' + { + id: 'no-records-path' + }, + 'recordsPath must be set.' ); active = false; } From fc8fd0896dc0d87891e6b814e270577f56bf2de6 Mon Sep 17 00:00:00 2001 From: "Michael \"Z\" Goddard" Date: Sun, 11 Jun 2017 21:13:14 -0400 Subject: [PATCH 4/4] Update fixture use of environmentPaths --- tests/fixtures/base-resolve-missing/webpack.config.js | 2 +- .../loader-custom-resolve-missing-query/webpack.config.js | 2 +- tests/fixtures/loader-custom-resolve-missing/webpack.config.js | 2 +- tests/fixtures/plugin-logger-child-no-memory/webpack.config.js | 2 +- .../fixtures/plugin-serializer-json-base-1dep/webpack.config.js | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/tests/fixtures/base-resolve-missing/webpack.config.js b/tests/fixtures/base-resolve-missing/webpack.config.js index 110e340a..4bff7710 100644 --- a/tests/fixtures/base-resolve-missing/webpack.config.js +++ b/tests/fixtures/base-resolve-missing/webpack.config.js @@ -11,7 +11,7 @@ module.exports = { plugins: [ new HardSourceWebpackPlugin({ cacheDirectory: 'cache', - environmentPaths: { + environmentHash: { root: __dirname + '/../../..', }, }), diff --git a/tests/fixtures/loader-custom-resolve-missing-query/webpack.config.js b/tests/fixtures/loader-custom-resolve-missing-query/webpack.config.js index 110e340a..4bff7710 100644 --- a/tests/fixtures/loader-custom-resolve-missing-query/webpack.config.js +++ b/tests/fixtures/loader-custom-resolve-missing-query/webpack.config.js @@ -11,7 +11,7 @@ module.exports = { plugins: [ new HardSourceWebpackPlugin({ cacheDirectory: 'cache', - environmentPaths: { + environmentHash: { root: __dirname + '/../../..', }, }), diff --git a/tests/fixtures/loader-custom-resolve-missing/webpack.config.js b/tests/fixtures/loader-custom-resolve-missing/webpack.config.js index 110e340a..4bff7710 100644 --- a/tests/fixtures/loader-custom-resolve-missing/webpack.config.js +++ b/tests/fixtures/loader-custom-resolve-missing/webpack.config.js @@ -11,7 +11,7 @@ module.exports = { plugins: [ new HardSourceWebpackPlugin({ cacheDirectory: 'cache', - environmentPaths: { + environmentHash: { root: __dirname + '/../../..', }, }), diff --git a/tests/fixtures/plugin-logger-child-no-memory/webpack.config.js b/tests/fixtures/plugin-logger-child-no-memory/webpack.config.js index 6fce8042..0d0cd320 100644 --- a/tests/fixtures/plugin-logger-child-no-memory/webpack.config.js +++ b/tests/fixtures/plugin-logger-child-no-memory/webpack.config.js @@ -22,7 +22,7 @@ module.exports = { new HardSourceWebpackPlugin({ cacheDirectory: __dirname + '/tmp/cache', recordsPath: __dirname + '/tmp/cache/records.json', - environmentPaths: { + environmentHash: { root: __dirname + '/../../..', }, }), diff --git a/tests/fixtures/plugin-serializer-json-base-1dep/webpack.config.js b/tests/fixtures/plugin-serializer-json-base-1dep/webpack.config.js index 841e16af..325f7693 100644 --- a/tests/fixtures/plugin-serializer-json-base-1dep/webpack.config.js +++ b/tests/fixtures/plugin-serializer-json-base-1dep/webpack.config.js @@ -11,7 +11,7 @@ module.exports = { plugins: [ new HardSourceWebpackPlugin({ cacheDirectory: 'cache', - environmentPaths: { + environmentHash: { root: __dirname + '/../../..', }, }),