sverklo
D
Overall Health
remix-run/remix
https://github.com/remix-run/remix
2026-04-19 00:13:15
B
Dead code
13% orphan symbols (243/1808)
D
Circular deps
6 cycles detected
D
Coupling
max fan-in: 43 (demos/bookstore/app/routes.ts)
F
Security
62 concerns found

Overview

  • 884 files indexed
  • 4633 code symbols extracted
  • 26130 symbol references tracked
  • 0 active memories (0 core, 0 stale)
  • Languages: typescript (879), javascript (5)

God Nodes (most-referenced symbols)

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

  • equal — 1678 references
  • deepEqual — 409 references
  • set — 272 references
  • query — 254 references
  • add — 203 references
  • render — 190 references
  • update — 180 references
  • quoteIdentifier — 134 references
  • table — 122 references
  • invariant — 101 references

Hub Files (highest PageRank)

Core architectural files — imported by many others.

  • demos/bookstore/app/routes.ts (1.00)
  • packages/component/src/lib/invariant.ts (0.70)
  • packages/component/src/lib/vdom.ts (0.60)
  • packages/headers/src/lib/header-value.ts (0.50)
  • packages/component/src/lib/typed-event-target.ts (0.50)
  • packages/auth/src/lib/utils.ts (0.48)
  • demos/bookstore/app/ui/layout.tsx (0.42)
  • demos/bookstore/test/helpers.ts (0.37)
  • packages/fetch-router/src/lib/route-map.ts (0.37)
  • packages/component/src/lib/mixin.ts (0.35)

Orphans (potential dead code)

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

  • createDeltapackages/component/src/lib/mixins/animate-layout-mixin.ts:22
  • calcBoxDeltapackages/component/src/lib/mixins/animate-layout-mixin.ts:57
  • buildEnterKeyframespackages/component/src/lib/mixins/animate-mixins.ts:62
  • resolveStyleTargetpackages/component/src/lib/mixins/css-mixin.ts:66
  • buildExitKeyframespackages/component/src/lib/mixins/animate-mixins.ts:67
  • mixDeltapackages/component/src/lib/mixins/animate-layout-mixin.ts:70
  • resolveEnterConfigpackages/component/src/lib/mixins/animate-mixins.ts:72
  • resolveExitConfigpackages/component/src/lib/mixins/animate-mixins.ts:78
  • copyDeltaIntopackages/component/src/lib/mixins/animate-layout-mixin.ts:82
  • createAnimationOptionspackages/component/src/lib/mixins/animate-mixins.ts:84

Coupling (high-PageRank files)

  • demos/bookstore/app/routes.ts (1.00)
  • packages/component/src/lib/invariant.ts (0.70)
  • packages/component/src/lib/vdom.ts (0.60)
  • packages/headers/src/lib/header-value.ts (0.50)
  • packages/component/src/lib/typed-event-target.ts (0.50)

Circular Dependencies (6 cycles)

  1. packages/component/src/lib/frame.ts -> packages/component/src/lib/vdom.ts -> packages/component/src/lib/scheduler.ts -> packages/component/src/lib/reconcile.ts -> packages/component/src/lib/frame.ts
  2. packages/component/src/lib/reconcile.ts -> packages/component/src/lib/vdom.ts -> packages/component/src/lib/scheduler.ts -> packages/component/src/lib/reconcile.ts
  3. packages/route-pattern/src/lib/route-pattern/parse.ts -> packages/route-pattern/src/lib/route-pattern/part-pattern.ts -> packages/route-pattern/src/lib/route-pattern/parse.ts
  4. packages/component/src/lib/navigation.ts -> packages/component/src/lib/run.ts -> packages/component/src/lib/navigation.ts
  5. packages/data-table/src/lib/database/helpers.ts -> packages/data-table/src/lib/database/query-execution.ts -> packages/data-table/src/lib/database/helpers.ts
  6. packages/data-table/src/lib/database/query-execution.ts -> packages/data-table/src/lib/database/relations.ts -> packages/data-table/src/lib/database/query-execution.ts

Security Issues (62 found)

Critical (62)

  • Command injection riskpackages/data-table-sqlite/src/lib/adapter.ts:228
  • this.#database.exec('savepoint ' + quoteIdentifier(name))
  • Command injection riskpackages/data-table-sqlite/src/lib/adapter.ts:239
  • this.#database.exec('rollback to savepoint ' + quoteIdentifier(name))
  • Command injection riskpackages/data-table-sqlite/src/lib/adapter.ts:250
  • this.#database.exec('release savepoint ' + quoteIdentifier(name))
  • Hardcoded secretdemos/bookstore/app/controllers/auth/controller.test.ts:14
  • password: 'admin123',
  • Hardcoded secretdemos/bookstore/app/controllers/auth/controller.test.ts:31
  • password: 'wrongpassword',
  • Hardcoded secretdemos/social-auth/app/router.test.ts:39
  • body: new URLSearchParams({ email: 'user@example.com', password: 'password123' }),
  • Hardcoded secretpackages/auth/src/lib/finish-external-auth.test.ts:27
  • access_token: 'access-token',
  • Hardcoded secretpackages/auth/src/lib/finish-external-auth.test.ts:49
  • clientSecret: 'google-client-secret',
  • Hardcoded secretpackages/auth/src/lib/oauth-flow.integration.test.ts:39
  • clientSecret: 'fake-client-secret',
  • Hardcoded secretpackages/auth/src/lib/providers/auth0.test.ts:20
  • clientSecret: 'client-secret',
  • ...and 52 more

Suggested Next Steps

  • Before refactoring equal, run sverklo_impact to see the 1678 call sites
  • demos/bookstore/app/routes.ts is your most-imported file — changes here cascade widely
  • 15+ potential orphans detected — audit for dead code