Skip to content

Commit acb9adf

Browse files
committed
Fix reexport with as
1 parent 8481b9c commit acb9adf

File tree

4 files changed

+25
-4
lines changed

4 files changed

+25
-4
lines changed

packages/app/src/sandbox/eval/transpilers/babel/convert-esmodule/__snapshots__/index.test.ts.snap

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -127,6 +127,15 @@ var c = $csb__b.c;
127127
"
128128
`;
129129

130+
exports[`convert-esmodule handles default as exports 1`] = `
131+
"Object.defineProperty(exports, \\"__esModule\\", {
132+
value: true
133+
});
134+
var $csb__Field = require(\\"./Field\\");
135+
exports.Field = $csb__Field.default;
136+
"
137+
`;
138+
130139
exports[`convert-esmodule handles export mutations 1`] = `
131140
"Object.defineProperty(exports, \\"__esModule\\", {
132141
value: true

packages/app/src/sandbox/eval/transpilers/babel/convert-esmodule/index.test.ts

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -121,6 +121,13 @@ describe('convert-esmodule', () => {
121121
expect(convertEsModule(code)).toMatchSnapshot();
122122
});
123123

124+
it('handles default as exports', () => {
125+
const code = `
126+
export { default as Field } from './Field';
127+
`;
128+
expect(convertEsModule(code)).toMatchSnapshot();
129+
});
130+
124131
it('has good perf', () => {
125132
/* eslint-disable */
126133
const code = require('./big-file');

packages/app/src/sandbox/eval/transpilers/babel/convert-esmodule/index.ts

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -104,7 +104,11 @@ export function convertEsModule(code: string) {
104104
program.body.splice(
105105
i,
106106
0,
107-
generateExportMemberStatement(varName, specifier.exported.name)
107+
generateExportMemberStatement(
108+
varName,
109+
specifier.exported.name,
110+
specifier.local.name
111+
)
108112
);
109113
});
110114
} else if (statement.declaration) {

packages/app/src/sandbox/eval/transpilers/babel/convert-esmodule/utils.ts

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -167,11 +167,12 @@ export function generateAllExportsIterator(varName: string) {
167167
}
168168

169169
/**
170-
* exports.$exportName = $varName.$exportName;
170+
* exports.$exportName = $varName.$localName;
171171
*/
172172
export function generateExportMemberStatement(
173173
varName: string,
174-
exportName: string
174+
exportName: string,
175+
localName: string
175176
) {
176177
return {
177178
type: n.ExpressionStatement,
@@ -199,7 +200,7 @@ export function generateExportMemberStatement(
199200
},
200201
property: {
201202
type: n.Identifier,
202-
name: exportName,
203+
name: localName,
203204
},
204205
},
205206
},

0 commit comments

Comments
 (0)