Jake Shore 96e52666c5 MCPEngine full sync — studio scaffold, factory v2, server updates, state.json — 2026-02-12
=== NEW ===
- studio/ — MCPEngine Studio scaffold (Next.js monorepo, build plan)
- docs/FACTORY-V2.md — Factory v2 architecture doc
- docs/CALENDLY_MCP_BUILD_SUMMARY.md — Calendly MCP build report

=== UPDATED SERVERS ===
- fieldedge: Added jobs-tools, UI build script, main entry update
- lightspeed: Updated main + server entry points
- squarespace: Added collection-browser + page-manager apps
- toast: Added main + server entry points

=== INFRA ===
- infra/command-center/state.json — Updated pipeline state
- infra/command-center/FACTORY-V2.md — Factory v2 operator playbook
2026-02-12 17:58:33 -05:00

46 lines
1.1 KiB
JavaScript

#!/usr/bin/env node
/**
* Build script for React UI apps
*/
import { execSync } from 'child_process';
import { readdirSync, statSync } from 'fs';
import { join } from 'path';
import { fileURLToPath } from 'url';
import { dirname } from 'path';
const __filename = fileURLToPath(import.meta.url);
const __dirname = dirname(__filename);
const reactAppDir = join(__dirname, '..', 'src', 'ui', 'react-app');
try {
const apps = readdirSync(reactAppDir).filter(file => {
const fullPath = join(reactAppDir, file);
return statSync(fullPath).isDirectory();
});
console.log(`Found ${apps.length} React apps to build`);
for (const app of apps) {
const appPath = join(reactAppDir, app);
console.log(`Building ${app}...`);
try {
execSync('npx vite build', {
cwd: appPath,
stdio: 'inherit',
});
console.log(`${app} built successfully`);
} catch (error) {
console.error(`✗ Failed to build ${app}`);
}
}
console.log('UI build complete');
} catch (error) {
console.error('Build failed:', error.message);
process.exit(1);
}