webpack 3.8.1 → 3.11.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +20 -20
- package/README.md +721 -716
- package/bin/webpack.js +12 -8
- package/buildin/.eslintrc +7 -7
- package/buildin/amd-define.js +3 -3
- package/buildin/amd-options.js +2 -2
- package/buildin/global.js +21 -21
- package/buildin/harmony-module.js +24 -24
- package/buildin/module.js +22 -22
- package/buildin/system.js +7 -7
- package/hot/.eslintrc +9 -9
- package/hot/dev-server.js +53 -53
- package/hot/emitter.js +2 -2
- package/hot/log-apply-result.js +38 -38
- package/hot/log.js +44 -44
- package/hot/only-dev-server.js +71 -71
- package/hot/poll.js +34 -34
- package/hot/signal.js +52 -51
- package/lib/APIPlugin.js +45 -45
- package/lib/AsyncDependenciesBlock.js +43 -43
- package/lib/AutomaticPrefetchPlugin.js +36 -36
- package/lib/BannerPlugin.js +4 -2
- package/lib/BasicEvaluatedExpression.js +203 -203
- package/lib/CaseSensitiveModulesWarning.js +49 -49
- package/lib/Chunk.js +2 -2
- package/lib/ChunkRenderError.js +24 -24
- package/lib/ChunkTemplate.js +36 -36
- package/lib/CompatibilityPlugin.js +57 -57
- package/lib/Compilation.js +81 -92
- package/lib/Compiler.js +519 -523
- package/lib/ConstPlugin.js +60 -60
- package/lib/ContextModule.js +431 -431
- package/lib/ContextReplacementPlugin.js +111 -111
- package/lib/DefinePlugin.js +123 -123
- package/lib/DelegatedModule.js +98 -98
- package/lib/DelegatedModuleFactoryPlugin.js +59 -59
- package/lib/DelegatedPlugin.js +30 -30
- package/lib/DependenciesBlockVariable.js +51 -51
- package/lib/DllEntryPlugin.js +37 -37
- package/lib/DllModule.js +58 -58
- package/lib/DllModuleFactory.js +20 -20
- package/lib/DllPlugin.js +38 -38
- package/lib/DllReferencePlugin.js +62 -62
- package/lib/DynamicEntryPlugin.js +59 -59
- package/lib/EntryModuleNotFoundError.js +22 -22
- package/lib/EntryOptionPlugin.js +31 -31
- package/lib/EnvironmentPlugin.js +60 -50
- package/lib/ErrorHelpers.js +31 -31
- package/lib/EvalDevToolModulePlugin.js +22 -22
- package/lib/EvalDevToolModuleTemplatePlugin.js +33 -33
- package/lib/EvalSourceMapDevToolModuleTemplatePlugin.js +75 -75
- package/lib/EvalSourceMapDevToolPlugin.js +32 -32
- package/lib/ExportPropertyMainTemplatePlugin.js +31 -31
- package/lib/ExtendedAPIPlugin.js +47 -47
- package/lib/ExternalModuleFactoryPlugin.js +91 -91
- package/lib/ExternalsPlugin.js +21 -21
- package/lib/FlagDependencyExportsPlugin.js +101 -101
- package/lib/FlagDependencyUsagePlugin.js +1 -1
- package/lib/FunctionModulePlugin.js +24 -24
- package/lib/HashedModuleIdsPlugin.js +42 -42
- package/lib/HotModuleReplacementPlugin.js +5 -5
- package/lib/HotUpdateChunkTemplate.js +31 -31
- package/lib/IgnorePlugin.js +69 -69
- package/lib/JsonpExportMainTemplatePlugin.js +37 -37
- package/lib/JsonpHotUpdateChunkTemplatePlugin.js +27 -27
- package/lib/JsonpMainTemplatePlugin.js +4 -3
- package/lib/JsonpTemplatePlugin.js +21 -21
- package/lib/LibManifestPlugin.js +63 -63
- package/lib/LibraryTemplatePlugin.js +92 -92
- package/lib/LoaderOptionsPlugin.js +36 -36
- package/lib/LoaderTargetPlugin.js +19 -19
- package/lib/MainTemplate.js +3 -1
- package/lib/MemoryOutputFileSystem.js +5 -5
- package/lib/ModuleBuildError.js +42 -42
- package/lib/ModuleDependencyError.js +22 -22
- package/lib/ModuleDependencyWarning.js +22 -22
- package/lib/ModuleError.js +24 -24
- package/lib/ModuleFilenameHelpers.js +162 -162
- package/lib/ModuleNotFoundError.js +26 -26
- package/lib/ModuleReason.js +50 -50
- package/lib/ModuleTemplate.js +23 -23
- package/lib/ModuleWarning.js +24 -24
- package/lib/MovedToPluginWarningPlugin.js +21 -21
- package/lib/MultiCompiler.js +164 -164
- package/lib/MultiEntryPlugin.js +39 -39
- package/lib/MultiModuleFactory.js +19 -19
- package/lib/MultiStats.js +79 -79
- package/lib/MultiWatching.js +32 -32
- package/lib/NamedChunksPlugin.js +30 -30
- package/lib/NamedModulesPlugin.js +27 -27
- package/lib/NewWatchingPlugin.js +15 -15
- package/lib/NoEmitOnErrorsPlugin.js +22 -22
- package/lib/NoErrorsPlugin.js +29 -29
- package/lib/NodeStuffPlugin.js +97 -97
- package/lib/NormalModuleFactory.js +3 -1
- package/lib/NormalModuleReplacementPlugin.js +45 -45
- package/lib/NullFactory.js +12 -12
- package/lib/OptionsApply.js +10 -10
- package/lib/OptionsDefaulter.js +2 -2
- package/lib/Parser.js +79 -0
- package/lib/ParserHelpers.js +85 -85
- package/lib/PrefetchPlugin.js +31 -31
- package/lib/ProgressPlugin.js +192 -192
- package/lib/ProvidePlugin.js +55 -55
- package/lib/RawModule.js +54 -54
- package/lib/RequestShortener.js +63 -63
- package/lib/RequireJsStuffPlugin.js +31 -31
- package/lib/RuleSet.js +444 -444
- package/lib/SetVarMainTemplatePlugin.js +41 -41
- package/lib/SingleEntryPlugin.js +35 -35
- package/lib/SizeFormatHelpers.js +18 -18
- package/lib/SourceMapDevToolModuleOptionsPlugin.js +37 -37
- package/lib/SourceMapDevToolPlugin.js +3 -3
- package/lib/Stats.js +4 -2
- package/lib/TemplatedPathPlugin.js +6 -2
- package/lib/UmdMainTemplatePlugin.js +1 -1
- package/lib/UnsupportedFeatureWarning.js +21 -21
- package/lib/UseStrictPlugin.js +34 -34
- package/lib/WarnCaseSensitiveModulesPlugin.js +31 -31
- package/lib/WatchIgnorePlugin.js +49 -49
- package/lib/WebpackError.js +11 -11
- package/lib/WebpackOptionsDefaulter.js +130 -129
- package/lib/WebpackOptionsValidationError.js +219 -196
- package/lib/compareLocations.js +36 -36
- package/lib/dependencies/AMDDefineDependency.js +142 -142
- package/lib/dependencies/AMDDefineDependencyParserPlugin.js +18 -6
- package/lib/dependencies/AMDPlugin.js +119 -119
- package/lib/dependencies/AMDRequireDependenciesBlock.js +33 -33
- package/lib/dependencies/AMDRequireDependenciesBlockParserPlugin.js +177 -177
- package/lib/dependencies/AMDRequireDependency.js +67 -67
- package/lib/dependencies/AMDRequireItemDependency.js +22 -22
- package/lib/dependencies/CommonJsRequireDependency.js +22 -22
- package/lib/dependencies/CommonJsRequireDependencyParserPlugin.js +89 -89
- package/lib/dependencies/ConstDependency.js +32 -32
- package/lib/dependencies/ContextDependencyHelpers.js +71 -71
- package/lib/dependencies/ContextElementDependency.js +21 -21
- package/lib/dependencies/CriticalDependencyWarning.js +20 -20
- package/lib/dependencies/DelegatedExportsDependency.js +33 -33
- package/lib/dependencies/DelegatedSourceDependency.js +18 -18
- package/lib/dependencies/DllEntryDependency.js +20 -20
- package/lib/dependencies/HarmonyCompatibilityDependency.js +30 -30
- package/lib/dependencies/HarmonyDetectionParserPlugin.js +2 -2
- package/lib/dependencies/HarmonyExportHeaderDependency.js +28 -28
- package/lib/dependencies/HarmonyImportDependency.js +1 -1
- package/lib/dependencies/ImportDependenciesBlock.js +17 -17
- package/lib/dependencies/ImportEagerContextDependency.js +22 -22
- package/lib/dependencies/ImportLazyContextDependency.js +22 -22
- package/lib/dependencies/ImportLazyOnceContextDependency.js +22 -22
- package/lib/dependencies/ImportParserPlugin.js +89 -89
- package/lib/dependencies/ImportPlugin.js +60 -60
- package/lib/dependencies/ImportWeakContextDependency.js +22 -22
- package/lib/dependencies/LoaderDependency.js +18 -18
- package/lib/dependencies/LoaderPlugin.js +60 -60
- package/lib/dependencies/LocalModule.js +23 -23
- package/lib/dependencies/LocalModuleDependency.js +24 -24
- package/lib/dependencies/LocalModulesHelpers.js +46 -46
- package/lib/dependencies/ModuleDependency.js +23 -23
- package/lib/dependencies/ModuleHotAcceptDependency.js +23 -23
- package/lib/dependencies/ModuleHotDeclineDependency.js +23 -23
- package/lib/dependencies/MultiEntryDependency.js +20 -20
- package/lib/dependencies/NullDependency.js +24 -24
- package/lib/dependencies/PrefetchDependency.js +18 -18
- package/lib/dependencies/RequireContextDependency.js +26 -26
- package/lib/dependencies/RequireContextDependencyParserPlugin.js +50 -50
- package/lib/dependencies/RequireContextPlugin.js +96 -96
- package/lib/dependencies/RequireEnsureDependenciesBlock.js +22 -22
- package/lib/dependencies/RequireEnsureDependenciesBlockParserPlugin.js +102 -102
- package/lib/dependencies/RequireEnsureDependency.js +38 -38
- package/lib/dependencies/RequireEnsureItemDependency.js +21 -21
- package/lib/dependencies/RequireEnsurePlugin.js +40 -40
- package/lib/dependencies/RequireHeaderDependency.js +26 -26
- package/lib/dependencies/RequireIncludeDependency.js +8 -0
- package/lib/dependencies/RequireIncludeDependencyParserPlugin.js +21 -21
- package/lib/dependencies/RequireIncludePlugin.js +33 -33
- package/lib/dependencies/RequireResolveDependency.js +22 -22
- package/lib/dependencies/RequireResolveDependencyParserPlugin.js +71 -71
- package/lib/dependencies/RequireResolveHeaderDependency.js +26 -26
- package/lib/dependencies/SingleEntryDependency.js +18 -18
- package/lib/dependencies/SystemPlugin.js +44 -44
- package/lib/dependencies/UnsupportedDependency.js +23 -23
- package/lib/dependencies/WebpackMissingModule.js +18 -18
- package/lib/dependencies/getFunctionExpression.js +44 -44
- package/lib/formatLocation.js +54 -54
- package/lib/node/NodeChunkTemplatePlugin.js +27 -27
- package/lib/node/NodeEnvironmentPlugin.js +25 -25
- package/lib/node/NodeHotUpdateChunkTemplatePlugin.js +27 -27
- package/lib/node/NodeMainTemplate.runtime.js +24 -24
- package/lib/node/NodeMainTemplateAsync.runtime.js +40 -40
- package/lib/node/NodeOutputFileSystem.js +22 -22
- package/lib/node/NodeSourcePlugin.js +88 -88
- package/lib/node/NodeTargetPlugin.js +17 -15
- package/lib/node/NodeTemplatePlugin.js +27 -27
- package/lib/node/NodeWatchFileSystem.js +72 -72
- package/lib/optimize/ChunkModuleIdRangePlugin.js +53 -53
- package/lib/optimize/ConcatenatedModule.js +17 -6
- package/lib/optimize/DedupePlugin.js +15 -15
- package/lib/optimize/FlagIncludedChunksPlugin.js +35 -35
- package/lib/optimize/LimitChunkCountPlugin.js +59 -59
- package/lib/optimize/MinChunkSizePlugin.js +65 -65
- package/lib/optimize/RemoveEmptyChunksPlugin.js +21 -21
- package/lib/optimize/UglifyJsPlugin.js +9 -9
- package/lib/performance/AssetsOverSizeLimitWarning.js +23 -23
- package/lib/performance/EntrypointsOverSizeLimitWarning.js +28 -28
- package/lib/performance/NoAsyncChunksWarning.js +20 -20
- package/lib/performance/SizeLimitsPlugin.js +102 -102
- package/lib/prepareOptions.js +29 -29
- package/lib/removeAndDo.js +15 -15
- package/lib/util/Semaphore.js +32 -32
- package/lib/util/identifier.js +38 -38
- package/lib/validateSchema.js +66 -66
- package/lib/web/WebEnvironmentPlugin.js +18 -18
- package/lib/webworker/WebWorkerChunkTemplatePlugin.js +29 -29
- package/lib/webworker/WebWorkerHotUpdateChunkTemplatePlugin.js +28 -28
- package/lib/webworker/WebWorkerMainTemplate.runtime.js +58 -58
- package/lib/webworker/WebWorkerMainTemplatePlugin.js +2 -2
- package/lib/webworker/WebWorkerTemplatePlugin.js +20 -20
- package/package.json +25 -16
- package/schemas/ajv.absolutePath.js +29 -29
- package/schemas/webpackOptionsSchema.json +405 -76
@@ -1,142 +1,142 @@
|
|
1
|
-
/*
|
2
|
-
MIT License http://www.opensource.org/licenses/mit-license.php
|
3
|
-
Author Tobias Koppers @sokra
|
4
|
-
*/
|
5
|
-
"use strict";
|
6
|
-
const NullDependency = require("./NullDependency");
|
7
|
-
|
8
|
-
class AMDDefineDependency extends NullDependency {
|
9
|
-
constructor(range, arrayRange, functionRange, objectRange, namedModule) {
|
10
|
-
super();
|
11
|
-
this.range = range;
|
12
|
-
this.arrayRange = arrayRange;
|
13
|
-
this.functionRange = functionRange;
|
14
|
-
this.objectRange = objectRange;
|
15
|
-
this.namedModule = namedModule;
|
16
|
-
}
|
17
|
-
|
18
|
-
get type() {
|
19
|
-
return "amd define";
|
20
|
-
}
|
21
|
-
}
|
22
|
-
|
23
|
-
AMDDefineDependency.Template = class AMDDefineDependencyTemplate {
|
24
|
-
get definitions() {
|
25
|
-
return {
|
26
|
-
f: [
|
27
|
-
"var __WEBPACK_AMD_DEFINE_RESULT__;",
|
28
|
-
`!(__WEBPACK_AMD_DEFINE_RESULT__ =
|
29
|
-
__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__))`
|
30
|
-
],
|
31
|
-
o: [
|
32
|
-
"",
|
33
|
-
"!(module.exports = #)"
|
34
|
-
],
|
35
|
-
of: [
|
36
|
-
"var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_RESULT__;",
|
37
|
-
`!(__WEBPACK_AMD_DEFINE_FACTORY__ = (#),
|
38
|
-
__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?
|
39
|
-
(__WEBPACK_AMD_DEFINE_FACTORY__.call(exports, __webpack_require__, exports, module)) :
|
40
|
-
__WEBPACK_AMD_DEFINE_FACTORY__),
|
41
|
-
__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__))`
|
42
|
-
],
|
43
|
-
af: [
|
44
|
-
"var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;",
|
45
|
-
`!(__WEBPACK_AMD_DEFINE_ARRAY__ = #, __WEBPACK_AMD_DEFINE_RESULT__ =
|
46
|
-
__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__))`
|
47
|
-
],
|
48
|
-
ao: [
|
49
|
-
"",
|
50
|
-
"!(#, module.exports = #)"
|
51
|
-
],
|
52
|
-
aof: [
|
53
|
-
"var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;",
|
54
|
-
`!(__WEBPACK_AMD_DEFINE_ARRAY__ = #, __WEBPACK_AMD_DEFINE_FACTORY__ = (#),
|
55
|
-
__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?
|
56
|
-
(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),
|
57
|
-
__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__))`
|
58
|
-
],
|
59
|
-
lf: [
|
60
|
-
"var XXX, XXXmodule;",
|
61
|
-
"!(XXXmodule = { id: YYY, exports: {}, loaded: false }, XXX = #.call(XXXmodule.exports, __webpack_require__, XXXmodule.exports, XXXmodule), XXXmodule.loaded = true, XXX === undefined && (XXX = XXXmodule.exports))"
|
62
|
-
],
|
63
|
-
lo: [
|
64
|
-
"var XXX;",
|
65
|
-
"!(XXX = #)"
|
66
|
-
],
|
67
|
-
lof: [
|
68
|
-
"var XXX, XXXfactory, XXXmodule;",
|
69
|
-
"!(XXXfactory = (#), (XXXmodule = { id: YYY, exports: {}, loaded: false }), XXX = (typeof XXXfactory === 'function' ? (XXXfactory.call(XXXmodule.exports, __webpack_require__, XXXmodule.exports, XXXmodule)) : XXXfactory), (XXXmodule.loaded = true), XXX === undefined && (XXX = XXXmodule.exports))"
|
70
|
-
],
|
71
|
-
laf: [
|
72
|
-
"var __WEBPACK_AMD_DEFINE_ARRAY__, XXX;",
|
73
|
-
"!(__WEBPACK_AMD_DEFINE_ARRAY__ = #, XXX = (
|
74
|
-
],
|
75
|
-
lao: [
|
76
|
-
"var XXX;",
|
77
|
-
"!(#, XXX = #)"
|
78
|
-
],
|
79
|
-
laof: [
|
80
|
-
"var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_FACTORY__, XXX;",
|
81
|
-
`!(__WEBPACK_AMD_DEFINE_ARRAY__ = #, __WEBPACK_AMD_DEFINE_FACTORY__ = (#),
|
82
|
-
XXX = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?
|
83
|
-
(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__))`
|
84
|
-
]
|
85
|
-
};
|
86
|
-
}
|
87
|
-
|
88
|
-
apply(dependency, source) {
|
89
|
-
const branch = this.branch(dependency);
|
90
|
-
const defAndText = this.definitions[branch];
|
91
|
-
const definitions = defAndText[0];
|
92
|
-
const text = defAndText[1];
|
93
|
-
this.replace(dependency, source, definitions, text);
|
94
|
-
}
|
95
|
-
|
96
|
-
localModuleVar(dependency) {
|
97
|
-
return dependency.localModule && dependency.localModule.used && dependency.localModule.variableName();
|
98
|
-
}
|
99
|
-
|
100
|
-
branch(dependency) {
|
101
|
-
const localModuleVar = this.localModuleVar(dependency) ? "l" : "";
|
102
|
-
const arrayRange = dependency.arrayRange ? "a" : "";
|
103
|
-
const objectRange = dependency.objectRange ? "o" : "";
|
104
|
-
const functionRange = dependency.functionRange ? "f" : "";
|
105
|
-
return localModuleVar + arrayRange + objectRange + functionRange;
|
106
|
-
}
|
107
|
-
|
108
|
-
replace(dependency, source, definition, text) {
|
109
|
-
const localModuleVar = this.localModuleVar(dependency);
|
110
|
-
if(localModuleVar) {
|
111
|
-
text = text.replace(/XXX/g, localModuleVar.replace(/\$/g, "$$$$"));
|
112
|
-
definition = definition.replace(/XXX/g, localModuleVar.replace(/\$/g, "$$$$"));
|
113
|
-
}
|
114
|
-
|
115
|
-
if(dependency.namedModule) {
|
116
|
-
text = text.replace(/YYY/g, JSON.stringify(dependency.namedModule));
|
117
|
-
}
|
118
|
-
|
119
|
-
const texts = text.split("#");
|
120
|
-
|
121
|
-
if(definition) source.insert(0, definition);
|
122
|
-
|
123
|
-
let current = dependency.range[0];
|
124
|
-
if(dependency.arrayRange) {
|
125
|
-
source.replace(current, dependency.arrayRange[0] - 1, texts.shift());
|
126
|
-
current = dependency.arrayRange[1];
|
127
|
-
}
|
128
|
-
|
129
|
-
if(dependency.objectRange) {
|
130
|
-
source.replace(current, dependency.objectRange[0] - 1, texts.shift());
|
131
|
-
current = dependency.objectRange[1];
|
132
|
-
} else if(dependency.functionRange) {
|
133
|
-
source.replace(current, dependency.functionRange[0] - 1, texts.shift());
|
134
|
-
current = dependency.functionRange[1];
|
135
|
-
}
|
136
|
-
source.replace(current, dependency.range[1] - 1, texts.shift());
|
137
|
-
if(texts.length > 0)
|
138
|
-
throw new Error("Implementation error");
|
139
|
-
}
|
140
|
-
};
|
141
|
-
|
142
|
-
module.exports = AMDDefineDependency;
|
1
|
+
/*
|
2
|
+
MIT License http://www.opensource.org/licenses/mit-license.php
|
3
|
+
Author Tobias Koppers @sokra
|
4
|
+
*/
|
5
|
+
"use strict";
|
6
|
+
const NullDependency = require("./NullDependency");
|
7
|
+
|
8
|
+
class AMDDefineDependency extends NullDependency {
|
9
|
+
constructor(range, arrayRange, functionRange, objectRange, namedModule) {
|
10
|
+
super();
|
11
|
+
this.range = range;
|
12
|
+
this.arrayRange = arrayRange;
|
13
|
+
this.functionRange = functionRange;
|
14
|
+
this.objectRange = objectRange;
|
15
|
+
this.namedModule = namedModule;
|
16
|
+
}
|
17
|
+
|
18
|
+
get type() {
|
19
|
+
return "amd define";
|
20
|
+
}
|
21
|
+
}
|
22
|
+
|
23
|
+
AMDDefineDependency.Template = class AMDDefineDependencyTemplate {
|
24
|
+
get definitions() {
|
25
|
+
return {
|
26
|
+
f: [
|
27
|
+
"var __WEBPACK_AMD_DEFINE_RESULT__;",
|
28
|
+
`!(__WEBPACK_AMD_DEFINE_RESULT__ = (#).call(exports, __webpack_require__, exports, module),
|
29
|
+
__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__))`
|
30
|
+
],
|
31
|
+
o: [
|
32
|
+
"",
|
33
|
+
"!(module.exports = #)"
|
34
|
+
],
|
35
|
+
of: [
|
36
|
+
"var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_RESULT__;",
|
37
|
+
`!(__WEBPACK_AMD_DEFINE_FACTORY__ = (#),
|
38
|
+
__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?
|
39
|
+
(__WEBPACK_AMD_DEFINE_FACTORY__.call(exports, __webpack_require__, exports, module)) :
|
40
|
+
__WEBPACK_AMD_DEFINE_FACTORY__),
|
41
|
+
__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__))`
|
42
|
+
],
|
43
|
+
af: [
|
44
|
+
"var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;",
|
45
|
+
`!(__WEBPACK_AMD_DEFINE_ARRAY__ = #, __WEBPACK_AMD_DEFINE_RESULT__ = (#).apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__),
|
46
|
+
__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__))`
|
47
|
+
],
|
48
|
+
ao: [
|
49
|
+
"",
|
50
|
+
"!(#, module.exports = #)"
|
51
|
+
],
|
52
|
+
aof: [
|
53
|
+
"var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;",
|
54
|
+
`!(__WEBPACK_AMD_DEFINE_ARRAY__ = #, __WEBPACK_AMD_DEFINE_FACTORY__ = (#),
|
55
|
+
__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?
|
56
|
+
(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),
|
57
|
+
__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__))`
|
58
|
+
],
|
59
|
+
lf: [
|
60
|
+
"var XXX, XXXmodule;",
|
61
|
+
"!(XXXmodule = { id: YYY, exports: {}, loaded: false }, XXX = #.call(XXXmodule.exports, __webpack_require__, XXXmodule.exports, XXXmodule), XXXmodule.loaded = true, XXX === undefined && (XXX = XXXmodule.exports))"
|
62
|
+
],
|
63
|
+
lo: [
|
64
|
+
"var XXX;",
|
65
|
+
"!(XXX = #)"
|
66
|
+
],
|
67
|
+
lof: [
|
68
|
+
"var XXX, XXXfactory, XXXmodule;",
|
69
|
+
"!(XXXfactory = (#), (XXXmodule = { id: YYY, exports: {}, loaded: false }), XXX = (typeof XXXfactory === 'function' ? (XXXfactory.call(XXXmodule.exports, __webpack_require__, XXXmodule.exports, XXXmodule)) : XXXfactory), (XXXmodule.loaded = true), XXX === undefined && (XXX = XXXmodule.exports))"
|
70
|
+
],
|
71
|
+
laf: [
|
72
|
+
"var __WEBPACK_AMD_DEFINE_ARRAY__, XXX;",
|
73
|
+
"!(__WEBPACK_AMD_DEFINE_ARRAY__ = #, XXX = ((#).apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)))"
|
74
|
+
],
|
75
|
+
lao: [
|
76
|
+
"var XXX;",
|
77
|
+
"!(#, XXX = #)"
|
78
|
+
],
|
79
|
+
laof: [
|
80
|
+
"var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_FACTORY__, XXX;",
|
81
|
+
`!(__WEBPACK_AMD_DEFINE_ARRAY__ = #, __WEBPACK_AMD_DEFINE_FACTORY__ = (#),
|
82
|
+
XXX = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?
|
83
|
+
(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__))`
|
84
|
+
]
|
85
|
+
};
|
86
|
+
}
|
87
|
+
|
88
|
+
apply(dependency, source) {
|
89
|
+
const branch = this.branch(dependency);
|
90
|
+
const defAndText = this.definitions[branch];
|
91
|
+
const definitions = defAndText[0];
|
92
|
+
const text = defAndText[1];
|
93
|
+
this.replace(dependency, source, definitions, text);
|
94
|
+
}
|
95
|
+
|
96
|
+
localModuleVar(dependency) {
|
97
|
+
return dependency.localModule && dependency.localModule.used && dependency.localModule.variableName();
|
98
|
+
}
|
99
|
+
|
100
|
+
branch(dependency) {
|
101
|
+
const localModuleVar = this.localModuleVar(dependency) ? "l" : "";
|
102
|
+
const arrayRange = dependency.arrayRange ? "a" : "";
|
103
|
+
const objectRange = dependency.objectRange ? "o" : "";
|
104
|
+
const functionRange = dependency.functionRange ? "f" : "";
|
105
|
+
return localModuleVar + arrayRange + objectRange + functionRange;
|
106
|
+
}
|
107
|
+
|
108
|
+
replace(dependency, source, definition, text) {
|
109
|
+
const localModuleVar = this.localModuleVar(dependency);
|
110
|
+
if(localModuleVar) {
|
111
|
+
text = text.replace(/XXX/g, localModuleVar.replace(/\$/g, "$$$$"));
|
112
|
+
definition = definition.replace(/XXX/g, localModuleVar.replace(/\$/g, "$$$$"));
|
113
|
+
}
|
114
|
+
|
115
|
+
if(dependency.namedModule) {
|
116
|
+
text = text.replace(/YYY/g, JSON.stringify(dependency.namedModule));
|
117
|
+
}
|
118
|
+
|
119
|
+
const texts = text.split("#");
|
120
|
+
|
121
|
+
if(definition) source.insert(0, definition);
|
122
|
+
|
123
|
+
let current = dependency.range[0];
|
124
|
+
if(dependency.arrayRange) {
|
125
|
+
source.replace(current, dependency.arrayRange[0] - 1, texts.shift());
|
126
|
+
current = dependency.arrayRange[1];
|
127
|
+
}
|
128
|
+
|
129
|
+
if(dependency.objectRange) {
|
130
|
+
source.replace(current, dependency.objectRange[0] - 1, texts.shift());
|
131
|
+
current = dependency.objectRange[1];
|
132
|
+
} else if(dependency.functionRange) {
|
133
|
+
source.replace(current, dependency.functionRange[0] - 1, texts.shift());
|
134
|
+
current = dependency.functionRange[1];
|
135
|
+
}
|
136
|
+
source.replace(current, dependency.range[1] - 1, texts.shift());
|
137
|
+
if(texts.length > 0)
|
138
|
+
throw new Error("Implementation error");
|
139
|
+
}
|
140
|
+
};
|
141
|
+
|
142
|
+
module.exports = AMDDefineDependency;
|
@@ -23,6 +23,18 @@ function isBoundFunctionExpression(expr) {
|
|
23
23
|
return true;
|
24
24
|
}
|
25
25
|
|
26
|
+
function isUnboundFunctionExpression(expr) {
|
27
|
+
if(expr.type === "FunctionExpression") return true;
|
28
|
+
if(expr.type === "ArrowFunctionExpression") return true;
|
29
|
+
return false;
|
30
|
+
}
|
31
|
+
|
32
|
+
function isCallable(expr) {
|
33
|
+
if(isUnboundFunctionExpression(expr)) return true;
|
34
|
+
if(isBoundFunctionExpression(expr)) return true;
|
35
|
+
return false;
|
36
|
+
}
|
37
|
+
|
26
38
|
class AMDDefineDependencyParserPlugin {
|
27
39
|
constructor(options) {
|
28
40
|
this.options = options;
|
@@ -38,7 +50,7 @@ class AMDDefineDependencyParserPlugin {
|
|
38
50
|
let array, fn, obj, namedModule;
|
39
51
|
switch(expr.arguments.length) {
|
40
52
|
case 1:
|
41
|
-
if(
|
53
|
+
if(isCallable(expr.arguments[0])) {
|
42
54
|
// define(f() {...})
|
43
55
|
fn = expr.arguments[0];
|
44
56
|
} else if(expr.arguments[0].type === "ObjectExpression") {
|
@@ -54,7 +66,7 @@ class AMDDefineDependencyParserPlugin {
|
|
54
66
|
if(expr.arguments[0].type === "Literal") {
|
55
67
|
namedModule = expr.arguments[0].value;
|
56
68
|
// define("...", ...)
|
57
|
-
if(
|
69
|
+
if(isCallable(expr.arguments[1])) {
|
58
70
|
// define("...", f() {...})
|
59
71
|
fn = expr.arguments[1];
|
60
72
|
} else if(expr.arguments[1].type === "ObjectExpression") {
|
@@ -67,7 +79,7 @@ class AMDDefineDependencyParserPlugin {
|
|
67
79
|
}
|
68
80
|
} else {
|
69
81
|
array = expr.arguments[0];
|
70
|
-
if(
|
82
|
+
if(isCallable(expr.arguments[1])) {
|
71
83
|
// define([...], f() {})
|
72
84
|
fn = expr.arguments[1];
|
73
85
|
} else if(expr.arguments[1].type === "ObjectExpression") {
|
@@ -84,7 +96,7 @@ class AMDDefineDependencyParserPlugin {
|
|
84
96
|
// define("...", [...], f() {...})
|
85
97
|
namedModule = expr.arguments[0].value;
|
86
98
|
array = expr.arguments[1];
|
87
|
-
if(
|
99
|
+
if(isCallable(expr.arguments[2])) {
|
88
100
|
// define("...", [...], f() {})
|
89
101
|
fn = expr.arguments[2];
|
90
102
|
} else if(expr.arguments[2].type === "ObjectExpression") {
|
@@ -102,7 +114,7 @@ class AMDDefineDependencyParserPlugin {
|
|
102
114
|
let fnParams = null;
|
103
115
|
let fnParamsOffset = 0;
|
104
116
|
if(fn) {
|
105
|
-
if(fn
|
117
|
+
if(isUnboundFunctionExpression(fn)) fnParams = fn.params;
|
106
118
|
else if(isBoundFunctionExpression(fn)) {
|
107
119
|
fnParams = fn.callee.object.params;
|
108
120
|
fnParamsOffset = fn.arguments.length - 1;
|
@@ -134,7 +146,7 @@ class AMDDefineDependencyParserPlugin {
|
|
134
146
|
});
|
135
147
|
}
|
136
148
|
let inTry;
|
137
|
-
if(fn && fn
|
149
|
+
if(fn && isUnboundFunctionExpression(fn)) {
|
138
150
|
inTry = parser.scope.inTry;
|
139
151
|
parser.inScope(fnParams, () => {
|
140
152
|
parser.scope.renames = fnRenames;
|
@@ -1,119 +1,119 @@
|
|
1
|
-
/*
|
2
|
-
MIT License http://www.opensource.org/licenses/mit-license.php
|
3
|
-
Author Tobias Koppers @sokra
|
4
|
-
*/
|
5
|
-
"use strict";
|
6
|
-
|
7
|
-
const path = require("path");
|
8
|
-
const AMDRequireDependency = require("./AMDRequireDependency");
|
9
|
-
const AMDRequireItemDependency = require("./AMDRequireItemDependency");
|
10
|
-
const AMDRequireArrayDependency = require("./AMDRequireArrayDependency");
|
11
|
-
const AMDRequireContextDependency = require("./AMDRequireContextDependency");
|
12
|
-
const AMDDefineDependency = require("./AMDDefineDependency");
|
13
|
-
const UnsupportedDependency = require("./UnsupportedDependency");
|
14
|
-
const LocalModuleDependency = require("./LocalModuleDependency");
|
15
|
-
|
16
|
-
const NullFactory = require("../NullFactory");
|
17
|
-
|
18
|
-
const AMDRequireDependenciesBlockParserPlugin = require("./AMDRequireDependenciesBlockParserPlugin");
|
19
|
-
const AMDDefineDependencyParserPlugin = require("./AMDDefineDependencyParserPlugin");
|
20
|
-
|
21
|
-
const AliasPlugin = require("enhanced-resolve/lib/AliasPlugin");
|
22
|
-
|
23
|
-
const ParserHelpers = require("../ParserHelpers");
|
24
|
-
|
25
|
-
class AMDPlugin {
|
26
|
-
constructor(options, amdOptions) {
|
27
|
-
this.amdOptions = amdOptions;
|
28
|
-
this.options = options;
|
29
|
-
}
|
30
|
-
|
31
|
-
apply(compiler) {
|
32
|
-
const options = this.options;
|
33
|
-
const amdOptions = this.amdOptions;
|
34
|
-
compiler.plugin("compilation", (compilation, params) => {
|
35
|
-
const normalModuleFactory = params.normalModuleFactory;
|
36
|
-
const contextModuleFactory = params.contextModuleFactory;
|
37
|
-
|
38
|
-
compilation.dependencyFactories.set(AMDRequireDependency, new NullFactory());
|
39
|
-
compilation.dependencyTemplates.set(AMDRequireDependency, new AMDRequireDependency.Template());
|
40
|
-
|
41
|
-
compilation.dependencyFactories.set(AMDRequireItemDependency, normalModuleFactory);
|
42
|
-
compilation.dependencyTemplates.set(AMDRequireItemDependency, new AMDRequireItemDependency.Template());
|
43
|
-
|
44
|
-
compilation.dependencyFactories.set(AMDRequireArrayDependency, new NullFactory());
|
45
|
-
compilation.dependencyTemplates.set(AMDRequireArrayDependency, new AMDRequireArrayDependency.Template());
|
46
|
-
|
47
|
-
compilation.dependencyFactories.set(AMDRequireContextDependency, contextModuleFactory);
|
48
|
-
compilation.dependencyTemplates.set(AMDRequireContextDependency, new AMDRequireContextDependency.Template());
|
49
|
-
|
50
|
-
compilation.dependencyFactories.set(AMDDefineDependency, new NullFactory());
|
51
|
-
compilation.dependencyTemplates.set(AMDDefineDependency, new AMDDefineDependency.Template());
|
52
|
-
|
53
|
-
compilation.dependencyFactories.set(UnsupportedDependency, new NullFactory());
|
54
|
-
compilation.dependencyTemplates.set(UnsupportedDependency, new UnsupportedDependency.Template());
|
55
|
-
|
56
|
-
compilation.dependencyFactories.set(LocalModuleDependency, new NullFactory());
|
57
|
-
compilation.dependencyTemplates.set(LocalModuleDependency, new LocalModuleDependency.Template());
|
58
|
-
|
59
|
-
params.normalModuleFactory.plugin("parser", (parser, parserOptions) => {
|
60
|
-
|
61
|
-
if(typeof parserOptions.amd !== "undefined" && !parserOptions.amd)
|
62
|
-
return;
|
63
|
-
|
64
|
-
function setExpressionToModule(outerExpr, module) {
|
65
|
-
parser.plugin("expression " + outerExpr, (expr) => {
|
66
|
-
const dep = new AMDRequireItemDependency(module, expr.range);
|
67
|
-
dep.userRequest = outerExpr;
|
68
|
-
dep.loc = expr.loc;
|
69
|
-
parser.state.current.addDependency(dep);
|
70
|
-
return true;
|
71
|
-
});
|
72
|
-
}
|
73
|
-
|
74
|
-
parser.apply(
|
75
|
-
new AMDRequireDependenciesBlockParserPlugin(options),
|
76
|
-
new AMDDefineDependencyParserPlugin(options)
|
77
|
-
);
|
78
|
-
setExpressionToModule("require.amd", "!!webpack amd options");
|
79
|
-
setExpressionToModule("define.amd", "!!webpack amd options");
|
80
|
-
setExpressionToModule("define", "!!webpack amd define");
|
81
|
-
parser.plugin("expression __webpack_amd_options__", () =>
|
82
|
-
parser.state.current.addVariable("__webpack_amd_options__", JSON.stringify(amdOptions)));
|
83
|
-
parser.plugin("evaluate typeof define.amd", ParserHelpers.evaluateToString(typeof amdOptions));
|
84
|
-
parser.plugin("evaluate typeof require.amd", ParserHelpers.evaluateToString(typeof amdOptions));
|
85
|
-
parser.plugin("evaluate Identifier define.amd", ParserHelpers.evaluateToIdentifier("define.amd", true));
|
86
|
-
parser.plugin("evaluate Identifier require.amd", ParserHelpers.evaluateToIdentifier("require.amd", true));
|
87
|
-
parser.plugin("typeof define", ParserHelpers.toConstantDependency(JSON.stringify("function")));
|
88
|
-
parser.plugin("evaluate typeof define", ParserHelpers.evaluateToString("function"));
|
89
|
-
parser.plugin("can-rename define", ParserHelpers.approve);
|
90
|
-
parser.plugin("rename define", (expr) => {
|
91
|
-
const dep = new AMDRequireItemDependency("!!webpack amd define", expr.range);
|
92
|
-
dep.userRequest = "define";
|
93
|
-
dep.loc = expr.loc;
|
94
|
-
parser.state.current.addDependency(dep);
|
95
|
-
return false;
|
96
|
-
});
|
97
|
-
parser.plugin("typeof require", ParserHelpers.toConstantDependency(JSON.stringify("function")));
|
98
|
-
parser.plugin("evaluate typeof require", ParserHelpers.evaluateToString("function"));
|
99
|
-
});
|
100
|
-
});
|
101
|
-
compiler.plugin("after-resolvers", () => {
|
102
|
-
compiler.resolvers.normal.apply(
|
103
|
-
new AliasPlugin("described-resolve", {
|
104
|
-
name: "amdefine",
|
105
|
-
alias: path.join(__dirname, "..", "..", "buildin", "amd-define.js")
|
106
|
-
}, "resolve"),
|
107
|
-
new AliasPlugin("described-resolve", {
|
108
|
-
name: "webpack amd options",
|
109
|
-
alias: path.join(__dirname, "..", "..", "buildin", "amd-options.js")
|
110
|
-
}, "resolve"),
|
111
|
-
new AliasPlugin("described-resolve", {
|
112
|
-
name: "webpack amd define",
|
113
|
-
alias: path.join(__dirname, "..", "..", "buildin", "amd-define.js")
|
114
|
-
}, "resolve")
|
115
|
-
);
|
116
|
-
});
|
117
|
-
}
|
118
|
-
}
|
119
|
-
module.exports = AMDPlugin;
|
1
|
+
/*
|
2
|
+
MIT License http://www.opensource.org/licenses/mit-license.php
|
3
|
+
Author Tobias Koppers @sokra
|
4
|
+
*/
|
5
|
+
"use strict";
|
6
|
+
|
7
|
+
const path = require("path");
|
8
|
+
const AMDRequireDependency = require("./AMDRequireDependency");
|
9
|
+
const AMDRequireItemDependency = require("./AMDRequireItemDependency");
|
10
|
+
const AMDRequireArrayDependency = require("./AMDRequireArrayDependency");
|
11
|
+
const AMDRequireContextDependency = require("./AMDRequireContextDependency");
|
12
|
+
const AMDDefineDependency = require("./AMDDefineDependency");
|
13
|
+
const UnsupportedDependency = require("./UnsupportedDependency");
|
14
|
+
const LocalModuleDependency = require("./LocalModuleDependency");
|
15
|
+
|
16
|
+
const NullFactory = require("../NullFactory");
|
17
|
+
|
18
|
+
const AMDRequireDependenciesBlockParserPlugin = require("./AMDRequireDependenciesBlockParserPlugin");
|
19
|
+
const AMDDefineDependencyParserPlugin = require("./AMDDefineDependencyParserPlugin");
|
20
|
+
|
21
|
+
const AliasPlugin = require("enhanced-resolve/lib/AliasPlugin");
|
22
|
+
|
23
|
+
const ParserHelpers = require("../ParserHelpers");
|
24
|
+
|
25
|
+
class AMDPlugin {
|
26
|
+
constructor(options, amdOptions) {
|
27
|
+
this.amdOptions = amdOptions;
|
28
|
+
this.options = options;
|
29
|
+
}
|
30
|
+
|
31
|
+
apply(compiler) {
|
32
|
+
const options = this.options;
|
33
|
+
const amdOptions = this.amdOptions;
|
34
|
+
compiler.plugin("compilation", (compilation, params) => {
|
35
|
+
const normalModuleFactory = params.normalModuleFactory;
|
36
|
+
const contextModuleFactory = params.contextModuleFactory;
|
37
|
+
|
38
|
+
compilation.dependencyFactories.set(AMDRequireDependency, new NullFactory());
|
39
|
+
compilation.dependencyTemplates.set(AMDRequireDependency, new AMDRequireDependency.Template());
|
40
|
+
|
41
|
+
compilation.dependencyFactories.set(AMDRequireItemDependency, normalModuleFactory);
|
42
|
+
compilation.dependencyTemplates.set(AMDRequireItemDependency, new AMDRequireItemDependency.Template());
|
43
|
+
|
44
|
+
compilation.dependencyFactories.set(AMDRequireArrayDependency, new NullFactory());
|
45
|
+
compilation.dependencyTemplates.set(AMDRequireArrayDependency, new AMDRequireArrayDependency.Template());
|
46
|
+
|
47
|
+
compilation.dependencyFactories.set(AMDRequireContextDependency, contextModuleFactory);
|
48
|
+
compilation.dependencyTemplates.set(AMDRequireContextDependency, new AMDRequireContextDependency.Template());
|
49
|
+
|
50
|
+
compilation.dependencyFactories.set(AMDDefineDependency, new NullFactory());
|
51
|
+
compilation.dependencyTemplates.set(AMDDefineDependency, new AMDDefineDependency.Template());
|
52
|
+
|
53
|
+
compilation.dependencyFactories.set(UnsupportedDependency, new NullFactory());
|
54
|
+
compilation.dependencyTemplates.set(UnsupportedDependency, new UnsupportedDependency.Template());
|
55
|
+
|
56
|
+
compilation.dependencyFactories.set(LocalModuleDependency, new NullFactory());
|
57
|
+
compilation.dependencyTemplates.set(LocalModuleDependency, new LocalModuleDependency.Template());
|
58
|
+
|
59
|
+
params.normalModuleFactory.plugin("parser", (parser, parserOptions) => {
|
60
|
+
|
61
|
+
if(typeof parserOptions.amd !== "undefined" && !parserOptions.amd)
|
62
|
+
return;
|
63
|
+
|
64
|
+
function setExpressionToModule(outerExpr, module) {
|
65
|
+
parser.plugin("expression " + outerExpr, (expr) => {
|
66
|
+
const dep = new AMDRequireItemDependency(module, expr.range);
|
67
|
+
dep.userRequest = outerExpr;
|
68
|
+
dep.loc = expr.loc;
|
69
|
+
parser.state.current.addDependency(dep);
|
70
|
+
return true;
|
71
|
+
});
|
72
|
+
}
|
73
|
+
|
74
|
+
parser.apply(
|
75
|
+
new AMDRequireDependenciesBlockParserPlugin(options),
|
76
|
+
new AMDDefineDependencyParserPlugin(options)
|
77
|
+
);
|
78
|
+
setExpressionToModule("require.amd", "!!webpack amd options");
|
79
|
+
setExpressionToModule("define.amd", "!!webpack amd options");
|
80
|
+
setExpressionToModule("define", "!!webpack amd define");
|
81
|
+
parser.plugin("expression __webpack_amd_options__", () =>
|
82
|
+
parser.state.current.addVariable("__webpack_amd_options__", JSON.stringify(amdOptions)));
|
83
|
+
parser.plugin("evaluate typeof define.amd", ParserHelpers.evaluateToString(typeof amdOptions));
|
84
|
+
parser.plugin("evaluate typeof require.amd", ParserHelpers.evaluateToString(typeof amdOptions));
|
85
|
+
parser.plugin("evaluate Identifier define.amd", ParserHelpers.evaluateToIdentifier("define.amd", true));
|
86
|
+
parser.plugin("evaluate Identifier require.amd", ParserHelpers.evaluateToIdentifier("require.amd", true));
|
87
|
+
parser.plugin("typeof define", ParserHelpers.toConstantDependency(JSON.stringify("function")));
|
88
|
+
parser.plugin("evaluate typeof define", ParserHelpers.evaluateToString("function"));
|
89
|
+
parser.plugin("can-rename define", ParserHelpers.approve);
|
90
|
+
parser.plugin("rename define", (expr) => {
|
91
|
+
const dep = new AMDRequireItemDependency("!!webpack amd define", expr.range);
|
92
|
+
dep.userRequest = "define";
|
93
|
+
dep.loc = expr.loc;
|
94
|
+
parser.state.current.addDependency(dep);
|
95
|
+
return false;
|
96
|
+
});
|
97
|
+
parser.plugin("typeof require", ParserHelpers.toConstantDependency(JSON.stringify("function")));
|
98
|
+
parser.plugin("evaluate typeof require", ParserHelpers.evaluateToString("function"));
|
99
|
+
});
|
100
|
+
});
|
101
|
+
compiler.plugin("after-resolvers", () => {
|
102
|
+
compiler.resolvers.normal.apply(
|
103
|
+
new AliasPlugin("described-resolve", {
|
104
|
+
name: "amdefine",
|
105
|
+
alias: path.join(__dirname, "..", "..", "buildin", "amd-define.js")
|
106
|
+
}, "resolve"),
|
107
|
+
new AliasPlugin("described-resolve", {
|
108
|
+
name: "webpack amd options",
|
109
|
+
alias: path.join(__dirname, "..", "..", "buildin", "amd-options.js")
|
110
|
+
}, "resolve"),
|
111
|
+
new AliasPlugin("described-resolve", {
|
112
|
+
name: "webpack amd define",
|
113
|
+
alias: path.join(__dirname, "..", "..", "buildin", "amd-define.js")
|
114
|
+
}, "resolve")
|
115
|
+
);
|
116
|
+
});
|
117
|
+
}
|
118
|
+
}
|
119
|
+
module.exports = AMDPlugin;
|