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.
- package/LICENSE +22 -22
- package/README.md +310 -310
- package/buildin/amd-define.js +1 -1
- package/buildin/amd-options.js +1 -1
- package/buildin/module.js +10 -10
- package/hot/dev-server.js +63 -63
- package/hot/log-apply-result.js +25 -25
- package/hot/only-dev-server.js +77 -77
- package/hot/poll.js +37 -37
- package/hot/signal.js +65 -65
- package/lib/APIPlugin.js +49 -49
- package/lib/AbstractPlugin.js +22 -22
- package/lib/AmdMainTemplatePlugin.js +43 -43
- package/lib/ArrayMap.js +50 -50
- package/lib/AsyncDependenciesBlock.js +39 -39
- package/lib/AutomaticPrefetchPlugin.js +35 -35
- package/lib/BannerPlugin.js +34 -34
- package/lib/BasicEvaluatedExpression.js +140 -140
- package/lib/CachePlugin.js +43 -43
- package/lib/CaseSensitiveModulesWarning.js +16 -16
- package/lib/Chunk.js +252 -252
- package/lib/ChunkRenderError.js +17 -17
- package/lib/ChunkTemplate.js +37 -37
- package/lib/CompatibilityPlugin.js +42 -42
- package/lib/Compilation.js +891 -891
- package/lib/Compiler.js +407 -407
- package/lib/ConcatSource.js +5 -5
- package/lib/ConstPlugin.js +54 -54
- package/lib/ContextModule.js +130 -130
- package/lib/ContextModuleFactory.js +132 -132
- package/lib/ContextReplacementPlugin.js +93 -93
- package/lib/CriticalDependenciesWarning.js +24 -24
- package/lib/DefinePlugin.js +126 -126
- package/lib/DelegatedModule.js +69 -69
- package/lib/DelegatedModuleFactoryPlugin.js +51 -51
- package/lib/DelegatedPlugin.js +21 -21
- package/lib/DependenciesBlock.js +57 -57
- package/lib/DependenciesBlockVariable.js +41 -41
- package/lib/Dependency.js +54 -54
- package/lib/DllEntryPlugin.js +32 -32
- package/lib/DllModule.js +55 -55
- package/lib/DllModuleFactory.js +18 -18
- package/lib/DllPlugin.js +30 -30
- package/lib/DllReferencePlugin.js +26 -26
- package/lib/EntryModuleNotFoundError.js +15 -15
- package/lib/EntryOptionPlugin.js +28 -28
- package/lib/EnvironmentPlugin.js +28 -28
- package/lib/EvalDevToolModulePlugin.js +17 -17
- package/lib/EvalDevToolModuleTemplatePlugin.js +29 -29
- package/lib/EvalSourceMapDevToolModuleTemplatePlugin.js +68 -68
- package/lib/EvalSourceMapDevToolPlugin.js +25 -25
- package/lib/ExtendedAPIPlugin.js +45 -45
- package/lib/ExternalModule.js +89 -89
- package/lib/ExternalModuleFactoryPlugin.js +86 -86
- package/lib/ExternalsPlugin.js +16 -16
- package/lib/FunctionModulePlugin.js +18 -18
- package/lib/FunctionModuleTemplatePlugin.js +39 -39
- package/lib/HotModuleReplacement.runtime.js +486 -486
- package/lib/HotModuleReplacementPlugin.js +223 -223
- package/lib/HotUpdateChunkTemplate.js +28 -28
- package/lib/IgnorePlugin.js +32 -32
- package/lib/JsonpChunkTemplatePlugin.js +26 -26
- package/lib/JsonpExportMainTemplatePlugin.js +28 -28
- package/lib/JsonpHotUpdateChunkTemplatePlugin.js +26 -26
- package/lib/JsonpMainTemplate.runtime.js +56 -56
- package/lib/JsonpMainTemplatePlugin.js +162 -162
- package/lib/JsonpTemplatePlugin.js +17 -17
- package/lib/LibManifestPlugin.js +49 -49
- package/lib/LibraryTemplatePlugin.js +77 -77
- package/lib/LoaderTargetPlugin.js +16 -16
- package/lib/MainTemplate.js +169 -169
- package/lib/MemoryOutputFileSystem.js +5 -5
- package/lib/Module.js +116 -116
- package/lib/ModuleFilenameHelpers.js +157 -157
- package/lib/ModuleNotFoundError.js +17 -17
- package/lib/ModuleParseError.js +26 -26
- package/lib/ModuleParserHelpers.js +21 -21
- package/lib/ModuleReason.js +9 -9
- package/lib/ModuleTemplate.js +23 -23
- package/lib/MovedToPluginWarningPlugin.js +17 -17
- package/lib/MultiCompiler.js +166 -166
- package/lib/MultiEntryPlugin.js +31 -31
- package/lib/MultiModule.js +71 -71
- package/lib/MultiModuleFactory.js +18 -18
- package/lib/NamedModulesPlugin.js +21 -21
- package/lib/NewWatchingPlugin.js +12 -12
- package/lib/NoErrorsPlugin.js +18 -18
- package/lib/NodeStuffPlugin.js +99 -99
- package/lib/NormalModule.js +322 -322
- package/lib/NormalModuleFactory.js +171 -171
- package/lib/NormalModuleReplacementPlugin.js +40 -40
- package/lib/NullFactory.js +10 -10
- package/lib/OldWatchingPlugin.js +14 -14
- package/lib/OptionsApply.js +10 -10
- package/lib/OriginalSource.js +5 -5
- package/lib/Parser.js +938 -938
- package/lib/PrefetchPlugin.js +25 -25
- package/lib/ProgressPlugin.js +80 -80
- package/lib/ProvidePlugin.js +48 -48
- package/lib/RawModule.js +65 -65
- package/lib/RawSource.js +5 -5
- package/lib/RecordIdsPlugin.js +130 -130
- package/lib/RequestShortener.js +56 -56
- package/lib/RequireJsStuffPlugin.js +38 -38
- package/lib/ResolverPlugin.js +34 -34
- package/lib/SetVarMainTemplatePlugin.js +36 -36
- package/lib/SingleEntryPlugin.js +24 -24
- package/lib/Source.js +5 -5
- package/lib/SourceMapDevToolModuleOptionsPlugin.js +33 -33
- package/lib/SourceMapDevToolPlugin.js +168 -168
- package/lib/SourceMapSource.js +5 -5
- package/lib/Stats.js +732 -732
- package/lib/Template.js +119 -119
- package/lib/TemplatedPathPlugin.js +111 -111
- package/lib/UmdMainTemplatePlugin.js +146 -146
- package/lib/UnsupportedFeatureWarning.js +14 -14
- package/lib/WarnCaseSensitiveModulesPlugin.js +27 -27
- package/lib/WatchIgnorePlugin.js +45 -45
- package/lib/WebpackOptionsApply.js +376 -376
- package/lib/WebpackOptionsDefaulter.js +112 -112
- package/lib/dependencies/AMDDefineDependency.js +63 -63
- package/lib/dependencies/AMDDefineDependencyParserPlugin.js +240 -240
- package/lib/dependencies/AMDPlugin.js +115 -115
- package/lib/dependencies/AMDRequireArrayDependency.js +34 -34
- package/lib/dependencies/AMDRequireContextDependency.js +18 -18
- package/lib/dependencies/AMDRequireDependenciesBlock.js +25 -25
- package/lib/dependencies/AMDRequireDependenciesBlockParserPlugin.js +145 -145
- package/lib/dependencies/AMDRequireDependency.js +64 -64
- package/lib/dependencies/AMDRequireItemDependency.js +17 -17
- package/lib/dependencies/CommonJsPlugin.js +93 -93
- package/lib/dependencies/CommonJsRequireContextDependency.js +18 -18
- package/lib/dependencies/CommonJsRequireDependency.js +17 -17
- package/lib/dependencies/CommonJsRequireDependencyParserPlugin.js +91 -91
- package/lib/dependencies/ConstDependency.js +29 -29
- package/lib/dependencies/ContextDependency.js +24 -24
- package/lib/dependencies/ContextDependencyHelpers.js +34 -34
- package/lib/dependencies/ContextDependencyTemplateAsId.js +22 -22
- package/lib/dependencies/ContextDependencyTemplateAsRequireCall.js +31 -31
- package/lib/dependencies/ContextElementDependency.js +17 -17
- package/lib/dependencies/DelegatedSourceDependency.js +14 -14
- package/lib/dependencies/DepBlockHelpers.js +41 -41
- package/lib/dependencies/DllEntryDependency.js +17 -17
- package/lib/dependencies/LabeledExportsDependency.js +21 -21
- package/lib/dependencies/LabeledModuleDependency.js +36 -36
- package/lib/dependencies/LabeledModuleDependencyParserPlugin.js +76 -76
- package/lib/dependencies/LabeledModulesPlugin.js +26 -26
- package/lib/dependencies/LoaderDependency.js +14 -14
- package/lib/dependencies/LoaderPlugin.js +61 -61
- package/lib/dependencies/LocalModule.js +19 -19
- package/lib/dependencies/LocalModuleDependency.js +23 -23
- package/lib/dependencies/LocalModulesHelpers.js +43 -43
- package/lib/dependencies/ModuleDependency.js +20 -20
- package/lib/dependencies/ModuleDependencyTemplateAsId.js +22 -22
- package/lib/dependencies/ModuleDependencyTemplateAsRequireId.js +22 -22
- package/lib/dependencies/ModuleHotAcceptDependency.js +18 -18
- package/lib/dependencies/ModuleHotDeclineDependency.js +18 -18
- package/lib/dependencies/MultiEntryDependency.js +16 -16
- package/lib/dependencies/NullDependency.js +17 -17
- package/lib/dependencies/NullDependencyTemplate.js +8 -8
- package/lib/dependencies/PrefetchDependency.js +14 -14
- package/lib/dependencies/RequireContextDependency.js +17 -17
- package/lib/dependencies/RequireContextDependencyParserPlugin.js +33 -33
- package/lib/dependencies/RequireContextPlugin.js +64 -64
- package/lib/dependencies/RequireEnsureDependenciesBlock.js +20 -20
- package/lib/dependencies/RequireEnsureDependenciesBlockParserPlugin.js +66 -66
- package/lib/dependencies/RequireEnsureDependency.js +29 -29
- package/lib/dependencies/RequireEnsureItemDependency.js +16 -16
- package/lib/dependencies/RequireEnsurePlugin.js +38 -38
- package/lib/dependencies/RequireHeaderDependency.js +25 -25
- package/lib/dependencies/RequireIncludeDependency.js +25 -25
- package/lib/dependencies/RequireIncludeDependencyParserPlugin.js +18 -18
- package/lib/dependencies/RequireIncludePlugin.js +31 -31
- package/lib/dependencies/RequireResolveContextDependency.js +18 -18
- package/lib/dependencies/RequireResolveDependency.js +17 -17
- package/lib/dependencies/RequireResolveDependencyParserPlugin.js +69 -69
- package/lib/dependencies/RequireResolveHeaderDependency.js +25 -25
- package/lib/dependencies/SingleEntryDependency.js +14 -14
- package/lib/dependencies/TemplateArgumentDependency.js +26 -26
- package/lib/dependencies/WebpackMissingModule.js +23 -23
- package/lib/dependencies/getFunctionExpression.js +43 -43
- package/lib/node/NodeChunkTemplatePlugin.js +22 -22
- package/lib/node/NodeEnvironmentPlugin.js +25 -25
- package/lib/node/NodeHotUpdateChunkTemplatePlugin.js +24 -24
- package/lib/node/NodeMainTemplate.runtime.js +20 -20
- package/lib/node/NodeMainTemplateAsync.runtime.js +34 -34
- package/lib/node/NodeMainTemplatePlugin.js +164 -164
- package/lib/node/NodeOutputFileSystem.js +17 -17
- package/lib/node/NodeSourcePlugin.js +85 -75
- package/lib/node/NodeTargetPlugin.js +12 -12
- package/lib/node/NodeTemplatePlugin.js +21 -21
- package/lib/node/NodeWatchFileSystem.js +65 -65
- package/lib/node/OldNodeWatchFileSystem.js +265 -265
- package/lib/optimize/AggressiveMergingPlugin.js +115 -115
- package/lib/optimize/CommonsChunkPlugin.js +178 -178
- package/lib/optimize/DedupePlugin.js +227 -227
- package/lib/optimize/FlagIncludedChunksPlugin.js +24 -24
- package/lib/optimize/LimitChunkCountPlugin.js +55 -55
- package/lib/optimize/MergeDuplicateChunksPlugin.js +30 -30
- package/lib/optimize/MinChunkSizePlugin.js +61 -61
- package/lib/optimize/OccurenceOrderPlugin.js +5 -5
- package/lib/optimize/OccurrenceOrderPlugin.js +91 -91
- package/lib/optimize/RemoveEmptyChunksPlugin.js +19 -19
- package/lib/optimize/RemoveParentModulesPlugin.js +50 -50
- package/lib/optimize/UglifyJsPlugin.js +146 -146
- package/lib/removeAndDo.js +13 -13
- package/lib/web/WebEnvironmentPlugin.js +16 -16
- package/lib/webpack.js +113 -113
- package/lib/webpack.web.js +27 -27
- package/lib/webworker/WebWorkerChunkTemplatePlugin.js +26 -26
- package/lib/webworker/WebWorkerMainTemplatePlugin.js +78 -78
- package/lib/webworker/WebWorkerTemplatePlugin.js +15 -15
- package/package.json +4 -4
@@ -1,75 +1,85 @@
|
|
1
|
-
/*
|
2
|
-
MIT License http://www.opensource.org/licenses/mit-license.php
|
3
|
-
Author Tobias Koppers @sokra
|
4
|
-
*/
|
5
|
-
var ModuleAliasPlugin = require("enhanced-resolve/lib/ModuleAliasPlugin");
|
6
|
-
var ModuleParserHelpers = require("../ModuleParserHelpers");
|
7
|
-
var nodeLibsBrowser = require("node-libs-browser");
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
}
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
1
|
+
/*
|
2
|
+
MIT License http://www.opensource.org/licenses/mit-license.php
|
3
|
+
Author Tobias Koppers @sokra
|
4
|
+
*/
|
5
|
+
var ModuleAliasPlugin = require("enhanced-resolve/lib/ModuleAliasPlugin");
|
6
|
+
var ModuleParserHelpers = require("../ModuleParserHelpers");
|
7
|
+
var nodeLibsBrowser = require("node-libs-browser");
|
8
|
+
var path = require("path");
|
9
|
+
|
10
|
+
function NodeSourcePlugin(options) {
|
11
|
+
this.options = options;
|
12
|
+
}
|
13
|
+
module.exports = NodeSourcePlugin;
|
14
|
+
NodeSourcePlugin.prototype.apply = function(compiler) {
|
15
|
+
var parser = compiler.parser;
|
16
|
+
|
17
|
+
function buildExpression(context, pathToModule) {
|
18
|
+
var moduleJsPath = path.relative(context, pathToModule);
|
19
|
+
if(!/^[A-Z]:/i.test(moduleJsPath)) {
|
20
|
+
moduleJsPath = "./" + moduleJsPath.replace(/\\/g, "/");
|
21
|
+
}
|
22
|
+
return "require(" + JSON.stringify(moduleJsPath) + ")";
|
23
|
+
}
|
24
|
+
|
25
|
+
function addExpression(parser, name, module, type, suffix) {
|
26
|
+
suffix = suffix || "";
|
27
|
+
parser.plugin("expression " + name, function() {
|
28
|
+
if(this.state.module && this.state.module.resource === getPathToModule(module, type)) return;
|
29
|
+
return ModuleParserHelpers.addParsedVariable(this, name, buildExpression(this.state.module.context, getPathToModule(module, type)) + suffix);
|
30
|
+
});
|
31
|
+
}
|
32
|
+
|
33
|
+
function getPathToModule(module, type) {
|
34
|
+
if(type === true || (type === undefined && nodeLibsBrowser[module])) {
|
35
|
+
if(!nodeLibsBrowser[module]) throw new Error("No browser version for node.js core module '" + module + "' available");
|
36
|
+
return nodeLibsBrowser[module];
|
37
|
+
} else if(type === "mock") {
|
38
|
+
return require.resolve("node-libs-browser/mock/" + module);
|
39
|
+
} else if(type === "empty") {
|
40
|
+
return require.resolve("node-libs-browser/mock/empty");
|
41
|
+
} else return module;
|
42
|
+
}
|
43
|
+
|
44
|
+
if(this.options.global) {
|
45
|
+
compiler.parser.plugin("expression global", function() {
|
46
|
+
this.state.module.addVariable("global", "(function() { return this; }())");
|
47
|
+
return true;
|
48
|
+
});
|
49
|
+
}
|
50
|
+
if(this.options.process) {
|
51
|
+
var processType = this.options.process;
|
52
|
+
addExpression(parser, "process", "process", processType);
|
53
|
+
}
|
54
|
+
if(this.options.console) {
|
55
|
+
var consoleType = this.options.console;
|
56
|
+
addExpression(parser, "console", "console", consoleType);
|
57
|
+
}
|
58
|
+
var bufferType = this.options.Buffer;
|
59
|
+
if(typeof bufferType === "undefined") {
|
60
|
+
bufferType = this.options.buffer;
|
61
|
+
if(typeof bufferType === "undefined")
|
62
|
+
bufferType = true;
|
63
|
+
}
|
64
|
+
if(bufferType) {
|
65
|
+
addExpression(parser, "Buffer", "buffer", bufferType, ".Buffer");
|
66
|
+
}
|
67
|
+
if(this.options.setImmediate) {
|
68
|
+
var setImmediateType = this.options.setImmediate;
|
69
|
+
addExpression(parser, "setImmediate", "timers", setImmediateType, ".setImmediate");
|
70
|
+
addExpression(parser, "clearImmediate", "timers", setImmediateType, ".clearImmediate");
|
71
|
+
}
|
72
|
+
var options = this.options;
|
73
|
+
compiler.plugin("after-resolvers", function(compiler) {
|
74
|
+
var alias = {};
|
75
|
+
Object.keys(nodeLibsBrowser).forEach(function(lib) {
|
76
|
+
if(options[lib] !== false)
|
77
|
+
alias[lib + "$"] = getPathToModule(lib, options[lib]);
|
78
|
+
});
|
79
|
+
if(Object.keys(alias).length > 0) {
|
80
|
+
compiler.resolvers.normal.apply(
|
81
|
+
new ModuleAliasPlugin(alias)
|
82
|
+
);
|
83
|
+
}
|
84
|
+
});
|
85
|
+
};
|
@@ -1,12 +1,12 @@
|
|
1
|
-
/*
|
2
|
-
MIT License http://www.opensource.org/licenses/mit-license.php
|
3
|
-
Author Tobias Koppers @sokra
|
4
|
-
*/
|
5
|
-
var ExternalsPlugin = require("../ExternalsPlugin");
|
6
|
-
|
7
|
-
function NodeTargetPlugin() {}
|
8
|
-
|
9
|
-
module.exports = NodeTargetPlugin;
|
10
|
-
NodeTargetPlugin.prototype.apply = function(compiler) {
|
11
|
-
new ExternalsPlugin("commonjs", Object.keys(process.binding("natives"))).apply(compiler);
|
12
|
-
};
|
1
|
+
/*
|
2
|
+
MIT License http://www.opensource.org/licenses/mit-license.php
|
3
|
+
Author Tobias Koppers @sokra
|
4
|
+
*/
|
5
|
+
var ExternalsPlugin = require("../ExternalsPlugin");
|
6
|
+
|
7
|
+
function NodeTargetPlugin() {}
|
8
|
+
|
9
|
+
module.exports = NodeTargetPlugin;
|
10
|
+
NodeTargetPlugin.prototype.apply = function(compiler) {
|
11
|
+
new ExternalsPlugin("commonjs", Object.keys(process.binding("natives"))).apply(compiler);
|
12
|
+
};
|
@@ -1,21 +1,21 @@
|
|
1
|
-
/*
|
2
|
-
MIT License http://www.opensource.org/licenses/mit-license.php
|
3
|
-
Author Tobias Koppers @sokra
|
4
|
-
*/
|
5
|
-
var NodeMainTemplatePlugin = require("./NodeMainTemplatePlugin");
|
6
|
-
var NodeChunkTemplatePlugin = require("./NodeChunkTemplatePlugin");
|
7
|
-
var NodeHotUpdateChunkTemplatePlugin = require("./NodeHotUpdateChunkTemplatePlugin");
|
8
|
-
|
9
|
-
function NodeTemplatePlugin(options, asyncChunkLoading) {
|
10
|
-
// TODO remove options parameter
|
11
|
-
this.options = options;
|
12
|
-
this.asyncChunkLoading = asyncChunkLoading;
|
13
|
-
}
|
14
|
-
module.exports = NodeTemplatePlugin;
|
15
|
-
NodeTemplatePlugin.prototype.apply = function(compiler) {
|
16
|
-
compiler.plugin("this-compilation", function(compilation) {
|
17
|
-
compilation.mainTemplate.apply(new NodeMainTemplatePlugin(this.asyncChunkLoading));
|
18
|
-
compilation.chunkTemplate.apply(new NodeChunkTemplatePlugin());
|
19
|
-
compilation.hotUpdateChunkTemplate.apply(new NodeHotUpdateChunkTemplatePlugin());
|
20
|
-
}.bind(this));
|
21
|
-
};
|
1
|
+
/*
|
2
|
+
MIT License http://www.opensource.org/licenses/mit-license.php
|
3
|
+
Author Tobias Koppers @sokra
|
4
|
+
*/
|
5
|
+
var NodeMainTemplatePlugin = require("./NodeMainTemplatePlugin");
|
6
|
+
var NodeChunkTemplatePlugin = require("./NodeChunkTemplatePlugin");
|
7
|
+
var NodeHotUpdateChunkTemplatePlugin = require("./NodeHotUpdateChunkTemplatePlugin");
|
8
|
+
|
9
|
+
function NodeTemplatePlugin(options, asyncChunkLoading) {
|
10
|
+
// TODO remove options parameter
|
11
|
+
this.options = options;
|
12
|
+
this.asyncChunkLoading = asyncChunkLoading;
|
13
|
+
}
|
14
|
+
module.exports = NodeTemplatePlugin;
|
15
|
+
NodeTemplatePlugin.prototype.apply = function(compiler) {
|
16
|
+
compiler.plugin("this-compilation", function(compilation) {
|
17
|
+
compilation.mainTemplate.apply(new NodeMainTemplatePlugin(this.asyncChunkLoading));
|
18
|
+
compilation.chunkTemplate.apply(new NodeChunkTemplatePlugin());
|
19
|
+
compilation.hotUpdateChunkTemplate.apply(new NodeHotUpdateChunkTemplatePlugin());
|
20
|
+
}.bind(this));
|
21
|
+
};
|
@@ -1,65 +1,65 @@
|
|
1
|
-
/*
|
2
|
-
MIT License http://www.opensource.org/licenses/mit-license.php
|
3
|
-
Author Tobias Koppers @sokra
|
4
|
-
*/
|
5
|
-
var Watchpack = require("watchpack");
|
6
|
-
|
7
|
-
function NodeWatchFileSystem(inputFileSystem) {
|
8
|
-
this.inputFileSystem = inputFileSystem;
|
9
|
-
this.watcherOptions = {
|
10
|
-
aggregateTimeout: 0
|
11
|
-
};
|
12
|
-
this.watcher = new Watchpack(this.watcherOptions);
|
13
|
-
}
|
14
|
-
|
15
|
-
module.exports = NodeWatchFileSystem;
|
16
|
-
|
17
|
-
NodeWatchFileSystem.prototype.watch = function watch(files, dirs, missing, startTime, options, callback, callbackUndelayed) {
|
18
|
-
if(!Array.isArray(files))
|
19
|
-
throw new Error("Invalid arguments: 'files'");
|
20
|
-
if(!Array.isArray(dirs))
|
21
|
-
throw new Error("Invalid arguments: 'dirs'");
|
22
|
-
if(!Array.isArray(missing))
|
23
|
-
throw new Error("Invalid arguments: 'missing'");
|
24
|
-
if(typeof callback !== "function")
|
25
|
-
throw new Error("Invalid arguments: 'callback'");
|
26
|
-
if(typeof startTime !== "number" && startTime)
|
27
|
-
throw new Error("Invalid arguments: 'startTime'");
|
28
|
-
if(typeof options !== "object")
|
29
|
-
throw new Error("Invalid arguments: 'options'");
|
30
|
-
if(typeof callbackUndelayed !== "function" && callbackUndelayed)
|
31
|
-
throw new Error("Invalid arguments: 'callbackUndelayed'");
|
32
|
-
var oldWatcher = this.watcher;
|
33
|
-
this.watcher = new Watchpack(options);
|
34
|
-
|
35
|
-
if(callbackUndelayed)
|
36
|
-
this.watcher.once("change", callbackUndelayed);
|
37
|
-
|
38
|
-
this.watcher.once("aggregated", function(changes) {
|
39
|
-
if(this.inputFileSystem && this.inputFileSystem.purge) {
|
40
|
-
this.inputFileSystem.purge(changes);
|
41
|
-
}
|
42
|
-
var times = this.watcher.getTimes();
|
43
|
-
callback(null, changes.filter(function(file) {
|
44
|
-
return files.indexOf(file) >= 0;
|
45
|
-
}).sort(), changes.filter(function(file) {
|
46
|
-
return dirs.indexOf(file) >= 0;
|
47
|
-
}).sort(), changes.filter(function(file) {
|
48
|
-
return missing.indexOf(file) >= 0;
|
49
|
-
}).sort(), times, times);
|
50
|
-
}.bind(this));
|
51
|
-
|
52
|
-
this.watcher.watch(files.concat(missing), dirs, startTime);
|
53
|
-
|
54
|
-
if(oldWatcher) {
|
55
|
-
oldWatcher.close();
|
56
|
-
}
|
57
|
-
return {
|
58
|
-
close: function() {
|
59
|
-
this.watcher.close();
|
60
|
-
}.bind(this),
|
61
|
-
pause: function() {
|
62
|
-
this.watcher.pause();
|
63
|
-
}.bind(this)
|
64
|
-
};
|
65
|
-
};
|
1
|
+
/*
|
2
|
+
MIT License http://www.opensource.org/licenses/mit-license.php
|
3
|
+
Author Tobias Koppers @sokra
|
4
|
+
*/
|
5
|
+
var Watchpack = require("watchpack");
|
6
|
+
|
7
|
+
function NodeWatchFileSystem(inputFileSystem) {
|
8
|
+
this.inputFileSystem = inputFileSystem;
|
9
|
+
this.watcherOptions = {
|
10
|
+
aggregateTimeout: 0
|
11
|
+
};
|
12
|
+
this.watcher = new Watchpack(this.watcherOptions);
|
13
|
+
}
|
14
|
+
|
15
|
+
module.exports = NodeWatchFileSystem;
|
16
|
+
|
17
|
+
NodeWatchFileSystem.prototype.watch = function watch(files, dirs, missing, startTime, options, callback, callbackUndelayed) {
|
18
|
+
if(!Array.isArray(files))
|
19
|
+
throw new Error("Invalid arguments: 'files'");
|
20
|
+
if(!Array.isArray(dirs))
|
21
|
+
throw new Error("Invalid arguments: 'dirs'");
|
22
|
+
if(!Array.isArray(missing))
|
23
|
+
throw new Error("Invalid arguments: 'missing'");
|
24
|
+
if(typeof callback !== "function")
|
25
|
+
throw new Error("Invalid arguments: 'callback'");
|
26
|
+
if(typeof startTime !== "number" && startTime)
|
27
|
+
throw new Error("Invalid arguments: 'startTime'");
|
28
|
+
if(typeof options !== "object")
|
29
|
+
throw new Error("Invalid arguments: 'options'");
|
30
|
+
if(typeof callbackUndelayed !== "function" && callbackUndelayed)
|
31
|
+
throw new Error("Invalid arguments: 'callbackUndelayed'");
|
32
|
+
var oldWatcher = this.watcher;
|
33
|
+
this.watcher = new Watchpack(options);
|
34
|
+
|
35
|
+
if(callbackUndelayed)
|
36
|
+
this.watcher.once("change", callbackUndelayed);
|
37
|
+
|
38
|
+
this.watcher.once("aggregated", function(changes) {
|
39
|
+
if(this.inputFileSystem && this.inputFileSystem.purge) {
|
40
|
+
this.inputFileSystem.purge(changes);
|
41
|
+
}
|
42
|
+
var times = this.watcher.getTimes();
|
43
|
+
callback(null, changes.filter(function(file) {
|
44
|
+
return files.indexOf(file) >= 0;
|
45
|
+
}).sort(), changes.filter(function(file) {
|
46
|
+
return dirs.indexOf(file) >= 0;
|
47
|
+
}).sort(), changes.filter(function(file) {
|
48
|
+
return missing.indexOf(file) >= 0;
|
49
|
+
}).sort(), times, times);
|
50
|
+
}.bind(this));
|
51
|
+
|
52
|
+
this.watcher.watch(files.concat(missing), dirs, startTime);
|
53
|
+
|
54
|
+
if(oldWatcher) {
|
55
|
+
oldWatcher.close();
|
56
|
+
}
|
57
|
+
return {
|
58
|
+
close: function() {
|
59
|
+
this.watcher.close();
|
60
|
+
}.bind(this),
|
61
|
+
pause: function() {
|
62
|
+
this.watcher.pause();
|
63
|
+
}.bind(this)
|
64
|
+
};
|
65
|
+
};
|