#!/usr/bin/env node const path = require('path'); const { execSync } = require('child_process'); // Получаем подкоманду и дополнительные аргументы const [,, command, ...args] = process.argv; // Функция для выполнения команды function runCommand(cmd) { try { execSync(`${cmd} ${args.join(' ')}`, { stdio: 'inherit' }); } catch (error) { console.error(`Error running command: ${cmd}`); console.error(error.message); process.exit(1); } } // Определение пути к конфигурации const configs = { dev: path.resolve(__dirname, '../bundler/webpack.dev.js'), prod: path.resolve(__dirname, '../bundler/webpack.prod.js'), staging: path.resolve(__dirname, '../bundler/webpack.staging.js'), }; // Обработка подкоманд switch (command) { case 'dev': runCommand(`webpack --config ${configs.dev}`); break; case 'prod': runCommand(`webpack --config ${configs.prod}`); break; case 'staging': runCommand(`webpack --config ${configs.staging}`); break; case 'watch': runCommand(`webpack serve --config ${configs.dev}`); break; default: console.error(`Unknown command: ${command}`); console.error('Available commands: dev, prod, staging, watch'); process.exit(1); }