@@ -97,11 +97,13 @@ func (ctx *BuildContext) Path() string {
9797 }
9898
9999 name := strings .TrimSuffix (path .Base (esmPath .PkgName ), ".js" )
100- extname := ".mjs"
101-
102100 if esmPath .SubBareName != "" {
103- name = esmPath .SubBareName
104- extname = ".js"
101+ if esmPath .SubBareName == name {
102+ // if the sub-module name is same as the package name
103+ name = "__" + esmPath .SubBareName
104+ } else {
105+ name = esmPath .SubBareName
106+ }
105107 // workaround for es5-ext "../#/.." path
106108 if esmPath .PkgName == "es5-ext" {
107109 name = strings .ReplaceAll (name , "/#/" , "/%23/" )
@@ -117,22 +119,24 @@ func (ctx *BuildContext) Path() string {
117119 name += ".nobundle"
118120 }
119121 ctx .path = fmt .Sprintf (
120- "/%s/%s%s/%s%s " ,
122+ "/%s/%s%s/%s.mjs " ,
121123 esmPath .PackageName (),
122124 ctx .getBuildArgsPrefix (ctx .target == "types" ),
123125 ctx .target ,
124126 name ,
125- extname ,
126127 )
127128 return ctx .path
128129}
129130
130131func (ctx * BuildContext ) getImportPath (esmPath ESMPath , buildArgsPrefix string ) string {
131132 name := strings .TrimSuffix (path .Base (esmPath .PkgName ), ".js" )
132- extname := ".mjs"
133133 if esmPath .SubBareName != "" {
134- name = esmPath .SubBareName
135- extname = ".js"
134+ if esmPath .SubBareName == name {
135+ // if the sub-module name is same as the package name
136+ name = "__" + esmPath .SubBareName
137+ } else {
138+ name = esmPath .SubBareName
139+ }
136140 // workaround for es5-ext "../#/.." path
137141 if esmPath .PkgName == "es5-ext" {
138142 name = strings .ReplaceAll (name , "/#/" , "/%23/" )
@@ -142,12 +146,11 @@ func (ctx *BuildContext) getImportPath(esmPath ESMPath, buildArgsPrefix string)
142146 name += ".development"
143147 }
144148 return fmt .Sprintf (
145- "/%s/%s%s/%s%s " ,
149+ "/%s/%s%s/%s.mjs " ,
146150 esmPath .PackageName (),
147151 buildArgsPrefix ,
148152 ctx .target ,
149153 name ,
150- extname ,
151154 )
152155}
153156
@@ -653,7 +656,7 @@ func (ctx *BuildContext) resolveConditionExportEntry(conditions *OrderedMap, mTy
653656 }
654657 } else if ctx .isDenoTarget () {
655658 var condition interface {}
656- for _ , conditionName := range []string {"deno" , "workerd" , "worker" , " node" } {
659+ for _ , conditionName := range []string {"deno" , "node" } {
657660 condition = conditions .Get (conditionName )
658661 if condition != nil {
659662 // entry.ibc = conditionName != "browser"
0 commit comments