webpack 3.8.0 → 3.8.1

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.
Files changed (198) hide show
  1. package/LICENSE +20 -20
  2. package/README.md +716 -716
  3. package/buildin/.eslintrc +7 -7
  4. package/buildin/amd-define.js +3 -3
  5. package/buildin/amd-options.js +2 -2
  6. package/buildin/global.js +21 -21
  7. package/buildin/harmony-module.js +24 -24
  8. package/buildin/module.js +22 -22
  9. package/buildin/system.js +7 -7
  10. package/hot/.eslintrc +9 -9
  11. package/hot/dev-server.js +53 -53
  12. package/hot/emitter.js +2 -2
  13. package/hot/log-apply-result.js +38 -38
  14. package/hot/log.js +44 -44
  15. package/hot/only-dev-server.js +71 -71
  16. package/hot/poll.js +34 -34
  17. package/hot/signal.js +51 -51
  18. package/lib/APIPlugin.js +45 -45
  19. package/lib/AsyncDependenciesBlock.js +43 -43
  20. package/lib/AutomaticPrefetchPlugin.js +36 -36
  21. package/lib/BasicEvaluatedExpression.js +203 -203
  22. package/lib/CaseSensitiveModulesWarning.js +49 -49
  23. package/lib/ChunkRenderError.js +24 -24
  24. package/lib/ChunkTemplate.js +36 -36
  25. package/lib/CompatibilityPlugin.js +57 -57
  26. package/lib/Compiler.js +523 -523
  27. package/lib/ConstPlugin.js +60 -60
  28. package/lib/ContextModule.js +431 -431
  29. package/lib/ContextReplacementPlugin.js +111 -111
  30. package/lib/DefinePlugin.js +123 -123
  31. package/lib/DelegatedModule.js +98 -98
  32. package/lib/DelegatedModuleFactoryPlugin.js +59 -59
  33. package/lib/DelegatedPlugin.js +30 -30
  34. package/lib/DependenciesBlockVariable.js +51 -51
  35. package/lib/DllEntryPlugin.js +37 -37
  36. package/lib/DllModule.js +58 -58
  37. package/lib/DllModuleFactory.js +20 -20
  38. package/lib/DllPlugin.js +38 -38
  39. package/lib/DllReferencePlugin.js +62 -62
  40. package/lib/DynamicEntryPlugin.js +59 -59
  41. package/lib/EntryModuleNotFoundError.js +22 -22
  42. package/lib/EntryOptionPlugin.js +31 -31
  43. package/lib/EnvironmentPlugin.js +50 -50
  44. package/lib/ErrorHelpers.js +31 -31
  45. package/lib/EvalDevToolModulePlugin.js +22 -22
  46. package/lib/EvalDevToolModuleTemplatePlugin.js +33 -33
  47. package/lib/EvalSourceMapDevToolModuleTemplatePlugin.js +75 -75
  48. package/lib/EvalSourceMapDevToolPlugin.js +32 -32
  49. package/lib/ExportPropertyMainTemplatePlugin.js +31 -31
  50. package/lib/ExtendedAPIPlugin.js +47 -47
  51. package/lib/ExternalModuleFactoryPlugin.js +91 -91
  52. package/lib/ExternalsPlugin.js +21 -21
  53. package/lib/FlagDependencyExportsPlugin.js +101 -101
  54. package/lib/FunctionModulePlugin.js +24 -24
  55. package/lib/HashedModuleIdsPlugin.js +42 -42
  56. package/lib/HotUpdateChunkTemplate.js +31 -31
  57. package/lib/IgnorePlugin.js +69 -69
  58. package/lib/JsonpExportMainTemplatePlugin.js +37 -37
  59. package/lib/JsonpHotUpdateChunkTemplatePlugin.js +27 -27
  60. package/lib/JsonpTemplatePlugin.js +21 -21
  61. package/lib/LibManifestPlugin.js +63 -63
  62. package/lib/LibraryTemplatePlugin.js +92 -92
  63. package/lib/LoaderOptionsPlugin.js +36 -36
  64. package/lib/LoaderTargetPlugin.js +19 -19
  65. package/lib/MemoryOutputFileSystem.js +5 -5
  66. package/lib/ModuleBuildError.js +42 -42
  67. package/lib/ModuleDependencyError.js +22 -22
  68. package/lib/ModuleDependencyWarning.js +22 -22
  69. package/lib/ModuleError.js +24 -24
  70. package/lib/ModuleFilenameHelpers.js +162 -162
  71. package/lib/ModuleNotFoundError.js +26 -26
  72. package/lib/ModuleReason.js +50 -50
  73. package/lib/ModuleTemplate.js +23 -23
  74. package/lib/ModuleWarning.js +24 -24
  75. package/lib/MovedToPluginWarningPlugin.js +21 -21
  76. package/lib/MultiCompiler.js +164 -164
  77. package/lib/MultiEntryPlugin.js +39 -39
  78. package/lib/MultiModuleFactory.js +19 -19
  79. package/lib/MultiStats.js +79 -79
  80. package/lib/MultiWatching.js +32 -32
  81. package/lib/NamedChunksPlugin.js +30 -30
  82. package/lib/NamedModulesPlugin.js +27 -27
  83. package/lib/NewWatchingPlugin.js +15 -15
  84. package/lib/NoEmitOnErrorsPlugin.js +22 -22
  85. package/lib/NoErrorsPlugin.js +29 -29
  86. package/lib/NodeStuffPlugin.js +97 -97
  87. package/lib/NormalModuleReplacementPlugin.js +45 -45
  88. package/lib/NullFactory.js +12 -12
  89. package/lib/OptionsApply.js +10 -10
  90. package/lib/ParserHelpers.js +85 -85
  91. package/lib/PrefetchPlugin.js +31 -31
  92. package/lib/ProgressPlugin.js +192 -192
  93. package/lib/ProvidePlugin.js +55 -55
  94. package/lib/RawModule.js +54 -54
  95. package/lib/RequestShortener.js +63 -63
  96. package/lib/RequireJsStuffPlugin.js +31 -31
  97. package/lib/RuleSet.js +444 -444
  98. package/lib/SetVarMainTemplatePlugin.js +41 -41
  99. package/lib/SingleEntryPlugin.js +35 -35
  100. package/lib/SizeFormatHelpers.js +18 -18
  101. package/lib/SourceMapDevToolModuleOptionsPlugin.js +37 -37
  102. package/lib/UnsupportedFeatureWarning.js +21 -21
  103. package/lib/UseStrictPlugin.js +34 -34
  104. package/lib/WarnCaseSensitiveModulesPlugin.js +31 -31
  105. package/lib/WatchIgnorePlugin.js +49 -49
  106. package/lib/WebpackError.js +11 -11
  107. package/lib/WebpackOptionsDefaulter.js +129 -129
  108. package/lib/WebpackOptionsValidationError.js +196 -196
  109. package/lib/compareLocations.js +36 -36
  110. package/lib/dependencies/AMDDefineDependency.js +142 -142
  111. package/lib/dependencies/AMDPlugin.js +119 -119
  112. package/lib/dependencies/AMDRequireDependenciesBlock.js +33 -33
  113. package/lib/dependencies/AMDRequireDependenciesBlockParserPlugin.js +177 -177
  114. package/lib/dependencies/AMDRequireDependency.js +67 -67
  115. package/lib/dependencies/AMDRequireItemDependency.js +22 -22
  116. package/lib/dependencies/CommonJsRequireDependency.js +22 -22
  117. package/lib/dependencies/CommonJsRequireDependencyParserPlugin.js +89 -89
  118. package/lib/dependencies/ConstDependency.js +32 -32
  119. package/lib/dependencies/ContextDependencyHelpers.js +71 -71
  120. package/lib/dependencies/ContextElementDependency.js +21 -21
  121. package/lib/dependencies/CriticalDependencyWarning.js +20 -20
  122. package/lib/dependencies/DelegatedExportsDependency.js +33 -33
  123. package/lib/dependencies/DelegatedSourceDependency.js +18 -18
  124. package/lib/dependencies/DllEntryDependency.js +20 -20
  125. package/lib/dependencies/HarmonyCompatibilityDependency.js +30 -30
  126. package/lib/dependencies/HarmonyExportHeaderDependency.js +28 -28
  127. package/lib/dependencies/ImportDependenciesBlock.js +17 -17
  128. package/lib/dependencies/ImportEagerContextDependency.js +22 -22
  129. package/lib/dependencies/ImportLazyContextDependency.js +22 -22
  130. package/lib/dependencies/ImportLazyOnceContextDependency.js +22 -22
  131. package/lib/dependencies/ImportParserPlugin.js +89 -89
  132. package/lib/dependencies/ImportPlugin.js +60 -60
  133. package/lib/dependencies/ImportWeakContextDependency.js +22 -22
  134. package/lib/dependencies/LoaderDependency.js +18 -18
  135. package/lib/dependencies/LoaderPlugin.js +60 -60
  136. package/lib/dependencies/LocalModule.js +23 -23
  137. package/lib/dependencies/LocalModuleDependency.js +24 -24
  138. package/lib/dependencies/LocalModulesHelpers.js +46 -46
  139. package/lib/dependencies/ModuleDependency.js +23 -23
  140. package/lib/dependencies/ModuleHotAcceptDependency.js +23 -23
  141. package/lib/dependencies/ModuleHotDeclineDependency.js +23 -23
  142. package/lib/dependencies/MultiEntryDependency.js +20 -20
  143. package/lib/dependencies/NullDependency.js +24 -24
  144. package/lib/dependencies/PrefetchDependency.js +18 -18
  145. package/lib/dependencies/RequireContextDependency.js +26 -26
  146. package/lib/dependencies/RequireContextDependencyParserPlugin.js +50 -50
  147. package/lib/dependencies/RequireContextPlugin.js +96 -96
  148. package/lib/dependencies/RequireEnsureDependenciesBlock.js +22 -22
  149. package/lib/dependencies/RequireEnsureDependenciesBlockParserPlugin.js +102 -102
  150. package/lib/dependencies/RequireEnsureDependency.js +38 -38
  151. package/lib/dependencies/RequireEnsureItemDependency.js +21 -21
  152. package/lib/dependencies/RequireEnsurePlugin.js +40 -40
  153. package/lib/dependencies/RequireHeaderDependency.js +26 -26
  154. package/lib/dependencies/RequireIncludeDependencyParserPlugin.js +21 -21
  155. package/lib/dependencies/RequireIncludePlugin.js +33 -33
  156. package/lib/dependencies/RequireResolveDependency.js +22 -22
  157. package/lib/dependencies/RequireResolveDependencyParserPlugin.js +71 -71
  158. package/lib/dependencies/RequireResolveHeaderDependency.js +26 -26
  159. package/lib/dependencies/SingleEntryDependency.js +18 -18
  160. package/lib/dependencies/SystemPlugin.js +44 -44
  161. package/lib/dependencies/UnsupportedDependency.js +23 -23
  162. package/lib/dependencies/WebpackMissingModule.js +18 -18
  163. package/lib/dependencies/getFunctionExpression.js +44 -44
  164. package/lib/formatLocation.js +54 -54
  165. package/lib/node/NodeChunkTemplatePlugin.js +27 -27
  166. package/lib/node/NodeEnvironmentPlugin.js +25 -25
  167. package/lib/node/NodeHotUpdateChunkTemplatePlugin.js +27 -27
  168. package/lib/node/NodeMainTemplate.runtime.js +24 -24
  169. package/lib/node/NodeMainTemplateAsync.runtime.js +40 -40
  170. package/lib/node/NodeOutputFileSystem.js +22 -22
  171. package/lib/node/NodeSourcePlugin.js +88 -88
  172. package/lib/node/NodeTargetPlugin.js +15 -15
  173. package/lib/node/NodeTemplatePlugin.js +27 -27
  174. package/lib/node/NodeWatchFileSystem.js +72 -72
  175. package/lib/optimize/ChunkModuleIdRangePlugin.js +53 -53
  176. package/lib/optimize/DedupePlugin.js +15 -15
  177. package/lib/optimize/FlagIncludedChunksPlugin.js +35 -35
  178. package/lib/optimize/LimitChunkCountPlugin.js +59 -59
  179. package/lib/optimize/MinChunkSizePlugin.js +65 -65
  180. package/lib/optimize/RemoveEmptyChunksPlugin.js +21 -21
  181. package/lib/optimize/UglifyJsPlugin.js +9 -9
  182. package/lib/performance/AssetsOverSizeLimitWarning.js +23 -23
  183. package/lib/performance/EntrypointsOverSizeLimitWarning.js +28 -28
  184. package/lib/performance/NoAsyncChunksWarning.js +20 -20
  185. package/lib/performance/SizeLimitsPlugin.js +102 -102
  186. package/lib/prepareOptions.js +29 -29
  187. package/lib/removeAndDo.js +15 -15
  188. package/lib/util/Semaphore.js +32 -32
  189. package/lib/util/identifier.js +38 -38
  190. package/lib/validateSchema.js +66 -66
  191. package/lib/web/WebEnvironmentPlugin.js +18 -18
  192. package/lib/webworker/WebWorkerChunkTemplatePlugin.js +29 -29
  193. package/lib/webworker/WebWorkerHotUpdateChunkTemplatePlugin.js +28 -28
  194. package/lib/webworker/WebWorkerMainTemplate.runtime.js +58 -58
  195. package/lib/webworker/WebWorkerTemplatePlugin.js +20 -20
  196. package/package.json +1 -1
  197. package/schemas/ajv.absolutePath.js +29 -29
  198. package/schemas/webpackOptionsSchema.json +16 -0
