Socket
Book a DemoInstallSign in
Socket

@choi2021/next-route-visualizer

Package Overview
Dependencies
Maintainers
1
Versions
10
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@choi2021/next-route-visualizer

πŸ—ΊοΈ Visualize Next.js routes as an interactive diagram with advanced function analysis. Supports dynamic route detection, function-based navigation patterns, and comprehensive Next.js route mapping. Generate JSON data and beautiful HTML reports to explore

latest
Source
npmnpm
Version
1.0.10
Version published
Weekly downloads
3
-25%
Maintainers
1
Weekly downloads
Β 
Created
Source

πŸ—ΊοΈ Next.js Route Visualizer

Next.js ν”„λ‘œμ νŠΈμ˜ 라우트 ꡬ쑰와 λ„€λΉ„κ²Œμ΄μ…˜μ„ ν•œ λˆˆμ— μ‹œκ°ν™”ν•΄λ³΄μ„Έμš”!

ν•œ 번의 λͺ…λ Ήμ–΄λ‘œ 라우트 κ·Έλž˜ν”„ JSONκ³Ό μΈν„°λž™ν‹°λΈŒ HTML 리포트λ₯Ό μƒμ„±ν•©λ‹ˆλ‹€.

✨ νŠΉμ§•

  • πŸš€ 원클릭 μ‹€ν–‰: npx λͺ…λ Ήμ–΄ ν•˜λ‚˜λ‘œ μ¦‰μ‹œ μ‹œκ°ν™”
  • πŸ“Š 라우트 뢄석: νŽ˜μ΄μ§€μ™€ 닀이내믹 라우트 관계 좔적
  • 🎯 동적 ν•¨μˆ˜ 뢄석: Router.push(getRoute())와 같은 동적 ν•¨μˆ˜ 호좜 λ‚΄λΆ€ 뢄석
  • πŸ” κ³ κΈ‰ λ„€λΉ„κ²Œμ΄μ…˜ 감지: Routes μƒμˆ˜, ν™”μ‚΄ν‘œ ν•¨μˆ˜, 쑰건뢀 λ„€λΉ„κ²Œμ΄μ…˜ 지원
  • 🎨 두 κ°€μ§€ μ‹œκ°ν™” λͺ¨λ“œ:
    • πŸ“ˆ κ·Έλž˜ν”„ λ‹€μ΄μ–΄κ·Έλž¨: λ“œλž˜κ·Έ, 쀌, 필터링 κ°€λŠ₯ν•œ λ…Έλ“œ-링크 μ‹œκ°ν™”
    • πŸ“‹ μΈν„°λž™ν‹°λΈŒ 리포트: νŽ˜μ΄μ§€ μ„ νƒν˜• μ—°κ²° 탐색 μΈν„°νŽ˜μ΄μŠ€
  • πŸ’Ύ JSON 좜λ ₯: λ‹€λ₯Έ λ„κ΅¬μ—μ„œλ„ ν™œμš© κ°€λŠ₯ν•œ 데이터
  • 🌐 μžλ™ λΈŒλΌμš°μ €: 생성 μ¦‰μ‹œ λΈŒλΌμš°μ €μ—μ„œ μ—΄λ¦Ό

πŸš€ λΉ λ₯Έ μ‹œμž‘

Next.js ν”„λ‘œμ νŠΈμ—μ„œ λ°”λ‘œ μ‹€ν–‰

# ν˜„μž¬ 디렉터리 뢄석 (κΈ°λ³Έ: κ·Έλž˜ν”„ λ‹€μ΄μ–΄κ·Έλž¨)
npx @choi2021/next-route-visualizer

# μΈν„°λž™ν‹°λΈŒ HTML 리포트 생성
npx @choi2021/next-route-visualizer report

# νŠΉμ • ν”„λ‘œμ νŠΈ 뢄석
npx @choi2021/next-route-visualizer ./my-next-app
npx @choi2021/next-route-visualizer report ./my-next-app

λͺ…λ Ήμ–΄ μ˜΅μ…˜

# κΈ°λ³Έ κ·Έλž˜ν”„ μ‹œκ°ν™”
npx @choi2021/next-route-visualizer map [project-path]

# μΈν„°λž™ν‹°λΈŒ HTML 리포트
npx @choi2021/next-route-visualizer report [project-path] [-o output.html]

κ²°κ³Ό

