package.json
Rama main · réplica de lectura del repositorio original.
{
"name": "beacon",
"version": "1.11.0",
"packageManager": "pnpm@11.5.0",
"description": "A modern self-hosted music player with Multi-room casting support.",
"keywords": [
"subsonic",
"navidrome",
"jellyfin",
"react",
"electron"
],
"homepage": "https://github.com/mihaitom/beacon",
"bugs": {
"url": "https://github.com/mihaitom/beacon/issues"
},
"license": "GPL-3.0",
"type": "module",
"main": "./out/main/index.js",
"desktopName": "beacon.desktop",
"author": {
"name": "Thomas Mihailovits",
"email": "beacon@users.noreply.github.com",
"url": "https://github.com/mihaitom/"
},
"scripts": {
"dev": "concurrently -k -s first -n connect,electron,party \"pnpm:dev:connect\" \"pnpm:dev:electron\" \"pnpm:dev:party\"",
"dev:electron": "install-electron && electron-vite dev",
"dev:connect": "cd connect && uv run python main.py",
"dev:web": "concurrently -k -s first -n connect,web,party \"pnpm:dev:connect\" \"pnpm:dev:web:vite\" \"pnpm:dev:party\"",
"dev:party": "vite build --config party.vite.config.ts --watch",
"dev:web:vite": "vite --config web.vite.config.ts",
"build": "electron-vite build",
"build:web": "vite build --config web.vite.config.ts",
"build:party": "vite build --config party.vite.config.ts",
"start": "install-electron && electron-vite preview",
"test:unit": "vitest run",
"test:unit:watch": "vitest",
"test:unit:coverage": "vitest run --coverage",
"test:layout": "vitest run --config vitest.browser.config.ts",
"screenshots": "node scripts/screenshots/take.mjs",
"package:connect": "pnpm build:party && cd connect && uv run python packaging/build-binary.py",
"package:ffmpeg": "bash scripts/build-ffmpeg.sh",
"package": "npm run package:ffmpeg && npm run package:connect && electron-vite build && electron-builder --publish never",
"package:dir": "npm run package:ffmpeg && npm run package:connect && electron-vite build && electron-builder --dir --publish never",
"publish": "npm run package:ffmpeg && npm run package:connect && electron-vite build && electron-builder --publish always",
"publish:linux": "npm run package:ffmpeg && npm run package:connect && electron-vite build && electron-builder --publish always --linux --x64",
"publish:linux-arm64": "npm run package:ffmpeg && npm run package:connect && electron-vite build && electron-builder --publish always --linux --arm64",
"publish:mac": "npm run package:ffmpeg && npm run package:connect && electron-vite build && electron-builder --publish always --mac",
"publish:win": "npm run package:ffmpeg && npm run package:connect && electron-vite build && electron-builder --publish always --win --x64",
"publish:win-arm64": "npm run package:ffmpeg && npm run package:connect && electron-vite build && electron-builder --publish always --win --arm64",
"type-check": "vue-tsc --build",
"bump-version": "pnpm version --no-git-tag-version --no-git-checks",
"postversion": "node ./scripts/sync-connect-version.mjs && node ./scripts/finalize-changelog.mjs",
"prepare": "husky",
"lint": "run-s \"lint:*\"",
"lint:oxlint": "oxlint . --fix",
"lint:eslint": "eslint . --fix --cache",
"format": "prettier --write --experimental-cli src/",
"format:check": "prettier --check --experimental-cli src/"
},
"dependencies": {
"@electron-toolkit/preload": "^3.0.2",
"@electron-toolkit/utils": "^4.0.0",
"@fontsource-variable/inter": "^5.3.0",
"@mdi/font": "^7.4.47",
"blueimp-md5": "^2.19.0",
"dotenv": "^18.0.9",
"electron-updater": "^6.8.11",
"markdown-it": "^15.0.3",
"mitt": "^3.0.1",
"pinia": "^4.1.0",
"qrcode": "^1.5.4",
"vue": "^3.5.44",
"vue-i18n": "^11.4.16",
"vue-router": "^5.4.0",
"vuetify": "^4.3.1"
},
"devDependencies": {
"@pinia/testing": "^2.0.2",
"@tsconfig/node24": "^24.0.5",
"@types/blueimp-md5": "^2.18.2",
"@types/markdown-it": "^14.2.0",
"@types/node": "^26.6.6",
"@types/qrcode": "^1.5.6",
"@vitejs/plugin-vue": "^6.0.10",
"@vitest/browser-playwright": "4.1.12",
"@vitest/coverage-v8": "^4.1.12",
"@vue/eslint-config-typescript": "^14.9.0",
"@vue/test-utils": "^2.5.1",
"@vue/tsconfig": "^0.9.1",
"concurrently": "^10.0.6",
"electron": "^45.2.1",
"electron-builder": "^26.18.0",
"electron-vite": "^6.0.0",
"eslint": "^10.14.0",
"eslint-config-prettier": "^10.1.8",
"eslint-plugin-oxlint": "~1.90.0",
"eslint-plugin-vue": "~10.12.0",
"fast-check": "^4.10.2",
"husky": "^9.1.7",
"jiti": "^2.7.0",
"jsdom": "^30.1.3",
"lint-staged": "^17.6.0",
"npm-run-all2": "^9.0.4",
"oxlint": "~1.90.0",
"playwright": "^1.64.1",
"prettier": "3.9.10",
"typescript": "~6.0.3",
"vite": "^8.3.5",
"vite-plugin-vue-devtools": "^8.2.1",
"vite-plugin-vuetify": "^2.1.3",
"vitest": "^4.1.12",
"vue-eslint-parser": "^10.4.1",
"vue-tsc": "^3.3.14"
},
"engines": {
"node": "^22.18.0 || >=24.12.0"
},
"allowScripts": {
"electron@39.8.10": true,
"esbuild@0.25.12": true,
"esbuild@0.28.2": true,
"electron-winstaller@5.4.0": true
},
"lint-staged": {
"src/**/*.{ts,vue,mts,tsx}": [
"oxlint --fix",
"eslint --fix --cache",
"prettier --write --experimental-cli"
],
"src/**/*.{css,html,json,webmanifest}": "prettier --write --experimental-cli"
}
}