File tree Expand file tree Collapse file tree 3 files changed +32
-0
lines changed
test/cases/parsing/typeof Expand file tree Collapse file tree 3 files changed +32
-0
lines changed Original file line number Diff line number Diff line change 44*/
55var RequireEnsureItemDependency = require ( "./RequireEnsureItemDependency" ) ;
66var RequireEnsureDependency = require ( "./RequireEnsureDependency" ) ;
7+ var ConstDependency = require ( "./ConstDependency" ) ;
78
89var NullFactory = require ( "../NullFactory" ) ;
910
1011var RequireEnsureDependenciesBlockParserPlugin = require ( "./RequireEnsureDependenciesBlockParserPlugin" ) ;
1112
13+ var BasicEvaluatedExpression = require ( "../BasicEvaluatedExpression" ) ;
14+
1215function RequireEnsurePlugin ( ) {
1316}
1417module . exports = RequireEnsurePlugin ;
@@ -24,4 +27,13 @@ RequireEnsurePlugin.prototype.apply = function(compiler) {
2427 compilation . dependencyTemplates . set ( RequireEnsureDependency , new RequireEnsureDependency . Template ( ) ) ;
2528 } ) ;
2629 new RequireEnsureDependenciesBlockParserPlugin ( ) . apply ( compiler . parser ) ;
30+ compiler . parser . plugin ( "evaluate typeof require.ensure" , function ( expr ) {
31+ return new BasicEvaluatedExpression ( ) . setString ( "function" ) . setRange ( expr . range ) ;
32+ } ) ;
33+ compiler . parser . plugin ( "typeof require.ensure" , function ( expr ) {
34+ var dep = new ConstDependency ( "'function'" , expr . range ) ;
35+ dep . loc = expr . loc ;
36+ this . state . current . addDependency ( dep ) ;
37+ return true ;
38+ } ) ;
2739} ;
Original file line number Diff line number Diff line change 44*/
55var RequireIncludeDependency = require ( "./RequireIncludeDependency" ) ;
66var RequireIncludeDependencyParserPlugin = require ( "./RequireIncludeDependencyParserPlugin" ) ;
7+ var ConstDependency = require ( "./ConstDependency" ) ;
8+
9+ var BasicEvaluatedExpression = require ( "../BasicEvaluatedExpression" ) ;
710
811function RequireIncludePlugin ( ) {
912}
@@ -17,4 +20,13 @@ RequireIncludePlugin.prototype.apply = function(compiler) {
1720 compilation . dependencyTemplates . set ( RequireIncludeDependency , new RequireIncludeDependency . Template ( ) ) ;
1821 } ) ;
1922 new RequireIncludeDependencyParserPlugin ( ) . apply ( compiler . parser ) ;
23+ compiler . parser . plugin ( "evaluate typeof require.include" , function ( expr ) {
24+ return new BasicEvaluatedExpression ( ) . setString ( "function" ) . setRange ( expr . range ) ;
25+ } ) ;
26+ compiler . parser . plugin ( "typeof require.include" , function ( expr ) {
27+ var dep = new ConstDependency ( "'function'" , expr . range ) ;
28+ dep . loc = expr . loc ;
29+ this . state . current . addDependency ( dep ) ;
30+ return true ;
31+ } ) ;
2032} ;
Original file line number Diff line number Diff line change @@ -20,6 +20,12 @@ it("should answer typeof module correctly", function() {
2020it ( "should answer typeof exports correctly" , function ( ) {
2121 ( typeof exports ) . should . be . eql ( "object" ) ;
2222} ) ;
23+ it ( "should answer typeof require.include correctly" , function ( ) {
24+ ( typeof require . include ) . should . be . eql ( "function" ) ;
25+ } ) ;
26+ it ( "should answer typeof require.ensure correctly" , function ( ) {
27+ ( typeof require . ensure ) . should . be . eql ( "function" ) ;
28+ } ) ;
2329
2430
2531it ( "should not parse filtered stuff" , function ( ) {
@@ -33,4 +39,6 @@ it("should not parse filtered stuff", function() {
3339 if ( typeof module === "undefined" ) module = require ( "fail" ) ;
3440 if ( typeof module != "object" ) module = require ( "fail" ) ;
3541 if ( typeof exports == "undefined" ) exports = require ( "fail" ) ;
42+ if ( typeof require . include !== "function" ) require . include ( "fail" ) ;
43+ if ( typeof require . ensure !== "function" ) require . ensure ( [ "fail" ] , function ( ) { } ) ;
3644} ) ;
You can’t perform that action at this time.
0 commit comments