@@ -76,7 +76,7 @@ const {
7676 maybeCacheSourceMap,
7777} = require ( 'internal/source_map/source_map_cache' ) ;
7878const { pathToFileURL, fileURLToPath, isURLInstance } = require ( 'internal/url' ) ;
79- const { deprecate } = require ( 'internal/util' ) ;
79+ const { deprecate, filterOwnProperties , setOwnProperty } = require ( 'internal/util' ) ;
8080const vm = require ( 'vm' ) ;
8181const assert = require ( 'internal/assert' ) ;
8282const fs = require ( 'fs' ) ;
@@ -163,7 +163,7 @@ function updateChildren(parent, child, scan) {
163163function Module ( id = '' , parent ) {
164164 this . id = id ;
165165 this . path = path . dirname ( id ) ;
166- this . exports = { } ;
166+ setOwnProperty ( this , ' exports' , { } ) ;
167167 this . parent = parent ;
168168 updateChildren ( parent , this , false ) ;
169169 this . filename = null ;
@@ -269,14 +269,13 @@ function readPackage(requestPath) {
269269 }
270270
271271 try {
272- const parsed = JSONParse ( json ) ;
273- const filtered = {
274- name : parsed . name ,
275- main : parsed . main ,
276- exports : parsed . exports ,
277- imports : parsed . imports ,
278- type : parsed . type
279- } ;
272+ const filtered = filterOwnProperties ( JSONParse ( json ) , [
273+ 'name' ,
274+ 'main' ,
275+ 'exports' ,
276+ 'imports' ,
277+ 'type' ,
278+ ] ) ;
280279 packageJsonCache . set ( jsonPath , filtered ) ;
281280 return filtered ;
282281 } catch ( e ) {
@@ -1125,7 +1124,7 @@ Module._extensions['.json'] = function(module, filename) {
11251124 }
11261125
11271126 try {
1128- module . exports = JSONParse ( stripBOM ( content ) ) ;
1127+ setOwnProperty ( module , ' exports' , JSONParse ( stripBOM ( content ) ) ) ;
11291128 } catch ( err ) {
11301129 err . message = filename + ': ' + err . message ;
11311130 throw err ;
0 commit comments