Files
ReadMeABook/package.json
T
kikootwo d3dc6cf76d Add volume mapping docs and build/version metadata
Add a volume-mapping guide and surface build/version metadata throughout the project.

Changes included:
- documentation: Add documentation/deployment/volume-mapping.md and update TABLEOFCONTENTS.md and README to reference it (helps users align download client and RMAB paths).
- CI: Capture package.json version in .github/workflows/build-unified-image.yml, pass APP_VERSION as a build-arg, and update the Discord notification to show the semantic version and pull `:latest`.
- Docker: Declare ARG APP_VERSION and expose NEXT_PUBLIC_APP_VERSION / APP_VERSION / GIT_COMMIT env vars in dockerfile.unified so runtime and client can read the semantic version and commit.
- App API/UI: Update src/app/api/version/route.ts and src/components/ui/VersionBadge.tsx to prefer semantic app version (APP_VERSION / NEXT_PUBLIC_APP_VERSION), include fullVersion and commit info, show commit in tooltip, and adjust fallback/dev labels.
- Tests: Update tests (system.routes.test.ts and VersionBadge.test.tsx) to reflect the new version/commit fields and behavior.
- Audible integration: Add ipRedirectOverride query param to multiple Audible requests to avoid IP-based region redirects.
- Misc: Bump package.json version to 1.0.0.

These changes make version information consistent between build, runtime, and UI, improve CI notifications, add user guidance for common volume-mapping issues, and harden Audible scraping against region redirects.
2026-02-05 10:26:07 -05:00

70 lines
1.8 KiB
JSON

{
"name": "readmeabook",
"version": "1.0.0",
"private": true,
"scripts": {
"dev": "next dev",
"build": "next build",
"start": "next start",
"lint": "eslint",
"test": "vitest run",
"test:watch": "vitest",
"test:coverage": "vitest run --coverage",
"prisma:generate": "prisma generate",
"prisma:migrate": "prisma migrate dev",
"prisma:studio": "prisma studio",
"db:push": "prisma db push"
},
"dependencies": {
"@heroicons/react": "^2.2.0",
"@prisma/client": "^6.19.0",
"adm-zip": "^0.5.16",
"axios": "^1.7.2",
"bcrypt": "^5.1.1",
"bull": "^4.12.0",
"cheerio": "^1.0.0-rc.12",
"clsx": "^2.1.1",
"date-fns": "^3.6.0",
"fast-xml-parser": "^5.3.1",
"form-data": "^4.0.4",
"ioredis": "^5.3.2",
"jsonwebtoken": "^9.0.2",
"next": "16.0.7",
"openid-client": "^4.9.1",
"parse-torrent": "^11.0.19",
"react": "19.2.1",
"react-dom": "19.2.1",
"react-swipeable": "^7.0.1",
"string-similarity": "^4.0.4",
"swr": "^2.3.6",
"xml2js": "^0.6.2",
"zod": "^3.23.8"
},
"devDependencies": {
"@tailwindcss/postcss": "^4",
"@testing-library/jest-dom": "^6.9.1",
"@types/adm-zip": "^0.5.6",
"@testing-library/react": "^16.3.1",
"@testing-library/user-event": "^14.6.1",
"@types/bcrypt": "^5.0.2",
"@types/bull": "^4.10.0",
"@types/jsonwebtoken": "^9.0.6",
"@types/node": "^20",
"@types/parse-torrent": "^5.8.8",
"@types/react": "^19",
"@types/react-dom": "^19",
"@types/string-similarity": "^4.0.2",
"@types/xml2js": "^0.4.14",
"@vitest/coverage-v8": "^4.0.17",
"eslint": "^9",
"eslint-config-next": "16.0.7",
"jsdom": "^27.4.0",
"prisma": "^6.19.0",
"tailwindcss": "^4",
"ts-node": "^10.9.2",
"typescript": "^5",
"vite-tsconfig-paths": "^6.0.4",
"vitest": "^4.0.17"
}
}