1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
| const pluginCompat = require('./util/plugin-compat');
|
| class TransformModuleAssetsPlugin {
| apply(compiler) {
| let store;
| let fetch;
|
| pluginCompat.tap(
| compiler,
| '_hardSourceMethods',
| 'TransformModuleAssetsPlugin copy methods',
| methods => {
| store = methods.store;
| fetch = methods.fetch;
| // freeze = methods.freeze;
| // thaw = methods.thaw;
| // mapFreeze = methods.mapFreeze;
| // mapThaw = methods.mapThaw;
| },
| );
|
| pluginCompat.tap(
| compiler,
| '_hardSourceFreezeModuleAssets',
| 'TransformModuleAssetsPlugin freeze',
| (frozen, assets, extra) => {
| if (!frozen && assets) {
| Object.keys(assets).forEach(key => {
| store('Asset', key, assets[key], extra);
| });
| frozen = Object.keys(assets);
| }
|
| return frozen;
| },
| );
|
| pluginCompat.tap(
| compiler,
| '_hardSourceThawModuleAssets',
| 'TransformModuleAssetsPlugin thaw',
| (assets, frozen, extra) => {
| if (!assets && frozen) {
| assets = {};
| frozen.forEach(key => {
| assets[key] = fetch('Asset', key, extra);
| });
| }
|
| return assets;
| },
| );
| }
| }
|
| module.exports = TransformModuleAssetsPlugin;
|
|