Files
tg_tinder_bot/bin/compile_ts_migrations.sh
2025-09-18 18:43:39 +09:00

53 lines
1.7 KiB
Bash
Executable File

#!/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