From 04c717fef8016d07410b5e739500a2abb9700d80 Mon Sep 17 00:00:00 2001 From: sapphi-red <49056869+sapphi-red@users.noreply.github.com> Date: Tue, 24 Sep 2024 15:16:46 +0900 Subject: [PATCH] chore: skip data uri by load fallback plugin for native data uri handling --- .../vite/src/node/plugins/loadFallback.ts | 33 +++++++++++-------- 1 file changed, 20 insertions(+), 13 deletions(-) diff --git a/packages/vite/src/node/plugins/loadFallback.ts b/packages/vite/src/node/plugins/loadFallback.ts index f221ce56bdd2fb..6771d303d71ef1 100644 --- a/packages/vite/src/node/plugins/loadFallback.ts +++ b/packages/vite/src/node/plugins/loadFallback.ts @@ -1,24 +1,31 @@ import fsp from 'node:fs/promises' +import type { RolldownPlugin } from 'rolldown' import { cleanUrl } from '../../shared/utils' -import type { Plugin } from '../plugin' /** * A plugin to provide build load fallback for arbitrary request with queries. */ -export function buildLoadFallbackPlugin(): Plugin { +export function buildLoadFallbackPlugin(): RolldownPlugin { return { name: 'vite:load-fallback', - async load(id) { - try { - const cleanedId = cleanUrl(id) - const content = await fsp.readFile(cleanedId, 'utf-8') - this.addWatchFile(cleanedId) - return content - } catch { - const content = await fsp.readFile(id, 'utf-8') - this.addWatchFile(id) - return content - } + load: { + filter: { + id: { + exclude: [/^data:/], + }, + }, + async handler(id) { + try { + const cleanedId = cleanUrl(id) + const content = await fsp.readFile(cleanedId, 'utf-8') + this.addWatchFile(cleanedId) + return content + } catch { + const content = await fsp.readFile(id, 'utf-8') + this.addWatchFile(id) + return content + } + }, }, } }