@@ -8,50 +8,53 @@ import fromInside from '../fixtures/node_modules/pkgexports/lib/hole.js';
88[ requireFixture ,  importFixture ] . forEach ( ( loadFixture )  =>  { 
99  const  isRequire  =  loadFixture  ===  requireFixture ; 
1010
11+   const  maybeWrapped  =  isRequire  ? ( exports )  =>  exports  :
12+     ( exports )  =>  ( {  ...exports ,  'module.exports' : exports . default  } ) ; 
13+ 
1114  const  validSpecifiers  =  new  Map ( [ 
1215    // A simple mapping of a path. 
13-     [ 'pkgexports/valid-cjs' ,  {  default : 'asdf'  } ] , 
16+     [ 'pkgexports/valid-cjs' ,  maybeWrapped ( {  default : 'asdf'  } ) ] , 
1417    // A mapping pointing to a file that needs special encoding (%20) in URLs. 
15-     [ 'pkgexports/space' ,  {  default : 'encoded path'  } ] , 
18+     [ 'pkgexports/space' ,  maybeWrapped ( {  default : 'encoded path'  } ) ] , 
1619    // Verifying that normal packages still work with exports turned on. 
1720    isRequire  ? [ 'baz/index' ,  {  default : 'eye catcher'  } ]  : [ null ] , 
1821    // Fallbacks 
19-     [ 'pkgexports/fallbackdir/asdf.js' ,  {  default : 'asdf'  } ] , 
20-     [ 'pkgexports/fallbackfile' ,  {  default : 'asdf'  } ] , 
22+     [ 'pkgexports/fallbackdir/asdf.js' ,  maybeWrapped ( {  default : 'asdf'  } ) ] , 
23+     [ 'pkgexports/fallbackfile' ,  maybeWrapped ( {  default : 'asdf'  } ) ] , 
2124    // Conditional split for require 
2225    [ 'pkgexports/condition' ,  isRequire  ? {  default : 'encoded path'  }  :
23-       {  default : 'asdf'  } ] , 
26+       maybeWrapped ( {  default : 'asdf'  } ) ] , 
2427    // String exports sugar 
25-     [ 'pkgexports-sugar' ,  {  default : 'main'  } ] , 
28+     [ 'pkgexports-sugar' ,  maybeWrapped ( {  default : 'main'  } ) ] , 
2629    // Conditional object exports sugar 
2730    [ 'pkgexports-sugar2' ,  isRequire  ? {  default : 'not-exported'  }  :
28-       {  default : 'main'  } ] , 
31+       maybeWrapped ( {  default : 'main'  } ) ] , 
2932    // Resolve self 
3033    [ 'pkgexports/resolve-self' ,  isRequire  ?
3134      {  default : 'self-cjs'  }  : {  default : 'self-mjs'  } ] , 
3235    // Resolve self sugar 
33-     [ 'pkgexports-sugar' ,  {  default : 'main'  } ] , 
36+     [ 'pkgexports-sugar' ,  maybeWrapped ( {  default : 'main'  } ) ] , 
3437    // Path patterns 
35-     [ 'pkgexports/subpath/sub-dir1' ,  {  default : 'main'  } ] , 
36-     [ 'pkgexports/subpath/sub-dir1.js' ,  {  default : 'main'  } ] , 
37-     [ 'pkgexports/features/dir1' ,  {  default : 'main'  } ] , 
38-     [ 'pkgexports/dir1/dir1/trailer' ,  {  default : 'main'  } ] , 
39-     [ 'pkgexports/dir2/dir2/trailer' ,  {  default : 'index'  } ] , 
40-     [ 'pkgexports/a/dir1/dir1' ,  {  default : 'main'  } ] , 
41-     [ 'pkgexports/a/b/dir1/dir1' ,  {  default : 'main'  } ] , 
38+     [ 'pkgexports/subpath/sub-dir1' ,  maybeWrapped ( {  default : 'main'  } ) ] , 
39+     [ 'pkgexports/subpath/sub-dir1.js' ,  maybeWrapped ( {  default : 'main'  } ) ] , 
40+     [ 'pkgexports/features/dir1' ,  maybeWrapped ( {  default : 'main'  } ) ] , 
41+     [ 'pkgexports/dir1/dir1/trailer' ,  maybeWrapped ( {  default : 'main'  } ) ] , 
42+     [ 'pkgexports/dir2/dir2/trailer' ,  maybeWrapped ( {  default : 'index'  } ) ] , 
43+     [ 'pkgexports/a/dir1/dir1' ,  maybeWrapped ( {  default : 'main'  } ) ] , 
44+     [ 'pkgexports/a/b/dir1/dir1' ,  maybeWrapped ( {  default : 'main'  } ) ] , 
4245
4346    // Deprecated: 
4447    // Double slashes: 
45-     [ 'pkgexports/a//dir1/dir1' ,  {  default : 'main'  } ] , 
48+     [ 'pkgexports/a//dir1/dir1' ,  maybeWrapped ( {  default : 'main'  } ) ] , 
4649    // double slash target 
47-     [ 'pkgexports/doubleslash' ,  {  default : 'asdf'  } ] , 
50+     [ 'pkgexports/doubleslash' ,  maybeWrapped ( {  default : 'asdf'  } ) ] , 
4851    // Null target with several slashes 
49-     [ 'pkgexports/sub//internal/test.js' ,  {  default : 'internal only'  } ] , 
50-     [ 'pkgexports/sub//internal//test.js' ,  {  default : 'internal only'  } ] , 
51-     [ 'pkgexports/sub/////internal/////test.js' ,  {  default : 'internal only'  } ] , 
52+     [ 'pkgexports/sub//internal/test.js' ,  maybeWrapped ( {  default : 'internal only'  } ) ] , 
53+     [ 'pkgexports/sub//internal//test.js' ,  maybeWrapped ( {  default : 'internal only'  } ) ] , 
54+     [ 'pkgexports/sub/////internal/////test.js' ,  maybeWrapped ( {  default : 'internal only'  } ) ] , 
5255    // trailing slash 
5356    [ 'pkgexports/trailing-pattern-slash/' , 
54-      {  default : 'trailing-pattern-slash'  } ] , 
57+      maybeWrapped ( {  default : 'trailing-pattern-slash'  } ) ] , 
5558  ] ) ; 
5659
5760  if  ( ! isRequire )  { 
@@ -214,11 +217,15 @@ import fromInside from '../fixtures/node_modules/pkgexports/lib/hole.js';
214217
215218const  {  requireFromInside,  importFromInside }  =  fromInside ; 
216219[ importFromInside ,  requireFromInside ] . forEach ( ( loadFromInside )  =>  { 
220+   const  isRequire  =  loadFromInside  ===  requireFromInside ; 
221+   const  maybeWrapped  =  isRequire  ? ( exports )  =>  exports  :
222+     ( exports )  =>  ( {  ...exports ,  'module.exports' : exports . default  } ) ; 
223+ 
217224  const  validSpecifiers  =  new  Map ( [ 
218225    // A file not visible from outside of the package 
219-     [ '../not-exported.js' ,  {  default : 'not-exported'  } ] , 
226+     [ '../not-exported.js' ,  maybeWrapped ( {  default : 'not-exported'  } ) ] , 
220227    // Part of the public interface 
221-     [ 'pkgexports/valid-cjs' ,  {  default : 'asdf'  } ] , 
228+     [ 'pkgexports/valid-cjs' ,  maybeWrapped ( {  default : 'asdf'  } ) ] , 
222229  ] ) ; 
223230  for  ( const  [ validSpecifier ,  expected ]  of  validSpecifiers )  { 
224231    if  ( validSpecifier  ===  null )  continue ; 
0 commit comments