// Копирует нужные файлы в .next/standalone/ после билда
const fs = require('fs');
const path = require('path');

function copyDir(src, dest) {
    if (!fs.existsSync(src)) return;
    fs.mkdirSync(dest, { recursive: true });
    for (const entry of fs.readdirSync(src, { withFileTypes: true })) {
        const srcPath = path.join(src, entry.name);
        const destPath = path.join(dest, entry.name);
        if (entry.isDirectory()) {
            copyDir(srcPath, destPath);
        } else {
            fs.copyFileSync(srcPath, destPath);
        }
    }
}

function copyFile(src, dest) {
    if (!fs.existsSync(src)) return;
    fs.mkdirSync(path.dirname(dest), { recursive: true });
    fs.copyFileSync(src, dest);
    console.log(`  ✓ ${path.basename(src)}`);
}

const root = path.join(__dirname, '..');
const standalone = path.join(root, '.next', 'standalone');

console.log('Копирую файлы в .next/standalone/...');

// public/ → .next/standalone/public/
copyDir(path.join(root, 'public'), path.join(standalone, 'public'));
console.log('  ✓ public/');

// .next/static/ → .next/standalone/.next/static/
copyDir(path.join(root, '.next', 'static'), path.join(standalone, '.next', 'static'));
console.log('  ✓ .next/static/');

// init/ → .next/standalone/init/  (нужно для SQLite seed)
copyDir(path.join(root, 'init'), path.join(standalone, 'init'));
console.log('  ✓ init/');

// .env.local → .next/standalone/.env.local  (переменные окружения для локального запуска)
copyFile(path.join(root, '.env.local'), path.join(standalone, '.env.local'));

// .env → .next/standalone/.env  (если есть)
copyFile(path.join(root, '.env'), path.join(standalone, '.env'));

console.log('✓ standalone готов к запуску');
