Files
mcb-platform-monorepo/scripts/build-modules.js
T
2025-12-08 14:48:44 +03:00

62 lines
1.5 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-fea',
'msb-partner-check',
'msb-treasury-deals',
];
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}`);
});