Skip to content

Commit 6ac8e3a

Browse files
feat(plugin-vue): use transformWithOxc if rolldown-vite is detected (#584)
Co-authored-by: 翠 / green <[email protected]>
1 parent 7f73970 commit 6ac8e3a

File tree

1 file changed

+36
-16
lines changed

1 file changed

+36
-16
lines changed

packages/plugin-vue/src/main.ts

+36-16
Original file line numberDiff line numberDiff line change
@@ -264,22 +264,42 @@ export async function transformMain(
264264
/tsx?$/.test(lang) &&
265265
!descriptor.script?.src // only normal script can have src
266266
) {
267-
const { code, map } = await transformWithEsbuild(
268-
resolvedCode,
269-
filename,
270-
{
271-
target: 'esnext',
272-
charset: 'utf8',
273-
// #430 support decorators in .vue file
274-
// target can be overridden by esbuild config target
275-
...options.devServer?.config.esbuild,
276-
loader: 'ts',
277-
sourcemap: options.sourceMap,
278-
},
279-
resolvedMap,
280-
)
281-
resolvedCode = code
282-
resolvedMap = resolvedMap ? (map as any) : resolvedMap
267+
// @ts-ignore Rolldown-specific
268+
const { transformWithOxc } = await import('vite')
269+
if (transformWithOxc) {
270+
const { code, map } = await transformWithOxc(
271+
resolvedCode,
272+
filename,
273+
{
274+
// #430 support decorators in .vue file
275+
// target can be overridden by oxc config target
276+
// @ts-ignore Rolldown-specific
277+
...options.devServer?.config.oxc,
278+
lang: 'ts',
279+
sourcemap: options.sourceMap,
280+
},
281+
resolvedMap,
282+
)
283+
resolvedCode = code
284+
resolvedMap = resolvedMap ? (map as any) : resolvedMap
285+
} else {
286+
const { code, map } = await transformWithEsbuild(
287+
resolvedCode,
288+
filename,
289+
{
290+
target: 'esnext',
291+
charset: 'utf8',
292+
// #430 support decorators in .vue file
293+
// target can be overridden by esbuild config target
294+
...options.devServer?.config.esbuild,
295+
loader: 'ts',
296+
sourcemap: options.sourceMap,
297+
},
298+
resolvedMap,
299+
)
300+
resolvedCode = code
301+
resolvedMap = resolvedMap ? (map as any) : resolvedMap
302+
}
283303
}
284304

285305
return {

0 commit comments

Comments
 (0)