Skip to content

Commit 5a2f35e

Browse files
committed
Add setImmediate and clearImmediate as global function
clearImmediate has no own option as it is directly connected with setImmediate
1 parent 562fe2d commit 5a2f35e

File tree

2 files changed

+10
-0
lines changed

2 files changed

+10
-0
lines changed

lib/WebpackOptionsDefaulter.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,7 @@ function WebpackOptionsDefaulter() {
4343
this.set("node.process", true);
4444
this.set("node.global", true);
4545
this.set("node.Buffer", true);
46+
this.set("node.setImmediate", true);
4647
this.set("node.__filename", "mock");
4748
this.set("node.__dirname", "mock");
4849

lib/node/NodeSourcePlugin.js

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,15 @@ NodeSourcePlugin.prototype.apply = function(compiler) {
4848
return ModuleParserHelpers.addParsedVariable(this, "Buffer", "require(" + JSON.stringify(getPathToModule("buffer", bufferType)) + ").Buffer");
4949
});
5050
}
51+
if(this.options.setImmediate) {
52+
var setImmediateType = this.options.setImmediate;
53+
compiler.parser.plugin("expression setImmediate", function(expr) {
54+
return ModuleParserHelpers.addParsedVariable(this, "setImmediate", "require(" + JSON.stringify(getPathToModule("timers", setImmediateType)) + ").setImmediate");
55+
});
56+
compiler.parser.plugin("expression clearImmediate", function(expr) {
57+
return ModuleParserHelpers.addParsedVariable(this, "clearImmediate", "require(" + JSON.stringify(getPathToModule("timers", setImmediateType)) + ").clearImmediate");
58+
});
59+
}
5160
var options = this.options;
5261
compiler.plugin("after-resolvers", function(compiler) {
5362
var alias = {};

0 commit comments

Comments
 (0)