Skip to content

Commit d8e40ef

Browse files
authored
fix(compiler-sfc): transform empty srcset w/ includeAbsolute: true (#13639)
close vitejs/vite-plugin-vue#631
1 parent 90573b0 commit d8e40ef

File tree

3 files changed

+19
-0
lines changed

3 files changed

+19
-0
lines changed

‎packages/compiler-sfc/__tests__/__snapshots__/templateTransformSrcset.spec.ts.snap

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,16 @@ export function render(_ctx, _cache) {
1616
}"
1717
`;
1818

19+
exports[`compiler sfc: transform srcset > transform empty srcset w/ includeAbsolute: true 1`] = `
20+
"import { openBlock as _openBlock, createElementBlock as _createElementBlock } from "vue"
21+
22+
const _hoisted_1 = { srcset: " " }
23+
24+
export function render(_ctx, _cache) {
25+
return (_openBlock(), _createElementBlock("img", _hoisted_1))
26+
}"
27+
`;
28+
1929
exports[`compiler sfc: transform srcset > transform srcset 1`] = `
2030
"import { createElementVNode as _createElementVNode, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock } from "vue"
2131
import _imports_0 from './logo.png'

‎packages/compiler-sfc/__tests__/templateTransformSrcset.spec.ts

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -72,6 +72,14 @@ describe('compiler sfc: transform srcset', () => {
7272
).toMatchSnapshot()
7373
})
7474

75+
test('transform empty srcset w/ includeAbsolute: true', () => {
76+
expect(
77+
compileWithSrcset(`<img srcset=" " />`, {
78+
includeAbsolute: true,
79+
}).code,
80+
).toMatchSnapshot()
81+
})
82+
7583
test('transform srcset w/ stringify', () => {
7684
const code = compileWithSrcset(
7785
`<div>${src}</div>`,

‎packages/compiler-sfc/src/template/transformSrcset.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -71,6 +71,7 @@ export const transformSrcset: NodeTransform = (
7171

7272
const shouldProcessUrl = (url: string) => {
7373
return (
74+
url &&
7475
!isExternalUrl(url) &&
7576
!isDataUrl(url) &&
7677
(options.includeAbsolute || isRelativeUrl(url))

0 commit comments

Comments
 (0)