UNPKG

ruch

Version:

Revolutionary React TypeScript CLI with hexagonal architecture & AI-powered development assistance. Create maintainable, scalable applications with domain-driven design and integrated AI tooling.

58 lines 2.62 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.isVisualizationAppBuilt = exports.buildVisualizationApp = void 0; const child_process_1 = require("child_process"); const util_1 = require("util"); const path_1 = __importDefault(require("path")); const logger_1 = require("../utils/logger"); const file_operations_1 = require("../utils/file-operations"); const execAsync = (0, util_1.promisify)(child_process_1.exec); /** * Build the React visualization app */ const buildVisualizationApp = async () => { const fileSystem = (0, file_operations_1.createFileSystem)(); const appPath = path_1.default.join(__dirname, 'app'); const packageJsonPath = path_1.default.join(appPath, 'package.json'); try { // Check if the app directory exists const appExists = await (0, file_operations_1.validateFileExists)(fileSystem, appPath); if (!appExists) { logger_1.logger.error('Visualization app directory not found'); return; } // Check if package.json exists const packageJsonExists = await (0, file_operations_1.validateFileExists)(fileSystem, packageJsonPath); if (!packageJsonExists) { logger_1.logger.error('package.json not found in visualization app'); return; } logger_1.logger.info('📦 Installing visualization app dependencies...'); // Install dependencies await execAsync('npm install', { cwd: appPath }); logger_1.logger.info('🔨 Building visualization app...'); // Build the app await execAsync('npm run build', { cwd: appPath }); logger_1.logger.success('✅ Visualization app built successfully'); } catch (error) { logger_1.logger.error('❌ Failed to build visualization app:'); logger_1.logger.error(error instanceof Error ? error.message : String(error)); throw error; } }; exports.buildVisualizationApp = buildVisualizationApp; /** * Check if the visualization app is built */ const isVisualizationAppBuilt = async () => { const fileSystem = (0, file_operations_1.createFileSystem)(); const buildPath = path_1.default.join(__dirname, 'app', 'build'); const indexPath = path_1.default.join(buildPath, 'index.html'); return await (0, file_operations_1.validateFileExists)(fileSystem, indexPath); }; exports.isVisualizationAppBuilt = isVisualizationAppBuilt; //# sourceMappingURL=build-app.js.map