1 | const Dependency = require('webpack/lib/Dependency');
|
2 |
|
3 | class GoogBaseGlobalDependency extends Dependency {}
|
4 |
|
5 | class GoogBaseGlobalDependencyTemplate {
|
6 | apply(dep, source) {
|
7 | const sourceContent = source.source();
|
8 | const content = `goog.ENABLE_DEBUG_LOADER = false;
|
9 | module.exports = goog;`;
|
10 | source.insert(sourceContent.length, content);
|
11 |
|
12 | const globalDefIndex = sourceContent.search(/\n\s*goog\.global\s*=\s*/);
|
13 | let statementEndIndex = -1;
|
14 | if (globalDefIndex >= 0) {
|
15 | statementEndIndex = sourceContent.indexOf(';', globalDefIndex);
|
16 | }
|
17 | if (statementEndIndex) {
|
18 | source.insert(
|
19 | statementEndIndex + 1,
|
20 | 'goog.global = window; goog.global.CLOSURE_NO_DEPS = true;'
|
21 | );
|
22 | } else {
|
23 | source.insert(0, 'this.CLOSURE_NO_DEPS = true;\n');
|
24 | }
|
25 | }
|
26 | }
|
27 |
|
28 | module.exports = GoogBaseGlobalDependency;
|
29 | module.exports.Template = GoogBaseGlobalDependencyTemplate;
|