sverklo
D
Overall Health
sveltejs/svelte
https://github.com/sveltejs/svelte
2026-04-19 00:17:52
B
Dead code
14% orphan symbols (230/1608)
F
Circular deps
40 cycles detected
F
Coupling
max fan-in: 59 (packages/svelte/src/compiler/utils/ast.js)
F
Security
17 concerns found

Overview

  • 3377 files indexed
  • 5637 code symbols extracted
  • 33940 symbol references tracked
  • 0 active memories (0 core, 0 stale)
  • Languages: javascript (3296), typescript (81)

God Nodes (most-referenced symbols)

These are the symbols your codebase depends on most. Changes here have the largest blast radius.

  • htmlEqual — 2197 references
  • equal — 2005 references
  • click — 1640 references
  • flushSync — 1458 references
  • tick — 1012 references
  • component — 595 references
  • deepEqual — 593 references
  • get — 513 references
  • call — 440 references
  • set — 349 references

Hub Files (highest PageRank)

Core architectural files — imported by many others.

  • packages/svelte/tests/runtime-legacy/shared.ts (1.00)
  • packages/svelte/tests/runtime-legacy/test.ts (0.66)
  • packages/svelte/tests/runtime-runes/test.ts (0.51)
  • packages/svelte/tests/helpers.js (0.22)
  • packages/svelte/tests/suite.ts (0.22)
  • packages/svelte/src/internal/client/reactivity/batch.js (0.19)
  • packages/svelte/tests/html_equal.js (0.16)
  • packages/svelte/src/internal/client/dom/hydration.js (0.14)
  • packages/svelte/src/internal/server/context.js (0.12)
  • packages/svelte/src/internal/shared/utils.js (0.12)

Orphans (potential dead code)

Named functions with zero detected references. Could be dead code, public API exports, or referenced dynamically.

  • disableasyncmode_flagpackages/svelte/src/internal/flags/index.js:13
  • component_rootpackages/svelte/src/internal/client/reactivity/effects.js:274
  • legacypreeffectpackages/svelte/src/internal/client/reactivity/effects.js:306
  • legacypreeffect_resetpackages/svelte/src/internal/client/reactivity/effects.js:338
  • deferredtemplateeffectpackages/svelte/src/internal/client/reactivity/effects.js:398
  • update_prepackages/svelte/src/internal/client/reactivity/sources.js:304
  • objectpackages/svelte/src/compiler/utils/ast.js:11
  • extractallidentifiersfromexpressionpackages/svelte/src/compiler/utils/ast.js:146
  • createContextpackages/svelte/src/internal/client/context.js:81
  • getAllContextspackages/svelte/src/internal/client/context.js:166

Coupling (high-PageRank files)

  • packages/svelte/tests/runtime-legacy/shared.ts (1.00)
  • packages/svelte/tests/runtime-legacy/test.ts (0.66)
  • packages/svelte/tests/runtime-runes/test.ts (0.51)
  • packages/svelte/tests/helpers.js (0.22)
  • packages/svelte/tests/suite.ts (0.22)

