Files
bookorbit/package.json
T
neon 870abecb01 feat(reader): polish the PDF reading experience
Make long PDF reading sessions easier to navigate across desktop and mobile. Keep document loading recoverable when EmbedPDF initializes or tears down out of order, without enabling document-editing capabilities.
2026-07-11 15:29:34 +00:00

112 lines
4.2 KiB
JSON

{
"name": "bookorbit",
"description": "Self-hosted library management and reading platform for ebooks, PDFs, audiobooks, and comics",
"author": "neonsolstice",
"license": "AGPL-3.0",
"homepage": "https://bookorbit.app",
"repository": {
"type": "git",
"url": "https://github.com/bookorbit/bookorbit"
},
"bugs": {
"url": "https://github.com/bookorbit/bookorbit/issues"
},
"private": true,
"packageManager": "pnpm@10.32.1",
"scripts": {
"setup": "bash ./scripts/bootstrap/local.sh",
"dev": "concurrently --names \"types,server,client\" --prefix-colors \"cyan,blue,green\" \"pnpm --filter @bookorbit/types dev\" \"pnpm run dev:server\" \"pnpm run dev:client\"",
"dev:client": "cd client && pnpm dev -- --host",
"dev:server": "cd server && pnpm start:dev",
"verify:fast": "pnpm run lint:check && pnpm run typecheck",
"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/e2e/run-suite.mjs",
"e2e:all": "node ./scripts/e2e/run-suite.mjs all",
"e2e:list": "node ./scripts/e2e/run-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-baseline.sh",
"e2e:db:prepare": "bash ./scripts/e2e/prepare-db.sh",
"e2e:db:migrate": "pnpm --filter server e2e:db:migrate",
"prepare": "husky"
},
"engines": {
"node": ">=24",
"pnpm": ">=9"
},
"devDependencies": {
"@commitlint/cli": "^21.2.1",
"@commitlint/config-conventional": "^21.2.0",
"@semantic-release/commit-analyzer": "^13.0.1",
"@semantic-release/github": "^12.0.9",
"@semantic-release/release-notes-generator": "^14.1.1",
"concurrently": "^10.0.3",
"conventional-changelog-conventionalcommits": "^9.3.1",
"husky": "^9.1.7",
"lint-staged": "^17.0.8",
"prettier": "^3.9.5",
"semantic-release": "^25.0.5"
},
"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": {
"@esbuild-kit/core-utils>esbuild": "^0.25.12",
"fastify": "^5.8.5",
"fast-uri": "^3.1.1",
"fast-xml-builder": "^1.1.7",
"ws": "^8.21.0"
},
"packageExtensions": {
"@embedpdf/utils@2.14.4": {
"dependencies": {
"@embedpdf/models": "2.14.4"
}
}
},
"onlyBuiltDependencies": [
"@nestjs/core",
"@parcel/watcher",
"@swc/core",
"esbuild",
"sharp",
"unrs-resolver"
],
"patchedDependencies": {
"@embedpdf/core@2.14.4": "patches/@embedpdf__core@2.14.4.patch",
"@embedpdf/engines@2.14.4": "patches/@embedpdf__engines@2.14.4.patch"
}
}
}