diff --git a/.env.defaults b/.env.defaults new file mode 100644 index 000000000..81d2223cf --- /dev/null +++ b/.env.defaults @@ -0,0 +1,11 @@ +# Committed defaults, loaded last so anything already set wins. +# +# `.env` and `.env.local` are gitignored, so a default cannot live there; and +# `${PORT:-3002}` in a package script is not an option because Bun's own shell +# — which `bun run` uses on Windows — does not implement default-value +# parameter expansion and passes the literal through to Next. +# +# Precedence: shell PORT > .env.local > this file. + +# Dev server port for apps/editor. +PORT=3002 diff --git a/.env.example b/.env.example index daa84046e..6acbf5210 100644 --- a/.env.example +++ b/.env.example @@ -3,5 +3,5 @@ # Google Maps API key (enables address search) # NEXT_PUBLIC_GOOGLE_MAPS_API_KEY=your_google_maps_api_key -# Dev server port (default: 3000) -# PORT=3000 +# Dev server port (default: 3002, set in .env.defaults) +# PORT=3002 diff --git a/apps/editor/package.json b/apps/editor/package.json index 60baafaaf..c6c369508 100644 --- a/apps/editor/package.json +++ b/apps/editor/package.json @@ -4,7 +4,7 @@ "type": "module", "private": true, "scripts": { - "dev": "dotenv -e ../../.env.local -- next dev --port ${PORT:-3002}", + "dev": "dotenv -e ../../.env.local -e ../../.env.defaults -- next dev", "build": "dotenv -e ../../.env.local -- next build", "start": "next start", "lint": "biome lint", diff --git a/package.json b/package.json index 4e2bc8955..88bb8ea16 100644 --- a/package.json +++ b/package.json @@ -3,7 +3,7 @@ "private": true, "scripts": { "build": "turbo run build", - "dev": "set -a && . ./.env 2>/dev/null; set +a; turbo run dev --env-mode=loose", + "dev": "dotenv -e ./.env -e ./.env.defaults -- turbo run dev --env-mode=loose", "lint": "biome lint", "lint:fix": "biome lint --write", "format": "biome format --write",