Skip to content

Releases: jamcgrath/svelte-component-visualizer

v0.4.0

Choose a tag to compare

@jamcgrath jamcgrath released this 28 Jun 02:49
2c2c0ea

Added

  • Named .svelte imports are now tracked as dependencies (previously only default imports were)
  • <svelte:component this={Component}> dynamic usage is tracked when this is a direct component identifier
  • svelteVisualizer.unconditionalDependencyPaths setting (array of glob patterns): files matching a pattern treat all of their .svelte imports as dependencies regardless of template usage — useful for dynamic renderer components
  • svelteVisualizer.showPathOnHover setting (boolean, default true): show a node's full file path in a tooltip on hover; disable to turn the tooltip off
  • Incremental parsing: per-file parse results are cached by mtime and size, and a .svelte file watcher invalidates them, so refreshes only re-parse files that actually changed

Changed

  • Graph node ids are now workspace-relative file paths instead of basenames, so two same-named components (e.g. two Button.svelte in different folders) no longer collapse into a single node with misrouted edges
  • Same-named files now render as distinct nodes that share a plain label (basename, or the route's (page) /path); hover any node to see its full path and tell clashes apart (toggle with svelteVisualizer.showPathOnHover)
  • Bumped Svelte to 5.56.4

Removed

  • The implicit "renderer" filename heuristic (any file with "renderer" in its path). Files that need all imports treated as dependencies must now be listed explicitly via svelteVisualizer.unconditionalDependencyPaths
  • The standalone "Show Unused Imports" checkbox — it duplicated the legend's "Unused Import" filter; click that legend item to toggle unused-import visibility instead

v0.3.0

Choose a tag to compare

@jamcgrath jamcgrath released this 03 Apr 01:10

Changelog

All notable changes to the Svelte Component Visualizer extension will be documented in this file.

The format is based on Keep a Changelog,
and this project adheres to Semantic Versioning.

0.3.0 - 2026-04-03

Added

  • Terminal file path insertion command: Svelte: Insert File Path in Terminal
  • Explorer and editor context menu actions for terminal file path insertion
  • Visualizer node context menu action: Insert File Path in Terminal
  • Configurable terminal prefix via svelteVisualizer.terminalPathPrefix (default @, empty string for plain paths)
  • Updated in-UI help dialog with terminal file reference instructions

Changed

  • Terminal insertion now targets only the active terminal session
  • Terminal insertion is silent (no success toast), with warnings only for missing prerequisites
  • File reference format now uses configurable <prefix><relative/path> (default @path/to/file)

0.1.0 - 2025-10-19

Added

  • Interactive component dependency visualization using D3.js force-directed graph
  • Search and filter functionality for components and routes
  • Multiple visual themes:
    • Modern theme with rounded corners and gradients
    • Flat theme with Ableton-like minimal design
    • Retro theme with early Mac System 6/7 (light) and green monochrome (dark)
    • Retro Alt theme with Windows 3.1 (light) and amber monochrome (dark)
  • Auto, light, and dark color scheme support
  • SvelteKit route support for +page.svelte, +layout.svelte, and +error.svelte files
  • Unused import detection and visualization (orange dashed borders)
  • Drag and drop support for .svelte files onto the graph (desktop VSCode only)
  • Context menu integration in Explorer sidebar and editor tabs
  • Double-click nodes to open component files in the editor
  • Cmd/Ctrl+Click to focus on specific nodes and their dependencies
  • Customizable graph physics controls (link distance and charge strength)
  • Toggle to show/hide unused imports
  • Refresh button to regenerate the graph after file changes
  • Configurable glob patterns for component and route file paths
  • Support for custom routes base path configuration
  • Cross-platform support (Windows, macOS, Linux)

Known Limitations

  • Graph generation may be slow for very large projects (500+ components)
  • Only supports default component imports (not named imports)
  • Dynamic imports via <svelte:component> are not tracked
  • Drag and drop not supported in browser-based VSCode environments (Code OSS, vscode.dev, GitHub Codespaces)

v0.2.1

Choose a tag to compare

@jamcgrath jamcgrath released this 28 Feb 05:35
  • Updated README

v0.2.0

Choose a tag to compare

@jamcgrath jamcgrath released this 28 Feb 05:26

v0.2.0

What's Changed

  • Fix keyboard focus visibility and optimize legend filter classification by @Copilot in #2
  • Add legend filter feature with clickable node type toggles by @jamcgrath in #1

New Contributors

  • @Copilot made their first contribution in #2
  • @jamcgrath made their first contribution in #1

Full Changelog: v0.1.0...0.2.0

Initial Release

Choose a tag to compare

@jamcgrath jamcgrath released this 19 Oct 13:44

Changelog

All notable changes to the Svelte Component Visualizer extension will be documented in this file.

The format is based on Keep a Changelog,
and this project adheres to Semantic Versioning.

0.1.0 - 2025-10-19

Added

  • Interactive component dependency visualization using D3.js force-directed graph
  • Search and filter functionality for components and routes
  • Multiple visual themes:
    • Modern theme with rounded corners and gradients
    • Flat theme with Ableton-like minimal design
    • Retro theme with early Mac System 6/7 (light) and green monochrome (dark)
    • Retro Alt theme with Windows 3.1 (light) and amber monochrome (dark)
  • Auto, light, and dark color scheme support
  • SvelteKit route support for +page.svelte, +layout.svelte, and +error.svelte files
  • Unused import detection and visualization (orange dashed borders)
  • Drag and drop support for .svelte files onto the graph (desktop VSCode only)
  • Context menu integration in Explorer sidebar and editor tabs
  • Double-click nodes to open component files in the editor
  • Cmd/Ctrl+Click to focus on specific nodes and their dependencies
  • Customizable graph physics controls (link distance and charge strength)
  • Toggle to show/hide unused imports
  • Refresh button to regenerate the graph after file changes
  • Configurable glob patterns for component and route file paths
  • Support for custom routes base path configuration
  • Cross-platform support (Windows, macOS, Linux)

Known Limitations

  • Graph generation may be slow for very large projects (500+ components)
  • Only supports default component imports (not named imports)
  • Dynamic imports via <svelte:component> are not tracked
  • Drag and drop not supported in browser-based VSCode environments (Code OSS, vscode.dev, GitHub Codespaces)