[{"data":1,"prerenderedAt":536},["ShallowReactive",2],{"navigation":3,"index":51},[4,23,41],{"title":5,"path":6,"stem":7,"children":8,"icon":22},"Getting Started","\u002Fgetting-started","1.getting-started\u002F1.index",[9,12,17],{"title":10,"path":6,"stem":7,"icon":11},"Introduction","i-lucide-house",{"title":13,"path":14,"stem":15,"icon":16},"Installation","\u002Fgetting-started\u002Finstallation","1.getting-started\u002F2.installation","i-lucide-download",{"title":18,"path":19,"stem":20,"icon":21},"How to Use","\u002Fgetting-started\u002Fusage","1.getting-started\u002F3.usage","i-lucide-play",false,{"title":24,"path":25,"stem":26,"children":27,"icon":30},"Configuration","\u002Fconfiguration","2.configuration\u002F1.index",[28,31,36],{"title":29,"path":25,"stem":26,"icon":30},"Overview","i-lucide-settings",{"title":32,"path":33,"stem":34,"icon":35},"rootModule","\u002Fconfiguration\u002Froot-module","2.configuration\u002F2.root-module","i-lucide-git-branch",{"title":37,"path":38,"stem":39,"icon":40},"outputs","\u002Fconfiguration\u002Foutputs","2.configuration\u002F3.outputs","i-lucide-file-output",{"title":42,"path":43,"stem":44,"children":45,"page":22},"Guide","\u002Fguide","3.guide",[46],{"title":47,"path":48,"stem":49,"icon":50},"How It Works","\u002Fguide\u002Fhow-it-works","3.guide\u002F1.how-it-works","i-lucide-workflow",{"id":52,"title":53,"body":54,"description":53,"extension":528,"meta":529,"navigation":201,"path":530,"seo":531,"stem":534,"__hash__":535},"landing\u002Findex.md","",{"type":55,"value":56,"toc":526},"minimark",[57,348,453,507,522],[58,59,65,71,84,98,125],"u-page-hero",{"className":60,"orientation":64},[61,62,63],"dark:bg-gradient-to-b","from-neutral-900","to-neutral-950","horizontal",[66,67,68],"template",{"v-slot:top":53},[69,70],"hero-background",{},[66,72,73],{"v-slot:title":53},[74,75,76,77,83],"p",{},"Visualize Your ",[78,79,82],"span",{"className":80},[81],"text-primary","NestJS"," Architecture.",[66,85,86],{"v-slot:description":53},[74,87,88,89,93,94,97],{},"Generate ",[90,91,92],"strong",{},"runtime dependency graphs"," directly from the Nest application container. Explore them dynamically in an ",[90,95,96],{},"Interactive Web Viewer"," or export to JSON format. See modules, providers, controllers, and every dependency at a glance.",[66,99,100,108,117],{"v-slot:links":53},[101,102,105],"u-button",{"size":103,"to":6,"trailing-icon":104},"xl","i-lucide-arrow-right",[74,106,107],{},"Get Started",[101,109,114],{"size":103,"to":110,"color":111,"icon":112,"variant":113},"\u002Fview","neutral","i-lucide-network","outline",[74,115,116],{},"View Graph and Inspect",[101,118,122],{"size":103,"to":119,"color":111,"icon":120,"variant":113,"target":121},"https:\u002F\u002Fgithub.com\u002Falbasyir\u002Fnest-graph-inspector","i-simple-icons-github","_blank",[74,123,124],{},"View on GitHub",[126,127,130],"prose-pre",{"code":128,"filename":129},"import { Module } from '@nestjs\u002Fcommon';\nimport { NestGraphInspector } from 'nest-graph-inspector';\n\n@Module({\n  imports: [\n    NestGraphInspector.forRoot({\n      outputs: [\n        { type: 'viewer', origin: 'http:\u002F\u002Flocalhost:9999' }\n      ],\n    }),\n  ],\n})\nexport class RootModule {}\n","root.module.ts",[131,132,135],"pre",{"className":133,"code":128,"filename":129,"language":134,"meta":53,"style":53},"language-ts shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","ts",[136,137,138,173,196,203,219,232,248,258,294,303,314,322,331],"code",{"__ignoreMap":53},[78,139,142,146,150,154,157,160,163,167,170],{"class":140,"line":141},"line",1,[78,143,145],{"class":144},"s7zQu","import",[78,147,149],{"class":148},"sMK4o"," {",[78,151,153],{"class":152},"sTEyZ"," Module",[78,155,156],{"class":148}," }",[78,158,159],{"class":144}," from",[78,161,162],{"class":148}," '",[78,164,166],{"class":165},"sfazB","@nestjs\u002Fcommon",[78,168,169],{"class":148},"'",[78,171,172],{"class":148},";\n",[78,174,176,178,180,183,185,187,189,192,194],{"class":140,"line":175},2,[78,177,145],{"class":144},[78,179,149],{"class":148},[78,181,182],{"class":152}," NestGraphInspector",[78,184,156],{"class":148},[78,186,159],{"class":144},[78,188,162],{"class":148},[78,190,191],{"class":165},"nest-graph-inspector",[78,193,169],{"class":148},[78,195,172],{"class":148},[78,197,199],{"class":140,"line":198},3,[78,200,202],{"emptyLinePlaceholder":201},true,"\n",[78,204,206,209,213,216],{"class":140,"line":205},4,[78,207,208],{"class":148},"@",[78,210,212],{"class":211},"s2Zo4","Module",[78,214,215],{"class":152},"(",[78,217,218],{"class":148},"{\n",[78,220,222,226,229],{"class":140,"line":221},5,[78,223,225],{"class":224},"swJcz","  imports",[78,227,228],{"class":148},":",[78,230,231],{"class":152}," [\n",[78,233,235,238,241,244,246],{"class":140,"line":234},6,[78,236,237],{"class":152},"    NestGraphInspector",[78,239,240],{"class":148},".",[78,242,243],{"class":211},"forRoot",[78,245,215],{"class":152},[78,247,218],{"class":148},[78,249,251,254,256],{"class":140,"line":250},7,[78,252,253],{"class":224},"      outputs",[78,255,228],{"class":148},[78,257,231],{"class":152},[78,259,261,264,267,269,271,274,276,279,282,284,286,289,291],{"class":140,"line":260},8,[78,262,263],{"class":148},"        {",[78,265,266],{"class":224}," type",[78,268,228],{"class":148},[78,270,162],{"class":148},[78,272,273],{"class":165},"viewer",[78,275,169],{"class":148},[78,277,278],{"class":148},",",[78,280,281],{"class":224}," origin",[78,283,228],{"class":148},[78,285,162],{"class":148},[78,287,288],{"class":165},"http:\u002F\u002Flocalhost:9999",[78,290,169],{"class":148},[78,292,293],{"class":148}," }\n",[78,295,297,300],{"class":140,"line":296},9,[78,298,299],{"class":152},"      ]",[78,301,302],{"class":148},",\n",[78,304,306,309,312],{"class":140,"line":305},10,[78,307,308],{"class":148},"    }",[78,310,311],{"class":152},")",[78,313,302],{"class":148},[78,315,317,320],{"class":140,"line":316},11,[78,318,319],{"class":152},"  ]",[78,321,302],{"class":148},[78,323,325,328],{"class":140,"line":324},12,[78,326,327],{"class":148},"}",[78,329,330],{"class":152},")\n",[78,332,334,337,341,345],{"class":140,"line":333},13,[78,335,336],{"class":144},"export",[78,338,340],{"class":339},"spNyl"," class",[78,342,344],{"class":343},"sBMFI"," RootModule",[78,346,347],{"class":148}," {}\n",[349,350,353,358,367],"u-page-section",{"className":351},[352],"dark:bg-neutral-950",[66,354,355],{"v-slot:title":53},[74,356,357],{},"Why Nest Graph Inspector?",[66,359,360],{"v-slot:description":53},[74,361,362,363,366],{},"Understand your NestJS architecture without digging through code. The graph is generated from the ",[90,364,365],{},"runtime Nest container",", not static source parsing.",[66,368,369,382,395,407,420,433],{"v-slot:features":53},[370,371,372,377],"u-page-feature",{"icon":35},[66,373,374],{"v-slot:title":53},[74,375,376],{},"Module Dependency Graph",[66,378,379],{"v-slot:description":53},[74,380,381],{},"Automatically maps import relationships between all loaded modules from your root module, giving you a clear view of your application structure.",[370,383,385,390],{"icon":384},"i-lucide-boxes",[66,386,387],{"v-slot:title":53},[74,388,389],{},"Provider & Controller Mapping",[66,391,392],{"v-slot:description":53},[74,393,394],{},"Lists every provider and controller in each module alongside their dependency chains, so you know exactly what depends on what.",[370,396,398,402],{"icon":397},"i-lucide-layout-dashboard",[66,399,400],{"v-slot:title":53},[74,401,96],{},[66,403,404],{"v-slot:description":53},[74,405,406],{},"Explore your dependency graph dynamically in the browser. Zoom, pan, and inspect nodes to understand your architecture with ease.",[370,408,410,415],{"icon":409},"i-lucide-braces",[66,411,412],{"v-slot:title":53},[74,413,414],{},"JSON Output",[66,416,417],{"v-slot:description":53},[74,418,419],{},"Get structured JSON output for programmatic analysis, custom tooling, or integration with your CI\u002FCD pipeline.",[370,421,423,428],{"icon":422},"i-lucide-zap",[66,424,425],{"v-slot:title":53},[74,426,427],{},"Runtime Introspection",[66,429,430],{"v-slot:description":53},[74,431,432],{},"Built on the actual Nest runtime container — what you see is what's really running. No guesswork from static analysis.",[370,434,436,441],{"icon":435},"i-lucide-plug",[66,437,438],{"v-slot:title":53},[74,439,440],{},"Drop-in Module",[66,442,443],{"v-slot:description":53},[74,444,445,446,448,449,452],{},"Just import the module with ",[136,447,243],{}," or ",[136,450,451],{},"forRootAsync"," and you're done. No decorators to add, no code to change. Works with NestJS 10-11.",[349,454,456,461,466],{"className":455},[352],[66,457,458],{"v-slot:title":53},[74,459,460],{},"Use Cases",[66,462,463],{"v-slot:description":53},[74,464,465],{},"Real problems this solves for your team.",[66,467,468,481,494],{"v-slot:features":53},[370,469,471,476],{"icon":470},"i-lucide-target",[66,472,473],{"v-slot:title":53},[74,474,475],{},"Impact Analysis",[66,477,478],{"v-slot:description":53},[74,479,480],{},"Narrow regression test scope to relevant modules, understand blast radius before making a change, and reduce unnecessary testing for unrelated areas.",[370,482,484,489],{"icon":483},"i-lucide-list-checks",[66,485,486],{"v-slot:title":53},[74,487,488],{},"Test Prioritization",[66,490,491],{"v-slot:description":53},[74,492,493],{},"Select critical providers for fast validation, understand dependency chains between providers\u002Fcontrollers, and prioritize which flows to check first.",[370,495,497,502],{"icon":496},"i-lucide-eye",[66,498,499],{"v-slot:title":53},[74,500,501],{},"Architecture Visibility",[66,503,504],{"v-slot:description":53},[74,505,506],{},"Onboard engineers faster, spot highly coupled modules\u002Fproviders, and make refactors safer by visualizing relationships before changes.",[349,508,512],{"className":509},[61,510,511],"from-neutral-950","to-neutral-900",[513,514,519],"u-page-c-t-a",{":links":515,"className":516,"description":517,"title":518},"[{\"label\":\"Get Started\",\"to\":\"\u002Fgetting-started\",\"trailingIcon\":\"i-lucide-arrow-right\"},{\"label\":\"View Graph and Inspect\",\"to\":\"\u002Fview\",\"icon\":\"i-lucide-network\",\"variant\":\"subtle\"},{\"label\":\"GitHub\",\"to\":\"https:\u002F\u002Fgithub.com\u002Falbasyir\u002Fnest-graph-inspector\",\"target\":\"_blank\",\"variant\":\"subtle\",\"icon\":\"i-simple-icons-github\"}]",[352],"Install in seconds, get a full graph of your NestJS application on the next run.","Ready to see your dependency graph?",[520,521],"stars-bg",{},[523,524,525],"style",{},"html pre.shiki code .s7zQu, html code.shiki .s7zQu{--shiki-light:#39ADB5;--shiki-light-font-style:italic;--shiki-default:#89DDFF;--shiki-default-font-style:italic;--shiki-dark:#89DDFF;--shiki-dark-font-style:italic}html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html pre.shiki code .sTEyZ, html code.shiki .sTEyZ{--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}html pre.shiki code .s2Zo4, html code.shiki .s2Zo4{--shiki-light:#6182B8;--shiki-default:#82AAFF;--shiki-dark:#82AAFF}html pre.shiki code .swJcz, html code.shiki .swJcz{--shiki-light:#E53935;--shiki-default:#F07178;--shiki-dark:#F07178}html pre.shiki code .spNyl, html code.shiki .spNyl{--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA}html pre.shiki code .sBMFI, html code.shiki .sBMFI{--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"title":53,"searchDepth":141,"depth":175,"links":527},[],"md",{},"\u002F",{"title":532,"description":533},"Nest Graph Inspector - Runtime Dependency Graph for NestJS","Generate runtime dependency graphs and explore them via an Interactive Web Viewer or JSON format from your NestJS application container.","index","mVIUrWQPsGltsfLyHs2dsKln6gNsBVe6dHMYWxNlMic",1775919715947]