From: Evan You Date: Fri, 29 May 2020 14:20:57 +0000 (-0400) Subject: fix(compiler-sfc): asset url transform should ignore direct hash urls X-Git-Tag: v3.0.0-beta.15~63 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=5ddd9d241747ef785de848d19246ef518abd8b8f;p=thirdparty%2Fvuejs%2Fcore.git fix(compiler-sfc): asset url transform should ignore direct hash urls --- diff --git a/packages/compiler-sfc/__tests__/templateTransformAssetUrl.spec.ts b/packages/compiler-sfc/__tests__/templateTransformAssetUrl.spec.ts index 91ea19dcae..71be0e5275 100644 --- a/packages/compiler-sfc/__tests__/templateTransformAssetUrl.spec.ts +++ b/packages/compiler-sfc/__tests__/templateTransformAssetUrl.spec.ts @@ -79,4 +79,18 @@ describe('compiler sfc: transform asset url', () => { ) expect(code).toMatchSnapshot() }) + + // vitejs/vite#298 + test('should not transform hash fragments', () => { + const { code } = compileWithAssetUrls( + ` + + + + + ` + ) + // should not remove it + expect(code).toMatch(`"xlink:href": "#myCircle"`) + }) }) diff --git a/packages/compiler-sfc/src/templateTransformAssetUrl.ts b/packages/compiler-sfc/src/templateTransformAssetUrl.ts index 3ca2984e7e..a526d9a9c4 100644 --- a/packages/compiler-sfc/src/templateTransformAssetUrl.ts +++ b/packages/compiler-sfc/src/templateTransformAssetUrl.ts @@ -99,6 +99,7 @@ export const transformAssetUrl: NodeTransform = ( !assetAttrs.includes(attr.name) || !attr.value || isExternalUrl(attr.value.content) || + attr.value.content[0] === '#' || (!options.includeAbsolute && !isRelativeUrl(attr.value.content)) ) { return