Зачаток мобилки

This commit is contained in:
Халимов Рустам
2026-04-07 17:27:52 +03:00
parent 02043d4d97
commit abc491c042
32 changed files with 10377 additions and 1175 deletions

View File

@@ -0,0 +1,39 @@
const { execSync } = require('child_process');
const fs = require('fs');
const path = require('path');
console.log('🚀 Начинаю экспорт обновления для Self-hosted OTA...');
try {
// 1. Выполняем стандартный экспорт Expo
console.log('📦 Выполняю npx expo export...');
execSync('npx expo export --platform android', { stdio: 'inherit' });
// 2. Путь к папке экспорта
const distDir = path.join(process.cwd(), 'dist');
if (!fs.existsSync(distDir)) {
throw new Error('Папка dist не была создана. Проверьте вывод npx expo export.');
}
// 3. Генерация манифеста (metadata.json) для нашего сервера
// В современных версиях Expo манифесты генерируются автоматически в папке dist/metadata.json
// Но если нам нужен кастомный формат для Nginx, мы можем доработать его здесь.
const metadataPath = path.join(distDir, 'metadata.json');
if (fs.existsSync(metadataPath)) {
console.log('✅ Manifest (metadata.json) найден.');
} else {
console.warn('⚠️ Manifest не найден в dist. Возможно, версия Expo требует ручной генерации.');
}
console.log('\n--- ИНСТРУКЦИЯ ---');
console.log('1. Скопируйте всё содержимое папки /dist на ваш сервер Nginx.');
console.log('2. Убедитесь, что сервер возвращает заголовок "expo-protocol-version: 1".');
console.log('3. Проверьте доступность по адресу из app.json.');
console.log('------------------');
} catch (error) {
console.error('❌ Ошибка при экспорте:', error.message);
process.exit(1);
}