Skip to main content
Glama
push-based

Angular Toolkit MCP

by push-based
ds-components-file.validation.ts1.87 kB
import * as path from 'path'; import { AngularMcpServerOptions } from './angular-mcp-server-options.schema.js'; import { DsComponentsArraySchema } from './ds-components.schema.js'; import { loadDefaultExport } from '@push-based/utils'; export async function validateDeprecatedCssClassesFile( config: AngularMcpServerOptions, ): Promise<void> { const relPath = config.ds.deprecatedCssClassesPath; if (!relPath) { // Optional parameter not provided; nothing to validate return; } const deprecatedCssClassesAbsPath = path.resolve( config.workspaceRoot, relPath, ); const dsComponents = await loadDefaultExport(deprecatedCssClassesAbsPath); const validation = DsComponentsArraySchema.safeParse(dsComponents); if (!validation.success) { const actualType = Array.isArray(dsComponents) ? 'array' : typeof dsComponents; const exportedValue = dsComponents === undefined ? 'undefined' : dsComponents === null ? 'null' : JSON.stringify(dsComponents, null, 2).substring(0, 100) + (JSON.stringify(dsComponents).length > 100 ? '...' : ''); throw new Error( `Invalid deprecated CSS classes configuration format in: ${deprecatedCssClassesAbsPath}\n\n` + `Expected: Array of component objects\n` + `Received: ${actualType}\n` + `Value: ${exportedValue}\n\n` + `Fix options:\n` + `1. ES Module format:\n` + ` export default [\n` + ` { componentName: 'DsButton', deprecatedCssClasses: ['btn'] }\n` + ` ];\n\n` + `2. CommonJS format:\n` + ` module.exports = {\n` + ` dsComponents: [{ componentName: 'DsButton', deprecatedCssClasses: ['btn'] }]\n` + ` };\n\n` + `Schema errors: ${JSON.stringify(validation.error.format(), null, 2)}`, ); } }

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/push-based/angular-toolkit-mcp'

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