Advanced Patterns
Dynamic Blueprints & Conditional Generation
Advanced techniques for blueprint authors.
Dynamic Blueprint Functions
export default function(config: MergedConfiguration): BlueprintAction[] {
const actions = [];
// Always add core
actions.push(...generateCoreActions(config));
// Conditional features
if (config.activeFeatures.includes('auth')) {
actions.push(...generateAuthActions(config));
}
if (config.activeFeatures.includes('payments')) {
actions.push(...generatePaymentActions(config));
}
return actions;
}forEach Patterns
Loop Over Components
{
forEach: 'module.parameters.components',
type: 'CREATE_FILE',
path: 'components/ui/{{item}}.tsx',
template: 'component.ejs'
}Loop Over Database Tables
{
forEach: 'module.parameters.tables',
type: 'CREATE_FILE',
path: 'src/app/api/{{item}}/route.ts',
template: 'api-route.ejs',
data: { tableName: '{{item}}' }
}