dhis2_configure_build_system
Configure build system for DHIS2 apps by setting up d2.config.js, webpack, entry points, custom authorities, PWA features, and proxy options to streamline development and deployment.
Instructions
Set up build system configuration for DHIS2 app (d2.config.js, webpack, etc.)
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| appName | Yes | Name of the application | |
| customAuthorities | No | Custom authorities required by the app | |
| entryPoints | No | ||
| proxy | No | ||
| publicPath | No | Public path for assets (for CDN deployment) | |
| pwa | No |
Implementation Reference
- src/index.ts:985-995 (handler)MCP server request handler for the tool. Receives arguments, calls generateBuildSystemConfig from webapp-generators.ts, and returns generated configuration as text content.case 'dhis2_configure_build_system': const buildSystemArgs = args as any; const buildConfig = generateBuildSystemConfig(buildSystemArgs); return { content: [ { type: 'text', text: buildConfig, }, ], };
- src/webapp-generators.ts:197-245 (handler)Core implementation function that generates comprehensive DHIS2 build system configuration: d2.config.js content, build commands, proxy setup, PWA config, and environment variables.export function generateBuildSystemConfig(args: any): string { const { appName, entryPoints, customAuthorities, pwa, publicPath, proxy } = args; const d2Config = { type: 'app', name: appName, title: appName.split('-').map((word: string) => word.charAt(0).toUpperCase() + word.slice(1)).join(' '), ...(entryPoints && { entryPoints }), ...(customAuthorities && { authorities: customAuthorities }), ...(pwa && { pwa }), ...(publicPath && { publicPath }) }; return `# DHIS2 Build System Configuration ## d2.config.js \`\`\`javascript const config = ${JSON.stringify(d2Config, null, 2)}; module.exports = config; \`\`\` ## Build Commands \`\`\`bash # Development server yarn start # Production build yarn build # Deploy to DHIS2 instance yarn deploy # Build and analyze bundle yarn build --analyze \`\`\` ${proxy ? generateProxyConfig(proxy) : ''} ${pwa ? generatePWABuildConfig() : ''} ## Environment Configuration \`\`\`bash # .env.local REACT_APP_DHIS2_BASE_URL=https://your-dhis2-instance.com REACT_APP_DHIS2_API_VERSION=40 \`\`\` `; }
- src/permission-system.ts:135-135 (registration)Tool permission registration mapping 'dhis2_configure_build_system' to 'canConfigureApps' permission check.['dhis2_configure_build_system', 'canConfigureApps'],
- src/index.ts:35-36 (helper)Import of generateBuildSystemConfig function used by the tool handler.} from './webapp-generators.js'; import {