ChunDe Claude commited on
Commit
c0ec1e9
Β·
1 Parent(s): a3e6a1a

feat: Add deployment scripts for HuggingFace Spaces

Browse files

- Created deploy-hf.sh for Unix/Mac systems
- Created deploy-hf.bat for Windows systems
- Added npm script: npm run deploy:hf
- Configured git remote for HuggingFace Spaces
- Automated build and deployment workflow

Usage:
Windows: deploy-hf.bat
Unix/Mac: npm run deploy:hf

πŸ€– Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <[email protected]>

Files changed (3) hide show
  1. deploy-hf.bat +76 -0
  2. deploy-hf.sh +59 -0
  3. package.json +2 -1
deploy-hf.bat ADDED
@@ -0,0 +1,76 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ @echo off
2
+ REM HuggingFace Spaces Deployment Script for Windows
3
+ REM This script builds the project and deploys to HuggingFace Spaces
4
+
5
+ echo.
6
+ echo ==============================================
7
+ echo HuggingFace Spaces Deployment
8
+ echo ==============================================
9
+ echo.
10
+
11
+ echo [1/7] Building production bundle...
12
+ call npx vite build
13
+
14
+ if %ERRORLEVEL% NEQ 0 (
15
+ echo.
16
+ echo ERROR: Build failed!
17
+ exit /b 1
18
+ )
19
+
20
+ echo.
21
+ echo [2/7] Creating deployment branch...
22
+ git checkout -b hf-deploy 2>nul || git checkout hf-deploy
23
+
24
+ echo.
25
+ echo [3/7] Cleaning workspace...
26
+ for /d %%D in (*) do (
27
+ if not "%%D"=="dist" if not "%%D"==".git" rd /s /q "%%D" 2>nul
28
+ )
29
+ for %%F in (*) do (
30
+ if not "%%F"=="deploy-hf.bat" if not "%%F"=="deploy-hf.sh" del /q "%%F" 2>nul
31
+ )
32
+
33
+ echo.
34
+ echo [4/7] Moving dist contents to root...
35
+ xcopy /E /I /Y dist\* . >nul
36
+ rd /s /q dist 2>nul
37
+
38
+ echo.
39
+ echo [5/7] Copying README.md...
40
+ git checkout main -- README.md
41
+
42
+ echo.
43
+ echo [6/7] Committing changes...
44
+ git add -A
45
+ git commit -m "Deploy to HuggingFace Spaces - %date% %time%"
46
+
47
+ echo.
48
+ echo [7/7] Pushing to HuggingFace Spaces...
49
+ git push huggingface hf-deploy:main --force
50
+
51
+ if %ERRORLEVEL% NEQ 0 (
52
+ echo.
53
+ echo ERROR: Push failed! You may need to authenticate with HuggingFace.
54
+ echo.
55
+ echo Please authenticate by visiting:
56
+ echo https://huggingface.co/settings/tokens
57
+ echo.
58
+ echo Then run: git config credential.helper store
59
+ git checkout main
60
+ exit /b 1
61
+ )
62
+
63
+ echo.
64
+ echo [DONE] Returning to main branch...
65
+ git checkout main
66
+
67
+ echo.
68
+ echo ==============================================
69
+ echo Deployment Complete!
70
+ echo ==============================================
71
+ echo.
72
+ echo Your Space is live at:
73
+ echo https://huggingface.co/spaces/Chunte/Thumbnail_miniCrafter
74
+ echo.
75
+
76
+ pause
deploy-hf.sh ADDED
@@ -0,0 +1,59 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ #!/bin/bash
2
+
3
+ # HuggingFace Spaces Deployment Script
4
+ # This script builds the project and deploys to HuggingFace Spaces
5
+
6
+ echo "πŸš€ Starting HuggingFace Spaces deployment..."
7
+
8
+ # Step 1: Build the project
9
+ echo "πŸ“¦ Building production bundle..."
10
+ npx vite build
11
+
12
+ if [ $? -ne 0 ]; then
13
+ echo "❌ Build failed!"
14
+ exit 1
15
+ fi
16
+
17
+ echo "βœ… Build successful!"
18
+
19
+ # Step 2: Create a temporary deployment branch
20
+ echo "πŸ”€ Creating deployment branch..."
21
+ git checkout -b hf-deploy 2>/dev/null || git checkout hf-deploy
22
+
23
+ # Step 3: Remove everything except dist/ and .git/
24
+ echo "🧹 Cleaning up for deployment..."
25
+ find . -maxdepth 1 ! -name 'dist' ! -name '.git' ! -name '.' ! -name '..' -exec rm -rf {} +
26
+
27
+ # Step 4: Move dist/ contents to root
28
+ echo "πŸ“ Moving dist/ contents to root..."
29
+ mv dist/* . 2>/dev/null || true
30
+ mv dist/.* . 2>/dev/null || true
31
+ rmdir dist 2>/dev/null || true
32
+
33
+ # Step 5: Copy README.md for HF Spaces
34
+ echo "πŸ“„ Copying README.md..."
35
+ git checkout main -- README.md
36
+
37
+ # Step 6: Commit changes
38
+ echo "πŸ’Ύ Committing changes..."
39
+ git add -A
40
+ git commit -m "Deploy to HuggingFace Spaces - $(date +'%Y-%m-%d %H:%M:%S')"
41
+
42
+ # Step 7: Push to HuggingFace
43
+ echo "⬆️ Pushing to HuggingFace Spaces..."
44
+ git push huggingface hf-deploy:main --force
45
+
46
+ if [ $? -ne 0 ]; then
47
+ echo "❌ Push failed! You may need to authenticate with HuggingFace."
48
+ echo "Run: git config credential.helper store"
49
+ echo "Then try again."
50
+ git checkout main
51
+ exit 1
52
+ fi
53
+
54
+ # Step 8: Return to main branch
55
+ echo "πŸ”™ Returning to main branch..."
56
+ git checkout main
57
+
58
+ echo "βœ… Deployment complete!"
59
+ echo "🌐 Your Space: https://huggingface.co/spaces/Chunte/Thumbnail_miniCrafter"
package.json CHANGED
@@ -6,7 +6,8 @@
6
  "scripts": {
7
  "dev": "vite",
8
  "build": "tsc && vite build",
9
- "preview": "vite preview"
 
10
  },
11
  "dependencies": {
12
  "konva": "^9.3.6",
 
6
  "scripts": {
7
  "dev": "vite",
8
  "build": "tsc && vite build",
9
+ "preview": "vite preview",
10
+ "deploy:hf": "bash deploy-hf.sh"
11
  },
12
  "dependencies": {
13
  "konva": "^9.3.6",