Circular Dependencies (40 cycles)

  1. packages/svelte/src/internal/client/reactivity/effects.js -> packages/svelte/src/internal/client/runtime.js -> packages/svelte/src/internal/client/reactivity/effects.js
  2. packages/svelte/src/internal/client/dom/hydration.js -> packages/svelte/src/internal/client/dom/operations.js -> packages/svelte/src/internal/client/dom/hydration.js
  3. packages/svelte/src/internal/client/dev/equality.js -> packages/svelte/src/internal/client/proxy.js -> packages/svelte/src/internal/client/runtime.js -> packages/svelte/src/internal/client/reactivity/effects.js -> packages/svelte/src/internal/client/dom/operations.js -> packages/svelte/src/internal/client/dev/equality.js
  4. packages/svelte/src/internal/client/dev/equality.js -> packages/svelte/src/internal/client/proxy.js -> packages/svelte/src/internal/client/reactivity/sources.js -> packages/svelte/src/internal/client/runtime.js -> packages/svelte/src/internal/client/reactivity/effects.js -> packages/svelte/src/internal/client/dom/operations.js -> packages/svelte/src/internal/client/dev/equality.js
  5. packages/svelte/src/internal/client/dev/equality.js -> packages/svelte/src/internal/client/proxy.js -> packages/svelte/src/internal/client/reactivity/sources.js -> packages/svelte/src/internal/client/dev/tracing.js -> packages/svelte/src/internal/client/reactivity/effects.js -> packages/svelte/src/internal/client/dom/operations.js -> packages/svelte/src/internal/client/dev/equality.js
  6. packages/svelte/src/internal/client/dev/equality.js -> packages/svelte/src/internal/client/proxy.js -> packages/svelte/src/internal/client/reactivity/sources.js -> packages/svelte/src/internal/client/dev/tracing.js -> packages/svelte/src/internal/client/runtime.js -> packages/svelte/src/internal/client/reactivity/effects.js -> packages/svelte/src/internal/client/dom/operations.js -> packages/svelte/src/internal/client/dev/equality.js
  7. packages/svelte/src/internal/client/context.js -> packages/svelte/src/internal/client/runtime.js -> packages/svelte/src/internal/client/reactivity/effects.js -> packages/svelte/src/internal/client/dom/operations.js -> packages/svelte/src/internal/client/dev/equality.js -> packages/svelte/src/internal/client/proxy.js -> packages/svelte/src/internal/client/reactivity/sources.js -> packages/svelte/src/internal/client/context.js
  8. packages/svelte/src/internal/client/context.js -> packages/svelte/src/internal/client/reactivity/effects.js -> packages/svelte/src/internal/client/dom/operations.js -> packages/svelte/src/internal/client/dev/equality.js -> packages/svelte/src/internal/client/proxy.js -> packages/svelte/src/internal/client/reactivity/sources.js -> packages/svelte/src/internal/client/context.js
  9. packages/svelte/src/internal/client/dev/equality.js -> packages/svelte/src/internal/client/proxy.js -> packages/svelte/src/internal/client/reactivity/sources.js -> packages/svelte/src/internal/client/reactivity/batch.js -> packages/svelte/src/internal/client/runtime.js -> packages/svelte/src/internal/client/reactivity/effects.js -> packages/svelte/src/internal/client/dom/operations.js -> packages/svelte/src/internal/client/dev/equality.js
  10. packages/svelte/src/internal/client/proxy.js -> packages/svelte/src/internal/client/reactivity/sources.js -> packages/svelte/src/internal/client/proxy.js
  11. packages/svelte/src/internal/client/dev/equality.js -> packages/svelte/src/internal/client/proxy.js -> packages/svelte/src/internal/client/reactivity/sources.js -> packages/svelte/src/internal/client/reactivity/deriveds.js -> packages/svelte/src/internal/client/runtime.js -> packages/svelte/src/internal/client/reactivity/effects.js -> packages/svelte/src/internal/client/dom/operations.js -> packages/svelte/src/internal/client/dev/equality.js
  12. packages/svelte/src/internal/client/dev/equality.js -> packages/svelte/src/internal/client/proxy.js -> packages/svelte/src/internal/client/reactivity/sources.js -> packages/svelte/src/internal/client/reactivity/deriveds.js -> packages/svelte/src/internal/client/reactivity/effects.js -> packages/svelte/src/internal/client/dom/operations.js -> packages/svelte/src/internal/client/dev/equality.js
  13. packages/svelte/src/internal/client/reactivity/deriveds.js -> packages/svelte/src/internal/client/reactivity/sources.js -> packages/svelte/src/internal/client/reactivity/deriveds.js
  14. packages/svelte/src/internal/client/dev/equality.js -> packages/svelte/src/internal/client/proxy.js -> packages/svelte/src/internal/client/reactivity/sources.js -> packages/svelte/src/internal/client/reactivity/deriveds.js -> packages/svelte/src/internal/client/reactivity/batch.js -> packages/svelte/src/internal/client/runtime.js -> packages/svelte/src/internal/client/reactivity/effects.js -> packages/svelte/src/internal/client/dom/operations.js -> packages/svelte/src/internal/client/dev/equality.js
  15. packages/svelte/src/internal/client/dev/equality.js -> packages/svelte/src/internal/client/proxy.js -> packages/svelte/src/internal/client/reactivity/sources.js -> packages/svelte/src/internal/client/reactivity/deriveds.js -> packages/svelte/src/internal/client/reactivity/async.js -> packages/svelte/src/internal/client/dom/blocks/boundary.js -> packages/svelte/src/internal/client/error-handling.js -> packages/svelte/src/internal/client/dom/operations.js -> packages/svelte/src/internal/client/dev/equality.js
  16. packages/svelte/src/internal/client/dev/equality.js -> packages/svelte/src/internal/client/proxy.js -> packages/svelte/src/internal/client/reactivity/sources.js -> packages/svelte/src/internal/client/reactivity/deriveds.js -> packages/svelte/src/internal/client/reactivity/async.js -> packages/svelte/src/internal/client/dom/blocks/boundary.js -> packages/svelte/src/internal/client/error-handling.js -> packages/svelte/src/internal/client/runtime.js -> packages/svelte/src/internal/client/reactivity/effects.js -> packages/svelte/src/internal/client/dom/operations.js -> packages/svelte/src/internal/client/dev/equality.js
  17. packages/svelte/src/internal/client/dev/equality.js -> packages/svelte/src/internal/client/proxy.js -> packages/svelte/src/internal/client/reactivity/sources.js -> packages/svelte/src/internal/client/reactivity/deriveds.js -> packages/svelte/src/internal/client/reactivity/async.js -> packages/svelte/src/internal/client/dom/blocks/boundary.js -> packages/svelte/src/internal/client/reactivity/effects.js -> packages/svelte/src/internal/client/dom/operations.js -> packages/svelte/src/internal/client/dev/equality.js
  18. packages/svelte/src/internal/client/dev/equality.js -> packages/svelte/src/internal/client/proxy.js -> packages/svelte/src/internal/client/reactivity/sources.js -> packages/svelte/src/internal/client/reactivity/deriveds.js -> packages/svelte/src/internal/client/reactivity/async.js -> packages/svelte/src/internal/client/dom/blocks/boundary.js -> packages/svelte/src/internal/client/runtime.js -> packages/svelte/src/internal/client/reactivity/effects.js -> packages/svelte/src/internal/client/dom/operations.js -> packages/svelte/src/internal/client/dev/equality.js
  19. packages/svelte/src/internal/client/dev/equality.js -> packages/svelte/src/internal/client/proxy.js -> packages/svelte/src/internal/client/reactivity/sources.js -> packages/svelte/src/internal/client/reactivity/deriveds.js -> packages/svelte/src/internal/client/reactivity/async.js -> packages/svelte/src/internal/client/dom/blocks/boundary.js -> packages/svelte/src/internal/client/dom/task.js -> packages/svelte/src/internal/client/reactivity/batch.js -> packages/svelte/src/internal/client/runtime.js -> packages/svelte/src/internal/client/reactivity/effects.js -> packages/svelte/src/internal/client/dom/operations.js -> packages/svelte/src/internal/client/dev/equality.js
  20. packages/svelte/src/internal/client/dev/equality.js -> packages/svelte/src/internal/client/proxy.js -> packages/svelte/src/internal/client/reactivity/sources.js -> packages/svelte/src/internal/client/reactivity/deriveds.js -> packages/svelte/src/internal/client/reactivity/async.js -> packages/svelte/src/internal/client/dom/blocks/boundary.js -> packages/svelte/src/internal/client/reactivity/batch.js -> packages/svelte/src/internal/client/runtime.js -> packages/svelte/src/internal/client/reactivity/effects.js -> packages/svelte/src/internal/client/dom/operations.js -> packages/svelte/src/internal/client/dev/equality.js
  21. packages/svelte/src/internal/client/dom/blocks/boundary.js -> packages/svelte/src/internal/client/reactivity/sources.js -> packages/svelte/src/internal/client/reactivity/deriveds.js -> packages/svelte/src/internal/client/reactivity/async.js -> packages/svelte/src/internal/client/dom/blocks/boundary.js
  22. packages/svelte/src/internal/client/dev/equality.js -> packages/svelte/src/internal/client/proxy.js -> packages/svelte/src/internal/client/reactivity/sources.js -> packages/svelte/src/internal/client/reactivity/deriveds.js -> packages/svelte/src/internal/client/reactivity/async.js -> packages/svelte/src/internal/client/dom/blocks/boundary.js -> packages/svelte/src/reactivity/create-subscriber.js -> packages/svelte/src/internal/client/runtime.js -> packages/svelte/src/internal/client/reactivity/effects.js -> packages/svelte/src/internal/client/dom/operations.js -> packages/svelte/src/internal/client/dev/equality.js
  23. packages/svelte/src/internal/client/dev/equality.js -> packages/svelte/src/internal/client/proxy.js -> packages/svelte/src/internal/client/reactivity/sources.js -> packages/svelte/src/internal/client/reactivity/deriveds.js -> packages/svelte/src/internal/client/reactivity/async.js -> packages/svelte/src/internal/client/dom/blocks/boundary.js -> packages/svelte/src/reactivity/create-subscriber.js -> packages/svelte/src/internal/client/reactivity/effects.js -> packages/svelte/src/internal/client/dom/operations.js -> packages/svelte/src/internal/client/dev/equality.js
  24. packages/svelte/src/internal/client/dom/blocks/boundary.js -> packages/svelte/src/reactivity/create-subscriber.js -> packages/svelte/src/internal/client/reactivity/sources.js -> packages/svelte/src/internal/client/reactivity/deriveds.js -> packages/svelte/src/internal/client/reactivity/async.js -> packages/svelte/src/internal/client/dom/blocks/boundary.js
  25. packages/svelte/src/internal/client/dev/equality.js -> packages/svelte/src/internal/client/proxy.js -> packages/svelte/src/internal/client/reactivity/sources.js -> packages/svelte/src/internal/client/reactivity/deriveds.js -> packages/svelte/src/internal/client/reactivity/async.js -> packages/svelte/src/internal/client/dom/blocks/boundary.js -> packages/svelte/src/internal/client/dom/operations.js -> packages/svelte/src/internal/client/dev/equality.js
  26. packages/svelte/src/internal/client/dev/equality.js -> packages/svelte/src/internal/client/proxy.js -> packages/svelte/src/internal/client/reactivity/sources.js -> packages/svelte/src/internal/client/reactivity/deriveds.js -> packages/svelte/src/internal/client/reactivity/async.js -> packages/svelte/src/internal/client/runtime.js -> packages/svelte/src/internal/client/reactivity/effects.js -> packages/svelte/src/internal/client/dom/operations.js -> packages/svelte/src/internal/client/dev/equality.js
  27. packages/svelte/src/internal/client/dev/equality.js -> packages/svelte/src/internal/client/proxy.js -> packages/svelte/src/internal/client/reactivity/sources.js -> packages/svelte/src/internal/client/reactivity/deriveds.js -> packages/svelte/src/internal/client/reactivity/async.js -> packages/svelte/src/internal/client/reactivity/batch.js -> packages/svelte/src/internal/client/runtime.js -> packages/svelte/src/internal/client/reactivity/effects.js -> packages/svelte/src/internal/client/dom/operations.js -> packages/svelte/src/internal/client/dev/equality.js
  28. packages/svelte/src/internal/client/reactivity/async.js -> packages/svelte/src/internal/client/reactivity/deriveds.js -> packages/svelte/src/internal/client/reactivity/async.js
  29. packages/svelte/src/internal/client/dev/equality.js -> packages/svelte/src/internal/client/proxy.js -> packages/svelte/src/internal/client/reactivity/sources.js -> packages/svelte/src/internal/client/reactivity/deriveds.js -> packages/svelte/src/internal/client/reactivity/async.js -> packages/svelte/src/internal/client/reactivity/effects.js -> packages/svelte/src/internal/client/dom/operations.js -> packages/svelte/src/internal/client/dev/equality.js
  30. packages/svelte/src/internal/client/dom/operations.js -> packages/svelte/src/internal/client/runtime.js -> packages/svelte/src/internal/client/reactivity/effects.js -> packages/svelte/src/internal/client/dom/operations.js
  31. packages/svelte/src/internal/client/dom/operations.js -> packages/svelte/src/internal/client/reactivity/batch.js -> packages/svelte/src/internal/client/runtime.js -> packages/svelte/src/internal/client/reactivity/effects.js -> packages/svelte/src/internal/client/dom/operations.js
  32. packages/svelte/src/internal/client/reactivity/batch.js -> packages/svelte/src/internal/client/runtime.js -> packages/svelte/src/internal/client/reactivity/effects.js -> packages/svelte/src/internal/client/reactivity/batch.js
  33. packages/svelte/src/internal/client/dom/elements/bindings/shared.js -> packages/svelte/src/internal/client/reactivity/effects.js -> packages/svelte/src/internal/client/dom/elements/bindings/shared.js
  34. packages/svelte/src/internal/client/dom/elements/bindings/shared.js -> packages/svelte/src/internal/client/runtime.js -> packages/svelte/src/internal/client/reactivity/effects.js -> packages/svelte/src/internal/client/dom/elements/bindings/shared.js
  35. packages/svelte/src/internal/client/reactivity/batch.js -> packages/svelte/src/internal/client/runtime.js -> packages/svelte/src/internal/client/reactivity/batch.js
  36. packages/svelte/src/internal/client/legacy.js -> packages/svelte/src/internal/client/runtime.js -> packages/svelte/src/internal/client/legacy.js
  37. packages/svelte/src/compiler/phases/2-analyze/visitors/shared/utils.js -> packages/svelte/src/compiler/phases/scope.js -> packages/svelte/src/compiler/phases/2-analyze/visitors/shared/utils.js
  38. packages/svelte/src/internal/server/index.js -> packages/svelte/src/internal/server/renderer.js -> packages/svelte/src/internal/server/index.js
  39. packages/svelte/src/compiler/phases/3-transform/client/visitors/RegularElement.js -> packages/svelte/src/compiler/phases/3-transform/client/visitors/shared/element.js -> packages/svelte/src/compiler/phases/3-transform/client/visitors/RegularElement.js
  40. packages/svelte/src/reactivity/url-search-params.js -> packages/svelte/src/reactivity/url.js -> packages/svelte/src/reactivity/url-search-params.js

