@@ -59,7 +59,7 @@ export default function transform ( code, id, isEntry, ignoreGlobal, customNamed
59
59
let uid = 0 ;
60
60
61
61
let scope = attachScopes ( ast , 'scope' ) ;
62
- const uses = { module : false , exports : false , global : false } ;
62
+ const uses = { module : false , exports : false , global : false , require : false } ;
63
63
64
64
let lexicalDepth = 0 ;
65
65
let programDepth = 0 ;
@@ -126,16 +126,6 @@ export default function transform ( code, id, isEntry, ignoreGlobal, customNamed
126
126
return ;
127
127
}
128
128
129
- // To allow consumption of UMD modules, transform `typeof require` to `'function'`
130
- if ( node . type === 'UnaryExpression' && node . operator === 'typeof' && node . argument . type === 'Identifier' ) {
131
- const name = node . argument . name ;
132
-
133
- if ( name === 'require' && ! scope . contains ( name ) ) {
134
- magicString . overwrite ( node . start , node . end , `'function'` ) ;
135
- return ;
136
- }
137
- }
138
-
139
129
if ( node . type === 'Identifier' ) {
140
130
if ( isReference ( node , parent ) && ! scope . contains ( node . name ) ) {
141
131
if ( node . name in uses ) {
@@ -144,6 +134,10 @@ export default function transform ( code, id, isEntry, ignoreGlobal, customNamed
144
134
magicString . overwrite ( node . start , node . end , `${ HELPERS_NAME } .commonjsGlobal` , true ) ;
145
135
}
146
136
137
+ if ( node . name === 'require' ) {
138
+ magicString . overwrite ( node . start , node . end , `${ HELPERS_NAME } .commonjsRequire` , true ) ;
139
+ }
140
+
147
141
// if module or exports are used outside the context of an assignment
148
142
// expression, we need to wrap the module
149
143
if ( node . name === 'module' || node . name === 'exports' ) {
@@ -189,6 +183,8 @@ export default function transform ( code, id, isEntry, ignoreGlobal, customNamed
189
183
// is a bare import, e.g. `require('foo');`
190
184
magicString . remove ( parent . start , parent . end ) ;
191
185
}
186
+
187
+ node . callee . _skip = true ;
192
188
} ,
193
189
194
190
leave ( node ) {
0 commit comments