summaryrefslogtreecommitdiffhomepage
path: root/bin
diff options
context:
space:
mode:
authorAdam Malczewski <[email protected]>2026-04-09 15:46:54 +0900
committerAdam Malczewski <[email protected]>2026-04-09 15:46:54 +0900
commita4b619ff1229b226da3e7228c167aad4289e1784 (patch)
tree6a92b7f71dec96f70d4d1e6b9aafe6ce28b596b6 /bin
downloadflashair-speedsync-a4b619ff1229b226da3e7228c167aad4289e1784.tar.gz
flashair-speedsync-a4b619ff1229b226da3e7228c167aad4289e1784.zip
inital app skeleton
Diffstat (limited to 'bin')
-rwxr-xr-xbin/build44
-rwxr-xr-xbin/unmount25
2 files changed, 69 insertions, 0 deletions
diff --git a/bin/build b/bin/build
new file mode 100755
index 0000000..c13ee53
--- /dev/null
+++ b/bin/build
@@ -0,0 +1,44 @@
+#!/usr/bin/env bash
+set -euo pipefail
+
+SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
+PROJECT_DIR="$(dirname "$SCRIPT_DIR")"
+
+# Default SD card Windows drive letter and WSL mount point
+SD_DRIVE_LETTER="F"
+SD_MOUNT="/mnt/f"
+
+# Allow override via argument
+if [ "${1:-}" != "" ]; then
+ SD_MOUNT="$1"
+fi
+
+SD_TARGET="${SD_MOUNT}/speedsync"
+MOUNT_STATE_FILE="${PROJECT_DIR}/.sd-mount"
+
+cd "$PROJECT_DIR"
+
+echo "Building SpeedSync..."
+npm run build
+echo ""
+echo "Build complete: dist/"
+echo ""
+
+# Mount the SD card if not already mounted
+if ! mountpoint -q "$SD_MOUNT" 2>/dev/null; then
+ echo "SD card not mounted at $SD_MOUNT, mounting..."
+ sudo mkdir -p "$SD_MOUNT"
+ sudo mount -t drvfs "${SD_DRIVE_LETTER}:" "$SD_MOUNT" -o "uid=$(id -u),gid=$(id -g)"
+ echo "Mounted ${SD_DRIVE_LETTER}: at $SD_MOUNT"
+fi
+
+# Record the mount point so bin/unmount knows what to unmount
+echo "$SD_MOUNT" > "$MOUNT_STATE_FILE"
+
+echo "Deploying to $SD_TARGET ..."
+mkdir -p "$SD_TARGET"
+rsync -av --delete dist/ "$SD_TARGET/"
+echo ""
+echo "Deployed to $SD_TARGET"
+echo ""
+echo "Run 'bin/unmount' when ready to remove the SD card."
diff --git a/bin/unmount b/bin/unmount
new file mode 100755
index 0000000..6d154b0
--- /dev/null
+++ b/bin/unmount
@@ -0,0 +1,25 @@
+#!/usr/bin/env bash
+set -euo pipefail
+
+SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
+PROJECT_DIR="$(dirname "$SCRIPT_DIR")"
+
+MOUNT_STATE_FILE="${PROJECT_DIR}/.sd-mount"
+
+if [ ! -f "$MOUNT_STATE_FILE" ]; then
+ echo "No SD card mount recorded. Nothing to unmount."
+ exit 0
+fi
+
+SD_MOUNT="$(cat "$MOUNT_STATE_FILE")"
+
+if mountpoint -q "$SD_MOUNT" 2>/dev/null; then
+ echo "Unmounting $SD_MOUNT ..."
+ sudo umount "$SD_MOUNT"
+ echo "Unmounted. Safe to remove the SD card."
+else
+ echo "$SD_MOUNT is not currently mounted."
+fi
+
+rm -f "$MOUNT_STATE_FILE"
+echo "Cleaned up mount state."