-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathjustfile
More file actions
117 lines (101 loc) · 4.83 KB
/
Copy pathjustfile
File metadata and controls
117 lines (101 loc) · 4.83 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
# Cross-platform justfile for start-tauri
# Install just: cargo install just
# Default recipe - show available commands
default:
@just --list
# ============================================================================
# SETUP
# ============================================================================
# Ignore local IP changes in tauri config files
setup:
git update-index --assume-unchanged src-tauri/tauri.ios.conf.json src-tauri/tauri.android.conf.json
@echo "✅ Git will now ignore local IP changes in tauri config files"
# ============================================================================
# DESKTOP
# ============================================================================
# Run Tauri desktop dev with custom port (reload_port = port + 1)
[macos]
run_desktop port="3000":
#!/usr/bin/env bash
set -e
reload_port=$(({{port}} + 1))
sed -i '' "s|http://localhost:[0-9]*|http://localhost:{{port}}|g" src-tauri/tauri.conf.json
echo "Running on port {{port}} (reload: $reload_port)"
LEPTOS_SITE_ADDR="127.0.0.1:{{port}}" LEPTOS_RELOAD_PORT="$reload_port" cargo tauri dev
[linux]
run_desktop port="3000":
#!/usr/bin/env bash
set -e
reload_port=$(({{port}} + 1))
sed -i "s|http://localhost:[0-9]*|http://localhost:{{port}}|g" src-tauri/tauri.conf.json
echo "Running on port {{port}} (reload: $reload_port)"
LEPTOS_SITE_ADDR="127.0.0.1:{{port}}" LEPTOS_RELOAD_PORT="$reload_port" cargo tauri dev
[windows]
run_desktop port="3000":
#!powershell
$reload_port = [int]{{port}} + 1
(Get-Content src-tauri/tauri.conf.json) -replace 'http://localhost:[0-9]+', "http://localhost:{{port}}" | Set-Content src-tauri/tauri.conf.json
Write-Host "Running on port {{port}} (reload: $reload_port)"
$env:LEPTOS_SITE_ADDR = "127.0.0.1:{{port}}"
$env:LEPTOS_RELOAD_PORT = "$reload_port"
cargo tauri dev
# ============================================================================
# MOBILE - iOS (macOS only)
# ============================================================================
# Run iOS simulator (macOS only)
[macos]
run_ios port="3000" device="iPhone 16 Pro":
#!/usr/bin/env bash
set -e
reload_port=$(({{port}} + 1))
SERVER_IP=$(ipconfig getifaddr en0)
sed -i '' "s|http://[0-9.]*:[0-9]*|http://${SERVER_IP}:{{port}}|g" src-tauri/tauri.ios.conf.json
echo "Updated SERVER_URL to http://${SERVER_IP}:{{port}}"
APP_NAME=$(grep '^name' src-tauri/Cargo.toml | head -1 | sed 's/.*"\(.*\)".*/\1/')
cp __HideKeyboardAccessory.m "src-tauri/gen/apple/Sources/${APP_NAME}/"
cp __DisableContentInsetAdjustment.m "src-tauri/gen/apple/Sources/${APP_NAME}/"
cd src-tauri/gen/apple && xcodegen generate && cd ../../..
xcrun simctl boot "{{device}}" || true
open -a Simulator
echo "Running on port {{port}} (reload: $reload_port)"
LEPTOS_SITE_ADDR="0.0.0.0:{{port}}" LEPTOS_RELOAD_PORT="$reload_port" cargo tauri ios dev "{{device}}"
[linux]
[windows]
run_ios port="" device="":
@echo "Error: iOS development requires macOS"
@exit 1
# ============================================================================
# MOBILE - Android (all platforms)
# ============================================================================
# Run Android emulator/device
[macos]
run_android port="3000":
#!/usr/bin/env bash
set -e
reload_port=$(({{port}} + 1))
SERVER_IP=$(ipconfig getifaddr en0)
sed -i '' "s|http://[0-9.]*:[0-9]*|http://${SERVER_IP}:{{port}}|g" src-tauri/tauri.android.conf.json
echo "Updated SERVER_URL to http://${SERVER_IP}:{{port}}"
echo "Running on port {{port}} (reload: $reload_port)"
LEPTOS_SITE_ADDR="0.0.0.0:{{port}}" LEPTOS_RELOAD_PORT="$reload_port" cargo tauri android dev
[linux]
run_android port="3000":
#!/usr/bin/env bash
set -e
reload_port=$(({{port}} + 1))
SERVER_IP=$(hostname -I | awk '{print $1}')
sed -i "s|http://[0-9.]*:[0-9]*|http://${SERVER_IP}:{{port}}|g" src-tauri/tauri.android.conf.json
echo "Updated SERVER_URL to http://${SERVER_IP}:{{port}}"
echo "Running on port {{port}} (reload: $reload_port)"
LEPTOS_SITE_ADDR="0.0.0.0:{{port}}" LEPTOS_RELOAD_PORT="$reload_port" cargo tauri android dev
[windows]
run_android port="3000":
#!powershell
$reload_port = [int]{{port}} + 1
$SERVER_IP = (Get-NetIPAddress -AddressFamily IPv4 | Where-Object { $_.InterfaceAlias -notmatch 'Loopback' -and $_.PrefixOrigin -eq 'Dhcp' } | Select-Object -First 1).IPAddress
(Get-Content src-tauri/tauri.android.conf.json) -replace 'http://[0-9.]+:[0-9]+', "http://${SERVER_IP}:{{port}}" | Set-Content src-tauri/tauri.android.conf.json
Write-Host "Updated SERVER_URL to http://${SERVER_IP}:{{port}}"
Write-Host "Running on port {{port}} (reload: $reload_port)"
$env:LEPTOS_SITE_ADDR = "0.0.0.0:{{port}}"
$env:LEPTOS_RELOAD_PORT = "$reload_port"
cargo tauri android dev