κ·Έλž˜ν”„ μ‹œκ°ν™” (map λͺ…λ Ήμ–΄):

  • route-graph.json - 라우트 데이터
  • route-visualizer.html - λ…Έλ“œ-링크 κ·Έλž˜ν”„ μ‹œκ°ν™”

HTML 리포트 (report λͺ…λ Ήμ–΄):

  • route-graph.json - 라우트 데이터
  • route-report.html - νŽ˜μ΄μ§€ μ„ νƒν˜• μΈν„°λž™ν‹°λΈŒ 리포트

πŸ“‹ μ‹œμŠ€ν…œ μš”κ΅¬μ‚¬ν•­

  • Node.js 14.0.0 이상
  • Next.js ν”„λ‘œμ νŠΈ (pages/ λ˜λŠ” src/pages/ ꡬ쑰)

πŸ’‘ μ‚¬μš© μ˜ˆμ‹œ

$ npx @choi2021/next-route-visualizer report

πŸ“Š Next.js Route HTML Report Generator v1.0.0

πŸ”„ 라우트 뢄석 쀑...
πŸ“Š HTML 리포트 생성 쀑...

βœ… HTML λ¦¬ν¬νŠΈκ°€ μƒμ„±λ˜μ—ˆμŠ΅λ‹ˆλ‹€: route-report.html
πŸ“Š 총 9개 νŽ˜μ΄μ§€, 139개 μ—°κ²° 뢄석 μ™„λ£Œ

🌐 λΈŒλΌμš°μ €μ—μ„œ 리포트λ₯Ό μ—΄μ—ˆμŠ΅λ‹ˆλ‹€!

🎨 μ‹œκ°ν™” λͺ¨λ“œ

1. πŸ“ˆ κ·Έλž˜ν”„ λ‹€μ΄μ–΄κ·Έλž¨ (map)

  • 컬러 μ½”λ”©: νŽ˜μ΄μ§€(νŒŒλž€μƒ‰), 닀이내믹 라우트(주황색)
  • μΈν„°λž™ν‹°λΈŒ κ·Έλž˜ν”„: λ…Έλ“œ λ“œλž˜κ·Έ, 쀌 인/아웃, 팬
  • μ„ΈλΆ€ 정보: ν˜Έλ²„μ‹œ 파일 경둜, μ½”λ“œ μŠ€λ‹ˆνŽ«, 라인 번호 ν‘œμ‹œ
  • μ—°κ²° 좔적: νŽ˜μ΄μ§€κ°„ λ„€λΉ„κ²Œμ΄μ…˜ 관계 μ‹œκ°ν™”

2. πŸ“‹ μΈν„°λž™ν‹°λΈŒ 리포트 (report)

  • μ‚¬μ΄λ“œλ°”: μ—°κ²° 수 κΈ°μ€€ μ •λ ¬λœ νŽ˜μ΄μ§€ λͺ©λ‘
  • νŽ˜μ΄μ§€ 상세: μ„ νƒλœ νŽ˜μ΄μ§€μ˜ incoming/outgoing μ—°κ²° ν‘œμ‹œ
  • ν”„λ‘œμ νŠΈ 톡계: 전체 νŽ˜μ΄μ§€, μ—°κ²° 수, 평균 μ—°κ²° 수
  • 검색 κΈ°λŠ₯: νŽ˜μ΄μ§€ 경둜 μ‹€μ‹œκ°„ 검색
  • 클릭 λ„€λΉ„κ²Œμ΄μ…˜: μ—°κ²°λœ νŽ˜μ΄μ§€ κ°„ μ‰¬μš΄ 이동

πŸ“Š 좜λ ₯ 데이터 ꡬ쑰

route-graph.json의 ꡬ쑰:

{
  "nodes": [
    {
      "id": "/",
      "path": "/",
      "type": "page",
      "filePath": "pages/index.tsx",
      "fileSize": 2203,
      "metadata": { "depth": 0, "segments": [""] }
    }
  ],
  "edges": [
    {
      "source": "/",
      "target": "/about",
      "method": "link",
      "lineNumber": 25,
      "codeSnippet": "<Link href='/about'>",
      "fileName": "pages/index.tsx"
    }
  ],
  "summary": {
    "totalPages": 9,
    "totalConnections": 139,
    "avgConnections": 15.4
  }
}

