From 88a01323958312545e42249628f2c081fadc8fd2 Mon Sep 17 00:00:00 2001 From: fi3ework Date: Sun, 11 Apr 2021 01:27:48 +0800 Subject: [PATCH] fix: should allow srcset on source tag --- packages/vite/src/node/plugins/asset.ts | 5 +++++ packages/vite/src/node/plugins/html.ts | 2 +- packages/vite/src/node/utils.ts | 2 +- 3 files changed, 7 insertions(+), 2 deletions(-) diff --git a/packages/vite/src/node/plugins/asset.ts b/packages/vite/src/node/plugins/asset.ts index 0e426fd6e5d934..95c43cb4099004 100644 --- a/packages/vite/src/node/plugins/asset.ts +++ b/packages/vite/src/node/plugins/asset.ts @@ -257,6 +257,11 @@ export async function urlToBuiltUrl( const file = url.startsWith('/') ? path.join(config.root, url) : path.join(path.dirname(importer), url) + const stats = await fsp.stat(file) + if (stats.isDirectory()) { + return url + } + return fileToBuiltUrl( file, config, diff --git a/packages/vite/src/node/plugins/html.ts b/packages/vite/src/node/plugins/html.ts index cd147519332bce..dbe9ca7a1c2b03 100644 --- a/packages/vite/src/node/plugins/html.ts +++ b/packages/vite/src/node/plugins/html.ts @@ -69,7 +69,7 @@ export function htmlInlineScriptProxyPlugin(): Plugin { export const assetAttrsConfig: Record = { link: ['href'], video: ['src', 'poster'], - source: ['src'], + source: ['src', 'srcset'], img: ['src', 'srcset'], image: ['xlink:href', 'href'], use: ['xlink:href', 'href'] diff --git a/packages/vite/src/node/utils.ts b/packages/vite/src/node/utils.ts index a12f685b5f42e7..40ab1112cbe365 100644 --- a/packages/vite/src/node/utils.ts +++ b/packages/vite/src/node/utils.ts @@ -383,7 +383,7 @@ export async function processSrcSet( .split(' ', 2) return { url, descriptor } }) - .filter(({ url, descriptor }) => url && descriptor) + .filter(({ url }) => !!url) const ret = await Promise.all( imageCandidates.map(async ({ url, descriptor }) => {