64 lines
1.6 KiB
JavaScript
64 lines
1.6 KiB
JavaScript
import inquirer from 'inquirer';
|
|
import { spawn } from 'child_process';
|
|
|
|
const modules = [
|
|
'msb-main-page',
|
|
'msb-operations-history',
|
|
'msb-deposits',
|
|
'msb-payments',
|
|
'msb-statements-and-inquiries',
|
|
'msb-accounts',
|
|
'msb-business-cards',
|
|
'msb-fea',
|
|
'msb-partner-check',
|
|
'msb-treasury-deals',
|
|
'msb-acquiring'
|
|
];
|
|
|
|
async function build() {
|
|
const questions = [
|
|
{
|
|
type: 'checkbox',
|
|
name: 'selectedModules',
|
|
message: 'Выберите модули для сборки:',
|
|
choices: modules,
|
|
},
|
|
];
|
|
|
|
const answers = await inquirer.prompt(questions);
|
|
const { selectedModules } = answers;
|
|
|
|
if (selectedModules.length === 0) {
|
|
console.log('Не выбрано ни одного модуля.');
|
|
|
|
return;
|
|
}
|
|
|
|
const scopeArguments = selectedModules.map(module => `--scope=${module}`);
|
|
|
|
const envPathIndex = process.argv.indexOf('--envPath');
|
|
const envPath = envPathIndex !== -1 && process.argv[envPathIndex + 1] ? process.argv[envPathIndex + 1] : '../../.env.development';
|
|
|
|
const lernaProcess = spawn(
|
|
'npx',
|
|
['cross-env', `ENV_PATH=${envPath}`, 'lerna', 'run', 'start', '--scope=msb-host', ...scopeArguments, '--stream'],
|
|
{ shell: true, stdio: 'inherit' }
|
|
);
|
|
|
|
lernaProcess.stdout.on('data', data => {
|
|
console.log(`${data}`);
|
|
});
|
|
|
|
lernaProcess.stderr.on('data', data => {
|
|
console.error(`${data}`);
|
|
});
|
|
|
|
lernaProcess.on('error', err => {
|
|
console.error(`Ошибка запуска процесса: ${err.message}`);
|
|
});
|
|
}
|
|
|
|
build().catch(error => {
|
|
console.error(`Произошла ошибка: ${error}`);
|
|
});
|