{ "name": "projectx", "private": true, "scripts": { "setup": "bash ./scripts/setup.sh", "dev": "concurrently --names \"types,server,client\" --prefix-colors \"cyan,blue,green\" \"pnpm --filter @projectx/types dev\" \"npm run dev:server\" \"npm run dev:client\"", "dev:client": "cd client && npm run dev -- --host", "dev:server": "cd server && npm run start:dev", "verify:fast": "pnpm run lint:check && pnpm run typecheck && pnpm run test", "verify": "pnpm run lint:check && pnpm run typecheck && pnpm run test", "verify:strict": "pnpm run format:check && pnpm run lint:check && pnpm run typecheck:full && pnpm run test", "build:client": "pnpm --filter client build", "build:server": "pnpm --filter server build", "typecheck": "pnpm run typecheck:server && pnpm run typecheck:client", "typecheck:full": "pnpm run typecheck:server && pnpm run typecheck:client", "typecheck:server": "pnpm --filter server type-check", "typecheck:client": "pnpm --filter client type-check", "lint:check": "pnpm --filter server lint:check && pnpm --filter client lint:check", "lint:fix": "pnpm --filter server lint:fix && pnpm --filter client lint:fix", "format": "pnpm --filter server format && pnpm --filter client format", "format:check": "pnpm --filter server format:check && pnpm --filter client format:check", "test": "pnpm run test:server && pnpm run test:client", "test:server": "pnpm --filter server test", "test:client": "pnpm --filter client test:unit --run", "e2e:run": "node ./scripts/test/run-e2e-suite.mjs", "e2e:all": "node ./scripts/test/run-e2e-suite.mjs all", "e2e:list": "node ./scripts/test/run-e2e-suite.mjs --list", "coverage": "pnpm run coverage:server && pnpm run coverage:client", "coverage:server": "pnpm --filter server test:cov", "coverage:client": "pnpm --filter client test:cov --run", "db:up": "docker compose -f docker-compose.dev.yml up -d --wait", "prod:up": "docker compose up -d --wait", "prod:down": "docker compose down", "db:migrate": "pnpm --filter server db:migrate", "db:reset": "bash ./scripts/db/reset.sh", "db:seed": "bash ./scripts/db/seed.sh", "e2e:db:prepare": "bash ./scripts/db/prepare-e2e.sh", "e2e:db:migrate": "pnpm --filter server e2e:db:migrate", "prepare": "husky" }, "engines": { "node": ">=24", "pnpm": ">=9" }, "devDependencies": { "concurrently": "^9.2.1", "husky": "^9.1.7", "lint-staged": "^16.4.0", "prettier": "^3.8.2" }, "lint-staged": { "*.{md,json,yml,yaml}": [ "pnpm exec prettier --write" ], "client/src/**/*.{ts,vue}": [ "pnpm --dir client exec eslint --fix --max-warnings 0", "pnpm exec prettier --write" ], "server/{src,test}/**/*.ts": [ "pnpm --dir server exec eslint --fix", "pnpm exec prettier --write" ] }, "pnpm": { "overrides": { "fastify": "^5.8.5" }, "onlyBuiltDependencies": [ "@nestjs/core", "@parcel/watcher", "@swc/core", "esbuild", "sharp", "unrs-resolver" ] } }