#!/bin/bash # compile_ts_migrations.sh - Скрипт для компиляции TS миграций в JS echo "🔄 Компиляция TypeScript миграций в JavaScript..." # Проверка наличия TypeScript файлов if [ ! -f "migrations/*.ts" ] && [ ! -d "node_modules/typescript" ]; then echo "📦 Установка TypeScript..." npm install --no-save typescript fi # Создание временного tsconfig для миграций echo "📝 Создание временного tsconfig.json для миграций..." cat > migrations/tsconfig.json << EOL { "compilerOptions": { "target": "es2020", "module": "commonjs", "esModuleInterop": true, "forceConsistentCasingInFileNames": true, "moduleResolution": "node", "resolveJsonModule": true, "skipLibCheck": true, "strict": false, "outDir": "../temp_migrations", "baseUrl": "..", "paths": { "*": ["node_modules/*"] } }, "include": ["./*.ts"] } EOL # Компиляция TS файлов echo "🔄 Компиляция TypeScript миграций..." npx tsc -p migrations/tsconfig.json # Подтверждение if [ $? -eq 0 ]; then echo "✅ Миграции успешно скомпилированы в директорию temp_migrations/" # Проверка, были ли созданы файлы file_count=$(find temp_migrations -name "*.js" | wc -l) echo "📊 Скомпилировано файлов: $file_count" else echo "❌ Ошибка при компиляции миграций!" exit 1 fi # Очистка временных файлов rm migrations/tsconfig.json