emit correct code for typeof require.resolve(Weak) and require

fixes #5198
This commit is contained in:
Tobias Koppers 2017-07-07 10:26:58 +02:00
parent 4bb3018da4
commit b95af19651
2 changed files with 5 additions and 1 deletions

View File

@ -54,7 +54,7 @@ class CommonJsPlugin {
const requireExpressions = ["require", "require.resolve", "require.resolveWeak"];
for(let expression of requireExpressions) {
parser.plugin(`typeof ${expression}`, ParserHelpers.toConstantDependency("function"));
parser.plugin(`typeof ${expression}`, ParserHelpers.toConstantDependency(JSON.stringify("function")));
parser.plugin(`evaluate typeof ${expression}`, ParserHelpers.evaluateToString("function"));
parser.plugin(`evaluate Identifier ${expression}`, ParserHelpers.evaluateToIdentifier(expression, true));
}

View File

@ -26,6 +26,9 @@ it("should answer typeof require.include correctly", function() {
it("should answer typeof require.ensure correctly", function() {
(typeof require.ensure).should.be.eql("function");
});
it("should answer typeof require.resolve correctly", function() {
(typeof require.resolve).should.be.eql("function");
});
it("should answer typeof System correctly", function() {
(typeof System).should.be.eql("object");
});
@ -41,6 +44,7 @@ it("should not parse filtered stuff", function() {
if(!(typeof require === "function")) require("fail");
if(typeof require == "undefined") require = require("fail");
if(typeof require === "undefined") require = require("fail");
if(typeof require.resolve !== "function") require("fail");
if(typeof module == "undefined") module = require("fail");
if(typeof module === "undefined") module = require("fail");
if(typeof module != "object") module = require("fail");