From 8143dbbefcd1e27d04b2b1284088d45a21cf1996 Mon Sep 17 00:00:00 2001 From: ivan Date: Thu, 23 Mar 2023 00:24:58 +0800 Subject: [PATCH] perf: replace endsWith with === --- packages/vite/src/node/optimizer/scan.ts | 12 +- packages/vite/src/node/packages.ts | 4 +- packages/vite/src/node/plugins/asset.ts | 6 +- packages/vite/src/node/plugins/esbuild.ts | 4 +- packages/vite/src/node/plugins/html.ts | 3 +- .../vite/src/node/plugins/importAnalysis.ts | 10 +- .../src/node/plugins/importAnalysisBuild.ts | 5 +- packages/vite/src/node/plugins/reporter.ts | 6 +- packages/vite/src/node/plugins/resolve.ts | 8 +- packages/vite/src/node/server/hmr.ts | 10 +- packages/vite/src/node/server/index.ts | 3 +- .../src/node/server/middlewares/indexHtml.ts | 3 +- .../src/node/server/middlewares/static.ts | 5 +- .../src/node/server/middlewares/transform.ts | 3 +- .../vite/src/node/server/transformRequest.ts | 3 +- packages/vite/src/node/ssr/ssrExternal.ts | 6 +- packages/vite/src/node/utils.ts | 153 +++++++++++++++++- 17 files changed, 206 insertions(+), 38 deletions(-) diff --git a/packages/vite/src/node/optimizer/scan.ts b/packages/vite/src/node/optimizer/scan.ts index 7929b337b8a6e4..69b245dd4253b9 100644 --- a/packages/vite/src/node/optimizer/scan.ts +++ b/packages/vite/src/node/optimizer/scan.ts @@ -17,8 +17,12 @@ import { createDebugger, dataUrlRE, externalRE, + isAstroExt, + isHtmlExt, isObject, isOptimizable, + isSvelteExt, + isVueExt, moduleListContains, multilineCommentsRE, normalizePath, @@ -366,7 +370,7 @@ function esbuildScanPlugin( let raw = fs.readFileSync(path, 'utf-8') // Avoid matching the content of the comment raw = raw.replace(commentRE, '') - const isHtml = path.endsWith('.html') + const isHtml = isHtmlExt(path) const regex = isHtml ? scriptModuleRE : scriptRE regex.lastIndex = 0 let js = '' @@ -394,7 +398,7 @@ function esbuildScanPlugin( let loader: Loader = 'js' if (lang === 'ts' || lang === 'tsx' || lang === 'jsx') { loader = lang - } else if (path.endsWith('.astro')) { + } else if (isAstroExt(path)) { loader = 'ts' } const srcMatch = openTag.match(srcRE) @@ -445,7 +449,7 @@ function esbuildScanPlugin( // Especially for Svelte files, exports in