1
- import { rewriteDefault } from '../src'
1
+ import { babelParse , rewriteDefault } from '../src'
2
+
3
+ function compileRewriteDefault ( code : string , as : string ) {
4
+ const ast = babelParse ( code , {
5
+ sourceType : 'module' ,
6
+ plugins : [ 'typescript' , 'decorators-legacy' ]
7
+ } )
8
+ return rewriteDefault ( code , ast . program . body , as )
9
+ }
2
10
3
11
describe ( 'compiler sfc: rewriteDefault' , ( ) => {
4
12
test ( 'without export default' , ( ) => {
5
- expect ( rewriteDefault ( `export a = {}` , 'script' ) ) . toMatchInlineSnapshot ( `
6
- "export a = {}
13
+ expect ( compileRewriteDefault ( `export const a = {}` , 'script' ) )
14
+ . toMatchInlineSnapshot ( `
15
+ "export const a = {}
7
16
const script = {}"
8
17
` )
9
18
} )
10
19
11
20
test ( 'rewrite export default' , ( ) => {
12
21
expect (
13
- rewriteDefault ( `export default {}` , 'script' )
22
+ compileRewriteDefault ( `export default {}` , 'script' )
14
23
) . toMatchInlineSnapshot ( `"const script = {}"` )
15
24
} )
16
25
17
26
test ( 'rewrite export named default' , ( ) => {
18
27
expect (
19
- rewriteDefault (
28
+ compileRewriteDefault (
20
29
`const a = 1 \n export { a as b, a as default, a as c}` ,
21
30
'script'
22
31
)
@@ -27,7 +36,7 @@ describe('compiler sfc: rewriteDefault', () => {
27
36
` )
28
37
29
38
expect (
30
- rewriteDefault (
39
+ compileRewriteDefault (
31
40
`const a = 1 \n export { a as b, a as default , a as c}` ,
32
41
'script'
33
42
)
@@ -39,16 +48,20 @@ describe('compiler sfc: rewriteDefault', () => {
39
48
} )
40
49
41
50
test ( 'w/ comments' , async ( ) => {
42
- expect ( rewriteDefault ( `// export default\nexport default {}` , 'script' ) )
43
- . toMatchInlineSnapshot ( `
51
+ expect (
52
+ compileRewriteDefault ( `// export default\nexport default {}` , 'script' )
53
+ ) . toMatchInlineSnapshot ( `
44
54
"// export default
45
55
const script = {}"
46
56
` )
47
57
} )
48
58
49
59
test ( 'export named default multiline' , ( ) => {
50
60
expect (
51
- rewriteDefault ( `let App = {}\n export {\nApp as default\n}` , '_sfc_main' )
61
+ compileRewriteDefault (
62
+ `let App = {}\n export {\nApp as default\n}` ,
63
+ '_sfc_main'
64
+ )
52
65
) . toMatchInlineSnapshot ( `
53
66
"let App = {}
54
67
export {
@@ -60,7 +73,7 @@ describe('compiler sfc: rewriteDefault', () => {
60
73
61
74
test ( 'export named default multiline /w comments' , ( ) => {
62
75
expect (
63
- rewriteDefault (
76
+ compileRewriteDefault (
64
77
`const a = 1 \n export {\n a as b,\n a as default,\n a as c}\n` +
65
78
`// export { myFunction as default }` ,
66
79
'script'
@@ -76,7 +89,7 @@ describe('compiler sfc: rewriteDefault', () => {
76
89
` )
77
90
78
91
expect (
79
- rewriteDefault (
92
+ compileRewriteDefault (
80
93
`const a = 1 \n export {\n a as b,\n a as default ,\n a as c}\n` +
81
94
`// export { myFunction as default }` ,
82
95
'script'
@@ -94,65 +107,74 @@ describe('compiler sfc: rewriteDefault', () => {
94
107
95
108
test ( `export { default } from '...'` , async ( ) => {
96
109
expect (
97
- rewriteDefault ( `export { default, foo } from './index.js'` , 'script' )
110
+ compileRewriteDefault (
111
+ `export { default, foo } from './index.js'` ,
112
+ 'script'
113
+ )
98
114
) . toMatchInlineSnapshot ( `
99
- "import { default as __VUE_DEFAULT__ } from './index.js'
100
- export { foo } from './index.js'
101
- const script = __VUE_DEFAULT__"
102
- ` )
115
+ "import { default as __VUE_DEFAULT__ } from './index.js'
116
+ export { foo } from './index.js'
117
+ const script = __VUE_DEFAULT__"
118
+ ` )
103
119
104
120
expect (
105
- rewriteDefault ( `export { default , foo } from './index.js'` , 'script' )
121
+ compileRewriteDefault (
122
+ `export { default , foo } from './index.js'` ,
123
+ 'script'
124
+ )
106
125
) . toMatchInlineSnapshot ( `
107
- "import { default as __VUE_DEFAULT__ } from './index.js'
108
- export { foo } from './index.js'
109
- const script = __VUE_DEFAULT__"
110
- ` )
126
+ "import { default as __VUE_DEFAULT__ } from './index.js'
127
+ export { foo } from './index.js'
128
+ const script = __VUE_DEFAULT__"
129
+ ` )
111
130
112
131
expect (
113
- rewriteDefault ( `export { foo, default } from './index.js'` , 'script' )
132
+ compileRewriteDefault (
133
+ `export { foo, default } from './index.js'` ,
134
+ 'script'
135
+ )
114
136
) . toMatchInlineSnapshot ( `
115
- "import { default as __VUE_DEFAULT__ } from './index.js'
116
- export { foo, } from './index.js'
117
- const script = __VUE_DEFAULT__"
118
- ` )
137
+ "import { default as __VUE_DEFAULT__ } from './index.js'
138
+ export { foo, } from './index.js'
139
+ const script = __VUE_DEFAULT__"
140
+ ` )
119
141
120
142
expect (
121
- rewriteDefault (
143
+ compileRewriteDefault (
122
144
`export { foo as default, bar } from './index.js'` ,
123
145
'script'
124
146
)
125
147
) . toMatchInlineSnapshot ( `
126
- "import { foo } from './index.js'
127
- export { bar } from './index.js'
128
- const script = foo"
129
- ` )
148
+ "import { foo } from './index.js'
149
+ export { bar } from './index.js'
150
+ const script = foo"
151
+ ` )
130
152
131
153
expect (
132
- rewriteDefault (
154
+ compileRewriteDefault (
133
155
`export { foo as default , bar } from './index.js'` ,
134
156
'script'
135
157
)
136
158
) . toMatchInlineSnapshot ( `
137
- "import { foo } from './index.js'
138
- export { bar } from './index.js'
139
- const script = foo"
140
- ` )
159
+ "import { foo } from './index.js'
160
+ export { bar } from './index.js'
161
+ const script = foo"
162
+ ` )
141
163
142
164
expect (
143
- rewriteDefault (
165
+ compileRewriteDefault (
144
166
`export { bar, foo as default } from './index.js'` ,
145
167
'script'
146
168
)
147
169
) . toMatchInlineSnapshot ( `
148
- "import { foo } from './index.js'
149
- export { bar, } from './index.js'
150
- const script = foo"
151
- ` )
170
+ "import { foo } from './index.js'
171
+ export { bar, } from './index.js'
172
+ const script = foo"
173
+ ` )
152
174
} )
153
175
154
176
test ( 'export default class' , async ( ) => {
155
- expect ( rewriteDefault ( `export default class Foo {}` , 'script' ) )
177
+ expect ( compileRewriteDefault ( `export default class Foo {}` , 'script' ) )
156
178
. toMatchInlineSnapshot ( `
157
179
"class Foo {}
158
180
const script = Foo"
@@ -161,7 +183,10 @@ describe('compiler sfc: rewriteDefault', () => {
161
183
162
184
test ( 'export default class w/ comments' , async ( ) => {
163
185
expect (
164
- rewriteDefault ( `// export default\nexport default class Foo {}` , 'script' )
186
+ compileRewriteDefault (
187
+ `// export default\nexport default class Foo {}` ,
188
+ 'script'
189
+ )
165
190
) . toMatchInlineSnapshot ( `
166
191
"// export default
167
192
class Foo {}
@@ -171,7 +196,7 @@ describe('compiler sfc: rewriteDefault', () => {
171
196
172
197
test ( 'export default class w/ comments 2' , async ( ) => {
173
198
expect (
174
- rewriteDefault (
199
+ compileRewriteDefault (
175
200
`export default {}\n` + `// export default class Foo {}` ,
176
201
'script'
177
202
)
@@ -183,7 +208,7 @@ describe('compiler sfc: rewriteDefault', () => {
183
208
184
209
test ( 'export default class w/ comments 3' , async ( ) => {
185
210
expect (
186
- rewriteDefault (
211
+ compileRewriteDefault (
187
212
`/*\nexport default class Foo {}*/\n` + `export default class Bar {}` ,
188
213
'script'
189
214
)
@@ -196,8 +221,9 @@ describe('compiler sfc: rewriteDefault', () => {
196
221
} )
197
222
198
223
test ( '@Component\nexport default class' , async ( ) => {
199
- expect ( rewriteDefault ( `@Component\nexport default class Foo {}` , 'script' ) )
200
- . toMatchInlineSnapshot ( `
224
+ expect (
225
+ compileRewriteDefault ( `@Component\nexport default class Foo {}` , 'script' )
226
+ ) . toMatchInlineSnapshot ( `
201
227
"@Component
202
228
class Foo {}
203
229
const script = Foo"
@@ -206,7 +232,7 @@ describe('compiler sfc: rewriteDefault', () => {
206
232
207
233
test ( '@Component\nexport default class w/ comments' , async ( ) => {
208
234
expect (
209
- rewriteDefault (
235
+ compileRewriteDefault (
210
236
`// export default\n@Component\nexport default class Foo {}` ,
211
237
'script'
212
238
)
@@ -220,7 +246,7 @@ describe('compiler sfc: rewriteDefault', () => {
220
246
221
247
test ( '@Component\nexport default class w/ comments 2' , async ( ) => {
222
248
expect (
223
- rewriteDefault (
249
+ compileRewriteDefault (
224
250
`export default {}\n` + `// @Component\n// export default class Foo {}` ,
225
251
'script'
226
252
)
@@ -233,7 +259,7 @@ describe('compiler sfc: rewriteDefault', () => {
233
259
234
260
test ( '@Component\nexport default class w/ comments 3' , async ( ) => {
235
261
expect (
236
- rewriteDefault (
262
+ compileRewriteDefault (
237
263
`/*\n@Component\nexport default class Foo {}*/\n` +
238
264
`export default class Bar {}` ,
239
265
'script'
0 commit comments