mirror of
https://github.com/bookorbit/bookorbit.git
synced 2026-11-03 00:11:37 -06:00
78 lines
3.5 KiB
JSON
78 lines
3.5 KiB
JSON
{
|
|
"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 && pnpm run test:e2e -- smoke",
|
|
"verify:strict": "pnpm run format:check && pnpm run lint:check && pnpm run typecheck:full && pnpm run test && pnpm run test:e2e -- smoke",
|
|
"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",
|
|
"test:e2e": "node ./scripts/test/run-e2e-suite.mjs",
|
|
"test:e2e:all": "node ./scripts/test/run-e2e-suite.mjs all",
|
|
"test:e2e:metadata-write": "node ./scripts/test/run-e2e-suite.mjs metadata-write",
|
|
"test:e2e:opds-auth-catalog": "node ./scripts/test/run-e2e-suite.mjs opds-auth-catalog",
|
|
"test:e2e:metadata-write:atomicity": "node ./scripts/test/run-e2e-suite.mjs metadata-write --testNamePattern=\"atomicity failpoints\"",
|
|
"test:e2e:metadata-write:concurrency": "node ./scripts/test/run-e2e-suite.mjs metadata-write --testNamePattern=\"concurrency hardening\"",
|
|
"test: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",
|
|
"db:prepare:e2e": "bash ./scripts/db/prepare-e2e.sh",
|
|
"prepare": "husky"
|
|
},
|
|
"engines": {
|
|
"node": ">=24",
|
|
"pnpm": ">=9"
|
|
},
|
|
"devDependencies": {
|
|
"concurrently": "^9.2.1",
|
|
"husky": "^9.1.7",
|
|
"lint-staged": "^16.4.0",
|
|
"prettier": "^3.8.1"
|
|
},
|
|
"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": {
|
|
"onlyBuiltDependencies": [
|
|
"@nestjs/core",
|
|
"@parcel/watcher",
|
|
"@swc/core",
|
|
"esbuild",
|
|
"sharp",
|
|
"unrs-resolver"
|
|
]
|
|
}
|
|
}
|