1 | let ConcatenatedModule;
|
2 | try {
|
3 |
|
4 | ConcatenatedModule = require('webpack/lib/optimize/ConcatenatedModule');
|
5 |
|
6 | } catch (e) {}
|
7 |
|
8 |
|
9 |
|
10 |
|
11 |
|
12 |
|
13 |
|
14 | function getAllModules(compilation) {
|
15 | let modules = compilation.modules;
|
16 |
|
17 |
|
18 | if (compilation.children.length > 0) {
|
19 | const childModules = compilation.children.map(getAllModules)
|
20 | .reduce((acc, compilationModules) => acc.concat(compilationModules), []);
|
21 |
|
22 | modules = modules.concat(childModules);
|
23 | }
|
24 |
|
25 |
|
26 | if (ConcatenatedModule) {
|
27 | const concatenatedModules = modules
|
28 | .filter(m => m instanceof ConcatenatedModule)
|
29 | .reduce((acc, m) => {
|
30 | |
31 |
|
32 |
|
33 |
|
34 |
|
35 | const subModules = 'modules' in m
|
36 | ? m.modules
|
37 | : m._orderedConcatenationList.map(entry => entry.module);
|
38 |
|
39 | return acc.concat(subModules);
|
40 | }, []);
|
41 |
|
42 | if (concatenatedModules.length > 0) {
|
43 | modules = modules.concat(concatenatedModules);
|
44 | }
|
45 | }
|
46 |
|
47 | return modules;
|
48 | }
|
49 |
|
50 | module.exports = getAllModules;
|