From 2fcdb17fddcacff2477f671dc9ec4cabe1a24d44 Mon Sep 17 00:00:00 2001 From: ajet Date: Sat, 19 Sep 2026 06:22:16 -0900 Subject: [PATCH] add script/server --- README.md | 10 +++++++--- script/server | 13 +++++++++++++ 2 files changed, 20 insertions(+), 3 deletions(-) create mode 100755 script/server diff --git a/README.md b/README.md index ef2b599..424efba 100644 --- a/README.md +++ b/README.md @@ -12,15 +12,19 @@ integration tests, and joint line coverage. ## Running ```bash -clojure -X:run +script/server [port] ``` -The server listens on port `3000` by default; set `PORT` to change it: +The server listens on port `3000` by default; pass a port argument or set `PORT` to change it +(the argument wins): ```bash -PORT=8080 clojure -X:run +script/server 8080 +PORT=8080 script/server ``` +This is a thin wrapper around `clojure -X:run`, which also honors `PORT`. + Or build and run the container: ```bash diff --git a/script/server b/script/server new file mode 100755 index 0000000..8b83ebc --- /dev/null +++ b/script/server @@ -0,0 +1,13 @@ +#!/usr/bin/env bash +# Start the server. Usage: script/server [port] +# The port defaults to $PORT, then 3000. +set -euo pipefail +cd "$(dirname "$0")/.." + +port=${1:-${PORT:-3000}} +if [[ ! $port =~ ^[0-9]+$ ]] || (( port < 1 || port > 65535 )); then + echo "usage: script/server [port] (port must be 1-65535, got '$port')" >&2 + exit 2 +fi + +PORT=$port exec clojure -X:run