import { build } from 'vite';
import { exec } from 'child_process';
import { promisify } from 'util';

const execAsync = promisify(exec);

async function buildProject() {
  console.log('🚀 Начинаем сборку проекта...\n');

  try {
    // Линтинг перед сборкой
    console.log('🔍 Проверка кода...');
    await execAsync('npm run lint');
    console.log('✅ Код проверен\n');

    // Сборка
    console.log('📦 Сборка проекта...');
    await build();
    console.log('✅ Проект собран\n');

    // Анализ размера бандла
    console.log('📊 Анализ размера файлов...');
    await execAsync('npx vite-bundle-analyzer dist');

    console.log('🎉 Сборка завершена успешно!');
  } catch (error) {
    console.error('❌ Ошибка сборки:', error);
    process.exit(1);
  }
}

buildProject();
