From e378692e6bd2e7dcb390fcc6e1e077fec0aa4a7d Mon Sep 17 00:00:00 2001 From: Ben Allfree Date: Thu, 4 Dec 2025 16:17:12 -0800 Subject: [PATCH] feat: display excluded modules and enabled plugins in BuildProgress component --- src/pages/BuildProgress.tsx | 82 +++++++++++++++++++++++++++++++++++++ 1 file changed, 82 insertions(+) diff --git a/src/pages/BuildProgress.tsx b/src/pages/BuildProgress.tsx index 4b6e4c8..3a83d60 100644 --- a/src/pages/BuildProgress.tsx +++ b/src/pages/BuildProgress.tsx @@ -15,6 +15,8 @@ import { Button } from '@/components/ui/button' import { humanizeStatus } from '@/lib/utils' import { api } from '../../convex/_generated/api' import { ArtifactType } from '../../convex/builds' +import modulesData from '../../convex/modules.json' +import registryData from '../../registry/registry.json' import { TARGETS } from '../constants/targets' export default function BuildProgress() { @@ -209,6 +211,24 @@ export default function BuildProgress() { return new Date(timestamp).toLocaleString() } + // Get excluded modules + const excludedModules = modulesData.modules.filter( + (module) => build.config.modulesExcluded[module.id] === true + ) + + // Get enabled plugins + const enabledPlugins = (build.config.pluginsEnabled || []).map((pluginId) => { + // Extract slug from "slug@version" format if present + const slug = pluginId.includes('@') ? pluginId.split('@')[0] : pluginId + const pluginData = (registryData as Record)[slug] + return { + id: slug, + name: pluginData?.name || slug, + description: pluginData?.description || '', + version: pluginId.includes('@') ? pluginId.split('@')[1] : pluginData?.version || '', + } + }) + return (
@@ -384,6 +404,68 @@ export default function BuildProgress() {
)} + {/* Build Configuration Summary */} + {(excludedModules.length > 0 || enabledPlugins.length > 0) && ( +
+ {/* Excluded Modules */} + {excludedModules.length > 0 && ( +
+

Excluded Modules

+
+
+ {excludedModules.map((module) => ( +
+

+ {module.name} +

+

+ {module.description} +

+
+ ))} +
+
+
+ )} + + {/* Enabled Plugins */} + {enabledPlugins.length > 0 && ( +
+

Enabled Plugins

+
+
+ {enabledPlugins.map((plugin) => ( +
+
+

+ {plugin.name} +

+ {plugin.version && ( + + v{plugin.version} + + )} +
+ {plugin.description && ( +

+ {plugin.description} +

+ )} +
+ ))} +
+
+
+ )} +
+ )} + {status === 'success' && build.buildHash && (