Browse Source

more fixes

contingency-plan
Rich Harris 10 years ago
parent
commit
6fa907e9d7
  1. 12
      src/Bundle.js
  2. 5
      src/Module.js
  3. 2
      src/finalisers/cjs.js

12
src/Bundle.js

@ -65,6 +65,16 @@ export default class Bundle {
return this.fetchModule( this.entryPath, null )
.then( entryModule => {
this.entryModule = entryModule;
if ( entryModule.exports.default ) {
let defaultExportName = makeLegalIdentifier( basename( this.entryPath ).slice( 0, -extname( this.entryPath ).length ) );
while ( entryModule.ast._scope.contains( defaultExportName ) ) {
defaultExportName = `_${defaultExportName}`;
}
entryModule.suggestName( 'default', defaultExportName );
}
return entryModule.expandAllStatements( true );
})
.then( statements => {
@ -174,7 +184,7 @@ export default class Bundle {
const namespaceBlock = this.internalNamespaceModules.map( module => {
const exportKeys = keys( module.exports );
return `var ${module.suggestedNames['*']} = {\n` +
return `var ${module.getCanonicalName('*')} = {\n` +
exportKeys.map( key => `${indentString}get ${key} () { return ${module.getCanonicalName(key)}; }` ).join( ',\n' ) +
`\n};\n\n`;
}).join( '' );

5
src/Module.js

@ -219,7 +219,10 @@ export default class Module {
importDeclaration.module = module;
if ( importDeclaration.name === 'default' ) {
module.suggestName( 'default', importDeclaration.localName );
// TODO this seems ropey
const localName = importDeclaration.localName;
const suggestion = has( this.suggestedNames, localName ) ? this.suggestedNames[ localName ] : localName;
module.suggestName( 'default', suggestion );
}
if ( module.isExternal ) {

2
src/finalisers/cjs.js

@ -26,7 +26,7 @@ export default function cjs ( bundle, magicString, exportMode ) {
let exportBlock;
if ( exportMode === 'default' && bundle.entryModule.exports.default ) {
exportBlock = `module.exports = ${bundle.entryModule.suggestedNames.default};`;
exportBlock = `module.exports = ${bundle.entryModule.getCanonicalName('default')};`;
} else if ( exportMode === 'named' ) {
exportBlock = keys( bundle.entryModule.exports )
.map( key => {

Loading…
Cancel
Save