From 11a28396d0bb36cb1b6dfbea44964f4dd3067c90 Mon Sep 17 00:00:00 2001 From: Wick Date: Thu, 20 Feb 2025 20:08:54 +0800 Subject: [PATCH] refactor: extract common query removal logic --- packages/vite/src/node/utils.ts | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/packages/vite/src/node/utils.ts b/packages/vite/src/node/utils.ts index 53606cccf33c45..14e2b2ef1d9ff5 100644 --- a/packages/vite/src/node/utils.ts +++ b/packages/vite/src/node/utils.ts @@ -331,6 +331,8 @@ export const isJSRequest = (url: string): boolean => { const importQueryRE = /(\?|&)import=?(?:&|$)/ const directRequestRE = /(\?|&)direct=?(?:&|$)/ +export const urlRE = /(\?|&)url(?:&|$)/ +export const rawRE = /(\?|&)raw(?:&|$)/ const internalPrefixes = [ FS_PREFIX, VALID_ID_PREFIX, @@ -343,20 +345,22 @@ export const isImportRequest = (url: string): boolean => importQueryRE.test(url) export const isInternalRequest = (url: string): boolean => InternalPrefixRE.test(url) +const removeQuery = (url: string, queryRE: RegExp) => { + return url.replace(queryRE, '$1').replace(trailingSeparatorRE, '') +} + export function removeImportQuery(url: string): string { - return url.replace(importQueryRE, '$1').replace(trailingSeparatorRE, '') + return removeQuery(url, importQueryRE) } export function removeDirectQuery(url: string): string { - return url.replace(directRequestRE, '$1').replace(trailingSeparatorRE, '') + return removeQuery(url, directRequestRE) } -export const urlRE = /(\?|&)url(?:&|$)/ -export const rawRE = /(\?|&)raw(?:&|$)/ export function removeUrlQuery(url: string): string { - return url.replace(urlRE, '$1').replace(trailingSeparatorRE, '') + return removeQuery(url, urlRE) } export function removeRawQuery(url: string): string { - return url.replace(rawRE, '$1').replace(trailingSeparatorRE, '') + return removeQuery(url, rawRE) } export function injectQuery(url: string, queryToInject: string): string {