From 08f9a65ddad24859ecff6a229edcdd9d91fcc62f Mon Sep 17 00:00:00 2001 From: NAMRA RAFIQUE Date: Tue, 2 Jun 2026 23:42:43 +0530 Subject: [PATCH] "perf: cache package metadata lookups" --- scripts/check-deps.js | 23 ++++++++++++++++------- 1 file changed, 16 insertions(+), 7 deletions(-) diff --git a/scripts/check-deps.js b/scripts/check-deps.js index 0ee336203..e8a8806b5 100644 --- a/scripts/check-deps.js +++ b/scripts/check-deps.js @@ -17,6 +17,7 @@ const FRAMEWORK_ALIASES = new Set([ "next", "react", "react-dom", "server-only", "client-only", ]); +const packageMetadataCache = new Map(); function collectFiles(dir) { const out = []; @@ -96,14 +97,22 @@ function loadInternalAliases(rootDir) { } function isValidPackageSubpath(pkgName, mod, cwd) { try { - const pkgJsonPath = require.resolve( - `${pkgName}/package.json`, - { paths: [cwd] } - ); + let pkgJson; + + if (packageMetadataCache.has(pkgName)) { + pkgJson = packageMetadataCache.get(pkgName); + } else { + const pkgJsonPath = require.resolve( + `${pkgName}/package.json`, + { paths: [cwd] } + ); - const pkgJson = JSON.parse( - fs.readFileSync(pkgJsonPath, "utf8") - ); + pkgJson = JSON.parse( + fs.readFileSync(pkgJsonPath, "utf8") + ); + + packageMetadataCache.set(pkgName, pkgJson); + } const exportsField = pkgJson.exports;