diff --git a/index.js b/index.js index 0c815915..563d225d 100644 --- a/index.js +++ b/index.js @@ -90,7 +90,7 @@ HtmlWebpackPlugin.prototype.didChunkFilesChange = function(chunks) { var files = _.flatten(chunks.map(function(chunk) { return chunk.files; })); - if(_.difference(files, this.filesOfLastRun).length > 0) { + if(!this.filesOfLastRun || _.difference(files, this.filesOfLastRun).length > 0) { this.filesOfLastRun = files; return true; } @@ -249,7 +249,7 @@ HtmlWebpackPlugin.prototype.addFileToAssets = function(filename, compilation) { */ HtmlWebpackPlugin.prototype.filterChunks = function (webpackStatsJson, includedChunks, excludedChunks) { var chunks = webpackStatsJson.chunks.filter(function(chunk){ - var chunkName = chunk.names; + var chunkName = chunk.names[0]; // Skip if the chunks should be filtered and the given chunk was not added explicity if (Array.isArray(includedChunks) && includedChunks.indexOf(chunkName) === -1) { return false; diff --git a/spec/HtmlWebpackPluginSpec.js b/spec/HtmlWebpackPluginSpec.js index 7b2b94a1..5c4ac8e6 100644 --- a/spec/HtmlWebpackPluginSpec.js +++ b/spec/HtmlWebpackPluginSpec.js @@ -23,6 +23,11 @@ function testHtmlPlugin(webpackConfig, expectedResults, outputFile, done, expect expect(compilationWarnings).not.toBe(''); } else { expect(compilationWarnings).toBe(''); + } + var outputFileExists = fs.existsSync(path.join(OUTPUT_DIR, outputFile)); + expect(outputFileExists).toBe(true); + if(!outputFileExists) { + return done(); } var htmlContent = fs.readFileSync(path.join(OUTPUT_DIR, outputFile)).toString(); for (var i = 0; i < expectedResults.length; i++) {