Create your Link in Bio for Bluesky

開発用コマンド整理 (#9)

authored by mkizka.dev and committed by

GitHub 3a75cec3 b6606f84

+26 -13
+1
.gitignore
··· 10 10 generated/ 11 11 atproto/ 12 12 lexicons/com/ 13 + nohup.out 13 14 14 15 # playwright 15 16 playwright-report/
-4
compose.yaml
··· 1 1 volumes: 2 2 db_data: 3 - jetstream_data: 4 3 5 4 services: 6 5 db: ··· 20 19 image: ghcr.io/bluesky-social/jetstream:sha-011b545 21 20 restart: always 22 21 network_mode: host 23 - volumes: 24 - - jetstream_data:/data 25 22 environment: 26 23 - JETSTREAM_WS_URL=ws://localhost:2583/xrpc/com.atproto.sync.subscribeRepos 27 24 - JETSTREAM_WORKER_COUNT=1 28 - - JETSTREAM_DATA_DIR=/data
+3 -6
package.json
··· 12 12 "build": "run-p -s build:*", 13 13 "build:remix": "remix vite:build", 14 14 "build:server": "node ./scripts/build-server.js", 15 - "dev": "pnpm setup-dev && pnpm run-p -l dev:*", 16 - "dev:atproto": "cd atproto && make run-dev-env", 17 - "dev:prisma": "prisma studio --browser none", 18 - "dev:remix": "NODE_ENV=development tsx watch --ignore vite.config.ts.* --env-file .env ./app/server.ts", 15 + "dev": "./scripts/dev.sh", 16 + "dev-atproto": "cd atproto && make run-dev-env", 19 17 "e2e": "playwright test", 20 18 "format": "pnpm _eslint --fix && prettier . --write", 21 19 "lint": "pnpm _eslint && prettier . --check", ··· 23 21 "prepare": "husky", 24 22 "setup-dev": "./scripts/setup-dev.sh", 25 23 "start": "NODE_ENV=production node ./dist/server.js", 26 - "start:e2e": "pnpm run-p -l dev:atproto start:local", 27 - "start:local": "wait-on http-get://localhost:2583 && NODE_ENV=development E2E=1 tsx --env-file .env ./app/server.ts", 24 + "start:local": "NODE_ENV=development E2E=1 node --env-file .env ./dist/server.js", 28 25 "test": "vitest", 29 26 "typecheck": "tsc" 30 27 },
+1 -1
playwright.config.ts
··· 41 41 }, 42 42 ], 43 43 webServer: { 44 - command: "pnpm start:e2e", 44 + command: "pnpm start:local", 45 45 port: 3000, 46 46 stdout: "pipe", 47 47 reuseExistingServer: !process.env.CI,
+5
scripts/dev.sh
··· 1 + #!/usr/bin/env bash 2 + set -euo pipefail 3 + 4 + source ./scripts/setup-dev.sh 5 + NODE_ENV=development tsx watch --ignore vite.config.ts.* --env-file .env ./app/server.ts
+15 -1
scripts/setup-dev.sh
··· 1 1 #!/usr/bin/env bash 2 2 set -euo pipefail 3 3 4 + # 1. Setup atproto dev server 4 5 if [ ! -d ./atproto/node_modules ]; then 5 6 cd atproto 6 7 make deps ··· 8 9 cd .. 9 10 fi 10 11 11 - docker compose up -d --wait 12 + # 2. Start atproto dev server 13 + nohup pnpm dev-atproto & 14 + pid=$! 15 + echo "Started atproto dev server with pid $pid" 16 + trap " 17 + echo 18 + echo 'kill -STOP $pid && docker compose down' 19 + kill $pid 20 + docker compose down 21 + exit 22 + " SIGINT SIGTERM 23 + 24 + # 3. Setup database and jetstream 25 + pnpm wait-on tcp:2583 && docker compose up -d --wait 12 26 pnpm prisma db push --skip-generate
scripts/setup-for-test.sh scripts/setup-test.sh
+1 -1
vitest/global-setup.ts
··· 1 1 import { execSync } from "child_process"; 2 2 3 3 const globalSetup = () => { 4 - execSync("./scripts/setup-for-test.sh", { stdio: "inherit" }); 4 + execSync("./scripts/setup-test.sh", { stdio: "inherit" }); 5 5 }; 6 6 7 7 export default globalSetup;