sverklo audit
D
Overall Health
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_flag —
packages/svelte/src/internal/flags/index.js:13 - component_root —
packages/svelte/src/internal/client/reactivity/effects.js:274 - legacypreeffect —
packages/svelte/src/internal/client/reactivity/effects.js:306 - legacypreeffect_reset —
packages/svelte/src/internal/client/reactivity/effects.js:338 - deferredtemplateeffect —
packages/svelte/src/internal/client/reactivity/effects.js:398 - update_pre —
packages/svelte/src/internal/client/reactivity/sources.js:304 - object —
packages/svelte/src/compiler/utils/ast.js:11 - extractallidentifiersfromexpression —
packages/svelte/src/compiler/utils/ast.js:146 - createContext —
packages/svelte/src/internal/client/context.js:81 - getAllContexts —
packages/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)
- packages/svelte/src/internal/client/reactivity/effects.js -> packages/svelte/src/internal/client/runtime.js -> packages/svelte/src/internal/client/reactivity/effects.js
- packages/svelte/src/internal/client/dom/hydration.js -> packages/svelte/src/internal/client/dom/operations.js -> packages/svelte/src/internal/client/dom/hydration.js
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- packages/svelte/src/internal/client/proxy.js -> packages/svelte/src/internal/client/reactivity/sources.js -> packages/svelte/src/internal/client/proxy.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/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
- 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
- packages/svelte/src/internal/client/reactivity/deriveds.js -> packages/svelte/src/internal/client/reactivity/sources.js -> packages/svelte/src/internal/client/reactivity/deriveds.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/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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- packages/svelte/src/internal/client/reactivity/async.js -> packages/svelte/src/internal/client/reactivity/deriveds.js -> packages/svelte/src/internal/client/reactivity/async.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/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
- 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
- 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
- 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
- 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
- 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
- packages/svelte/src/internal/client/reactivity/batch.js -> packages/svelte/src/internal/client/runtime.js -> packages/svelte/src/internal/client/reactivity/batch.js
- packages/svelte/src/internal/client/legacy.js -> packages/svelte/src/internal/client/runtime.js -> packages/svelte/src/internal/client/legacy.js
- 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
- packages/svelte/src/internal/server/index.js -> packages/svelte/src/internal/server/renderer.js -> packages/svelte/src/internal/server/index.js
- 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
- 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 risk —
benchmarking/compare/index.js:50 execSync(git checkout ${original_ref});- Command injection risk —
benchmarking/compare/index.js:63 execSync(git checkout ${branch});
Low (15)
- Excessive console.log —
packages/svelte/src/internal/client/dev/debug.js:107 console.log(callsite);- Excessive console.log —
packages/svelte/src/internal/client/dev/debug.js:112 console.log(effect.fn);- Excessive console.log —
packages/svelte/src/internal/client/dev/debug.js:131 console.log(effect.nodes.start);- Excessive console.log —
packages/svelte/src/internal/client/dev/debug.js:135 console.log(effect.nodes.end);- Excessive console.log —
packages/svelte/src/internal/client/dev/debug.js:177 console.log(- Excessive console.log —
packages/svelte/src/internal/client/dev/debug.js:232 console.log(untrack(() => snapshot(d.v)));- Excessive console.log —
packages/svelte/src/internal/client/dev/debug.js:236 console.log('%cfn:', 'font-weight: bold', d.fn);- Excessive console.log —
packages/svelte/src/internal/client/dev/debug.js:249 console.log(- Excessive console.log —
packages/svelte/src/internal/client/dev/debug.js:307 console.log(- Excessive console.log —
packages/svelte/src/internal/client/dev/debug.js:316 console.log(- ...and 5 more
Suggested Next Steps
- Before refactoring htmlEqual, run
sverklo_impactto see the 2197 call sites packages/svelte/tests/runtime-legacy/shared.tsis your most-imported file — changes here cascade widely- 15+ potential orphans detected — audit for dead code