webpack 1.13.3 → 1.14.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.
Files changed (212) hide show
  1. package/LICENSE +22 -22
  2. package/README.md +310 -310
  3. package/buildin/amd-define.js +1 -1
  4. package/buildin/amd-options.js +1 -1
  5. package/buildin/module.js +10 -10
  6. package/hot/dev-server.js +63 -63
  7. package/hot/log-apply-result.js +25 -25
  8. package/hot/only-dev-server.js +77 -77
  9. package/hot/poll.js +37 -37
  10. package/hot/signal.js +65 -65
  11. package/lib/APIPlugin.js +49 -49
  12. package/lib/AbstractPlugin.js +22 -22
  13. package/lib/AmdMainTemplatePlugin.js +43 -43
  14. package/lib/ArrayMap.js +50 -50
  15. package/lib/AsyncDependenciesBlock.js +39 -39
  16. package/lib/AutomaticPrefetchPlugin.js +35 -35
  17. package/lib/BannerPlugin.js +34 -34
  18. package/lib/BasicEvaluatedExpression.js +140 -140
  19. package/lib/CachePlugin.js +43 -43
  20. package/lib/CaseSensitiveModulesWarning.js +16 -16
  21. package/lib/Chunk.js +252 -252
  22. package/lib/ChunkRenderError.js +17 -17
  23. package/lib/ChunkTemplate.js +37 -37
  24. package/lib/CompatibilityPlugin.js +42 -42
  25. package/lib/Compilation.js +891 -891
  26. package/lib/Compiler.js +407 -407
  27. package/lib/ConcatSource.js +5 -5
  28. package/lib/ConstPlugin.js +54 -54
  29. package/lib/ContextModule.js +130 -130
  30. package/lib/ContextModuleFactory.js +132 -132
  31. package/lib/ContextReplacementPlugin.js +93 -93
  32. package/lib/CriticalDependenciesWarning.js +24 -24
  33. package/lib/DefinePlugin.js +126 -126
  34. package/lib/DelegatedModule.js +69 -69
  35. package/lib/DelegatedModuleFactoryPlugin.js +51 -51
  36. package/lib/DelegatedPlugin.js +21 -21
  37. package/lib/DependenciesBlock.js +57 -57
  38. package/lib/DependenciesBlockVariable.js +41 -41
  39. package/lib/Dependency.js +54 -54
  40. package/lib/DllEntryPlugin.js +32 -32
  41. package/lib/DllModule.js +55 -55
  42. package/lib/DllModuleFactory.js +18 -18
  43. package/lib/DllPlugin.js +30 -30
  44. package/lib/DllReferencePlugin.js +26 -26
  45. package/lib/EntryModuleNotFoundError.js +15 -15
  46. package/lib/EntryOptionPlugin.js +28 -28
  47. package/lib/EnvironmentPlugin.js +28 -28
  48. package/lib/EvalDevToolModulePlugin.js +17 -17
  49. package/lib/EvalDevToolModuleTemplatePlugin.js +29 -29
  50. package/lib/EvalSourceMapDevToolModuleTemplatePlugin.js +68 -68
  51. package/lib/EvalSourceMapDevToolPlugin.js +25 -25
  52. package/lib/ExtendedAPIPlugin.js +45 -45
  53. package/lib/ExternalModule.js +89 -89
  54. package/lib/ExternalModuleFactoryPlugin.js +86 -86
  55. package/lib/ExternalsPlugin.js +16 -16
  56. package/lib/FunctionModulePlugin.js +18 -18
  57. package/lib/FunctionModuleTemplatePlugin.js +39 -39
  58. package/lib/HotModuleReplacement.runtime.js +486 -486
  59. package/lib/HotModuleReplacementPlugin.js +223 -223
  60. package/lib/HotUpdateChunkTemplate.js +28 -28
  61. package/lib/IgnorePlugin.js +32 -32
  62. package/lib/JsonpChunkTemplatePlugin.js +26 -26
  63. package/lib/JsonpExportMainTemplatePlugin.js +28 -28
  64. package/lib/JsonpHotUpdateChunkTemplatePlugin.js +26 -26
  65. package/lib/JsonpMainTemplate.runtime.js +56 -56
  66. package/lib/JsonpMainTemplatePlugin.js +162 -162
  67. package/lib/JsonpTemplatePlugin.js +17 -17
  68. package/lib/LibManifestPlugin.js +49 -49
  69. package/lib/LibraryTemplatePlugin.js +77 -77
  70. package/lib/LoaderTargetPlugin.js +16 -16
  71. package/lib/MainTemplate.js +169 -169
  72. package/lib/MemoryOutputFileSystem.js +5 -5
  73. package/lib/Module.js +116 -116
  74. package/lib/ModuleFilenameHelpers.js +157 -157
  75. package/lib/ModuleNotFoundError.js +17 -17
  76. package/lib/ModuleParseError.js +26 -26
  77. package/lib/ModuleParserHelpers.js +21 -21
  78. package/lib/ModuleReason.js +9 -9
  79. package/lib/ModuleTemplate.js +23 -23
  80. package/lib/MovedToPluginWarningPlugin.js +17 -17
  81. package/lib/MultiCompiler.js +166 -166
  82. package/lib/MultiEntryPlugin.js +31 -31
  83. package/lib/MultiModule.js +71 -71
  84. package/lib/MultiModuleFactory.js +18 -18
  85. package/lib/NamedModulesPlugin.js +21 -21
  86. package/lib/NewWatchingPlugin.js +12 -12
  87. package/lib/NoErrorsPlugin.js +18 -18
  88. package/lib/NodeStuffPlugin.js +99 -99
  89. package/lib/NormalModule.js +322 -322
  90. package/lib/NormalModuleFactory.js +171 -171
  91. package/lib/NormalModuleReplacementPlugin.js +40 -40
  92. package/lib/NullFactory.js +10 -10
  93. package/lib/OldWatchingPlugin.js +14 -14
  94. package/lib/OptionsApply.js +10 -10
  95. package/lib/OriginalSource.js +5 -5
  96. package/lib/Parser.js +938 -938
  97. package/lib/PrefetchPlugin.js +25 -25
  98. package/lib/ProgressPlugin.js +80 -80
  99. package/lib/ProvidePlugin.js +48 -48
  100. package/lib/RawModule.js +65 -65
  101. package/lib/RawSource.js +5 -5
  102. package/lib/RecordIdsPlugin.js +130 -130
  103. package/lib/RequestShortener.js +56 -56
  104. package/lib/RequireJsStuffPlugin.js +38 -38
  105. package/lib/ResolverPlugin.js +34 -34
  106. package/lib/SetVarMainTemplatePlugin.js +36 -36
  107. package/lib/SingleEntryPlugin.js +24 -24
  108. package/lib/Source.js +5 -5
  109. package/lib/SourceMapDevToolModuleOptionsPlugin.js +33 -33
  110. package/lib/SourceMapDevToolPlugin.js +168 -168
  111. package/lib/SourceMapSource.js +5 -5
  112. package/lib/Stats.js +732 -732
  113. package/lib/Template.js +119 -119
  114. package/lib/TemplatedPathPlugin.js +111 -111
  115. package/lib/UmdMainTemplatePlugin.js +146 -146
  116. package/lib/UnsupportedFeatureWarning.js +14 -14
  117. package/lib/WarnCaseSensitiveModulesPlugin.js +27 -27
  118. package/lib/WatchIgnorePlugin.js +45 -45
  119. package/lib/WebpackOptionsApply.js +376 -376
  120. package/lib/WebpackOptionsDefaulter.js +112 -112
  121. package/lib/dependencies/AMDDefineDependency.js +63 -63
  122. package/lib/dependencies/AMDDefineDependencyParserPlugin.js +240 -240
  123. package/lib/dependencies/AMDPlugin.js +115 -115
  124. package/lib/dependencies/AMDRequireArrayDependency.js +34 -34
  125. package/lib/dependencies/AMDRequireContextDependency.js +18 -18
  126. package/lib/dependencies/AMDRequireDependenciesBlock.js +25 -25
  127. package/lib/dependencies/AMDRequireDependenciesBlockParserPlugin.js +145 -145
  128. package/lib/dependencies/AMDRequireDependency.js +64 -64
  129. package/lib/dependencies/AMDRequireItemDependency.js +17 -17
  130. package/lib/dependencies/CommonJsPlugin.js +93 -93
  131. package/lib/dependencies/CommonJsRequireContextDependency.js +18 -18
  132. package/lib/dependencies/CommonJsRequireDependency.js +17 -17
  133. package/lib/dependencies/CommonJsRequireDependencyParserPlugin.js +91 -91
  134. package/lib/dependencies/ConstDependency.js +29 -29
  135. package/lib/dependencies/ContextDependency.js +24 -24
  136. package/lib/dependencies/ContextDependencyHelpers.js +34 -34
  137. package/lib/dependencies/ContextDependencyTemplateAsId.js +22 -22
  138. package/lib/dependencies/ContextDependencyTemplateAsRequireCall.js +31 -31
  139. package/lib/dependencies/ContextElementDependency.js +17 -17
  140. package/lib/dependencies/DelegatedSourceDependency.js +14 -14
  141. package/lib/dependencies/DepBlockHelpers.js +41 -41
  142. package/lib/dependencies/DllEntryDependency.js +17 -17
  143. package/lib/dependencies/LabeledExportsDependency.js +21 -21
  144. package/lib/dependencies/LabeledModuleDependency.js +36 -36
  145. package/lib/dependencies/LabeledModuleDependencyParserPlugin.js +76 -76
  146. package/lib/dependencies/LabeledModulesPlugin.js +26 -26
  147. package/lib/dependencies/LoaderDependency.js +14 -14
  148. package/lib/dependencies/LoaderPlugin.js +61 -61
  149. package/lib/dependencies/LocalModule.js +19 -19
  150. package/lib/dependencies/LocalModuleDependency.js +23 -23
  151. package/lib/dependencies/LocalModulesHelpers.js +43 -43
  152. package/lib/dependencies/ModuleDependency.js +20 -20
  153. package/lib/dependencies/ModuleDependencyTemplateAsId.js +22 -22
  154. package/lib/dependencies/ModuleDependencyTemplateAsRequireId.js +22 -22
  155. package/lib/dependencies/ModuleHotAcceptDependency.js +18 -18
  156. package/lib/dependencies/ModuleHotDeclineDependency.js +18 -18
  157. package/lib/dependencies/MultiEntryDependency.js +16 -16
  158. package/lib/dependencies/NullDependency.js +17 -17
  159. package/lib/dependencies/NullDependencyTemplate.js +8 -8
  160. package/lib/dependencies/PrefetchDependency.js +14 -14
  161. package/lib/dependencies/RequireContextDependency.js +17 -17
  162. package/lib/dependencies/RequireContextDependencyParserPlugin.js +33 -33
  163. package/lib/dependencies/RequireContextPlugin.js +64 -64
  164. package/lib/dependencies/RequireEnsureDependenciesBlock.js +20 -20
  165. package/lib/dependencies/RequireEnsureDependenciesBlockParserPlugin.js +66 -66
  166. package/lib/dependencies/RequireEnsureDependency.js +29 -29
  167. package/lib/dependencies/RequireEnsureItemDependency.js +16 -16
  168. package/lib/dependencies/RequireEnsurePlugin.js +38 -38
  169. package/lib/dependencies/RequireHeaderDependency.js +25 -25
  170. package/lib/dependencies/RequireIncludeDependency.js +25 -25
  171. package/lib/dependencies/RequireIncludeDependencyParserPlugin.js +18 -18
  172. package/lib/dependencies/RequireIncludePlugin.js +31 -31
  173. package/lib/dependencies/RequireResolveContextDependency.js +18 -18
  174. package/lib/dependencies/RequireResolveDependency.js +17 -17
  175. package/lib/dependencies/RequireResolveDependencyParserPlugin.js +69 -69
  176. package/lib/dependencies/RequireResolveHeaderDependency.js +25 -25
  177. package/lib/dependencies/SingleEntryDependency.js +14 -14
  178. package/lib/dependencies/TemplateArgumentDependency.js +26 -26
  179. package/lib/dependencies/WebpackMissingModule.js +23 -23
  180. package/lib/dependencies/getFunctionExpression.js +43 -43
  181. package/lib/node/NodeChunkTemplatePlugin.js +22 -22
  182. package/lib/node/NodeEnvironmentPlugin.js +25 -25
  183. package/lib/node/NodeHotUpdateChunkTemplatePlugin.js +24 -24
  184. package/lib/node/NodeMainTemplate.runtime.js +20 -20
  185. package/lib/node/NodeMainTemplateAsync.runtime.js +34 -34
  186. package/lib/node/NodeMainTemplatePlugin.js +164 -164
  187. package/lib/node/NodeOutputFileSystem.js +17 -17
  188. package/lib/node/NodeSourcePlugin.js +85 -75
  189. package/lib/node/NodeTargetPlugin.js +12 -12
  190. package/lib/node/NodeTemplatePlugin.js +21 -21
  191. package/lib/node/NodeWatchFileSystem.js +65 -65
  192. package/lib/node/OldNodeWatchFileSystem.js +265 -265
  193. package/lib/optimize/AggressiveMergingPlugin.js +115 -115
  194. package/lib/optimize/CommonsChunkPlugin.js +178 -178
  195. package/lib/optimize/DedupePlugin.js +227 -227
  196. package/lib/optimize/FlagIncludedChunksPlugin.js +24 -24
  197. package/lib/optimize/LimitChunkCountPlugin.js +55 -55
  198. package/lib/optimize/MergeDuplicateChunksPlugin.js +30 -30
  199. package/lib/optimize/MinChunkSizePlugin.js +61 -61
  200. package/lib/optimize/OccurenceOrderPlugin.js +5 -5
  201. package/lib/optimize/OccurrenceOrderPlugin.js +91 -91
  202. package/lib/optimize/RemoveEmptyChunksPlugin.js +19 -19
  203. package/lib/optimize/RemoveParentModulesPlugin.js +50 -50
  204. package/lib/optimize/UglifyJsPlugin.js +146 -146
  205. package/lib/removeAndDo.js +13 -13
  206. package/lib/web/WebEnvironmentPlugin.js +16 -16
  207. package/lib/webpack.js +113 -113
  208. package/lib/webpack.web.js +27 -27
  209. package/lib/webworker/WebWorkerChunkTemplatePlugin.js +26 -26
  210. package/lib/webworker/WebWorkerMainTemplatePlugin.js +78 -78
  211. package/lib/webworker/WebWorkerTemplatePlugin.js +15 -15
  212. package/package.json +4 -4