πŸ” μ—°κ²° 뢄석 νƒ€μž…

  • link: Next.js Link μ»΄ν¬λ„ŒνŠΈ
  • router: router.push(), router.replace() λ“±
  • component: μ»΄ν¬λ„ŒνŠΈλ₯Ό ν†΅ν•œ κ°„μ ‘ λ„€λΉ„κ²Œμ΄μ…˜

πŸ› οΈ 개발 및 디버깅

둜컬 개발

git clone https://github.com/your-username/next-route-map.git
cd next-route-map
npm install
npm run build

# 예제 ν”„λ‘œμ νŠΈ ν…ŒμŠ€νŠΈ
npm run test:example

# HTML 리포트 ν…ŒμŠ€νŠΈ
npm run test:report

🀝 κΈ°μ—¬ν•˜κΈ°

버그 λ¦¬ν¬νŠΈμ™€ κΈ°λŠ₯ μ œμ•ˆμ€ GitHub Issuesμ—μ„œ ν™˜μ˜ν•©λ‹ˆλ‹€.

πŸ“„ λΌμ΄μ„ μŠ€

MIT License

⭐ ν”„λ‘œμ νŠΈκ°€ μœ μš©ν•˜λ‹€λ©΄ GitHubμ—μ„œ λ³„ν‘œλ₯Ό λˆŒλŸ¬μ£Όμ„Έμš”!

🎯 κ³ κΈ‰ 뢄석 κΈ°λŠ₯ (v1.1.0)

동적 ν•¨μˆ˜ 뢄석

이제 λ‹€μŒκ³Ό 같은 λ³΅μž‘ν•œ λ„€λΉ„κ²Œμ΄μ…˜ νŒ¨ν„΄λ„ μ •ν™•νžˆ λΆ„μ„ν•©λ‹ˆλ‹€:

// 1. 쑰건뢀 동적 ν•¨μˆ˜ (βœ… λͺ¨λ“  κ°€λŠ₯ν•œ 경둜 감지)
const getRoute = () => {
  if (condition) {
    return V2_Routes.ADMIN_PANEL(); // β†’ /v2/admin/panel
  } else {
    return Routes.PROFILE(); // β†’ /profile
  }
};

const handleClick = () => {
  Router.push(getRoute()); // 두 경둜 λͺ¨λ‘ μ‹œκ°ν™”λ¨!
};

// 2. ν™”μ‚΄ν‘œ ν•¨μˆ˜ Routes μƒμˆ˜ (βœ… 지원)
export const V2_Routes = {
  ADMIN_PANEL: () => "/v2/admin/panel",
  USER_PROFILE: (id) => `/v2/user/${id}`,
};

// 3. getServerSideProps λ¦¬λ””λ ‰μ…˜ (βœ… 지원)
export async function getServerSideProps() {
  if (!authenticated) {
    return { redirect: { destination: "/login" } };
  }
}

// 4. λŒ€μ†Œλ¬Έμž ꡬ뢄 (βœ… λͺ¨λ‘ 감지)
Router.push(Routes.HOME()); // λŒ€λ¬Έμž Router
router.push(Routes.PROFILE()); // μ†Œλ¬Έμž router

μ§€μ›ν•˜λŠ” λ„€λΉ„κ²Œμ΄μ…˜ νŒ¨ν„΄

  • βœ… 정적 경둜: "/dashboard", '/profile'
  • βœ… Routes μƒμˆ˜: Routes.HOME, ROUTES.DASHBOARD
  • βœ… ν•¨μˆ˜ν˜• Routes: Routes.PROFILE(), V2_Routes.ADMIN()
  • βœ… 동적 ν•¨μˆ˜ 호좜: Router.push(getRoute())
  • βœ… 쑰건뢀 리턴: if/else 블둝 λ‚΄ λ„€λΉ„κ²Œμ΄μ…˜
  • βœ… ν…œν”Œλ¦Ώ λ¦¬ν„°λŸ΄: `/dashboard?tab=${tab}`
  • βœ… getServerSideProps λ¦¬λ””λ ‰μ…˜
  • βœ… useEffect λ‚΄ λ„€λΉ„κ²Œμ΄μ…˜
  • βœ… ν›… 기반 λ„€λΉ„κ²Œμ΄μ…˜

Keywords

nextjs

FAQs

Package last updated on 06 Jun 2025

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

About

Packages

Stay in touch

Get open source security insights delivered straight into your inbox.

  • Terms
  • Privacy
  • Security

Made with ⚑️ by Socket Inc

U.S. Patent No. 12,346,443 & 12,314,394. Other pending.