Open source · v1.0.0

Map every React page. Highlight every component, live.

page-dep-map statically analyzes your React / Next.js pages, scores complexity, finds drilled props, and lets you click any component in the dashboard to light it up on the running app — in real time.

$ npm install -D @shinjinseop/page-dep-map @shinjinseop/page-dep-map-vite-plugin
page-dep-map dashboard overview

Three lenses on the same codebase, one click apart.

Static analysis tells you which page is heavy. The dashboard tells you why. Live inspect tells you where on screen.

Page-level risk scoring

Score every page on props, hooks, queries, store/context usage, conditional branches, and prop-drilling depth. Surface the pages that need refactoring first.

Component dependency map

See the full subtree under each page in an interactive modal — including external vs internal components, cycles, and reuse hotspots.

API change-impact analysis

Reverse call-graph from every endpoint to the hooks, components, and pages that reach it. One colored badge tells you whether a backend rename is safe or needs a coordination thread.

Live inspect on the running app

Click a component in the dashboard and the running React app instantly draws a red overlay on every instance. Source file & line included.

new in 0.2

Trace any endpoint to the components that break.

Reverse call-graph from the API call site walks back through hooks, wrappers, and renderers — so a backend contract change has a visible blast radius before it lands.

API list with Impact column and tier filters
Step 1

Every endpoint, scored by change risk

A reverse index of API call sites — sortable by impact, filterable by tier (reached / orphan) and HTTP method. Critical endpoints with risky-page consumers float to the top.

API list filtered to critical impact
Step 2

Focus the danger zone in one click

Impact = critical filter narrows 30 endpoints down to the 5 that fan out across every page. Auth, audit-log, server-date — the things a backend rename would set on fire.

Endpoint detail showing direct callers, used-in components, render path, and pages
Step 3

See who actually uses it

Direct callers (1-hop), intermediate hook wrappers, the first React component that touches the hook, then a collapsible render path up to the page. Backend-impact triage without grep.

From a static graph to a live red box, in three clicks.

Dashboard and your dev app talk through an SSE broker, so they don't even have to live on the same origin.

Dashboard page detail screen
Step 1

Open a page

Dashboard shows every metric for the page — props, hooks, queries, deepest prop drilling, child components.

Child subtree modal showing API endpoint chips and the Inspect button
Step 2

Drill into the subtree

Each component shows the exact endpoints it calls as method + path chips — and the Inspect button (parent components only) highlights it live on the page.

Host React app with red overlay on TransactionTable
Step 3

See it live on the page

Helper walks the React fiber tree, finds every instance, and overlays a red box with file + line.

Three commands to get running.

Works with Vite React, CRA, Next.js Pages / App Router, and most monorepos. TypeScript path aliases supported via tsconfig.json.

01 · Installbash
npm install -D \
  @shinjinseop/page-dep-map \
  @shinjinseop/page-dep-map-vite-plugin
02 · Wire the Vite pluginbash
// vite.config.ts
import pdmInspect from '@shinjinseop/page-dep-map-vite-plugin';

export default defineConfig({
  plugins: [
    react(),
    pdmInspect({ baseUrl: 'http://localhost:3399' }),
  ],
});
03 · Run dashboard + appbash
# terminal A
npx page-dep-map run .

# terminal B
npm run dev