From 303de2b26c0c29f3abf0aaf3a19919adab108915 Mon Sep 17 00:00:00 2001 From: Leonid Pershin Date: Fri, 19 Jun 2026 16:27:14 +0300 Subject: [PATCH] Add development and production scripts for PVideoDl. Introduced dev.bat, dev.sh for development mode with backend and Vite server, and run.bat, run.sh for production launch with dependency installation and frontend build. Enhanced user experience with clear instructions and error handling. --- dev.bat | 20 ++++++++++++++++++++ dev.sh | 17 +++++++++++++++++ run.bat | 22 ++++++++++++++++++++++ run.sh | 18 ++++++++++++++++++ 4 files changed, 77 insertions(+) create mode 100644 dev.bat create mode 100755 dev.sh create mode 100644 run.bat create mode 100755 run.sh diff --git a/dev.bat b/dev.bat new file mode 100644 index 0000000..6065bd6 --- /dev/null +++ b/dev.bat @@ -0,0 +1,20 @@ +@echo off +rem Дев-режим: бэкенд (:8000) в отдельном окне + Vite dev-сервер (:5173). +rem Откройте http://localhost:5173 — Vite проксирует /api на бэкенд. +chcp 65001 >nul +setlocal +cd /d "%~dp0" + +call uv sync || exit /b 1 +if not exist "frontend\node_modules" ( + pushd frontend + call npm install || exit /b 1 + popd +) + +echo ==^> Бэкенд ^(:8000^) — отдельное окно +start "PVideoDl backend" cmd /k "uv run python -m app.main" + +echo ==^> Vite dev ^(:5173^) — http://localhost:5173 +cd frontend +npm run dev diff --git a/dev.sh b/dev.sh new file mode 100755 index 0000000..6ba5190 --- /dev/null +++ b/dev.sh @@ -0,0 +1,17 @@ +#!/usr/bin/env bash +# Дев-режим: бэкенд (:8000) + Vite dev-сервер (:5173) с hot-reload фронта. +# Откройте http://localhost:5173 — Vite проксирует /api на бэкенд. +set -euo pipefail +cd "$(dirname "$0")" + +uv sync +[ -d frontend/node_modules ] || (cd frontend && npm install) + +echo "==> Бэкенд → http://127.0.0.1:8000 (в фоне)" +uv run python -m app.main & +backend_pid=$! +trap 'kill "$backend_pid" 2>/dev/null' EXIT INT TERM + +echo "==> Vite dev → http://localhost:5173" +cd frontend +npm run dev diff --git a/run.bat b/run.bat new file mode 100644 index 0000000..8539035 --- /dev/null +++ b/run.bat @@ -0,0 +1,22 @@ +@echo off +rem Прод-запуск одной командой: зависимости -> сборка фронта (если нужна) -> сервер. +rem Файлы складываются в downloads\, UI на http://127.0.0.1:8000 +chcp 65001 >nul +setlocal +cd /d "%~dp0" + +echo ==^> uv sync +call uv sync || exit /b 1 + +if not exist "frontend\build" ( + echo ==^> Сборка фронтенда ^(frontend\build отсутствует^) + pushd frontend + call npm install || exit /b 1 + call npm run build || exit /b 1 + popd +) else ( + echo ==^> Фронтенд уже собран — пропускаю сборку ^(удалите frontend\build для пересборки^) +) + +echo ==^> Запуск PVideoDl на http://127.0.0.1:8000 +uv run pvideodl diff --git a/run.sh b/run.sh new file mode 100755 index 0000000..0b7ea1d --- /dev/null +++ b/run.sh @@ -0,0 +1,18 @@ +#!/usr/bin/env bash +# Прод-запуск одной командой: зависимости -> сборка фронта (если нужна) -> сервер. +# Файлы складываются в downloads/, UI на http://127.0.0.1:8000 +set -euo pipefail +cd "$(dirname "$0")" + +echo "==> uv sync" +uv sync + +if [ ! -d frontend/build ]; then + echo "==> Сборка фронтенда (frontend/build отсутствует)" + (cd frontend && npm install && npm run build) +else + echo "==> Фронтенд уже собран — пропускаю сборку (удалите frontend/build для пересборки)" +fi + +echo "==> Запуск PVideoDl на http://127.0.0.1:8000" +exec uv run pvideodl