Skip to content

fix: skip SVG scans for unrelated modules - #127

Closed
boy-twilight-lee wants to merge 1 commit into
vbenjs:mainfrom
boy-twilight-lee:codex/fix-load-hook-svg-scan
Closed

boy-twilight-lee wants to merge 1 commit into
vbenjs:mainfrom
boy-twilight-lee:codex/fix-load-hook-svg-scan

Conversation

@boy-twilight-lee

Copy link
Copy Markdown

Closes #126.

The load hook currently calls createModuleCode for unrelated modules during builds and development SSR requests. Each call walks the SVG directories and checks file metadata even when the generated module is discarded.

Return null for unrelated IDs before generating module code. Keep the existing suffix matching, virtual module output, and development/SSR behavior; remove the now-redundant virtual-module check from the SSR branch.

Add regression tests using a real SVG fixture and a spy on fast-glob.sync. They verify zero scans for unrelated TS, Vue, CSS, dependency, and virtual modules, plus the output and scan counts for both SVG virtual modules, including null-prefixed IDs.

Validation:

  • pnpm exec vitest run: 14 tests passed (8 new regression tests). The regression tests fail against the original implementation because unrelated modules scan the icon directory.
  • ESLint and Prettier checks passed for the changed TypeScript files.
  • pnpm --filter vite-plugin-svg-icons build: passed.
  • pnpm exec tsc --noEmit --skipLibCheck: passed.

The full pnpm exec tsc --noEmit check is blocked by an existing dependency declaration issue: rollup-plugin-esbuild references the missing ts-essentials package. No dependency or lockfile changes are included.

@boy-twilight-lee boy-twilight-lee closed this by deleting the head repository Nov 10, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Bug] load hook scans all SVGs for unrelated modules, causing severe build slowdown

1 participant