@@ -6,8 +6,10 @@ import { readdirSync, statSync, readFileSync, writeFileSync, mkdirSync, existsSy
66import { join , resolve } from "path" ;
77
88const componentsDir = resolve ( __dirname , "src/ui/components" ) ;
9- const entriesDir = resolve ( __dirname , "src/ui/entries" ) ;
9+ // Use node_modules/.cache for generated HTML entries - these are build artifacts, not source files
10+ const entriesDir = resolve ( __dirname , "node_modules/.cache/mongodb-mcp-server/ui-entries" ) ;
1011const templatePath = resolve ( __dirname , "src/ui/build/template.html" ) ;
12+ const mountPath = resolve ( __dirname , "src/ui/build/mount.tsx" ) ;
1113
1214/**
1315 * Discover all component directories in src/ui/components/
@@ -55,7 +57,8 @@ function generateHtmlEntries(): Plugin {
5557 // Generate HTML by replacing placeholders in template
5658 const html = template
5759 . replace ( "{{COMPONENT_NAME}}" , componentName )
58- . replace ( "{{TITLE}}" , componentName . replace ( / ( [ A - Z ] ) / g, " $1" ) . trim ( ) ) ; // "ListDatabases" -> "List Databases"
60+ . replace ( "{{TITLE}}" , componentName . replace ( / ( [ A - Z ] ) / g, " $1" ) . trim ( ) ) // "ListDatabases" -> "List Databases"
61+ . replace ( "{{MOUNT_PATH}}" , mountPath ) ;
5962
6063 const outputPath = join ( entriesDir , `${ componentName } .html` ) ;
6164 writeFileSync ( outputPath , html ) ;
@@ -70,7 +73,7 @@ const components = discoverComponents();
7073// https://vitejs.dev/config/
7174export default defineConfig ( {
7275 // Set root to entries directory so output paths are relative to it
73- root : resolve ( __dirname , "src/ui/entries" ) ,
76+ root : entriesDir ,
7477 plugins : [
7578 generateHtmlEntries ( ) ,
7679 // Cast to PluginOption due to Vite version mismatch in plugin types
0 commit comments