@@ -1,36 +1,36 @@
1
- /*
2
- MIT License http://www.opensource.org/licenses/mit-license.php
3
- Author Tobias Koppers @sokra
4
- */
5
- "use strict";
6
- module.exports = function compareLocations(a, b) {
7
- if(typeof a === "string") {
8
- if(typeof b === "string") {
9
- if(a < b) return -1;
10
- if(a > b) return 1;
11
- return 0;
12
- } else if(typeof b === "object") {
13
- return 1;
14
- } else {
15
- return 0;
16
- }
17
- } else if(typeof a === "object") {
18
- if(typeof b === "string") {
19
- return -1;
20
- } else if(typeof b === "object") {
21
- if(a.start && b.start) {
22
- const ap = a.start;
23
- const bp = b.start;
24
- if(ap.line < bp.line) return -1;
25
- if(ap.line > bp.line) return 1;
26
- if(ap.column < bp.column) return -1;
27
- if(ap.column > bp.column) return 1;
28
- }
29
- if(a.index < b.index) return -1;
30
- if(a.index > b.index) return 1;
31
- return 0;
32
- } else {
33
- return 0;
34
- }
35
- }
36
- };
1
+ /*
2
+ MIT License http://www.opensource.org/licenses/mit-license.php
3
+ Author Tobias Koppers @sokra
4
+ */
5
+ "use strict";
6
+ module.exports = function compareLocations(a, b) {
7
+ if(typeof a === "string") {
8
+ if(typeof b === "string") {
9
+ if(a < b) return -1;
10
+ if(a > b) return 1;
11
+ return 0;
12
+ } else if(typeof b === "object") {
13
+ return 1;
14
+ } else {
15
+ return 0;
16
+ }
17
+ } else if(typeof a === "object") {
18
+ if(typeof b === "string") {
19
+ return -1;
20
+ } else if(typeof b === "object") {
21
+ if(a.start && b.start) {
22
+ const ap = a.start;
23
+ const bp = b.start;
24
+ if(ap.line < bp.line) return -1;
25
+ if(ap.line > bp.line) return 1;
26
+ if(ap.column < bp.column) return -1;
27
+ if(ap.column > bp.column) return 1;
28
+ }
29
+ if(a.index < b.index) return -1;
30
+ if(a.index > b.index) return 1;
31
+ return 0;
32
+ } else {
33
+ return 0;
34
+ }
35
+ }
36
+ };
@@ -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__ = #.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;
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;
@@ -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;