UNPKG

tess-framework

Version:

Lightweight TypeScript/Rust full-stack framework with Vue 3 + Vite

39 lines 1.7 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.runCommand = runCommand; const chalk_1 = __importDefault(require("chalk")); const cross_spawn_1 = __importDefault(require("cross-spawn")); const path_1 = __importDefault(require("path")); const fs_extra_1 = __importDefault(require("fs-extra")); async function runCommand(script) { const projectRoot = process.cwd(); const packageJsonPath = path_1.default.join(projectRoot, '.v', 'system', 'package.json'); if (!await fs_extra_1.default.pathExists(packageJsonPath)) { console.error(chalk_1.default.red('✖ Not a Tess project. Run "tess init" first.')); process.exit(1); } const packageJson = await fs_extra_1.default.readJSON(packageJsonPath); const scripts = packageJson.scripts || {}; if (!scripts[script]) { console.error(chalk_1.default.red(`✖ Script "${script}" not found in package.json`)); console.log(chalk_1.default.cyan('Available scripts:')); Object.keys(scripts).forEach(name => { console.log(chalk_1.default.white(` ${name}: ${scripts[name]}`)); }); process.exit(1); } console.log(chalk_1.default.cyan(`🚀 Running script: ${script}`)); const runProcess = (0, cross_spawn_1.default)('npm', ['run', script], { stdio: 'inherit', cwd: path_1.default.join(projectRoot, '.v', 'system'), shell: true }); process.on('SIGINT', () => { runProcess.kill(); process.exit(); }); } //# sourceMappingURL=run.js.map