Files
bookorbit/server/package.json
T
neon d7556011df build(deps): upgrade Node.js to 26 and pnpm to 11
Update package manager configuration to pnpm 11.22.0 and Node.js requirement to Node 26 across Dockerfile, GitHub Actions workflows, root package.json, and workspace configurations.

Upgrade dependencies, update GitHub Action versions, and remove deprecated scorecard workflow.
2026-08-16 00:41:56 +00:00

144 lines
5.2 KiB
JSON

{
"name": "server",
"version": "0.0.1",
"description": "BookOrbit server - self-hosted library management and reading platform",
"author": "neonsolstice",
"private": true,
"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"
},
"scripts": {
"setup:kobo-cloudscraper": "tsx src/scripts/setup-kobo-cloudscraper.ts",
"prestart": "pnpm --filter @bookorbit/types build",
"prestart:dev": "pnpm --filter @bookorbit/types build",
"prestart:debug": "pnpm --filter @bookorbit/types build",
"prebuild": "pnpm --filter @bookorbit/types build && pnpm clean:swagger-metadata",
"clean:swagger-metadata": "node -e \"require('node:fs').rmSync('src/metadata.ts', { force: true })\"",
"build": "nest build",
"format": "prettier --write \"src/**/*.ts\" \"test/**/*.ts\"",
"format:check": "prettier --check \"src/**/*.ts\" \"test/**/*.ts\"",
"start": "nest start",
"start:dev": "sh -c 'export $(grep -v \"^#\" .env | xargs) 2>/dev/null; exec nest start --watch --config nest-cli.dev.json'",
"start:debug": "nest start --debug --watch --config nest-cli.dev.json",
"start:prod": "node dist/main",
"db:generate": "drizzle-kit generate --name",
"db:migrate": "tsx --env-file-if-exists=.env src/scripts/install-postgres-extensions.ts && drizzle-kit migrate",
"e2e:db:migrate": "DATABASE_URL=postgres://bookorbit:bookorbit@localhost:5432/bookorbit_e2e pnpm db:migrate",
"db:migrate:runtime": "node dist/scripts/migrate.js",
"e2e:db:prepare": "tsx src/scripts/db-prepare-e2e.ts",
"db:studio": "drizzle-kit studio",
"db:seed": "tsx src/scripts/db-seed.ts",
"whats-new:preview": "tsx src/scripts/whats-new-preview.ts",
"whats-new:lint": "tsx src/scripts/whats-new-lint.ts",
"whats-new:check": "tsx src/scripts/whats-new-check.ts",
"whats-new:images": "tsx src/scripts/whats-new-images.ts",
"pretype-check": "pnpm --filter @bookorbit/types build",
"type-check": "tsc --noEmit -p tsconfig.build.json",
"lint": "pnpm run lint:check",
"lint:check": "eslint \"{src,apps,libs,test}/**/*.ts\"",
"lint:fix": "eslint \"{src,apps,libs,test}/**/*.ts\" --fix",
"test": "vitest run --exclude test/scanner-scenarios.e2e-spec.ts --exclude test/scanner-file-operations.e2e-spec.ts",
"test:watch": "vitest",
"test:cov": "vitest run --coverage",
"e2e:run": "vitest run test/app-smoke.e2e-spec.ts"
},
"dependencies": {
"7z-wasm": "^1.2.0",
"@bookorbit/types": "workspace:*",
"@fastify/compress": "^9.2.0",
"@fastify/cookie": "^11.1.2",
"@fastify/formbody": "^8.0.2",
"@fastify/helmet": "^13.1.0",
"@fastify/multipart": "^10.1.1",
"@fastify/static": "^10.1.3",
"@nestjs/common": "^11.2.1",
"@nestjs/config": "^4.0.4",
"@nestjs/core": "^11.2.1",
"@nestjs/jwt": "^11.0.2",
"@nestjs/passport": "^11.0.5",
"@nestjs/platform-fastify": "^11.2.1",
"@nestjs/platform-socket.io": "^11.2.1",
"@nestjs/schedule": "^6.1.3",
"@nestjs/swagger": "^11.4.6",
"@nestjs/terminus": "^11.1.1",
"@nestjs/throttler": "^6.5.0",
"@nestjs/websockets": "^11.2.1",
"@types/archiver": "^8.0.0",
"archiver": "~8.0.0",
"bcryptjs": "^3.0.3",
"cheerio": "^1.2.0",
"chokidar": "^4.0.3",
"class-transformer": "^0.5.1",
"class-validator": "^0.15.1",
"cron": "^4.4.0",
"date-fns-tz": "^3.2.0",
"drizzle-orm": "^0.45.2",
"fast-xml-parser": "^5.10.1",
"fastest-levenshtein": "^1.0.16",
"fastify": "^5.11.3",
"iconv-lite": "^0.7.3",
"jose": "^6.2.9",
"langs": "^2.0.0",
"ms": "^2.1.3",
"mysql2": "^3.23.3",
"nestjs-pino": "^4.6.1",
"node-unrar-js": "^2.0.2",
"nodemailer": "^9.0.5",
"passport": "^0.7.0",
"passport-jwt": "^4.0.1",
"pdf-lib": "^1.17.1",
"pg": "^8.23.0",
"pg-connection-string": "^2.14.0",
"pino-http": "^11.0.0",
"reflect-metadata": "^0.2.2",
"rxjs": "^7.8.2",
"sharp": "^0.35.3",
"socket.io": "^4.8.3",
"unzipper": "^0.12.5",
"zod": "^4.4.3"
},
"devDependencies": {
"@eslint/eslintrc": "^3.3.6",
"@eslint/js": "^10.0.1",
"@ffmpeg-installer/ffmpeg": "^1.1.0",
"@ffprobe-installer/ffprobe": "^2.1.2",
"@nestjs/cli": "^11.0.24",
"@nestjs/schematics": "^11.1.0",
"@nestjs/testing": "^11.2.1",
"@swc/cli": "^0.8.1",
"@swc/core": "^1.16.0",
"@types/bcrypt": "^6.0.0",
"@types/express": "^5.0.6",
"@types/langs": "^2.0.5",
"@types/node": "^26.2.0",
"@types/nodemailer": "^8.0.1",
"@types/passport-jwt": "^4.0.1",
"@types/pg": "^8.21.0",
"@types/supertest": "^7.2.1",
"@types/unzipper": "^0.10.11",
"@vitest/coverage-v8": "^4.1.10",
"drizzle-kit": "^0.31.10",
"eslint": "^10.8.1",
"eslint-config-prettier": "^10.1.8",
"eslint-plugin-prettier": "^5.5.6",
"globals": "^17.11.0",
"pino-pretty": "^13.1.3",
"prettier": "^3.9.6",
"source-map-support": "^0.5.21",
"supertest": "^7.2.2",
"ts-loader": "^9.6.2",
"ts-node": "^10.9.2",
"tsconfig-paths": "^4.2.0",
"tsx": "^4.23.12",
"typescript": "^6.0.3",
"typescript-eslint": "^8.67.0",
"vitest": "^4.1.10"
}
}