@@ -7,6 +7,7 @@ import { discoverFastAPIApps } from "./appDiscovery"
77import { clearImportCache } from "./core/importResolver"
88import { Parser } from "./core/parser"
99import { stripLeadingDynamicSegments } from "./core/pathUtils"
10+ import { collectRoutes , countRouters } from "./core/treeUtils"
1011import type { AppDefinition , SourceLocation } from "./core/types"
1112import {
1213 type EndpointTreeItem ,
@@ -16,8 +17,6 @@ import {
1617import { TestCodeLensProvider } from "./providers/testCodeLensProvider"
1718import { disposeLogger , log } from "./utils/logger"
1819import {
19- countRouters ,
20- countRoutes ,
2120 createTimer ,
2221 flushSessionSummary ,
2322 getInstalledVersions ,
@@ -110,7 +109,7 @@ export async function activate(context: vscode.ExtensionContext) {
110109 trackActivation ( {
111110 duration_ms : elapsed ( ) ,
112111 success,
113- routes_count : countRoutes ( apps ) ,
112+ routes_count : collectRoutes ( apps ) . length ,
114113 routers_count : countRouters ( apps ) ,
115114 apps_count : apps . length ,
116115 workspace_folder_count : vscode . workspace . workspaceFolders ?. length ?? 0 ,
@@ -139,7 +138,7 @@ export async function activate(context: vscode.ExtensionContext) {
139138 } )
140139 }
141140
142- const endpointProvider = new EndpointTreeProvider ( apps , groupApps )
141+ const endpointProvider = new EndpointTreeProvider ( apps , groupApps ( apps ) )
143142 const codeLensProvider = new TestCodeLensProvider ( parserService , apps )
144143
145144 // File watcher for auto-refresh
@@ -149,7 +148,7 @@ export async function activate(context: vscode.ExtensionContext) {
149148 refreshTimeout = setTimeout ( async ( ) => {
150149 if ( ! parserService ) return
151150 const newApps = await discoverFastAPIApps ( parserService )
152- endpointProvider . setApps ( newApps , groupApps )
151+ endpointProvider . setApps ( newApps , groupApps ( newApps ) )
153152 codeLensProvider . setApps ( newApps )
154153 } , 300 )
155154 }
@@ -215,7 +214,7 @@ function registerCommands(
215214 if ( ! parserService ) return
216215 clearImportCache ( )
217216 const newApps = await discoverFastAPIApps ( parserService )
218- endpointProvider . setApps ( newApps , groupApps )
217+ endpointProvider . setApps ( newApps , groupApps ( newApps ) )
219218 codeLensProvider . setApps ( newApps )
220219 } ,
221220 ) ,
@@ -235,8 +234,7 @@ function registerCommands(
235234 async ( ) => {
236235 const workspacePrefix =
237236 vscode . workspace . workspaceFolders ?. [ 0 ] ?. uri . fsPath ?? ""
238- const items = endpointProvider
239- . getAllRoutes ( )
237+ const items = collectRoutes ( endpointProvider . getApps ( ) )
240238 . map ( ( route ) => {
241239 const path = stripLeadingDynamicSegments ( route . path )
242240 return {
0 commit comments