From 34eb47b05679d09d055f1c71b2e551641ea88395 Mon Sep 17 00:00:00 2001 From: Sidney Nemzer Date: Tue, 17 Feb 2026 21:55:07 -0500 Subject: [PATCH 1/2] chore(db): :technologist: use docker-compose to run database in dev This change allows developers to run `yarn dev` and, assuming docker is installed, the database will start before running the api servers --- packages/db/docker-compose.yaml | 19 +++++++++++++++++++ packages/db/package.json | 2 ++ turbo.json | 27 ++++++++++++++++++++++++--- 3 files changed, 45 insertions(+), 3 deletions(-) create mode 100644 packages/db/docker-compose.yaml diff --git a/packages/db/docker-compose.yaml b/packages/db/docker-compose.yaml new file mode 100644 index 00000000..c1561876 --- /dev/null +++ b/packages/db/docker-compose.yaml @@ -0,0 +1,19 @@ +services: + postgres: + image: postgres:18 + environment: + - POSTGRES_PASSWORD=password + - POSTGRES_USER=website + - POSTGRES_DATABASE=database + ports: + - '5432:5432' + + wait-for-postgres: + image: postgres:18 + environment: + - POSTGRES_PASSWORD=password + - POSTGRES_USER=website + - POSTGRES_DATABASE=database + depends_on: + - postgres + command: sh -c "until pg_isready -h postgres -U $$POSTGRES_USER; do echo waiting for postgres; sleep 2; done;" diff --git a/packages/db/package.json b/packages/db/package.json index c65c20ea..f4dafb48 100644 --- a/packages/db/package.json +++ b/packages/db/package.json @@ -14,6 +14,8 @@ "db:migrate": "prisma migrate deploy", "db:studio": "prisma studio", "db:pull": "prisma db pull", + "up": "docker compose up -d", + "wait": "docker compose up wait-for-postgres", "env:copy": "cp .env.example .env", "build": "tsc" }, diff --git a/turbo.json b/turbo.json index b5575d57..af1d01e8 100644 --- a/turbo.json +++ b/turbo.json @@ -1,7 +1,7 @@ { - "$schema": "https://turbo.build/schema.json", - "ui": "tui", - "tasks": { + "$schema": "https://turbo.build/schema.json", + "ui": "tui", + "tasks": { "build": { "dependsOn": ["db:generate", "^build"], "inputs": ["$TURBO_DEFAULT$", ".env*"], @@ -20,6 +20,27 @@ "persistent": true, "cache": false }, + "api#dev": { + "persistent": true, + "dependsOn": ["@repo/db#db:migrate"], + "cache": false + }, + "api-v2#dev": { + "persistent": true, + "dependsOn": ["@repo/db#db:migrate"], + "cache": false + }, + "@repo/db#db:migrate": { + "dependsOn": ["@repo/db#wait"], + "cache": false + }, + "@repo/db#wait": { + "dependsOn": ["@repo/db#up"], + "cache": false + }, + "@repo/db#up": { + "cache": false + }, "lint": { "dependsOn": ["^lint"] }, From 282abf867c1829fc3888b114393df72cec3bc336 Mon Sep 17 00:00:00 2001 From: Sidney Nemzer Date: Tue, 24 Feb 2026 20:33:05 -0500 Subject: [PATCH 2/2] add dev:frontend script --- package.json | 1 + 1 file changed, 1 insertion(+) diff --git a/package.json b/package.json index 9831e10a..50b24c3e 100644 --- a/package.json +++ b/package.json @@ -15,6 +15,7 @@ "clean": "turbo clean", "start": "turbo start", "dev": "turbo dev", + "dev:frontend": "turbo dev --filter=frontend...", "lint": "turbo lint", "prettier": "turbo prettier --ui=stream", "db:generate": "turbo db:generate",