webpack 3.6.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 (229) hide show
  1. package/LICENSE +20 -20
  2. package/README.md +716 -716
  3. package/bin/convert-argv.js +1 -1
  4. package/bin/webpack.js +6 -0
  5. package/buildin/.eslintrc +7 -7
  6. package/buildin/amd-define.js +3 -3
  7. package/buildin/amd-options.js +2 -2
  8. package/buildin/global.js +21 -21
  9. package/buildin/harmony-module.js +24 -24
  10. package/buildin/module.js +22 -22
  11. package/buildin/system.js +7 -7
  12. package/hot/.eslintrc +9 -9
  13. package/hot/dev-server.js +53 -53
  14. package/hot/emitter.js +2 -2
  15. package/hot/log-apply-result.js +38 -38
  16. package/hot/log.js +44 -44
  17. package/hot/only-dev-server.js +71 -71
  18. package/hot/poll.js +34 -34
  19. package/hot/signal.js +51 -51
  20. package/lib/APIPlugin.js +45 -45
  21. package/lib/AsyncDependenciesBlock.js +43 -43
  22. package/lib/AsyncDependencyToInitialChunkWarning.js +21 -0
  23. package/lib/AutomaticPrefetchPlugin.js +36 -36
  24. package/lib/BasicEvaluatedExpression.js +203 -203
  25. package/lib/CaseSensitiveModulesWarning.js +49 -49
  26. package/lib/Chunk.js +3 -0
  27. package/lib/ChunkRenderError.js +24 -24
  28. package/lib/ChunkTemplate.js +36 -36
  29. package/lib/CompatibilityPlugin.js +57 -57
  30. package/lib/Compilation.js +158 -51
  31. package/lib/Compiler.js +523 -523
  32. package/lib/ConstPlugin.js +60 -60
  33. package/lib/ContextExclusionPlugin.js +17 -0
  34. package/lib/ContextModule.js +431 -431
  35. package/lib/ContextModuleFactory.js +14 -5
  36. package/lib/ContextReplacementPlugin.js +111 -111
  37. package/lib/DefinePlugin.js +123 -123
  38. package/lib/DelegatedModule.js +98 -92
  39. package/lib/DelegatedModuleFactoryPlugin.js +59 -59
  40. package/lib/DelegatedPlugin.js +30 -30
  41. package/lib/DependenciesBlockVariable.js +51 -51
  42. package/lib/DllEntryPlugin.js +37 -37
  43. package/lib/DllModule.js +58 -58
  44. package/lib/DllModuleFactory.js +20 -20
  45. package/lib/DllPlugin.js +38 -38
  46. package/lib/DllReferencePlugin.js +62 -62
  47. package/lib/DynamicEntryPlugin.js +59 -59
  48. package/lib/EntryModuleNotFoundError.js +22 -22
  49. package/lib/EntryOptionPlugin.js +31 -31
  50. package/lib/EnvironmentPlugin.js +50 -50
  51. package/lib/ErrorHelpers.js +31 -31
  52. package/lib/EvalDevToolModulePlugin.js +22 -22
  53. package/lib/EvalDevToolModuleTemplatePlugin.js +33 -33
  54. package/lib/EvalSourceMapDevToolModuleTemplatePlugin.js +75 -75
  55. package/lib/EvalSourceMapDevToolPlugin.js +32 -32
  56. package/lib/ExportPropertyMainTemplatePlugin.js +31 -31
  57. package/lib/ExtendedAPIPlugin.js +47 -47
  58. package/lib/ExternalModule.js +7 -0
  59. package/lib/ExternalModuleFactoryPlugin.js +91 -91
  60. package/lib/ExternalsPlugin.js +21 -21
  61. package/lib/FlagDependencyExportsPlugin.js +101 -101
  62. package/lib/FunctionModulePlugin.js +24 -24
  63. package/lib/FunctionModuleTemplatePlugin.js +7 -3
  64. package/lib/HashedModuleIdsPlugin.js +42 -42
  65. package/lib/HotUpdateChunkTemplate.js +31 -31
  66. package/lib/IgnorePlugin.js +69 -69
  67. package/lib/JsonpExportMainTemplatePlugin.js +37 -37
  68. package/lib/JsonpHotUpdateChunkTemplatePlugin.js +27 -27
  69. package/lib/JsonpMainTemplate.runtime.js +2 -1
  70. package/lib/JsonpMainTemplatePlugin.js +2 -0
  71. package/lib/JsonpTemplatePlugin.js +21 -21
  72. package/lib/LibManifestPlugin.js +63 -63
  73. package/lib/LibraryTemplatePlugin.js +92 -92
  74. package/lib/LoaderOptionsPlugin.js +36 -36
  75. package/lib/LoaderTargetPlugin.js +19 -19
  76. package/lib/MemoryOutputFileSystem.js +5 -5
  77. package/lib/ModuleBuildError.js +42 -42
  78. package/lib/ModuleDependencyError.js +22 -22
  79. package/lib/ModuleDependencyWarning.js +22 -22
  80. package/lib/ModuleError.js +24 -24
  81. package/lib/ModuleFilenameHelpers.js +162 -162
  82. package/lib/ModuleNotFoundError.js +26 -26
  83. package/lib/ModuleParseError.js +1 -1
  84. package/lib/ModuleReason.js +50 -50
  85. package/lib/ModuleTemplate.js +23 -23
  86. package/lib/ModuleWarning.js +24 -24
  87. package/lib/MovedToPluginWarningPlugin.js +21 -21
  88. package/lib/MultiCompiler.js +164 -164
  89. package/lib/MultiEntryPlugin.js +39 -39
  90. package/lib/MultiModuleFactory.js +19 -19
  91. package/lib/MultiStats.js +79 -79
  92. package/lib/MultiWatching.js +32 -32
  93. package/lib/NamedChunksPlugin.js +30 -30
  94. package/lib/NamedModulesPlugin.js +27 -27
  95. package/lib/NewWatchingPlugin.js +15 -15
  96. package/lib/NoEmitOnErrorsPlugin.js +22 -22
  97. package/lib/NoErrorsPlugin.js +29 -29
  98. package/lib/NodeStuffPlugin.js +97 -97
  99. package/lib/NormalModuleReplacementPlugin.js +45 -45
  100. package/lib/NullFactory.js +12 -12
  101. package/lib/OptionsApply.js +10 -10
  102. package/lib/Parser.js +65 -34
  103. package/lib/ParserHelpers.js +85 -85
  104. package/lib/PrefetchPlugin.js +31 -31
  105. package/lib/ProgressPlugin.js +192 -192
  106. package/lib/ProvidePlugin.js +55 -55
  107. package/lib/RawModule.js +54 -54
  108. package/lib/RequestShortener.js +63 -63
  109. package/lib/RequireJsStuffPlugin.js +31 -31
  110. package/lib/RuleSet.js +444 -444
  111. package/lib/SetVarMainTemplatePlugin.js +41 -41
  112. package/lib/SingleEntryPlugin.js +35 -35
  113. package/lib/SizeFormatHelpers.js +18 -18
  114. package/lib/SourceMapDevToolModuleOptionsPlugin.js +37 -37
  115. package/lib/Stats.js +27 -8
  116. package/lib/UmdMainTemplatePlugin.js +1 -1
  117. package/lib/UnsupportedFeatureWarning.js +21 -21
  118. package/lib/UseStrictPlugin.js +34 -34
  119. package/lib/WarnCaseSensitiveModulesPlugin.js +31 -31
  120. package/lib/WatchIgnorePlugin.js +49 -49
  121. package/lib/WebpackError.js +11 -11
  122. package/lib/WebpackOptionsDefaulter.js +129 -129
  123. package/lib/WebpackOptionsValidationError.js +196 -196
  124. package/lib/compareLocations.js +36 -36
  125. package/lib/dependencies/AMDDefineDependency.js +142 -142
  126. package/lib/dependencies/AMDDefineDependencyParserPlugin.js +5 -1
  127. package/lib/dependencies/AMDPlugin.js +119 -119
  128. package/lib/dependencies/AMDRequireArrayDependency.js +2 -0
  129. package/lib/dependencies/AMDRequireContextDependency.js +0 -9
  130. package/lib/dependencies/AMDRequireDependenciesBlock.js +33 -33
  131. package/lib/dependencies/AMDRequireDependenciesBlockParserPlugin.js +177 -177
  132. package/lib/dependencies/AMDRequireDependency.js +67 -67
  133. package/lib/dependencies/AMDRequireItemDependency.js +22 -22
  134. package/lib/dependencies/CommonJsRequireContextDependency.js +0 -10
  135. package/lib/dependencies/CommonJsRequireDependency.js +22 -22
  136. package/lib/dependencies/CommonJsRequireDependencyParserPlugin.js +89 -89
  137. package/lib/dependencies/ConstDependency.js +32 -32
  138. package/lib/dependencies/ContextDependency.js +20 -0
  139. package/lib/dependencies/ContextDependencyHelpers.js +71 -71
  140. package/lib/dependencies/ContextElementDependency.js +21 -21
  141. package/lib/dependencies/CriticalDependencyWarning.js +20 -20
  142. package/lib/dependencies/DelegatedExportsDependency.js +33 -33
  143. package/lib/dependencies/DelegatedSourceDependency.js +18 -18
  144. package/lib/dependencies/DllEntryDependency.js +20 -20
  145. package/lib/dependencies/HarmonyCompatibilityDependency.js +30 -30
  146. package/lib/dependencies/HarmonyExportDependencyParserPlugin.js +14 -2
  147. package/lib/dependencies/HarmonyExportExpressionDependency.js +0 -7
  148. package/lib/dependencies/HarmonyExportHeaderDependency.js +28 -28
  149. package/lib/dependencies/HarmonyExportImportedSpecifierDependency.js +45 -45
  150. package/lib/dependencies/HarmonyExportSpecifierDependency.js +0 -13
  151. package/lib/dependencies/HarmonyModulesHelpers.js +0 -53
  152. package/lib/dependencies/ImportContextDependency.js +0 -10
  153. package/lib/dependencies/ImportDependenciesBlock.js +17 -17
  154. package/lib/dependencies/ImportEagerContextDependency.js +22 -22
  155. package/lib/dependencies/ImportLazyContextDependency.js +22 -22
  156. package/lib/dependencies/ImportLazyOnceContextDependency.js +22 -22
  157. package/lib/dependencies/ImportParserPlugin.js +89 -89
  158. package/lib/dependencies/ImportPlugin.js +60 -60
  159. package/lib/dependencies/ImportWeakContextDependency.js +22 -22
  160. package/lib/dependencies/LoaderDependency.js +18 -18
  161. package/lib/dependencies/LoaderPlugin.js +60 -60
  162. package/lib/dependencies/LocalModule.js +23 -23
  163. package/lib/dependencies/LocalModuleDependency.js +24 -24
  164. package/lib/dependencies/LocalModulesHelpers.js +46 -46
  165. package/lib/dependencies/ModuleDependency.js +23 -23
  166. package/lib/dependencies/ModuleHotAcceptDependency.js +23 -23
  167. package/lib/dependencies/ModuleHotDeclineDependency.js +23 -23
  168. package/lib/dependencies/MultiEntryDependency.js +20 -20
  169. package/lib/dependencies/NullDependency.js +24 -24
  170. package/lib/dependencies/PrefetchDependency.js +18 -18
  171. package/lib/dependencies/RequireContextDependency.js +26 -26
  172. package/lib/dependencies/RequireContextDependencyParserPlugin.js +50 -50
  173. package/lib/dependencies/RequireContextPlugin.js +96 -96
  174. package/lib/dependencies/RequireEnsureDependenciesBlock.js +22 -22
  175. package/lib/dependencies/RequireEnsureDependenciesBlockParserPlugin.js +102 -102
  176. package/lib/dependencies/RequireEnsureDependency.js +38 -38
  177. package/lib/dependencies/RequireEnsureItemDependency.js +21 -21
  178. package/lib/dependencies/RequireEnsurePlugin.js +40 -40
  179. package/lib/dependencies/RequireHeaderDependency.js +26 -26
  180. package/lib/dependencies/RequireIncludeDependencyParserPlugin.js +21 -21
  181. package/lib/dependencies/RequireIncludePlugin.js +33 -33
  182. package/lib/dependencies/RequireResolveContextDependency.js +0 -10
  183. package/lib/dependencies/RequireResolveDependency.js +22 -22
  184. package/lib/dependencies/RequireResolveDependencyParserPlugin.js +71 -71
  185. package/lib/dependencies/RequireResolveHeaderDependency.js +26 -26
  186. package/lib/dependencies/SingleEntryDependency.js +18 -18
  187. package/lib/dependencies/SystemPlugin.js +44 -44
  188. package/lib/dependencies/UnsupportedDependency.js +23 -23
  189. package/lib/dependencies/WebpackMissingModule.js +18 -18
  190. package/lib/dependencies/getFunctionExpression.js +44 -44
  191. package/lib/formatLocation.js +54 -54
  192. package/lib/node/NodeChunkTemplatePlugin.js +27 -27
  193. package/lib/node/NodeEnvironmentPlugin.js +25 -25
  194. package/lib/node/NodeHotUpdateChunkTemplatePlugin.js +27 -27
  195. package/lib/node/NodeMainTemplate.runtime.js +24 -24
  196. package/lib/node/NodeMainTemplateAsync.runtime.js +40 -40
  197. package/lib/node/NodeOutputFileSystem.js +22 -22
  198. package/lib/node/NodeSourcePlugin.js +88 -88
  199. package/lib/node/NodeTargetPlugin.js +15 -15
  200. package/lib/node/NodeTemplatePlugin.js +27 -27
  201. package/lib/node/NodeWatchFileSystem.js +72 -72
  202. package/lib/optimize/ChunkModuleIdRangePlugin.js +53 -53
  203. package/lib/optimize/CommonsChunkPlugin.js +40 -19
  204. package/lib/optimize/ConcatenatedModule.js +27 -24
  205. package/lib/optimize/DedupePlugin.js +15 -15
  206. package/lib/optimize/FlagIncludedChunksPlugin.js +35 -35
  207. package/lib/optimize/LimitChunkCountPlugin.js +59 -59
  208. package/lib/optimize/MinChunkSizePlugin.js +65 -65
  209. package/lib/optimize/RemoveEmptyChunksPlugin.js +21 -21
  210. package/lib/optimize/UglifyJsPlugin.js +9 -9
  211. package/lib/performance/AssetsOverSizeLimitWarning.js +23 -23
  212. package/lib/performance/EntrypointsOverSizeLimitWarning.js +28 -28
  213. package/lib/performance/NoAsyncChunksWarning.js +20 -20
  214. package/lib/performance/SizeLimitsPlugin.js +102 -102
  215. package/lib/prepareOptions.js +29 -29
  216. package/lib/removeAndDo.js +15 -15
  217. package/lib/util/Queue.js +42 -0
  218. package/lib/util/Semaphore.js +32 -32
  219. package/lib/util/identifier.js +38 -38
  220. package/lib/validateSchema.js +66 -66
  221. package/lib/web/WebEnvironmentPlugin.js +18 -18
  222. package/lib/webpack.js +1 -0
  223. package/lib/webworker/WebWorkerChunkTemplatePlugin.js +29 -29
  224. package/lib/webworker/WebWorkerHotUpdateChunkTemplatePlugin.js +28 -28
  225. package/lib/webworker/WebWorkerMainTemplate.runtime.js +58 -58
  226. package/lib/webworker/WebWorkerTemplatePlugin.js +20 -20
  227. package/package.json +1 -1
  228. package/schemas/ajv.absolutePath.js +29 -29
  229. package/schemas/webpackOptionsSchema.json +69 -0
