@@ -10,7 +10,6 @@ const {
1010 ArrayPrototypePush,
1111 FunctionPrototypeCall,
1212 ObjectAssign,
13- ObjectCreate,
1413 ObjectDefineProperty,
1514 ObjectSetPrototypeOf,
1615 RegExpPrototypeExec,
@@ -269,7 +268,7 @@ class ESMLoader {
269268 transformSource,
270269 } ) {
271270 const obsoleteHooks = [ ] ;
272- const acceptedHooks = ObjectCreate ( null ) ;
271+ const acceptedHooks = { __proto__ : null } ;
273272
274273 if ( getGlobalPreloadCode ) {
275274 globalPreload ??= getGlobalPreloadCode ;
@@ -414,7 +413,7 @@ class ESMLoader {
414413 // We can skip cloning if there are no user-provided loaders because
415414 // the Node.js default resolve hook does not use import assertions.
416415 importAssertionsForResolve = ObjectAssign (
417- ObjectCreate ( null ) ,
416+ { __proto__ : null } ,
418417 importAssertions ,
419418 ) ;
420419 }
@@ -531,11 +530,11 @@ class ESMLoader {
531530 if ( ! wasArr ) { return namespaces [ 0 ] ; } // We can skip the pairing below
532531
533532 for ( let i = 0 ; i < count ; i ++ ) {
534- const namespace = ObjectCreate ( null ) ;
535- namespace . url = specifiers [ i ] ;
536- namespace . exports = namespaces [ i ] ;
537-
538- namespaces [ i ] = namespace ;
533+ namespaces [ i ] = {
534+ __proto__ : null ,
535+ url : specifiers [ i ] ,
536+ exports : namespaces [ i ] ,
537+ } ;
539538 }
540539
541540 return namespaces ;
@@ -787,7 +786,7 @@ class ESMLoader {
787786 async resolve (
788787 originalSpecifier ,
789788 parentURL ,
790- importAssertions = ObjectCreate ( null )
789+ importAssertions = { __proto__ : null }
791790 ) {
792791 const isMain = parentURL === undefined ;
793792
0 commit comments