Security Issues (17 found)

Critical (2)

  • Command injection riskbenchmarking/compare/index.js:50
  • execSync(git checkout ${original_ref});
  • Command injection riskbenchmarking/compare/index.js:63
  • execSync(git checkout ${branch});

Low (15)

  • Excessive console.logpackages/svelte/src/internal/client/dev/debug.js:107
  • console.log(callsite);
  • Excessive console.logpackages/svelte/src/internal/client/dev/debug.js:112
  • console.log(effect.fn);
  • Excessive console.logpackages/svelte/src/internal/client/dev/debug.js:131
  • console.log(effect.nodes.start);
  • Excessive console.logpackages/svelte/src/internal/client/dev/debug.js:135
  • console.log(effect.nodes.end);
  • Excessive console.logpackages/svelte/src/internal/client/dev/debug.js:177
  • console.log(
  • Excessive console.logpackages/svelte/src/internal/client/dev/debug.js:232
  • console.log(untrack(() => snapshot(d.v)));
  • Excessive console.logpackages/svelte/src/internal/client/dev/debug.js:236
  • console.log('%cfn:', 'font-weight: bold', d.fn);
  • Excessive console.logpackages/svelte/src/internal/client/dev/debug.js:249
  • console.log(
  • Excessive console.logpackages/svelte/src/internal/client/dev/debug.js:307
  • console.log(
  • Excessive console.logpackages/svelte/src/internal/client/dev/debug.js:316
  • console.log(
  • ...and 5 more

Suggested Next Steps

  • Before refactoring htmlEqual, run sverklo_impact to see the 2197 call sites
  • packages/svelte/tests/runtime-legacy/shared.ts is your most-imported file — changes here cascade widely
  • 15+ potential orphans detected — audit for dead code