From a45a32b73e75117383b8f23f9dcc79841c462a5d Mon Sep 17 00:00:00 2001 From: Alexander Date: Thu, 1 May 2025 14:44:54 +0200 Subject: [PATCH 1/3] feat(plugin-vue): use transformWithOxc if rolldown-vite is detected --- packages/plugin-vue/src/main.ts | 53 +++++++++++++++++++++++---------- 1 file changed, 37 insertions(+), 16 deletions(-) diff --git a/packages/plugin-vue/src/main.ts b/packages/plugin-vue/src/main.ts index d3c1226d..bce531a7 100644 --- a/packages/plugin-vue/src/main.ts +++ b/packages/plugin-vue/src/main.ts @@ -256,22 +256,43 @@ export async function transformMain( /tsx?$/.test(lang) && !descriptor.script?.src // only normal script can have src ) { - const { code, map } = await transformWithEsbuild( - resolvedCode, - filename, - { - target: 'esnext', - charset: 'utf8', - // #430 support decorators in .vue file - // target can be overridden by esbuild config target - ...options.devServer?.config.esbuild, - loader: 'ts', - sourcemap: options.sourceMap, - }, - resolvedMap, - ) - resolvedCode = code - resolvedMap = resolvedMap ? (map as any) : resolvedMap + // @ts-ignore Rolldown-specific + const { rolldownVersion, transformWithOxc } = await import('vite') + if (rolldownVersion) { + const { code, map } = await transformWithOxc( + resolvedCode, + filename, + { + target: 'esnext', + charset: 'utf8', + // #430 support decorators in .vue file + // target can be overridden by esbuild config target + ...options.devServer?.config.esbuild, + loader: 'ts', + sourcemap: options.sourceMap, + }, + resolvedMap, + ) + resolvedCode = code + resolvedMap = resolvedMap ? (map as any) : resolvedMap + } else { + const { code, map } = await transformWithEsbuild( + resolvedCode, + filename, + { + target: 'esnext', + charset: 'utf8', + // #430 support decorators in .vue file + // target can be overridden by esbuild config target + ...options.devServer?.config.esbuild, + loader: 'ts', + sourcemap: options.sourceMap, + }, + resolvedMap, + ) + resolvedCode = code + resolvedMap = resolvedMap ? (map as any) : resolvedMap + } } return { From cd72fe2491824b245ebfb03d9f5f7fc923e31a51 Mon Sep 17 00:00:00 2001 From: Alexander Lichter Date: Fri, 2 May 2025 12:38:12 +0200 Subject: [PATCH 2/3] refactor: easier check MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: 翠 / green --- packages/plugin-vue/src/main.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/plugin-vue/src/main.ts b/packages/plugin-vue/src/main.ts index bce531a7..67a6d91e 100644 --- a/packages/plugin-vue/src/main.ts +++ b/packages/plugin-vue/src/main.ts @@ -257,8 +257,8 @@ export async function transformMain( !descriptor.script?.src // only normal script can have src ) { // @ts-ignore Rolldown-specific - const { rolldownVersion, transformWithOxc } = await import('vite') - if (rolldownVersion) { + const { transformWithOxc } = await import('vite') + if (transformWithOxc) { const { code, map } = await transformWithOxc( resolvedCode, filename, From 5586694da7ee90565fc5fa865488fe75a7e4d74e Mon Sep 17 00:00:00 2001 From: Alexander Lichter Date: Fri, 2 May 2025 12:38:37 +0200 Subject: [PATCH 3/3] fix: oxc transform config MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: 翠 / green --- packages/plugin-vue/src/main.ts | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/packages/plugin-vue/src/main.ts b/packages/plugin-vue/src/main.ts index 67a6d91e..b19162b2 100644 --- a/packages/plugin-vue/src/main.ts +++ b/packages/plugin-vue/src/main.ts @@ -263,12 +263,11 @@ export async function transformMain( resolvedCode, filename, { - target: 'esnext', - charset: 'utf8', // #430 support decorators in .vue file - // target can be overridden by esbuild config target - ...options.devServer?.config.esbuild, - loader: 'ts', + // target can be overridden by oxc config target + // @ts-ignore Rolldown-specific + ...options.devServer?.config.oxc, + lang: 'ts', sourcemap: options.sourceMap, }, resolvedMap,