Skip to main content
Glama
index-dashboards.cjs1.82 kB
/** * Script to generate a dashboard index file from individual dashboard JSON files */ const fs = require('fs'); const path = require('path'); // Path to dashboards directory const dashboardsDir = path.join(process.cwd(), 'dashboards'); // Path to output file const outputFile = path.join(process.cwd(), 'scripts', 'dashboards-index.js'); // Read all dashboard files try { console.log('Reading dashboard files from:', dashboardsDir); const files = fs.readdirSync(dashboardsDir).filter(file => file.endsWith('.json')); console.log(`Found ${files.length} dashboard files`); // Read and parse each file const dashboards = files.map(file => { try { const content = fs.readFileSync(path.join(dashboardsDir, file), 'utf8'); return JSON.parse(content); } catch (error) { console.error(`Error reading dashboard file ${file}:`, error); return null; } }).filter(Boolean); // Generate the output file content const timestamp = new Date().toISOString(); const outputContent = `// Generated from local dashboard files // Timestamp: ${timestamp} // Total dashboards: ${dashboards.length} export const DASHBOARDS_INDEX = ${JSON.stringify(dashboards, null, 2)}; `; // Write the output file fs.writeFileSync(outputFile, outputContent, 'utf8'); console.log(`Dashboard index generated successfully: ${outputFile}`); // Create TypeScript declaration file const declarationFile = path.join(process.cwd(), 'scripts', 'dashboards-index.d.ts'); const declarationContent = `export declare const DASHBOARDS_INDEX: any[]; `; fs.writeFileSync(declarationFile, declarationContent, 'utf8'); console.log(`TypeScript declaration file generated: ${declarationFile}`); } catch (error) { console.error('Error generating dashboard index:', error); process.exit(1); }

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/hithereiamaliff/mcp-datagovmy'

If you have feedback or need assistance with the MCP directory API, please join our Discord server