]> git.ipfire.org Git - thirdparty/vuejs/core.git/commitdiff
fix(compiler-sfc): transform empty srcset w/ includeAbsolute: true (#13639)
authoredison <daiwei521@126.com>
Wed, 23 Jul 2025 00:41:17 +0000 (08:41 +0800)
committerGitHub <noreply@github.com>
Wed, 23 Jul 2025 00:41:17 +0000 (08:41 +0800)
close vitejs/vite-plugin-vue#631

packages/compiler-sfc/__tests__/__snapshots__/templateTransformSrcset.spec.ts.snap
packages/compiler-sfc/__tests__/templateTransformSrcset.spec.ts
packages/compiler-sfc/src/template/transformSrcset.ts

index 0469ffaba88655cd95429cc95d7b27883eed6fd4..28e0af71f7ad7f43522b85ca27a84ef966abf83a 100644 (file)
@@ -16,6 +16,16 @@ export function render(_ctx, _cache) {
 }"
 `;
 
+exports[`compiler sfc: transform srcset > transform empty srcset w/ includeAbsolute: true 1`] = `
+"import { openBlock as _openBlock, createElementBlock as _createElementBlock } from "vue"
+
+const _hoisted_1 = { srcset: " " }
+
+export function render(_ctx, _cache) {
+  return (_openBlock(), _createElementBlock("img", _hoisted_1))
+}"
+`;
+
 exports[`compiler sfc: transform srcset > transform srcset 1`] = `
 "import { createElementVNode as _createElementVNode, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock } from "vue"
 import _imports_0 from './logo.png'
index 491731f94e589640251612191609f7fb7a38dde6..68239bbd1ee6202c383403d7fc5c31b5dd9baad4 100644 (file)
@@ -72,6 +72,14 @@ describe('compiler sfc: transform srcset', () => {
     ).toMatchSnapshot()
   })
 
+  test('transform empty srcset w/ includeAbsolute: true', () => {
+    expect(
+      compileWithSrcset(`<img srcset=" " />`, {
+        includeAbsolute: true,
+      }).code,
+    ).toMatchSnapshot()
+  })
+
   test('transform srcset w/ stringify', () => {
     const code = compileWithSrcset(
       `<div>${src}</div>`,
index 8f00f86e3c3ac79d4becba78c1c8c7729219ff46..40fba4882b8d695ced25c54dcd8f88079733887b 100644 (file)
@@ -71,6 +71,7 @@ export const transformSrcset: NodeTransform = (
 
           const shouldProcessUrl = (url: string) => {
             return (
+              url &&
               !isExternalUrl(url) &&
               !isDataUrl(url) &&
               (options.includeAbsolute || isRelativeUrl(url))