An entrypoint can be defined with `dependOn` specified as an array (see docs)[https://webpack.js.org/configuration/entry-context/#entry], for example:
```javascript
splitmodule1: {
import: scanSourceFiles('./src/splitmodule1'),
dependOn: [ 'pluginregistry'] // Note that we could specify multiple dependencies here, e.g. dependOn: ['core', 'pluginregistry']
}
```
Using the Webpack Watcher results in the following error:
```
× 「wdm」: Error: Conflicting entry option dependOn = pluginregistry vs pluginregistry
at Compilation._addEntryItem (C:\Users\c.brueggemann\Documents\Projects\codesplit\node_modules\webpack\lib\Compilation.js:1616:7)
at Compilation.addEntry (C:\Users\c.brueggemann\Documents\Projects\codesplit\node_modules\webpack\lib\Compilation.js:1560:8)
at C:\Users\c.brueggemann\Documents\Projects\codesplit\node_modules\webpack\lib\DynamicEntryPlugin.js:59:23
at new Promise (<anonymous>)
at C:\Users\c.brueggemann\Documents\Projects\codesplit\node_modules\webpack\lib\DynamicEntryPlugin.js:58:10
```
This PR fixes the crash by comparing the arrays deeply instead of using incorrectly comparing them using `===`. I'm not too familiar with Webpack, so I'll be happy to adjust according to feedback.
to keep track of runtimes, used exports depending on runtime
modules can have different hashes and generated code depending on runtime
chunks are only considered as equal for MergeDuplicateChunks and SplitChunks when exports used in contained modules are equal
added `optimization.usedExports: "global"` to opt-out from used exports analysis per runtime
added `splitChunks.usedExports` and `splitChunks.cacheGroups[x].usedExports` to enable/disable used exports comparing for modules
`splitChunks.usedExports` defaults to `true` in production
deprecate writing to compilation.assets after sealing.
merge all asset processing into single hook with stages.
Deprecate additionalChunkAssets and optimizeChunkAssets.
Redirect additionalAssets, optimizeAssets to processAssets for backward-compat.
Remove finishAssets hook without deprecation as it was not in v4.