Hello,
First of all, I know that [chunkhash] is not the best idea for long term caching, and it's better to use a plugin that creates content-hash, which we will probably do very soon.
Nevertheless I wanted to report the issue, even if only to help some other people who are investigating similar issues.
So, we're using webpack 3.x for now, and we have two external scripts, let's call them foo and bar that are loaded through script-loader 0.7.1 like this:
loadFooLib() {
return import(/* webpackChunkName: 'foobar' */ 'script-loader!foo')
},
(with foo$: 'html/vendor/foo/Foo' in webpack resolve config).
When we run the build twice after some time, without any code change in foo or bar (for example, a non-code commit), this often* results in the chunkhash change for foo and bar (the chunks that go through script-loader), and no output change for the other chunks -- and this in turn means that the manifest chunk has to be regenerated as well.
*often = not always, and it's happening a lot on our Linux build machines, but I could not reproduce so far on Windows
Looking at the code, things look very simple and there seems to be no obvious reason for script-loader to generate different chunkhash each time.
@sokra Do you have any ideas? Is this kind of issue more likely to be on the plugin side, or webpack side?