From 48ac72f0eea50d50d6727ba3b116ffaf7c4cce25 Mon Sep 17 00:00:00 2001 From: Peter Steinberger Date: Sat, 11 Apr 2026 13:02:56 +0100 Subject: [PATCH] perf: prefilter extension boundary parsing --- scripts/check-sdk-package-extension-import-boundary.mjs | 5 +++++ scripts/check-src-extension-import-boundary.mjs | 5 +++++ scripts/lib/guard-inventory-utils.mjs | 3 +++ 3 files changed, 13 insertions(+) diff --git a/scripts/check-sdk-package-extension-import-boundary.mjs b/scripts/check-sdk-package-extension-import-boundary.mjs index aefd5328b2..2931c700bd 100644 --- a/scripts/check-sdk-package-extension-import-boundary.mjs +++ b/scripts/check-sdk-package-extension-import-boundary.mjs @@ -47,6 +47,10 @@ function shouldSkipFile(filePath) { return relativeFile.startsWith("packages/plugin-sdk/dist/"); } +function shouldParseSource(source) { + return source.includes(BUNDLED_PLUGIN_PATH_PREFIX); +} + function scanImportBoundaryViolations(sourceFile, filePath) { const entries = []; const relativeFile = normalizeRepoPath(repoRoot, filePath); @@ -87,6 +91,7 @@ export async function collectSdkPackageExtensionImportBoundaryInventory() { collectEntries(sourceFile, filePath) { return scanImportBoundaryViolations(sourceFile, filePath); }, + shouldParseSource, }); })(); diff --git a/scripts/check-src-extension-import-boundary.mjs b/scripts/check-src-extension-import-boundary.mjs index adb5e4fbfe..c457cf4d71 100644 --- a/scripts/check-src-extension-import-boundary.mjs +++ b/scripts/check-src-extension-import-boundary.mjs @@ -52,6 +52,10 @@ function shouldSkipFile(filePath) { ); } +function shouldParseSource(source) { + return source.includes(BUNDLED_PLUGIN_PATH_PREFIX); +} + function scanImportBoundaryViolations(sourceFile, filePath) { const entries = []; const relativeFile = normalizeRepoPath(repoRoot, filePath); @@ -92,6 +96,7 @@ export async function collectSrcExtensionImportBoundaryInventory() { collectEntries(sourceFile, filePath) { return scanImportBoundaryViolations(sourceFile, filePath); }, + shouldParseSource, }); })(); diff --git a/scripts/lib/guard-inventory-utils.mjs b/scripts/lib/guard-inventory-utils.mjs index 0a73200250..6ba8d836e5 100644 --- a/scripts/lib/guard-inventory-utils.mjs +++ b/scripts/lib/guard-inventory-utils.mjs @@ -83,6 +83,9 @@ export async function collectTypeScriptInventory(params) { let sourceFile = parsedTypeScriptSourceCache.get(cacheKey); if (!sourceFile) { const source = await fs.readFile(filePath, "utf8"); + if (params.shouldParseSource && !params.shouldParseSource(source, filePath)) { + continue; + } sourceFile = params.ts.createSourceFile( filePath, source,