@@ -166,7 +166,7 @@ module.exports = function(yargs, argv, convertOptions) {
166
166
  options.watchOptions.aggregateTimeout = +argv["watch-aggregate-timeout"];
167
167
  }
168
168
 
169
- if(typeof argv["watch-poll"] !== undefined) {
169
+ if(typeof argv["watch-poll"] !== "undefined") {
170
170
  options.watchOptions = options.watchOptions || {};
171
171
  if(argv["watch-poll"] === "true" || argv["watch-poll"] === "")
172
172
  options.watchOptions.poll = true;
package/bin/webpack.js CHANGED
@@ -211,6 +211,12 @@ yargs.parse(process.argv.slice(2), (err, argv, output) => {
211
211
  if(typeof outputOptions.context === "undefined")
212
212
  outputOptions.context = firstOptions.context;
213
213
 
214
+ ifArg("env", function(value) {
215
+ if(outputOptions.env) {
216
+ outputOptions._env = value;
217
+ }
218
+ });
219
+
214
220
  ifArg("json", function(bool) {
215
221
  if(bool)
216
222
  outputOptions.json = bool;
package/buildin/.eslintrc CHANGED
@@ -1,7 +1,7 @@
1
- {
2
- "env": {
3
- "node": true,
4
- "es6": false,
5
- "browser": true
6
- }
7
- }
1
+ {
2
+ "env": {
3
+ "node": true,
4
+ "es6": false,
5
+ "browser": true
6
+ }
7
+ }
@@ -1,3 +1,3 @@
1
- module.exports = function() {
2
- throw new Error("define cannot be used indirect");
3
- };
1
+ module.exports = function() {
2
+ throw new Error("define cannot be used indirect");
3
+ };
@@ -1,2 +1,2 @@
1
- /* globals __webpack_amd_options__ */
2
- module.exports = __webpack_amd_options__;
1
+ /* globals __webpack_amd_options__ */
2
+ module.exports = __webpack_amd_options__;
package/buildin/global.js CHANGED
@@ -1,21 +1,21 @@
1
- var g;
2
-
3
- // This works in non-strict mode
4
- g = (function() {
5
- return this;
6
- })();
7
-
8
- try {
9
- // This works if eval is allowed (see CSP)
10
- g = g || Function("return this")() || (1,eval)("this");
11
- } catch(e) {
12
- // This works if the window reference is available
13
- if(typeof window === "object")
14
- g = window;
15
- }
16
-
17
- // g can still be undefined, but nothing to do about it...
18
- // We return undefined, instead of nothing here, so it's
19
- // easier to handle this case. if(!global) { ...}
20
-
21
- module.exports = g;
1
+ var g;
2
+
3
+ // This works in non-strict mode
4
+ g = (function() {
5
+ return this;
6
+ })();
7
+
8
+ try {
9
+ // This works if eval is allowed (see CSP)
10
+ g = g || Function("return this")() || (1,eval)("this");
11
+ } catch(e) {
12
+ // This works if the window reference is available
13
+ if(typeof window === "object")
14
+ g = window;
15
+ }
16
+
17
+ // g can still be undefined, but nothing to do about it...
18
+ // We return undefined, instead of nothing here, so it's
19
+ // easier to handle this case. if(!global) { ...}
20
+
21
+ module.exports = g;
@@ -1,24 +1,24 @@
1
- module.exports = function(originalModule) {
2
- if(!originalModule.webpackPolyfill) {
3
- var module = Object.create(originalModule);
4
- // module.parent = undefined by default
5
- if(!module.children) module.children = [];
6
- Object.defineProperty(module, "loaded", {
7
- enumerable: true,
8
- get: function() {
9
- return module.l;
10
- }
11
- });
12
- Object.defineProperty(module, "id", {
13
- enumerable: true,
14
- get: function() {
15
- return module.i;
16
- }
17
- });
18
- Object.defineProperty(module, "exports", {
19
- enumerable: true,
20
- });
21
- module.webpackPolyfill = 1;
22
- }
23
- return module;
24
- };
1
+ module.exports = function(originalModule) {
2
+ if(!originalModule.webpackPolyfill) {
3
+ var module = Object.create(originalModule);
4
+ // module.parent = undefined by default
5
+ if(!module.children) module.children = [];
6
+ Object.defineProperty(module, "loaded", {
7
+ enumerable: true,
8
+ get: function() {
9
+ return module.l;
10
+ }
11
+ });
12
+ Object.defineProperty(module, "id", {
13
+ enumerable: true,
14
+ get: function() {
15
+ return module.i;
16
+ }
17
+ });
18
+ Object.defineProperty(module, "exports", {
19
+ enumerable: true,
20
+ });
21
+ module.webpackPolyfill = 1;
22
+ }
23
+ return module;
24
+ };
package/buildin/module.js CHANGED
@@ -1,22 +1,22 @@
1
- module.exports = function(module) {
2
- if(!module.webpackPolyfill) {
3
- module.deprecate = function() {};
4
- module.paths = [];
5
- // module.parent = undefined by default
6
- if(!module.children) module.children = [];
7
- Object.defineProperty(module, "loaded", {
8
- enumerable: true,
9
- get: function() {
10
- return module.l;
11
- }
12
- });
13
- Object.defineProperty(module, "id", {
14
- enumerable: true,
15
- get: function() {
16
- return module.i;
17
- }
18
- });
19
- module.webpackPolyfill = 1;
20
- }
21
- return module;
22
- };
1
+ module.exports = function(module) {
2
+ if(!module.webpackPolyfill) {
3
+ module.deprecate = function() {};
4
+ module.paths = [];
5
+ // module.parent = undefined by default
6
+ if(!module.children) module.children = [];
7
+ Object.defineProperty(module, "loaded", {
8
+ enumerable: true,
9
+ get: function() {
10
+ return module.l;
11
+ }
12
+ });
13
+ Object.defineProperty(module, "id", {
14
+ enumerable: true,
15
+ get: function() {
16
+ return module.i;
17
+ }
18
+ });
19
+ module.webpackPolyfill = 1;
20
+ }
21
+ return module;
22
+ };
package/buildin/system.js CHANGED
@@ -1,7 +1,7 @@
1
- // Provide a "System" global.
2
- module.exports = {
3
- // Make sure import is only used as "System.import"
4
- import: function() {
5
- throw new Error("System.import cannot be used indirectly");
6
- }
7
- };
1
+ // Provide a "System" global.
2
+ module.exports = {
3
+ // Make sure import is only used as "System.import"
4
+ import: function() {
5
+ throw new Error("System.import cannot be used indirectly");
6
+ }
7
+ };
package/hot/.eslintrc CHANGED
@@ -1,9 +1,9 @@
1
- {
2
- "env": {
3
- "node": true
4
- },
5
- "rules": {
6
- "node/exports-style": ["off"]
7
- }
8
-
9
- }
1
+ {
2
+ "env": {
3
+ "node": true
4
+ },
5
+ "rules": {
6
+ "node/exports-style": ["off"]
7
+ }
8
+
9
+ }
package/hot/dev-server.js CHANGED
@@ -1,53 +1,53 @@
1
- /*
2
- MIT License http://www.opensource.org/licenses/mit-license.php
3
- Author Tobias Koppers @sokra
4
- */
5
- /*globals window __webpack_hash__ */
6
- if(module.hot) {
7
- var lastHash;
8
- var upToDate = function upToDate() {
9
- return lastHash.indexOf(__webpack_hash__) >= 0;
10
- };
11
- var log = require("./log");
12
- var check = function check() {
13
- module.hot.check(true).then(function(updatedModules) {
14
- if(!updatedModules) {
15
- log("warning", "[HMR] Cannot find update. Need to do a full reload!");
16
- log("warning", "[HMR] (Probably because of restarting the webpack-dev-server)");
17
- window.location.reload();
18
- return;
19
- }
20
-
21
- if(!upToDate()) {
22
- check();
23
- }
24
-
25
- require("./log-apply-result")(updatedModules, updatedModules);
26
-
27
- if(upToDate()) {
28
- log("info", "[HMR] App is up to date.");
29
- }
30
-
31
- }).catch(function(err) {
32
- var status = module.hot.status();
33
- if(["abort", "fail"].indexOf(status) >= 0) {
34
- log("warning", "[HMR] Cannot apply update. Need to do a full reload!");
35
- log("warning", "[HMR] " + err.stack || err.message);
36
- window.location.reload();
37
- } else {
38
- log("warning", "[HMR] Update failed: " + err.stack || err.message);
39
- }
40
- });
41
- };
42
- var hotEmitter = require("./emitter");
43
- hotEmitter.on("webpackHotUpdate", function(currentHash) {
44
- lastHash = currentHash;
45
- if(!upToDate() && module.hot.status() === "idle") {
46
- log("info", "[HMR] Checking for updates on the server...");
47
- check();
48
- }
49
- });
50
- log("info", "[HMR] Waiting for update signal from WDS...");
51
- } else {
52
- throw new Error("[HMR] Hot Module Replacement is disabled.");
53
- }
1
+ /*
2
+ MIT License http://www.opensource.org/licenses/mit-license.php
3
+ Author Tobias Koppers @sokra
4
+ */
5
+ /*globals window __webpack_hash__ */
6
+ if(module.hot) {
7
+ var lastHash;
8
+ var upToDate = function upToDate() {
9
+ return lastHash.indexOf(__webpack_hash__) >= 0;
10
+ };
11
+ var log = require("./log");
12
+ var check = function check() {
13
+ module.hot.check(true).then(function(updatedModules) {
14
+ if(!updatedModules) {
15
+ log("warning", "[HMR] Cannot find update. Need to do a full reload!");
16
+ log("warning", "[HMR] (Probably because of restarting the webpack-dev-server)");
17
+ window.location.reload();
18
+ return;
19
+ }
20
+
21
+ if(!upToDate()) {
22
+ check();
23
+ }
24
+
25
+ require("./log-apply-result")(updatedModules, updatedModules);
26
+
27
+ if(upToDate()) {
28
+ log("info", "[HMR] App is up to date.");
29
+ }
30
+
31
+ }).catch(function(err) {
32
+ var status = module.hot.status();
33
+ if(["abort", "fail"].indexOf(status) >= 0) {
34
+ log("warning", "[HMR] Cannot apply update. Need to do a full reload!");
35
+ log("warning", "[HMR] " + err.stack || err.message);
36
+ window.location.reload();
37
+ } else {
38
+ log("warning", "[HMR] Update failed: " + err.stack || err.message);
39
+ }
40
+ });
41
+ };
42
+ var hotEmitter = require("./emitter");
43
+ hotEmitter.on("webpackHotUpdate", function(currentHash) {
44
+ lastHash = currentHash;
45
+ if(!upToDate() && module.hot.status() === "idle") {
46
+ log("info", "[HMR] Checking for updates on the server...");
47
+ check();
48
+ }
49
+ });
50
+ log("info", "[HMR] Waiting for update signal from WDS...");
51
+ } else {
52
+ throw new Error("[HMR] Hot Module Replacement is disabled.");
53
+ }
package/hot/emitter.js CHANGED
@@ -1,2 +1,2 @@
1
- var EventEmitter = require("events");
2
- module.exports = new EventEmitter();
1
+ var EventEmitter = require("events");
2
+ module.exports = new EventEmitter();
@@ -1,38 +1,38 @@
1
- /*
2
- MIT License http://www.opensource.org/licenses/mit-license.php
3
- Author Tobias Koppers @sokra
4
- */
5
- module.exports = function(updatedModules, renewedModules) {
6
- var unacceptedModules = updatedModules.filter(function(moduleId) {
7
- return renewedModules && renewedModules.indexOf(moduleId) < 0;
8
- });
9
- var log = require("./log");
10
-
11
- if(unacceptedModules.length > 0) {
12
- log("warning", "[HMR] The following modules couldn't be hot updated: (They would need a full reload!)");
13
- unacceptedModules.forEach(function(moduleId) {
14
- log("warning", "[HMR] - " + moduleId);
15
- });
16
- }
17
-
18
- if(!renewedModules || renewedModules.length === 0) {
19
- log("info", "[HMR] Nothing hot updated.");
20
- } else {
21
- log("info", "[HMR] Updated modules:");
22
- renewedModules.forEach(function(moduleId) {
23
- if(typeof moduleId === "string" && moduleId.indexOf("!") !== -1) {
24
- var parts = moduleId.split("!");
25
- log.groupCollapsed("info", "[HMR] - " + parts.pop());
26
- log("info", "[HMR] - " + moduleId);
27
- log.groupEnd("info");
28
- } else {
29
- log("info", "[HMR] - " + moduleId);
30
- }
31
- });
32
- var numberIds = renewedModules.every(function(moduleId) {
33
- return typeof moduleId === "number";
34
- });
35
- if(numberIds)
36
- log("info", "[HMR] Consider using the NamedModulesPlugin for module names.");
37
- }
38
- };
1
+ /*
2
+ MIT License http://www.opensource.org/licenses/mit-license.php
3
+ Author Tobias Koppers @sokra
4
+ */
5
+ module.exports = function(updatedModules, renewedModules) {
6
+ var unacceptedModules = updatedModules.filter(function(moduleId) {
7
+ return renewedModules && renewedModules.indexOf(moduleId) < 0;
8
+ });
9
+ var log = require("./log");
10
+
11
+ if(unacceptedModules.length > 0) {
12
+ log("warning", "[HMR] The following modules couldn't be hot updated: (They would need a full reload!)");
13
+ unacceptedModules.forEach(function(moduleId) {
14
+ log("warning", "[HMR] - " + moduleId);
15
+ });
16
+ }
17
+
18
+ if(!renewedModules || renewedModules.length === 0) {
19
+ log("info", "[HMR] Nothing hot updated.");
20
+ } else {
21
+ log("info", "[HMR] Updated modules:");
22
+ renewedModules.forEach(function(moduleId) {
23
+ if(typeof moduleId === "string" && moduleId.indexOf("!") !== -1) {
24
+ var parts = moduleId.split("!");
25
+ log.groupCollapsed("info", "[HMR] - " + parts.pop());
26
+ log("info", "[HMR] - " + moduleId);
27
+ log.groupEnd("info");
28
+ } else {
29
+ log("info", "[HMR] - " + moduleId);
30
+ }
31
+ });
32
+ var numberIds = renewedModules.every(function(moduleId) {
33
+ return typeof moduleId === "number";
34
+ });
35
+ if(numberIds)
36
+ log("info", "[HMR] Consider using the NamedModulesPlugin for module names.");
37
+ }
38
+ };
package/hot/log.js CHANGED
@@ -1,44 +1,44 @@
1
- var logLevel = "info";
2
-
3
- function dummy() {}
4
-
5
- function shouldLog(level) {
6
- var shouldLog = (logLevel === "info" && level === "info") ||
7
- (["info", "warning"].indexOf(logLevel) >= 0 && level === "warning") ||
8
- (["info", "warning", "error"].indexOf(logLevel) >= 0 && level === "error");
9
- return shouldLog;
10
- }
11
-
12
- function logGroup(logFn) {
13
- return function(level, msg) {
14
- if(shouldLog(level)) {
15
- logFn(msg);
16
- }
17
- };
18
- }
19
-
20
- module.exports = function(level, msg) {
21
- if(shouldLog(level)) {
22
- if(level === "info") {
23
- console.log(msg);
24
- } else if(level === "warning") {
25
- console.warn(msg);
26
- } else if(level === "error") {
27
- console.error(msg);
28
- }
29
- }
30
- };
31
-
32
- var group = console.group || dummy;
33
- var groupCollapsed = console.groupCollapsed || dummy;
34
- var groupEnd = console.groupEnd || dummy;
35
-
36
- module.exports.group = logGroup(group);
37
-
38
- module.exports.groupCollapsed = logGroup(groupCollapsed);
39
-
40
- module.exports.groupEnd = logGroup(groupEnd);
41
-
42
- module.exports.setLogLevel = function(level) {
43
- logLevel = level;
44
- };
1
+ var logLevel = "info";
2
+
3
+ function dummy() {}
4
+
5
+ function shouldLog(level) {
6
+ var shouldLog = (logLevel === "info" && level === "info") ||
7
+ (["info", "warning"].indexOf(logLevel) >= 0 && level === "warning") ||
8
+ (["info", "warning", "error"].indexOf(logLevel) >= 0 && level === "error");
9
+ return shouldLog;
10
+ }
11
+
12
+ function logGroup(logFn) {
13
+ return function(level, msg) {
14
+ if(shouldLog(level)) {
15
+ logFn(msg);
16
+ }
17
+ };
18
+ }
19
+
20
+ module.exports = function(level, msg) {
21
+ if(shouldLog(level)) {
22
+ if(level === "info") {
23
+ console.log(msg);
24
+ } else if(level === "warning") {
25
+ console.warn(msg);
26
+ } else if(level === "error") {
27
+ console.error(msg);
28
+ }
29
+ }
30
+ };
31
+
32
+ var group = console.group || dummy;
33
+ var groupCollapsed = console.groupCollapsed || dummy;
34
+ var groupEnd = console.groupEnd || dummy;
35
+
36
+ module.exports.group = logGroup(group);
37
+
38
+ module.exports.groupCollapsed = logGroup(groupCollapsed);
39
+
40
+ module.exports.groupEnd = logGroup(groupEnd);
41
+
42
+ module.exports.setLogLevel = function(level) {
43
+ logLevel = level;
44
+ };
@@ -1,71 +1,71 @@
1
- /*
2
- MIT License http://www.opensource.org/licenses/mit-license.php
3
- Author Tobias Koppers @sokra
4
- */
5
- /*globals __webpack_hash__ */
6
- if(module.hot) {
7
- var lastHash;
8
- var upToDate = function upToDate() {
9
- return lastHash.indexOf(__webpack_hash__) >= 0;
10
- };
11
- var log = require("./log");
12
- var check = function check() {
13
- module.hot.check().then(function(updatedModules) {
14
- if(!updatedModules) {
15
- log("warning", "[HMR] Cannot find update. Need to do a full reload!");
16
- log("warning", "[HMR] (Probably because of restarting the webpack-dev-server)");
17
- return;
18
- }
19
-
20
- return module.hot.apply({
21
- ignoreUnaccepted: true,
22
- ignoreDeclined: true,
23
- ignoreErrored: true,
24
- onUnaccepted: function(data) {
25
- log("warning", "Ignored an update to unaccepted module " + data.chain.join(" -> "));
26
- },
27
- onDeclined: function(data) {
28
- log("warning", "Ignored an update to declined module " + data.chain.join(" -> "));
29
- },
30
- onErrored: function(data) {
31
- log("error", data.error);
32
- log("warning", "Ignored an error while updating module " + data.moduleId + " (" + data.type + ")");
33
- }
34
- }).then(function(renewedModules) {
35
- if(!upToDate()) {
36
- check();
37
- }
38
-
39
- require("./log-apply-result")(updatedModules, renewedModules);
40
-
41
- if(upToDate()) {
42
- log("info", "[HMR] App is up to date.");
43
- }
44
- });
45
- }).catch(function(err) {
46
- var status = module.hot.status();
47
- if(["abort", "fail"].indexOf(status) >= 0) {
48
- log("warning", "[HMR] Cannot check for update. Need to do a full reload!");
49
- log("warning", "[HMR] " + err.stack || err.message);
50
- } else {
51
- log("warning", "[HMR] Update check failed: " + err.stack || err.message);
52
- }
53
- });
54
- };
55
- var hotEmitter = require("./emitter");
56
- hotEmitter.on("webpackHotUpdate", function(currentHash) {
57
- lastHash = currentHash;
58
- if(!upToDate()) {
59
- var status = module.hot.status();
60
- if(status === "idle") {
61
- log("info", "[HMR] Checking for updates on the server...");
62
- check();
63
- } else if(["abort", "fail"].indexOf(status) >= 0) {
64
- log("warning", "[HMR] Cannot apply update as a previous update " + status + "ed. Need to do a full reload!");
65
- }
66
- }
67
- });
68
- log("info", "[HMR] Waiting for update signal from WDS...");
69
- } else {
70
- throw new Error("[HMR] Hot Module Replacement is disabled.");
71
- }
1
+ /*
2
+ MIT License http://www.opensource.org/licenses/mit-license.php
3
+ Author Tobias Koppers @sokra
4
+ */
5
+ /*globals __webpack_hash__ */
6
+ if(module.hot) {
7
+ var lastHash;
8
+ var upToDate = function upToDate() {
9
+ return lastHash.indexOf(__webpack_hash__) >= 0;
10
+ };
11
+ var log = require("./log");
12
+ var check = function check() {
13
+ module.hot.check().then(function(updatedModules) {
14
+ if(!updatedModules) {
15
+ log("warning", "[HMR] Cannot find update. Need to do a full reload!");
16
+ log("warning", "[HMR] (Probably because of restarting the webpack-dev-server)");
17
+ return;
18
+ }
19
+
20
+ return module.hot.apply({
21
+ ignoreUnaccepted: true,
22
+ ignoreDeclined: true,
23
+ ignoreErrored: true,
24
+ onUnaccepted: function(data) {
25
+ log("warning", "Ignored an update to unaccepted module " + data.chain.join(" -> "));
26
+ },
27
+ onDeclined: function(data) {
28
+ log("warning", "Ignored an update to declined module " + data.chain.join(" -> "));
29
+ },
30
+ onErrored: function(data) {
31
+ log("error", data.error);
32
+ log("warning", "Ignored an error while updating module " + data.moduleId + " (" + data.type + ")");
33
+ }
34
+ }).then(function(renewedModules) {
35
+ if(!upToDate()) {
36
+ check();
37
+ }
38
+
39
+ require("./log-apply-result")(updatedModules, renewedModules);
40
+
41
+ if(upToDate()) {
42
+ log("info", "[HMR] App is up to date.");
43
+ }
44
+ });
45
+ }).catch(function(err) {
46
+ var status = module.hot.status();
47
+ if(["abort", "fail"].indexOf(status) >= 0) {
48
+ log("warning", "[HMR] Cannot check for update. Need to do a full reload!");
49
+ log("warning", "[HMR] " + err.stack || err.message);
50
+ } else {
51
+ log("warning", "[HMR] Update check failed: " + err.stack || err.message);
52
+ }
53
+ });
54
+ };
55
+ var hotEmitter = require("./emitter");
56
+ hotEmitter.on("webpackHotUpdate", function(currentHash) {
57
+ lastHash = currentHash;
58
+ if(!upToDate()) {
59
+ var status = module.hot.status();
60
+ if(status === "idle") {
61
+ log("info", "[HMR] Checking for updates on the server...");
62
+ check();
63
+ } else if(["abort", "fail"].indexOf(status) >= 0) {
64
+ log("warning", "[HMR] Cannot apply update as a previous update " + status + "ed. Need to do a full reload!");
65
+ }
66
+ }
67
+ });
68
+ log("info", "[HMR] Waiting for update signal from WDS...");
69
+ } else {
70
+ throw new Error("[HMR] Hot Module Replacement is disabled.");
71
+ }