diff --git a/CLAUDE.md b/CLAUDE.md index 1b5a5017d9..501466ba45 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -10,9 +10,13 @@ Maple is an OpenTelemetry observability platform built with TanStack Start (Reac ```bash # Development -bun dev # Run all apps via portless on https://[.].localhost +bun dev # Run all apps via turbo; each app's `dev` script invokes portless + # URLs: https://[.].localhost bun typecheck # TypeScript type checking +# Skip portless for a single app (raw ports, no proxy) +bun --filter=@maple/web dev:app + # First-time setup (once per machine): install portless's local CA into your system trust store npx portless trust diff --git a/apps/alerting/package.json b/apps/alerting/package.json index 8ec197c6e0..9d2d12cb5a 100644 --- a/apps/alerting/package.json +++ b/apps/alerting/package.json @@ -2,8 +2,10 @@ "name": "@maple/alerting", "private": true, "type": "module", + "portless": { "name": "alerting", "script": "dev:app" }, "scripts": { - "dev": "bun run ../../scripts/portless-wrangler.ts --env-file ../../.env.local --persist-to ../api/.wrangler/state --test-scheduled --port ${PORT:-8788} --inspector-port=9231", + "dev": "portless", + "dev:app": "bun run ../../scripts/portless-wrangler.ts --env-file ../../.env.local --persist-to ../api/.wrangler/state --test-scheduled --port ${PORT:-8788} --inspector-port=9231", "deploy": "wrangler deploy", "test": "echo 'No tests yet'", "typecheck": "tsc --noEmit" diff --git a/apps/api/package.json b/apps/api/package.json index 322ae62cb6..fa3212e798 100644 --- a/apps/api/package.json +++ b/apps/api/package.json @@ -2,6 +2,7 @@ "name": "@maple/api", "private": true, "type": "module", + "portless": { "name": "api", "script": "dev:app" }, "exports": { ".": "./src/index.ts", "./agent": "./src/agent.ts", @@ -9,7 +10,8 @@ }, "scripts": { "db:generate": "bun run --cwd ../../packages/db db:generate", - "dev": "bun run ../../scripts/portless-wrangler.ts --env-file ../../.env.local --port ${PORT:-3472} --inspector-port=$((${PORT:-3472} + 10000))", + "dev": "portless", + "dev:app": "bun run ../../scripts/portless-wrangler.ts --env-file ../../.env.local --port ${PORT:-3472} --inspector-port=$((${PORT:-3472} + 10000))", "test": "vitest run", "typecheck": "tsc --noEmit", "typecheck:test": "tsc --noEmit -p tsconfig.test.json", diff --git a/apps/chat-agent/package.json b/apps/chat-agent/package.json index 29efe75114..b3243e6588 100644 --- a/apps/chat-agent/package.json +++ b/apps/chat-agent/package.json @@ -2,8 +2,10 @@ "name": "@maple/chat-agent", "private": true, "type": "module", + "portless": { "name": "chat-agent", "script": "dev:app" }, "scripts": { - "dev": "bun run ../../scripts/portless-wrangler.ts --env-file ../../.env.local --port ${PORT:-8787} --inspector-port=9230", + "dev": "portless", + "dev:app": "bun run ../../scripts/portless-wrangler.ts --env-file ../../.env.local --port ${PORT:-8787} --inspector-port=9230", "typecheck": "tsc --noEmit" }, "dependencies": { diff --git a/apps/ingest/package.json b/apps/ingest/package.json index 3386c2acbe..aebbe7880c 100644 --- a/apps/ingest/package.json +++ b/apps/ingest/package.json @@ -1,8 +1,10 @@ { "name": "@maple/ingest", "private": true, + "portless": { "name": "ingest", "script": "dev:app" }, "scripts": { - "dev": "set -a && source ../../.env.local && set +a && INGEST_PORT=${PORT:-3473} cargo run", + "dev": "portless", + "dev:app": "set -a && source ../../.env.local && set +a && INGEST_PORT=${PORT:-3473} cargo run", "start": "cargo run --release", "build": "cargo build --release", "test": "cargo test", diff --git a/apps/landing/package.json b/apps/landing/package.json index 3489e5620e..b632d92acb 100644 --- a/apps/landing/package.json +++ b/apps/landing/package.json @@ -2,8 +2,10 @@ "name": "@maple/landing", "version": "0.0.1", "type": "module", + "portless": { "name": "landing", "script": "dev:app" }, "scripts": { - "dev": "astro dev --port ${PORT:-3391} --host ${HOST:-127.0.0.1}", + "dev": "portless", + "dev:app": "astro dev --port ${PORT:-3391} --host ${HOST:-127.0.0.1}", "build": "astro build", "preview": "astro preview", "astro": "astro" diff --git a/apps/web/package.json b/apps/web/package.json index f3dca4555a..814f0b9985 100644 --- a/apps/web/package.json +++ b/apps/web/package.json @@ -2,8 +2,10 @@ "name": "@maple/web", "private": true, "type": "module", + "portless": { "name": "web", "script": "dev:app" }, "scripts": { - "dev": "vite dev --port ${PORT:-3471} --host ${HOST:-127.0.0.1}", + "dev": "portless", + "dev:app": "vite dev --port ${PORT:-3471} --host ${HOST:-127.0.0.1}", "build": "vite build", "preview": "vite preview", "test": "vitest run --passWithNoTests", diff --git a/package.json b/package.json index 1c7283a98e..e6e059079c 100644 --- a/package.json +++ b/package.json @@ -8,7 +8,7 @@ ], "scripts": { "build": "turbo build", - "dev": "portless", + "dev": "turbo dev --ui=tui", "dev:alerting": "bun --filter=@maple/alerting dev", "format": "oxfmt && oxlint --ignore-pattern '.context/**' --fix", "alchemy:build-deps": "turbo build --filter=@maple-dev/effect-sdk", diff --git a/portless.json b/portless.json deleted file mode 100644 index ffb32c73d4..0000000000 --- a/portless.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "apps": { - "apps/web": { "name": "web" }, - "apps/api": { "name": "api" }, - "apps/ingest": { "name": "ingest" }, - "apps/landing": { "name": "landing" }, - "apps/chat-agent": { "name": "chat-agent" }, - "apps/alerting": { "name": "alerting" } - } -}