audiobookshelf/package.json
Binyamin Blatt 9ef873fab6
Add Arch Linux packaging, cross-compilation support, and binary generation
- Introduce Arch Linux package build process, supporting both x86_64 and aarch64 architectures.
- Add Arch-specific configuration files for service, sysusers, and tmpfiles to facilitate system integration.
- Update packaging script to dynamically handle Arch-specific builds and configure PKGBUILD fields.
- Add cross-compilation support, enabling building for ARM (aarch64) on x86_64 systems.
- Implement binary generation for both architectures, allowing separate or unified binary outputs.
- Include npm scripts to automate Arch build and cross-compilation processes.
- Simplify deployment and integration for Arch-based systems.
2025-08-19 14:45:39 +03:00

76 lines
2.5 KiB
JSON

{
"name": "audiobookshelf",
"version": "2.28.0",
"buildNumber": 1,
"description": "Self-hosted audiobook and podcast server",
"main": "index.js",
"scripts": {
"dev": "nodemon --watch server index.js -- --dev",
"start": "node index.js",
"start-dev": "node index.js --prod-with-dev-env",
"client": "cd client && npm ci && npm run generate",
"prod": "npm run client && npm ci && node index.js",
"build-win": "npm run client && pkg -t node20-win-x64 -o ./dist/win/audiobookshelf -C GZip .",
"build-linux": "build/linuxpackager",
"build-linux-amd64": "build/linuxpackager amd64",
"build-linux-arm64": "build/linuxpackager arm64",
"build-linux-arch": "build/linuxpackager --arch-linux",
"build-linux-arch-amd64": "build/linuxpackager amd64 --arch-linux",
"build-linux-arch-arm64": "build/linuxpackager arm64 --arch-linux",
"build-linux-binary": "build/linuxpackager --binary-only",
"build-linux-amd64-binary": "build/linuxpackager amd64 --binary-only",
"build-linux-arm64-binary": "build/linuxpackager arm64 --binary-only",
"docker": "docker buildx build --platform linux/amd64,linux/arm64 --push . -t advplyr/audiobookshelf",
"docker-amd64-local": "docker buildx build --platform linux/amd64 --load . -t advplyr/audiobookshelf-amd64-local",
"docker-arm64-local": "docker buildx build --platform linux/arm64 --load . -t advplyr/audiobookshelf-arm64-local",
"deploy-linux": "node deploy/linux",
"test": "mocha",
"coverage": "nyc mocha"
},
"bin": "index.js",
"pkg": {
"assets": [
"client/dist/**/*",
"node_modules/sqlite3/lib/binding/**/*.node",
"server/migrations/*.js"
],
"scripts": [
"index.js",
"server/**/*.js"
]
},
"mocha": {
"recursive": true
},
"author": "advplyr",
"license": "GPL-3.0",
"dependencies": {
"axios": "^0.27.2",
"cookie-parser": "^1.4.6",
"express": "^4.17.1",
"express-rate-limit": "^7.5.1",
"express-session": "^1.17.3",
"graceful-fs": "^4.2.10",
"htmlparser2": "^8.0.1",
"lru-cache": "^10.0.3",
"node-unrar-js": "^2.0.2",
"nodemailer": "^6.9.13",
"openid-client": "^5.6.1",
"p-throttle": "^4.1.1",
"passport": "^0.6.0",
"passport-jwt": "^4.0.1",
"semver": "^7.6.3",
"sequelize": "^6.35.2",
"socket.io": "^4.5.4",
"sqlite3": "^5.1.7",
"ssrf-req-filter": "^1.1.0",
"xml2js": "^0.5.0"
},
"devDependencies": {
"chai": "^4.3.10",
"mocha": "^10.2.0",
"nodemon": "^2.0.20",
"nyc": "^15.1.0",
"sinon": "^17.0.1"
}
}