Eliminate all code paths, configuration, and documentation related to running without authentication. Require AUTH_SECRET and BASE_URL at startup, updating middleware, server logic, and runtime checks to assume auth is always enabled. Simplify onboarding, settings, and test helpers to reflect mandatory auth. Update environment examples, Docker and deployment docs, and CI/test configs. Remove no-auth-specific UI flows, test cases, and feature toggles.
99 lines
3.4 KiB
JSON
99 lines
3.4 KiB
JSON
{
|
|
"name": "openreader",
|
|
"version": "3.0.0",
|
|
"private": true,
|
|
"packageManager": "pnpm@10.33.4",
|
|
"scripts": {
|
|
"dev": "node scripts/openreader-entrypoint.mjs -- pnpm dev:raw",
|
|
"dev:raw": "next dev --turbopack -p 3003",
|
|
"build": "next build",
|
|
"build:bundle-guard": "node scripts/check-next-server-bundle.mjs",
|
|
"start": "node scripts/openreader-entrypoint.mjs -- pnpm start:raw",
|
|
"start:raw": "next start -p 3003",
|
|
"lint": "next lint",
|
|
"test": "playwright test",
|
|
"test:e2e": "playwright test",
|
|
"test:unit": "vitest run",
|
|
"test:compute": "vitest run --project compute-core --project compute-worker",
|
|
"test:ci": "CI=true playwright test",
|
|
"migrate": "node drizzle/scripts/migrate.mjs",
|
|
"migrate-fs": "node scripts/migrate-fs-v2.mjs",
|
|
"migrate-fs:dry-run": "node scripts/migrate-fs-v2.mjs --dry-run true",
|
|
"generate": "node drizzle/scripts/generate.mjs",
|
|
"docs:init": "pnpm --dir docs-site install",
|
|
"docs:dev": "pnpm --dir docs-site start",
|
|
"docs:build": "pnpm --dir docs-site build",
|
|
"docs:serve": "pnpm --dir docs-site serve",
|
|
"docs:version": "pnpm --dir docs-site docusaurus docs:version",
|
|
"docs:clear": "pnpm --dir docs-site clear",
|
|
"compute:worker:dev": "pnpm --filter @openreader/compute-worker dev",
|
|
"compute:worker:start": "pnpm --filter @openreader/compute-worker start",
|
|
"compute:dev:compose": "docker compose --env-file compute/worker/.env -f compute/worker/docker-compose.yml up --build",
|
|
"lint:route-errors": "node scripts/check-route-error-responses.mjs"
|
|
},
|
|
"dependencies": {
|
|
"@aws-sdk/client-s3": "^3.1045.0",
|
|
"@aws-sdk/s3-request-presigner": "^3.1045.0",
|
|
"@headlessui/react": "^2.2.10",
|
|
"@huggingface/tokenizers": "^0.1.3",
|
|
"@napi-rs/canvas": "^0.1.100",
|
|
"@tanstack/react-query": "^5.100.10",
|
|
"@types/archiver": "^7.0.0",
|
|
"@vercel/analytics": "^1.6.1",
|
|
"archiver": "^7.0.1",
|
|
"better-auth": "^1.6.11",
|
|
"better-sqlite3": "^12.10.0",
|
|
"cmpstr": "^3.3.0",
|
|
"compromise": "^14.15.0",
|
|
"core-js": "^3.49.0",
|
|
"dexie": "^4.4.2",
|
|
"dexie-react-hooks": "^4.4.0",
|
|
"dotenv": "^17.4.2",
|
|
"drizzle-kit": "^0.31.10",
|
|
"drizzle-orm": "^0.45.2",
|
|
"epubjs": "^0.3.93",
|
|
"fast-xml-parser": "^5.8.0",
|
|
"ffmpeg-static": "^5.3.0",
|
|
"howler": "^2.2.4",
|
|
"jszip": "^3.10.1",
|
|
"lru-cache": "^11.3.6",
|
|
"next": "^15.5.18",
|
|
"onnxruntime-node": "^1.26.0",
|
|
"openai": "^6.37.0",
|
|
"pdfjs-dist": "4.8.69",
|
|
"pg": "^8.20.0",
|
|
"pino": "^10.3.1",
|
|
"pino-pretty": "^13.1.3",
|
|
"react": "^19.2.6",
|
|
"react-dnd": "^16.0.1",
|
|
"react-dnd-html5-backend": "^16.0.1",
|
|
"react-dnd-touch-backend": "^16.0.1",
|
|
"react-dom": "^19.2.6",
|
|
"react-dropzone": "^14.4.1",
|
|
"react-hot-toast": "^2.6.0",
|
|
"react-markdown": "^10.1.0",
|
|
"react-pdf": "^9.2.1",
|
|
"react-reader": "^2.0.15",
|
|
"remark-gfm": "^4.0.1",
|
|
"replicate": "^1.4.0",
|
|
"uuid": "^11.1.1"
|
|
},
|
|
"devDependencies": {
|
|
"@eslint/eslintrc": "^3.3.5",
|
|
"@playwright/test": "^1.60.0",
|
|
"@tailwindcss/typography": "^0.5.19",
|
|
"@types/better-sqlite3": "^7.6.13",
|
|
"@types/howler": "^2.2.12",
|
|
"@types/node": "^20.19.41",
|
|
"@types/pg": "^8.20.0",
|
|
"@types/react": "^19.2.14",
|
|
"@types/react-dom": "^19.2.3",
|
|
"@types/uuid": "^10.0.0",
|
|
"eslint": "^9.39.4",
|
|
"eslint-config-next": "^15.5.18",
|
|
"postcss": "^8.5.14",
|
|
"tailwindcss": "^3.4.19",
|
|
"typescript": "^5.9.3",
|
|
"vitest": "^4.1.7"
|
|
}
|
|
}
|