Skip to content

Commit 0500fba

Browse files
committed
fix: template src sourcemap source
ref vitejs/vite-plugin-vue@de18693
1 parent 7bb11b6 commit 0500fba

File tree

3 files changed

+13
-4
lines changed

3 files changed

+13
-4
lines changed

src/core/index.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -561,6 +561,7 @@ export const plugin: UnpluginInstance<Options | undefined, false> =
561561
if (query.type === 'template') {
562562
return transformTemplateAsModule(
563563
code,
564+
filename,
564565
descriptor,
565566
options.value,
566567
context,

src/core/script.ts

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -77,7 +77,11 @@ export function resolveScript(
7777
id: descriptor.id,
7878
isProd: options.isProduction,
7979
inlineTemplate: isUseInlineTemplate(descriptor, options),
80-
templateOptions: resolveTemplateCompilerOptions(descriptor, options),
80+
templateOptions: resolveTemplateCompilerOptions(
81+
descriptor,
82+
options,
83+
descriptor.filename,
84+
),
8185
sourceMap: options.sourceMap,
8286
genDefaultAs: canInlineMain(framework, descriptor, options)
8387
? scriptIdentifier

src/core/template.ts

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ import type {
1313
// eslint-disable-next-line require-await
1414
export async function transformTemplateAsModule(
1515
code: string,
16+
filename: string,
1617
descriptor: SFCDescriptor,
1718
options: ResolvedOptions,
1819
pluginContext: Context,
@@ -23,6 +24,7 @@ export async function transformTemplateAsModule(
2324
}> {
2425
const result = compile(
2526
code,
27+
filename,
2628
descriptor,
2729
options,
2830
pluginContext,
@@ -59,6 +61,7 @@ export function transformTemplateInMain(
5961
): SFCTemplateCompileResults {
6062
const result = compile(
6163
code,
64+
descriptor.filename,
6265
descriptor,
6366
options,
6467
pluginContext,
@@ -75,15 +78,15 @@ export function transformTemplateInMain(
7578

7679
export function compile(
7780
code: string,
81+
filename: string,
7882
descriptor: SFCDescriptor,
7983
options: ResolvedOptions,
8084
pluginContext: Context,
8185
customElement: boolean,
8286
): SFCTemplateCompileResults {
83-
const filename = descriptor.filename
8487
resolveScript(pluginContext.framework, descriptor, options, customElement)
8588
const result = options.compiler.compileTemplate({
86-
...resolveTemplateCompilerOptions(descriptor, options)!,
89+
...resolveTemplateCompilerOptions(descriptor, options, filename)!,
8790
source: code,
8891
})
8992

@@ -108,14 +111,15 @@ export function compile(
108111
export function resolveTemplateCompilerOptions(
109112
descriptor: SFCDescriptor,
110113
options: ResolvedOptions,
114+
filename: string,
111115
): Omit<SFCTemplateCompileOptions, 'source'> | undefined {
112116
const block = descriptor.template
113117
if (!block) {
114118
return
115119
}
116120
const resolvedScript = getResolvedScript(descriptor, options.ssr)
117121
const hasScoped = descriptor.styles.some((s) => s.scoped)
118-
const { id, filename, cssVars } = descriptor
122+
const { id, cssVars } = descriptor
119123

120124
let transformAssetUrls = options.template?.transformAssetUrls
121125
// compiler-sfc should export `AssetURLOptions`

0 commit comments

Comments
 (0)