@@ -1,486 +1,486 @@
1
- /*
2
- MIT License http://www.opensource.org/licenses/mit-license.php
3
- Author Tobias Koppers @sokra
4
- */
5
- /*global $hash$ installedModules $require$ hotDownloadManifest hotDownloadUpdateChunk modules */
6
- module.exports = function() {
7
-
8
- // Copied from https://github.com/facebook/react/blob/bef45b0/src/shared/utils/canDefineProperty.js
9
- var canDefineProperty = false;
10
- try {
11
- Object.defineProperty({}, "x", {
12
- get: function() {}
13
- });
14
- canDefineProperty = true;
15
- } catch(x) {
16
- // IE will fail on defineProperty
17
- }
18
-
19
- var hotApplyOnUpdate = true;
20
- var hotCurrentHash = $hash$; // eslint-disable-line no-unused-vars
21
- var hotCurrentModuleData = {};
22
- var hotCurrentParents = []; // eslint-disable-line no-unused-vars
23
-
24
- function hotCreateRequire(moduleId) { // eslint-disable-line no-unused-vars
25
- var me = installedModules[moduleId];
26
- if(!me) return $require$;
27
- var fn = function(request) {
28
- if(me.hot.active) {
29
- if(installedModules[request]) {
30
- if(installedModules[request].parents.indexOf(moduleId) < 0)
31
- installedModules[request].parents.push(moduleId);
32
- if(me.children.indexOf(request) < 0)
33
- me.children.push(request);
34
- } else hotCurrentParents = [moduleId];
35
- } else {
36
- console.warn("[HMR] unexpected require(" + request + ") from disposed module " + moduleId);
37
- hotCurrentParents = [];
38
- }
39
- return $require$(request);
40
- };
41
- for(var name in $require$) {
42
- if(Object.prototype.hasOwnProperty.call($require$, name)) {
43
- if(canDefineProperty) {
44
- Object.defineProperty(fn, name, (function(name) {
45
- return {
46
- configurable: true,
47
- enumerable: true,
48
- get: function() {
49
- return $require$[name];
50
- },
51
- set: function(value) {
52
- $require$[name] = value;
53
- }
54
- };
55
- }(name)));
56
- } else {
57
- fn[name] = $require$[name];
58
- }
59
- }
60
- }
61
-
62
- function ensure(chunkId, callback) {
63
- if(hotStatus === "ready")
64
- hotSetStatus("prepare");
65
- hotChunksLoading++;
66
- $require$.e(chunkId, function() {
67
- try {
68
- callback.call(null, fn);
69
- } finally {
70
- finishChunkLoading();
71
- }
72
-
73
- function finishChunkLoading() {
74
- hotChunksLoading--;
75
- if(hotStatus === "prepare") {
76
- if(!hotWaitingFilesMap[chunkId]) {
77
- hotEnsureUpdateChunk(chunkId);
78
- }
79
- if(hotChunksLoading === 0 && hotWaitingFiles === 0) {
80
- hotUpdateDownloaded();
81
- }
82
- }
83
- }
84
- });
85
- }
86
- if(canDefineProperty) {
87
- Object.defineProperty(fn, "e", {
88
- enumerable: true,
89
- value: ensure
90
- });
91
- } else {
92
- fn.e = ensure;
93
- }
94
- return fn;
95
- }
96
-
97
- function hotCreateModule(moduleId) { // eslint-disable-line no-unused-vars
98
- var hot = {
99
- // private stuff
100
- _acceptedDependencies: {},
101
- _declinedDependencies: {},
102
- _selfAccepted: false,
103
- _selfDeclined: false,
104
- _disposeHandlers: [],
105
-
106
- // Module API
107
- active: true,
108
- accept: function(dep, callback) {
109
- if(typeof dep === "undefined")
110
- hot._selfAccepted = true;
111
- else if(typeof dep === "function")
112
- hot._selfAccepted = dep;
113
- else if(typeof dep === "object")
114
- for(var i = 0; i < dep.length; i++)
115
- hot._acceptedDependencies[dep[i]] = callback;
116
- else
117
- hot._acceptedDependencies[dep] = callback;
118
- },
119
- decline: function(dep) {
120
- if(typeof dep === "undefined")
121
- hot._selfDeclined = true;
122
- else if(typeof dep === "number")
123
- hot._declinedDependencies[dep] = true;
124
- else
125
- for(var i = 0; i < dep.length; i++)
126
- hot._declinedDependencies[dep[i]] = true;
127
- },
128
- dispose: function(callback) {
129
- hot._disposeHandlers.push(callback);
130
- },
131
- addDisposeHandler: function(callback) {
132
- hot._disposeHandlers.push(callback);
133
- },
134
- removeDisposeHandler: function(callback) {
135
- var idx = hot._disposeHandlers.indexOf(callback);
136
- if(idx >= 0) hot._disposeHandlers.splice(idx, 1);
137
- },
138
-
139
- // Management API
140
- check: hotCheck,
141
- apply: hotApply,
142
- status: function(l) {
143
- if(!l) return hotStatus;
144
- hotStatusHandlers.push(l);
145
- },
146
- addStatusHandler: function(l) {
147
- hotStatusHandlers.push(l);
148
- },
149
- removeStatusHandler: function(l) {
150
- var idx = hotStatusHandlers.indexOf(l);
151
- if(idx >= 0) hotStatusHandlers.splice(idx, 1);
152
- },
153
-
154
- //inherit from previous dispose call
155
- data: hotCurrentModuleData[moduleId]
156
- };
157
- return hot;
158
- }
159
-
160
- var hotStatusHandlers = [];
161
- var hotStatus = "idle";
162
-
163
- function hotSetStatus(newStatus) {
164
- hotStatus = newStatus;
165
- for(var i = 0; i < hotStatusHandlers.length; i++)
166
- hotStatusHandlers[i].call(null, newStatus);
167
- }
168
-
169
- // while downloading
170
- var hotWaitingFiles = 0;
171
- var hotChunksLoading = 0;
172
- var hotWaitingFilesMap = {};
173
- var hotRequestedFilesMap = {};
174
- var hotAvailibleFilesMap = {};
175
- var hotCallback;
176
-
177
- // The update info
178
- var hotUpdate, hotUpdateNewHash;
179
-
180
- function toModuleId(id) {
181
- var isNumber = (+id) + "" === id;
182
- return isNumber ? +id : id;
183
- }
184
-
185
- function hotCheck(apply, callback) {
186
- if(hotStatus !== "idle") throw new Error("check() is only allowed in idle status");
187
- if(typeof apply === "function") {
188
- hotApplyOnUpdate = false;
189
- callback = apply;
190
- } else {
191
- hotApplyOnUpdate = apply;
192
- callback = callback || function(err) {
193
- if(err) throw err;
194
- };
195
- }
196
- hotSetStatus("check");
197
- hotDownloadManifest(function(err, update) {
198
- if(err) return callback(err);
199
- if(!update) {
200
- hotSetStatus("idle");
201
- callback(null, null);
202
- return;
203
- }
204
-
205
- hotRequestedFilesMap = {};
206
- hotAvailibleFilesMap = {};
207
- hotWaitingFilesMap = {};
208
- for(var i = 0; i < update.c.length; i++)
209
- hotAvailibleFilesMap[update.c[i]] = true;
210
- hotUpdateNewHash = update.h;
211
-
212
- hotSetStatus("prepare");
213
- hotCallback = callback;
214
- hotUpdate = {};
215
- /*foreachInstalledChunks*/
216
- { // eslint-disable-line no-lone-blocks
217
- /*globals chunkId */
218
- hotEnsureUpdateChunk(chunkId);
219
- }
220
- if(hotStatus === "prepare" && hotChunksLoading === 0 && hotWaitingFiles === 0) {
221
- hotUpdateDownloaded();
222
- }
223
- });
224
- }
225
-
226
- function hotAddUpdateChunk(chunkId, moreModules) { // eslint-disable-line no-unused-vars
227
- if(!hotAvailibleFilesMap[chunkId] || !hotRequestedFilesMap[chunkId])
228
- return;
229
- hotRequestedFilesMap[chunkId] = false;
230
- for(var moduleId in moreModules) {
231
- if(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {
232
- hotUpdate[moduleId] = moreModules[moduleId];
233
- }
234
- }
235
- if(--hotWaitingFiles === 0 && hotChunksLoading === 0) {
236
- hotUpdateDownloaded();
237
- }
238
- }
239
-
240
- function hotEnsureUpdateChunk(chunkId) {
241
- if(!hotAvailibleFilesMap[chunkId]) {
242
- hotWaitingFilesMap[chunkId] = true;
243
- } else {
244
- hotRequestedFilesMap[chunkId] = true;
245
- hotWaitingFiles++;
246
- hotDownloadUpdateChunk(chunkId);
247
- }
248
- }
249
-
250
- function hotUpdateDownloaded() {
251
- hotSetStatus("ready");
252
- var callback = hotCallback;
253
- hotCallback = null;
254
- if(!callback) return;
255
- if(hotApplyOnUpdate) {
256
- hotApply(hotApplyOnUpdate, callback);
257
- } else {
258
- var outdatedModules = [];
259
- for(var id in hotUpdate) {
260
- if(Object.prototype.hasOwnProperty.call(hotUpdate, id)) {
261
- outdatedModules.push(toModuleId(id));
262
- }
263
- }
264
- callback(null, outdatedModules);
265
- }
266
- }
267
-
268
- function hotApply(options, callback) {
269
- if(hotStatus !== "ready") throw new Error("apply() is only allowed in ready status");
270
- if(typeof options === "function") {
271
- callback = options;
272
- options = {};
273
- } else if(options && typeof options === "object") {
274
- callback = callback || function(err) {
275
- if(err) throw err;
276
- };
277
- } else {
278
- options = {};
279
- callback = callback || function(err) {
280
- if(err) throw err;
281
- };
282
- }
283
-
284
- function getAffectedStuff(module) {
285
- var outdatedModules = [module];
286
- var outdatedDependencies = {};
287
-
288
- var queue = outdatedModules.slice();
289
- while(queue.length > 0) {
290
- var moduleId = queue.pop();
291
- var module = installedModules[moduleId];
292
- if(!module || module.hot._selfAccepted)
293
- continue;
294
- if(module.hot._selfDeclined) {
295
- return new Error("Aborted because of self decline: " + moduleId);
296
- }
297
- if(moduleId === 0) {
298
- return;
299
- }
300
- for(var i = 0; i < module.parents.length; i++) {
301
- var parentId = module.parents[i];
302
- var parent = installedModules[parentId];
303
- if(parent.hot._declinedDependencies[moduleId]) {
304
- return new Error("Aborted because of declined dependency: " + moduleId + " in " + parentId);
305
- }
306
- if(outdatedModules.indexOf(parentId) >= 0) continue;
307
- if(parent.hot._acceptedDependencies[moduleId]) {
308
- if(!outdatedDependencies[parentId])
309
- outdatedDependencies[parentId] = [];
310
- addAllToSet(outdatedDependencies[parentId], [moduleId]);
311
- continue;
312
- }
313
- delete outdatedDependencies[parentId];
314
- outdatedModules.push(parentId);
315
- queue.push(parentId);
316
- }
317
- }
318
-
319
- return [outdatedModules, outdatedDependencies];
320
- }
321
-
322
- function addAllToSet(a, b) {
323
- for(var i = 0; i < b.length; i++) {
324
- var item = b[i];
325
- if(a.indexOf(item) < 0)
326
- a.push(item);
327
- }
328
- }
329
-
330
- // at begin all updates modules are outdated
331
- // the "outdated" status can propagate to parents if they don't accept the children
332
- var outdatedDependencies = {};
333
- var outdatedModules = [];
334
- var appliedUpdate = {};
335
- for(var id in hotUpdate) {
336
- if(Object.prototype.hasOwnProperty.call(hotUpdate, id)) {
337
- var moduleId = toModuleId(id);
338
- var result = getAffectedStuff(moduleId);
339
- if(!result) {
340
- if(options.ignoreUnaccepted)
341
- continue;
342
- hotSetStatus("abort");
343
- return callback(new Error("Aborted because " + moduleId + " is not accepted"));
344
- }
345
- if(result instanceof Error) {
346
- hotSetStatus("abort");
347
- return callback(result);
348
- }
349
- appliedUpdate[moduleId] = hotUpdate[moduleId];
350
- addAllToSet(outdatedModules, result[0]);
351
- for(var moduleId in result[1]) {
352
- if(Object.prototype.hasOwnProperty.call(result[1], moduleId)) {
353
- if(!outdatedDependencies[moduleId])
354
- outdatedDependencies[moduleId] = [];
355
- addAllToSet(outdatedDependencies[moduleId], result[1][moduleId]);
356
- }
357
- }
358
- }
359
- }
360
-
361
- // Store self accepted outdated modules to require them later by the module system
362
- var outdatedSelfAcceptedModules = [];
363
- for(var i = 0; i < outdatedModules.length; i++) {
364
- var moduleId = outdatedModules[i];
365
- if(installedModules[moduleId] && installedModules[moduleId].hot._selfAccepted)
366
- outdatedSelfAcceptedModules.push({
367
- module: moduleId,
368
- errorHandler: installedModules[moduleId].hot._selfAccepted
369
- });
370
- }
371
-
372
- // Now in "dispose" phase
373
- hotSetStatus("dispose");
374
- var queue = outdatedModules.slice();
375
- while(queue.length > 0) {
376
- var moduleId = queue.pop();
377
- var module = installedModules[moduleId];
378
- if(!module) continue;
379
-
380
- var data = {};
381
-
382
- // Call dispose handlers
383
- var disposeHandlers = module.hot._disposeHandlers;
384
- for(var j = 0; j < disposeHandlers.length; j++) {
385
- var cb = disposeHandlers[j];
386
- cb(data);
387
- }
388
- hotCurrentModuleData[moduleId] = data;
389
-
390
- // disable module (this disables requires from this module)
391
- module.hot.active = false;
392
-
393
- // remove module from cache
394
- delete installedModules[moduleId];
395
-
396
- // remove "parents" references from all children
397
- for(var j = 0; j < module.children.length; j++) {
398
- var child = installedModules[module.children[j]];
399
- if(!child) continue;
400
- var idx = child.parents.indexOf(moduleId);
401
- if(idx >= 0) {
402
- child.parents.splice(idx, 1);
403
- }
404
- }
405
- }
406
-
407
- // remove outdated dependency from module children
408
- for(var moduleId in outdatedDependencies) {
409
- if(Object.prototype.hasOwnProperty.call(outdatedDependencies, moduleId)) {
410
- var module = installedModules[moduleId];
411
- var moduleOutdatedDependencies = outdatedDependencies[moduleId];
412
- for(var j = 0; j < moduleOutdatedDependencies.length; j++) {
413
- var dependency = moduleOutdatedDependencies[j];
414
- var idx = module.children.indexOf(dependency);
415
- if(idx >= 0) module.children.splice(idx, 1);
416
- }
417
- }
418
- }
419
-
420
- // Not in "apply" phase
421
- hotSetStatus("apply");
422
-
423
- hotCurrentHash = hotUpdateNewHash;
424
-
425
- // insert new code
426
- for(var moduleId in appliedUpdate) {
427
- if(Object.prototype.hasOwnProperty.call(appliedUpdate, moduleId)) {
428
- modules[moduleId] = appliedUpdate[moduleId];
429
- }
430
- }
431
-
432
- // call accept handlers
433
- var error = null;
434
- for(var moduleId in outdatedDependencies) {
435
- if(Object.prototype.hasOwnProperty.call(outdatedDependencies, moduleId)) {
436
- var module = installedModules[moduleId];
437
- var moduleOutdatedDependencies = outdatedDependencies[moduleId];
438
- var callbacks = [];
439
- for(var i = 0; i < moduleOutdatedDependencies.length; i++) {
440
- var dependency = moduleOutdatedDependencies[i];
441
- var cb = module.hot._acceptedDependencies[dependency];
442
- if(callbacks.indexOf(cb) >= 0) continue;
443
- callbacks.push(cb);
444
- }
445
- for(var i = 0; i < callbacks.length; i++) {
446
- var cb = callbacks[i];
447
- try {
448
- cb(outdatedDependencies);
449
- } catch(err) {
450
- if(!error)
451
- error = err;
452
- }
453
- }
454
- }
455
- }
456
-
457
- // Load self accepted modules
458
- for(var i = 0; i < outdatedSelfAcceptedModules.length; i++) {
459
- var item = outdatedSelfAcceptedModules[i];
460
- var moduleId = item.module;
461
- hotCurrentParents = [moduleId];
462
- try {
463
- $require$(moduleId);
464
- } catch(err) {
465
- if(typeof item.errorHandler === "function") {
466
- try {
467
- item.errorHandler(err);
468
- } catch(err) {
469
- if(!error)
470
- error = err;
471
- }
472
- } else if(!error)
473
- error = err;
474
- }
475
- }
476
-
477
- // handle errors in accept handlers and self accepted module load
478
- if(error) {
479
- hotSetStatus("fail");
480
- return callback(error);
481
- }
482
-
483
- hotSetStatus("idle");
484
- callback(null, outdatedModules);
485
- }
486
- };
1
+ /*
2
+ MIT License http://www.opensource.org/licenses/mit-license.php
3
+ Author Tobias Koppers @sokra
4
+ */
5
+ /*global $hash$ installedModules $require$ hotDownloadManifest hotDownloadUpdateChunk modules */
6
+ module.exports = function() {
7
+
8
+ // Copied from https://github.com/facebook/react/blob/bef45b0/src/shared/utils/canDefineProperty.js
9
+ var canDefineProperty = false;
10
+ try {
11
+ Object.defineProperty({}, "x", {
12
+ get: function() {}
13
+ });
14
+ canDefineProperty = true;
15
+ } catch(x) {
16
+ // IE will fail on defineProperty
17
+ }
18
+
19
+ var hotApplyOnUpdate = true;
20
+ var hotCurrentHash = $hash$; // eslint-disable-line no-unused-vars
21
+ var hotCurrentModuleData = {};
22
+ var hotCurrentParents = []; // eslint-disable-line no-unused-vars
23
+
24
+ function hotCreateRequire(moduleId) { // eslint-disable-line no-unused-vars
25
+ var me = installedModules[moduleId];
26
+ if(!me) return $require$;
27
+ var fn = function(request) {
28
+ if(me.hot.active) {
29
+ if(installedModules[request]) {
30
+ if(installedModules[request].parents.indexOf(moduleId) < 0)
31
+ installedModules[request].parents.push(moduleId);
32
+ if(me.children.indexOf(request) < 0)
33
+ me.children.push(request);
34
+ } else hotCurrentParents = [moduleId];
35
+ } else {
36
+ console.warn("[HMR] unexpected require(" + request + ") from disposed module " + moduleId);
37
+ hotCurrentParents = [];
38
+ }
39
+ return $require$(request);
40
+ };
41
+ for(var name in $require$) {
42
+ if(Object.prototype.hasOwnProperty.call($require$, name)) {
43
+ if(canDefineProperty) {
44
+ Object.defineProperty(fn, name, (function(name) {
45
+ return {
46
+ configurable: true,
47
+ enumerable: true,
48
+ get: function() {
49
+ return $require$[name];
50
+ },
51
+ set: function(value) {
52
+ $require$[name] = value;
53
+ }
54
+ };
55
+ }(name)));
56
+ } else {
57
+ fn[name] = $require$[name];
58
+ }
59
+ }
60
+ }
61
+
62
+ function ensure(chunkId, callback) {
63
+ if(hotStatus === "ready")
64
+ hotSetStatus("prepare");
65
+ hotChunksLoading++;
66
+ $require$.e(chunkId, function() {
67
+ try {
68
+ callback.call(null, fn);
69
+ } finally {
70
+ finishChunkLoading();
71
+ }
72
+
73
+ function finishChunkLoading() {
74
+ hotChunksLoading--;
75
+ if(hotStatus === "prepare") {
76
+ if(!hotWaitingFilesMap[chunkId]) {
77
+ hotEnsureUpdateChunk(chunkId);
78
+ }
79
+ if(hotChunksLoading === 0 && hotWaitingFiles === 0) {
80
+ hotUpdateDownloaded();
81
+ }
82
+ }
83
+ }
84
+ });
85
+ }
86
+ if(canDefineProperty) {
87
+ Object.defineProperty(fn, "e", {
88
+ enumerable: true,
89
+ value: ensure
90
+ });
91
+ } else {
92
+ fn.e = ensure;
93
+ }
94
+ return fn;
95
+ }
96
+
97
+ function hotCreateModule(moduleId) { // eslint-disable-line no-unused-vars
98
+ var hot = {
99
+ // private stuff
100
+ _acceptedDependencies: {},
101
+ _declinedDependencies: {},
102
+ _selfAccepted: false,
103
+ _selfDeclined: false,
104
+ _disposeHandlers: [],
105
+
106
+ // Module API
107
+ active: true,
108
+ accept: function(dep, callback) {
109
+ if(typeof dep === "undefined")
110
+ hot._selfAccepted = true;
111
+ else if(typeof dep === "function")
112
+ hot._selfAccepted = dep;
113
+ else if(typeof dep === "object")
114
+ for(var i = 0; i < dep.length; i++)
115
+ hot._acceptedDependencies[dep[i]] = callback;
116
+ else
117
+ hot._acceptedDependencies[dep] = callback;
118
+ },
119
+ decline: function(dep) {
120
+ if(typeof dep === "undefined")
121
+ hot._selfDeclined = true;
122
+ else if(typeof dep === "number")
123
+ hot._declinedDependencies[dep] = true;
124
+ else
125
+ for(var i = 0; i < dep.length; i++)
126
+ hot._declinedDependencies[dep[i]] = true;
127
+ },
128
+ dispose: function(callback) {
129
+ hot._disposeHandlers.push(callback);
130
+ },
131
+ addDisposeHandler: function(callback) {
132
+ hot._disposeHandlers.push(callback);
133
+ },
134
+ removeDisposeHandler: function(callback) {
135
+ var idx = hot._disposeHandlers.indexOf(callback);
136
+ if(idx >= 0) hot._disposeHandlers.splice(idx, 1);
137
+ },
138
+
139
+ // Management API
140
+ check: hotCheck,
141
+ apply: hotApply,
142
+ status: function(l) {
143
+ if(!l) return hotStatus;
144
+ hotStatusHandlers.push(l);
145
+ },
146
+ addStatusHandler: function(l) {
147
+ hotStatusHandlers.push(l);
148
+ },
149
+ removeStatusHandler: function(l) {
150
+ var idx = hotStatusHandlers.indexOf(l);
151
+ if(idx >= 0) hotStatusHandlers.splice(idx, 1);
152
+ },
153
+
154
+ //inherit from previous dispose call
155
+ data: hotCurrentModuleData[moduleId]
156
+ };
157
+ return hot;
158
+ }
159
+
160
+ var hotStatusHandlers = [];
161
+ var hotStatus = "idle";
162
+
163
+ function hotSetStatus(newStatus) {
164
+ hotStatus = newStatus;
165
+ for(var i = 0; i < hotStatusHandlers.length; i++)
166
+ hotStatusHandlers[i].call(null, newStatus);
167
+ }
168
+
169
+ // while downloading
170
+ var hotWaitingFiles = 0;
171
+ var hotChunksLoading = 0;
172
+ var hotWaitingFilesMap = {};
173
+ var hotRequestedFilesMap = {};
174
+ var hotAvailibleFilesMap = {};
175
+ var hotCallback;
176
+
177
+ // The update info
178
+ var hotUpdate, hotUpdateNewHash;
179
+
180
+ function toModuleId(id) {
181
+ var isNumber = (+id) + "" === id;
182
+ return isNumber ? +id : id;
183
+ }
184
+
185
+ function hotCheck(apply, callback) {
186
+ if(hotStatus !== "idle") throw new Error("check() is only allowed in idle status");
187
+ if(typeof apply === "function") {
188
+ hotApplyOnUpdate = false;
189
+ callback = apply;
190
+ } else {
191
+ hotApplyOnUpdate = apply;
192
+ callback = callback || function(err) {
193
+ if(err) throw err;
194
+ };
195
+ }
196
+ hotSetStatus("check");
197
+ hotDownloadManifest(function(err, update) {
198
+ if(err) return callback(err);
199
+ if(!update) {
200
+ hotSetStatus("idle");
201
+ callback(null, null);
202
+ return;
203
+ }
204
+
205
+ hotRequestedFilesMap = {};
206
+ hotAvailibleFilesMap = {};
207
+ hotWaitingFilesMap = {};
208
+ for(var i = 0; i < update.c.length; i++)
209
+ hotAvailibleFilesMap[update.c[i]] = true;
210
+ hotUpdateNewHash = update.h;
211
+
212
+ hotSetStatus("prepare");
213
+ hotCallback = callback;
214
+ hotUpdate = {};
215
+ /*foreachInstalledChunks*/
216
+ { // eslint-disable-line no-lone-blocks
217
+ /*globals chunkId */
218
+ hotEnsureUpdateChunk(chunkId);
219
+ }
220
+ if(hotStatus === "prepare" && hotChunksLoading === 0 && hotWaitingFiles === 0) {
221
+ hotUpdateDownloaded();
222
+ }
223
+ });
224
+ }
225
+
226
+ function hotAddUpdateChunk(chunkId, moreModules) { // eslint-disable-line no-unused-vars
227
+ if(!hotAvailibleFilesMap[chunkId] || !hotRequestedFilesMap[chunkId])
228
+ return;
229
+ hotRequestedFilesMap[chunkId] = false;
230
+ for(var moduleId in moreModules) {
231
+ if(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {
232
+ hotUpdate[moduleId] = moreModules[moduleId];
233
+ }
234
+ }
235
+ if(--hotWaitingFiles === 0 && hotChunksLoading === 0) {
236
+ hotUpdateDownloaded();
237
+ }
238
+ }
239
+
240
+ function hotEnsureUpdateChunk(chunkId) {
241
+ if(!hotAvailibleFilesMap[chunkId]) {
242
+ hotWaitingFilesMap[chunkId] = true;
243
+ } else {
244
+ hotRequestedFilesMap[chunkId] = true;
245
+ hotWaitingFiles++;
246
+ hotDownloadUpdateChunk(chunkId);
247
+ }
248
+ }
249
+
250
+ function hotUpdateDownloaded() {
251
+ hotSetStatus("ready");
252
+ var callback = hotCallback;
253
+ hotCallback = null;
254
+ if(!callback) return;
255
+ if(hotApplyOnUpdate) {
256
+ hotApply(hotApplyOnUpdate, callback);
257
+ } else {
258
+ var outdatedModules = [];
259
+ for(var id in hotUpdate) {
260
+ if(Object.prototype.hasOwnProperty.call(hotUpdate, id)) {
261
+ outdatedModules.push(toModuleId(id));
262
+ }
263
+ }
264
+ callback(null, outdatedModules);
265
+ }
266
+ }
267
+
268
+ function hotApply(options, callback) {
269
+ if(hotStatus !== "ready") throw new Error("apply() is only allowed in ready status");
270
+ if(typeof options === "function") {
271
+ callback = options;
272
+ options = {};
273
+ } else if(options && typeof options === "object") {
274
+ callback = callback || function(err) {
275
+ if(err) throw err;
276
+ };
277
+ } else {
278
+ options = {};
279
+ callback = callback || function(err) {
280
+ if(err) throw err;
281
+ };
282
+ }
283
+
284
+ function getAffectedStuff(module) {
285
+ var outdatedModules = [module];
286
+ var outdatedDependencies = {};
287
+
288
+ var queue = outdatedModules.slice();
289
+ while(queue.length > 0) {
290
+ var moduleId = queue.pop();
291
+ var module = installedModules[moduleId];
292
+ if(!module || module.hot._selfAccepted)
293
+ continue;
294
+ if(module.hot._selfDeclined) {
295
+ return new Error("Aborted because of self decline: " + moduleId);
296
+ }
297
+ if(moduleId === 0) {
298
+ return;
299
+ }
300
+ for(var i = 0; i < module.parents.length; i++) {
301
+ var parentId = module.parents[i];
302
+ var parent = installedModules[parentId];
303
+ if(parent.hot._declinedDependencies[moduleId]) {
304
+ return new Error("Aborted because of declined dependency: " + moduleId + " in " + parentId);
305
+ }
306
+ if(outdatedModules.indexOf(parentId) >= 0) continue;
307
+ if(parent.hot._acceptedDependencies[moduleId]) {
308
+ if(!outdatedDependencies[parentId])
309
+ outdatedDependencies[parentId] = [];
310
+ addAllToSet(outdatedDependencies[parentId], [moduleId]);
311
+ continue;
312
+ }
313
+ delete outdatedDependencies[parentId];
314
+ outdatedModules.push(parentId);
315
+ queue.push(parentId);
316
+ }
317
+ }
318
+
319
+ return [outdatedModules, outdatedDependencies];
320
+ }
321
+
322
+ function addAllToSet(a, b) {
323
+ for(var i = 0; i < b.length; i++) {
324
+ var item = b[i];
325
+ if(a.indexOf(item) < 0)
326
+ a.push(item);
327
+ }
328
+ }
329
+
330
+ // at begin all updates modules are outdated
331
+ // the "outdated" status can propagate to parents if they don't accept the children
332
+ var outdatedDependencies = {};
333
+ var outdatedModules = [];
334
+ var appliedUpdate = {};
335
+ for(var id in hotUpdate) {
336
+ if(Object.prototype.hasOwnProperty.call(hotUpdate, id)) {
337
+ var moduleId = toModuleId(id);
338
+ var result = getAffectedStuff(moduleId);
339
+ if(!result) {
340
+ if(options.ignoreUnaccepted)
341
+ continue;
342
+ hotSetStatus("abort");
343
+ return callback(new Error("Aborted because " + moduleId + " is not accepted"));
344
+ }
345
+ if(result instanceof Error) {
346
+ hotSetStatus("abort");
347
+ return callback(result);
348
+ }
349
+ appliedUpdate[moduleId] = hotUpdate[moduleId];
350
+ addAllToSet(outdatedModules, result[0]);
351
+ for(var moduleId in result[1]) {
352
+ if(Object.prototype.hasOwnProperty.call(result[1], moduleId)) {
353
+ if(!outdatedDependencies[moduleId])
354
+ outdatedDependencies[moduleId] = [];
355
+ addAllToSet(outdatedDependencies[moduleId], result[1][moduleId]);
356
+ }
357
+ }
358
+ }
359
+ }
360
+
361
+ // Store self accepted outdated modules to require them later by the module system
362
+ var outdatedSelfAcceptedModules = [];
363
+ for(var i = 0; i < outdatedModules.length; i++) {
364
+ var moduleId = outdatedModules[i];
365
+ if(installedModules[moduleId] && installedModules[moduleId].hot._selfAccepted)
366
+ outdatedSelfAcceptedModules.push({
367
+ module: moduleId,
368
+ errorHandler: installedModules[moduleId].hot._selfAccepted
369
+ });
370
+ }
371
+
372
+ // Now in "dispose" phase
373
+ hotSetStatus("dispose");
374
+ var queue = outdatedModules.slice();
375
+ while(queue.length > 0) {
376
+ var moduleId = queue.pop();
377
+ var module = installedModules[moduleId];
378
+ if(!module) continue;
379
+
380
+ var data = {};
381
+
382
+ // Call dispose handlers
383
+ var disposeHandlers = module.hot._disposeHandlers;
384
+ for(var j = 0; j < disposeHandlers.length; j++) {
385
+ var cb = disposeHandlers[j];
386
+ cb(data);
387
+ }
388
+ hotCurrentModuleData[moduleId] = data;
389
+
390
+ // disable module (this disables requires from this module)
391
+ module.hot.active = false;
392
+
393
+ // remove module from cache
394
+ delete installedModules[moduleId];
395
+
396
+ // remove "parents" references from all children
397
+ for(var j = 0; j < module.children.length; j++) {
398
+ var child = installedModules[module.children[j]];
399
+ if(!child) continue;
400
+ var idx = child.parents.indexOf(moduleId);
401
+ if(idx >= 0) {
402
+ child.parents.splice(idx, 1);
403
+ }
404
+ }
405
+ }
406
+
407
+ // remove outdated dependency from module children
408
+ for(var moduleId in outdatedDependencies) {
409
+ if(Object.prototype.hasOwnProperty.call(outdatedDependencies, moduleId)) {
410
+ var module = installedModules[moduleId];
411
+ var moduleOutdatedDependencies = outdatedDependencies[moduleId];
412
+ for(var j = 0; j < moduleOutdatedDependencies.length; j++) {
413
+ var dependency = moduleOutdatedDependencies[j];
414
+ var idx = module.children.indexOf(dependency);
415
+ if(idx >= 0) module.children.splice(idx, 1);
416
+ }
417
+ }
418
+ }
419
+
420
+ // Not in "apply" phase
421
+ hotSetStatus("apply");
422
+
423
+ hotCurrentHash = hotUpdateNewHash;
424
+
425
+ // insert new code
426
+ for(var moduleId in appliedUpdate) {
427
+ if(Object.prototype.hasOwnProperty.call(appliedUpdate, moduleId)) {
428
+ modules[moduleId] = appliedUpdate[moduleId];
429
+ }
430
+ }
431
+
432
+ // call accept handlers
433
+ var error = null;
434
+ for(var moduleId in outdatedDependencies) {
435
+ if(Object.prototype.hasOwnProperty.call(outdatedDependencies, moduleId)) {
436
+ var module = installedModules[moduleId];
437
+ var moduleOutdatedDependencies = outdatedDependencies[moduleId];
438
+ var callbacks = [];
439
+ for(var i = 0; i < moduleOutdatedDependencies.length; i++) {
440
+ var dependency = moduleOutdatedDependencies[i];
441
+ var cb = module.hot._acceptedDependencies[dependency];
442
+ if(callbacks.indexOf(cb) >= 0) continue;
443
+ callbacks.push(cb);
444
+ }
445
+ for(var i = 0; i < callbacks.length; i++) {
446
+ var cb = callbacks[i];
447
+ try {
448
+ cb(outdatedDependencies);
449
+ } catch(err) {
450
+ if(!error)
451
+ error = err;
452
+ }
453
+ }
454
+ }
455
+ }
456
+
457
+ // Load self accepted modules
458
+ for(var i = 0; i < outdatedSelfAcceptedModules.length; i++) {
459
+ var item = outdatedSelfAcceptedModules[i];
460
+ var moduleId = item.module;
461
+ hotCurrentParents = [moduleId];
462
+ try {
463
+ $require$(moduleId);
464
+ } catch(err) {
465
+ if(typeof item.errorHandler === "function") {
466
+ try {
467
+ item.errorHandler(err);
468
+ } catch(err) {
469
+ if(!error)
470
+ error = err;
471
+ }
472
+ } else if(!error)
473
+ error = err;
474
+ }
475
+ }
476
+
477
+ // handle errors in accept handlers and self accepted module load
478
+ if(error) {
479
+ hotSetStatus("fail");
480
+ return callback(error);
481
+ }
482
+
483
+ hotSetStatus("idle");
484
+ callback(null, outdatedModules);
485
+ }
486
+ };