@@ -198,12 +198,13 @@ async function processModule ({ srcUrl, context, parentGetSource, parentResolve,
198
198
const exportNames = await getExports ( srcUrl , context , parentGetSource )
199
199
const starExports = new Set ( )
200
200
const setters = new Map ( )
201
+ const starExportSources = new Map ( )
201
202
202
- const addSetter = ( name , setter , isStarExport = false ) => {
203
+ const addSetter = ( name , source , setter , isStarExport = false ) => {
203
204
if ( setters . has ( name ) ) {
204
205
if ( isStarExport ) {
205
- // If there's already a matching star export, delete it
206
- if ( starExports . has ( name ) ) {
206
+ // If there's already a matching star export and it comes from a different source , delete it
207
+ if ( starExports . has ( name ) && ! starExportSources . get ( 'name' ) . has ( 'source' ) ) {
207
208
setters . delete ( name )
208
209
}
209
210
// and return so this is excluded
@@ -220,6 +221,9 @@ async function processModule ({ srcUrl, context, parentGetSource, parentResolve,
220
221
// named exports
221
222
if ( isStarExport ) {
222
223
starExports . add ( name )
224
+ const sources = starExportSources . get ( name ) || new Set ( )
225
+ sources . add ( source )
226
+ starExportSources . set ( name , sources )
223
227
}
224
228
225
229
setters . set ( name , setter )
@@ -249,10 +253,10 @@ async function processModule ({ srcUrl, context, parentGetSource, parentResolve,
249
253
} )
250
254
251
255
for ( const [ name , setter ] of subSetters . entries ( ) ) {
252
- addSetter ( name , setter , true )
256
+ addSetter ( name , srcUrl , setter , true )
253
257
}
254
258
} else {
255
- addSetter ( n , `
259
+ addSetter ( n , srcUrl , `
256
260
let $${ n }
257
261
try {
258
262
$${ n } = _.${ n } = namespace.${ n }
0 commit comments