diff options
| author | Adam Malczewski <[email protected]> | 2026-04-09 15:46:54 +0900 |
|---|---|---|
| committer | Adam Malczewski <[email protected]> | 2026-04-09 15:46:54 +0900 |
| commit | a4b619ff1229b226da3e7228c167aad4289e1784 (patch) | |
| tree | 6a92b7f71dec96f70d4d1e6b9aafe6ce28b596b6 /bin | |
| download | flashair-speedsync-a4b619ff1229b226da3e7228c167aad4289e1784.tar.gz flashair-speedsync-a4b619ff1229b226da3e7228c167aad4289e1784.zip | |
inital app skeleton
Diffstat (limited to 'bin')
| -rwxr-xr-x | bin/build | 44 | ||||
| -rwxr-xr-x | bin/unmount | 25 |
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." |
