Add offline cache & preload, Save/add-to-playlist UI, Settings page; player stream fallback + progressive-first ordering; protocol-asset feature; refresh Windows installers
This commit is contained in:
17
scripts/push.sh
Normal file
17
scripts/push.sh
Normal file
@@ -0,0 +1,17 @@
|
||||
#!/usr/bin/env bash
|
||||
# push.sh — commit and push YT Player from WSL.
|
||||
# Usage: bash scripts/push.sh ["optional commit message"]
|
||||
set -euo pipefail
|
||||
|
||||
cd "$(dirname "$0")/.."
|
||||
|
||||
msg="${1:-Offline cache + Save/Add-to-playlist + Settings page; refresh Windows release}"
|
||||
|
||||
git add -A
|
||||
if git diff --cached --quiet; then
|
||||
echo "Nothing to commit."
|
||||
else
|
||||
git commit -m "$msg"
|
||||
fi
|
||||
git push
|
||||
echo "Pushed."
|
||||
52
scripts/release.ps1
Normal file
52
scripts/release.ps1
Normal file
@@ -0,0 +1,52 @@
|
||||
<#
|
||||
release.ps1 — one-shot Windows release for YT Player.
|
||||
|
||||
Builds the Tauri (WebView2) app on Windows, copies the installers into
|
||||
.\releases, then commits and pushes through WSL git (as requested).
|
||||
|
||||
Run from a *native Windows* PowerShell (not WSL) inside the repo:
|
||||
|
||||
pwsh -File scripts\release.ps1
|
||||
# or: powershell -ExecutionPolicy Bypass -File scripts\release.ps1
|
||||
|
||||
Prereqs (one time): Rust (MSVC), Microsoft C++ Build Tools, Node.js,
|
||||
WebView2 runtime (preinstalled on Win11).
|
||||
#>
|
||||
|
||||
$ErrorActionPreference = "Stop"
|
||||
$root = Split-Path -Parent $PSScriptRoot
|
||||
Set-Location $root
|
||||
|
||||
function Step($m) { Write-Host "==> $m" -ForegroundColor Cyan }
|
||||
|
||||
Step "Installing npm deps + Tauri CLI"
|
||||
npm install
|
||||
|
||||
Step "Fetching yt-dlp.exe into .\bin"
|
||||
npm run setup
|
||||
|
||||
if (-not (Test-Path "src-tauri\icons\icon.ico")) {
|
||||
Step "Generating app icons"
|
||||
npm run make-icon
|
||||
npm run tauri icon .\appicon.png
|
||||
}
|
||||
|
||||
Step "Building Windows app (npm run tauri:build)"
|
||||
npm run tauri:build
|
||||
|
||||
Step "Collecting artifacts into .\releases"
|
||||
New-Item -ItemType Directory -Force -Path releases | Out-Null
|
||||
$bundle = "src-tauri\target\release\bundle"
|
||||
Get-ChildItem "$bundle\nsis\*.exe" -ErrorAction SilentlyContinue | Copy-Item -Destination releases -Force
|
||||
Get-ChildItem "$bundle\msi\*.msi" -ErrorAction SilentlyContinue | Copy-Item -Destination releases -Force
|
||||
Copy-Item "src-tauri\target\release\ytplayer.exe" releases -Force -ErrorAction SilentlyContinue
|
||||
Get-ChildItem releases | Format-Table Name, Length -AutoSize
|
||||
|
||||
Step "Committing + pushing via WSL git"
|
||||
$msg = "Offline cache + Save/Add-to-playlist + Settings page; refresh Windows release"
|
||||
# Resolve the repo's path inside WSL and run git there.
|
||||
$wslPath = (wsl wslpath -a "$($root -replace '\\','/')") 2>$null
|
||||
if (-not $wslPath) { $wslPath = "~/development/personal/ytplayer" }
|
||||
wsl bash -lc "cd '$wslPath' && git add -A && git commit -m '$msg' && git push"
|
||||
|
||||
Write-Host "Done — installers are in .\releases and changes are pushed." -ForegroundColor Green
|
||||
Reference in New Issue
Block a user