webpack.js
1.33 KB
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
exports.__esModule = true;
exports.isWebpack5 = false;
exports.default = undefined;
function assignWithGetter(source, webpack) {
Object.keys(webpack).forEach(key => {
Object.defineProperty(source, key, {
get() { return webpack[key]; }
});
});
}
let initializedWebpack5 = false;
let initializedWebpack4 = false;
let initFns = [];
let inited = false;
exports.init = function (useWebpack5) {
// allow init once
if (inited) return;
inited = true;
if (useWebpack5) {
Object.assign(exports, require('./5/bundle5')());
// Object.assign(exports, require('./5/bundle5')().webpack);
assignWithGetter(exports, require('./5/bundle5')().webpack);
exports.isWebpack5 = true;
exports.default = require('./5/bundle5')().webpack;
if (!initializedWebpack5) for (const cb of initFns) cb();
initializedWebpack5 = true;
} else {
Object.assign(exports, require('./4/bundle4')());
// Object.assign(exports, require('./4/bundle4')().webpack);
assignWithGetter(exports, require('./4/bundle4')().webpack);
exports.isWebpack5 = false;
exports.default = require('./4/bundle4')().webpack;
if (!initializedWebpack4) for (const cb of initFns) cb();
initializedWebpack4 = true;
}
}
exports.onWebpackInit = function (cb) {
if (initializedWebpack5 || initializedWebpack4) cb();
initFns.push(cb);
}