diff --git a/lib/optimize/ConcatenatedModule.js b/lib/optimize/ConcatenatedModule.js index 8031b3d61f9..52b2a41c8e2 100644 --- a/lib/optimize/ConcatenatedModule.js +++ b/lib/optimize/ConcatenatedModule.js @@ -154,6 +154,8 @@ class ConcatenatedModule extends Module { this.dependencies = []; this.dependenciesWarnings = []; this.dependenciesErrors = []; + this.fileDependencies = []; + this.contextDependencies = []; this.warnings = []; this.errors = []; this.assets = {}; @@ -165,6 +167,10 @@ class ConcatenatedModule extends Module { m.dependenciesWarnings.forEach(depWarning => this.dependenciesWarnings.push(depWarning)); // populate dep errors m.dependenciesErrors.forEach(depError => this.dependenciesErrors.push(depError)); + // populate file dependencies + if(m.fileDependencies) m.fileDependencies.forEach(file => this.fileDependencies.push(file)); + // populate context dependencies + if(m.contextDependencies) m.contextDependencies.forEach(context => this.contextDependencies.push(context)); // populate warnings m.warnings.forEach(warning => this.warnings.push(warning)); // populate errors diff --git a/test/watchCases/plugins/module-concatenation-plugin/0/bar/a.js b/test/watchCases/plugins/module-concatenation-plugin/0/bar/a.js new file mode 100644 index 00000000000..7b24d0e60f6 --- /dev/null +++ b/test/watchCases/plugins/module-concatenation-plugin/0/bar/a.js @@ -0,0 +1 @@ +export default 'This '; diff --git a/test/watchCases/plugins/module-concatenation-plugin/0/bar/abc.js b/test/watchCases/plugins/module-concatenation-plugin/0/bar/abc.js new file mode 100644 index 00000000000..68c28812908 --- /dev/null +++ b/test/watchCases/plugins/module-concatenation-plugin/0/bar/abc.js @@ -0,0 +1,5 @@ +import a from './a'; +import b from './b'; +import c from './c'; + +export default a + b + c; diff --git a/test/watchCases/plugins/module-concatenation-plugin/0/bar/b.js b/test/watchCases/plugins/module-concatenation-plugin/0/bar/b.js new file mode 100644 index 00000000000..ec06d241325 --- /dev/null +++ b/test/watchCases/plugins/module-concatenation-plugin/0/bar/b.js @@ -0,0 +1 @@ +export default 'is only'; diff --git a/test/watchCases/plugins/module-concatenation-plugin/0/bar/c.js b/test/watchCases/plugins/module-concatenation-plugin/0/bar/c.js new file mode 100644 index 00000000000..c2d90b70b5d --- /dev/null +++ b/test/watchCases/plugins/module-concatenation-plugin/0/bar/c.js @@ -0,0 +1 @@ +export default ' a test'; diff --git a/test/watchCases/plugins/module-concatenation-plugin/0/foo/0.js b/test/watchCases/plugins/module-concatenation-plugin/0/foo/0.js new file mode 100644 index 00000000000..9bad2b79018 --- /dev/null +++ b/test/watchCases/plugins/module-concatenation-plugin/0/foo/0.js @@ -0,0 +1 @@ +module.exports = require('../bar/abc').default + '.0'; diff --git a/test/watchCases/plugins/module-concatenation-plugin/0/index.js b/test/watchCases/plugins/module-concatenation-plugin/0/index.js new file mode 100644 index 00000000000..0f584966674 --- /dev/null +++ b/test/watchCases/plugins/module-concatenation-plugin/0/index.js @@ -0,0 +1,13 @@ +it("should watch for changes", function() { + if(WATCH_STEP === '0') { + require("./foo/" + WATCH_STEP).should.be.eql('This is only a test.' + WATCH_STEP); + } + else if(WATCH_STEP === '1') { + require("./foo/" + WATCH_STEP).should.be.eql('This should be a test.' + WATCH_STEP); + } + else if(WATCH_STEP === '2') { + require("./foo/" + WATCH_STEP).should.be.eql('This should be working.' + WATCH_STEP); + } + + STATS_JSON.modules.length.should.equal(4 + Number(WATCH_STEP)); +}); diff --git a/test/watchCases/plugins/module-concatenation-plugin/1/bar/b.js b/test/watchCases/plugins/module-concatenation-plugin/1/bar/b.js new file mode 100644 index 00000000000..2cd0cdc25f9 --- /dev/null +++ b/test/watchCases/plugins/module-concatenation-plugin/1/bar/b.js @@ -0,0 +1 @@ +export default 'should be'; diff --git a/test/watchCases/plugins/module-concatenation-plugin/1/foo/1.js b/test/watchCases/plugins/module-concatenation-plugin/1/foo/1.js new file mode 100644 index 00000000000..f1bd20c78e7 --- /dev/null +++ b/test/watchCases/plugins/module-concatenation-plugin/1/foo/1.js @@ -0,0 +1 @@ +module.exports = require('../bar/abc').default + '.1'; diff --git a/test/watchCases/plugins/module-concatenation-plugin/2/bar/c.js b/test/watchCases/plugins/module-concatenation-plugin/2/bar/c.js new file mode 100644 index 00000000000..6d4f2c1ce49 --- /dev/null +++ b/test/watchCases/plugins/module-concatenation-plugin/2/bar/c.js @@ -0,0 +1 @@ +export default ' working'; diff --git a/test/watchCases/plugins/module-concatenation-plugin/2/foo/2.js b/test/watchCases/plugins/module-concatenation-plugin/2/foo/2.js new file mode 100644 index 00000000000..749e96f8f3a --- /dev/null +++ b/test/watchCases/plugins/module-concatenation-plugin/2/foo/2.js @@ -0,0 +1 @@ +module.exports = require('../bar/abc').default + '.2'; diff --git a/test/watchCases/plugins/module-concatenation-plugin/webpack.config.js b/test/watchCases/plugins/module-concatenation-plugin/webpack.config.js new file mode 100644 index 00000000000..062821a9bb4 --- /dev/null +++ b/test/watchCases/plugins/module-concatenation-plugin/webpack.config.js @@ -0,0 +1,6 @@ +var webpack = require("../../../../"); +module.exports = { + plugins: [ + new webpack.optimize.ModuleConcatenationPlugin() + ] +};