mirror of
https://github.com/th-ch/youtube-music.git
synced 2026-01-09 01:31:46 +00:00
361 lines
10 KiB
JSON
361 lines
10 KiB
JSON
{
|
|
"name": "youtube-music",
|
|
"desktopName": "com.github.th_ch.youtube_music",
|
|
"productName": "YouTube Music",
|
|
"version": "3.9.0",
|
|
"description": "YouTube Music Desktop App - including custom plugins",
|
|
"main": "./dist/main/index.js",
|
|
"license": "MIT",
|
|
"repository": "th-ch/youtube-music",
|
|
"author": {
|
|
"name": "th-ch",
|
|
"email": "th-ch@users.noreply.github.com",
|
|
"url": "https://github.com/th-ch/youtube-music"
|
|
},
|
|
"build": {
|
|
"appId": "com.github.th-ch.youtube-music",
|
|
"productName": "YouTube Music",
|
|
"files": [
|
|
"!*",
|
|
"dist",
|
|
"assets",
|
|
"license",
|
|
"!node_modules",
|
|
"node_modules/custom-electron-prompt/**",
|
|
"node_modules/@ghostery/adblocker-electron-preload/**",
|
|
"node_modules/@ffmpeg.wasm/core-mt/**",
|
|
"!node_modules/**/*.map",
|
|
"!node_modules/**/*.ts"
|
|
],
|
|
"asarUnpack": [
|
|
"assets"
|
|
],
|
|
"mac": {
|
|
"identity": null,
|
|
"target": [
|
|
{
|
|
"target": "dmg",
|
|
"arch": [
|
|
"x64",
|
|
"arm64"
|
|
]
|
|
}
|
|
],
|
|
"icon": "assets/generated/icons/mac/icon.icns",
|
|
"compression": "maximum"
|
|
},
|
|
"win": {
|
|
"icon": "assets/generated/icons/win/icon.ico",
|
|
"target": [
|
|
{
|
|
"target": "nsis-web",
|
|
"arch": [
|
|
"x64",
|
|
"ia32",
|
|
"arm64"
|
|
]
|
|
},
|
|
{
|
|
"target": "portable",
|
|
"arch": [
|
|
"x64",
|
|
"ia32",
|
|
"arm64"
|
|
]
|
|
}
|
|
],
|
|
"compression": "maximum"
|
|
},
|
|
"nsisWeb": {
|
|
"runAfterFinish": false
|
|
},
|
|
"linux": {
|
|
"icon": "assets/generated/icons/png",
|
|
"category": "AudioVideo",
|
|
"desktop": {
|
|
"entry": {
|
|
"StartupWMClass": "com.github.th_ch.youtube_music"
|
|
}
|
|
},
|
|
"target": [
|
|
{
|
|
"target": "AppImage",
|
|
"arch": [
|
|
"x64",
|
|
"arm64",
|
|
"armv7l"
|
|
]
|
|
},
|
|
{
|
|
"target": "flatpak",
|
|
"arch": [
|
|
"x64"
|
|
]
|
|
},
|
|
{
|
|
"target": "deb",
|
|
"arch": [
|
|
"x64",
|
|
"arm64",
|
|
"armv7l"
|
|
]
|
|
},
|
|
{
|
|
"target": "rpm",
|
|
"arch": [
|
|
"x64",
|
|
"arm64"
|
|
]
|
|
},
|
|
{
|
|
"target": "snap",
|
|
"arch": [
|
|
"x64"
|
|
]
|
|
},
|
|
{
|
|
"target": "freebsd",
|
|
"arch": [
|
|
"x64",
|
|
"arm64",
|
|
"armv7l"
|
|
]
|
|
},
|
|
{
|
|
"target": "tar.gz",
|
|
"arch": [
|
|
"x64",
|
|
"arm64",
|
|
"armv7l"
|
|
]
|
|
}
|
|
]
|
|
},
|
|
"appImage": {
|
|
"description": "YouTube Music Desktop App bundled with custom plugins (and built-in ad blocker / downloader)",
|
|
"category": "AudioVideo"
|
|
},
|
|
"flatpak": {
|
|
"description": "YouTube Music Desktop App bundled with custom plugins (and built-in ad blocker / downloader)",
|
|
"category": "AudioVideo",
|
|
"runtimeVersion": "24.08",
|
|
"baseVersion": "24.08",
|
|
"finishArgs": [
|
|
"--socket=wayland",
|
|
"--socket=x11",
|
|
"--share=ipc",
|
|
"--device=dri",
|
|
"--socket=pulseaudio",
|
|
"--share=network",
|
|
"--filesystem=xdg-music:rw",
|
|
"--talk-name=org.freedesktop.Notifications",
|
|
"--talk-name=org.gnome.SessionManager",
|
|
"--talk-name=org.kde.StatusNotifierWatcher",
|
|
"--own-name=org.mpris.MediaPlayer2.YoutubeMusic.*"
|
|
]
|
|
},
|
|
"deb": {
|
|
"depends": [
|
|
"libgtk-3-0",
|
|
"libnotify4",
|
|
"libnss3",
|
|
"libxss1",
|
|
"libxtst6",
|
|
"xdg-utils",
|
|
"libatspi2.0-0",
|
|
"libuuid1",
|
|
"libasound2",
|
|
"libgbm1"
|
|
]
|
|
},
|
|
"rpm": {
|
|
"depends": [
|
|
"/usr/lib64/libuuid.so.1"
|
|
],
|
|
"fpm": [
|
|
"--rpm-rpmbuild-define",
|
|
"_build_id_links none"
|
|
]
|
|
},
|
|
"snap": {
|
|
"slots": [
|
|
{
|
|
"mpris": {
|
|
"interface": "mpris"
|
|
}
|
|
}
|
|
]
|
|
},
|
|
"directories": {
|
|
"output": "./pack/"
|
|
}
|
|
},
|
|
"scripts": {
|
|
"test": "playwright test",
|
|
"test:debug": "cross-env DEBUG=pw:*,-pw:test:protocol playwright test",
|
|
"build": "electron-vite build",
|
|
"vite:inspect": "pnpm clean && electron-vite build --mode development && pnpm exec serve .vite-inspect",
|
|
"start": "electron-vite preview",
|
|
"start:debug": "cross-env ELECTRON_ENABLE_LOGGING=1 pnpm start",
|
|
"dev": "cross-env NODE_OPTIONS=--enable-source-maps electron-vite dev --watch",
|
|
"dev:renderer": "cross-env NODE_OPTIONS=--enable-source-maps electron-vite dev",
|
|
"dev:debug": "cross-env ELECTRON_ENABLE_LOGGING=1 pnpm dev",
|
|
"clean": "del-cli dist && del-cli pack && del-cli .vite-inspect",
|
|
"dist": "pnpm clean && pnpm build && pnpm electron-builder --win --mac --linux -p never",
|
|
"dist:linux": "pnpm clean && pnpm build && pnpm electron-builder --linux -p never",
|
|
"dist:linux:deb-arm64": "pnpm clean && pnpm build && pnpm electron-builder --linux deb:arm64 -p never",
|
|
"dist:linux:rpm-arm64": "pnpm clean && pnpm build && pnpm electron-builder --linux rpm:arm64 -p never",
|
|
"dist:mac": "pnpm clean && pnpm build && pnpm electron-builder --mac dmg:x64 -p never",
|
|
"dist:mac:arm64": "pnpm clean && pnpm build && pnpm electron-builder --mac dmg:arm64 -p never",
|
|
"dist:win": "pnpm clean && pnpm build && pnpm electron-builder --win -p never",
|
|
"dist:win:x64": "pnpm clean && pnpm build && pnpm electron-builder --win nsis-web:x64 -p never",
|
|
"lint": "eslint .",
|
|
"changelog": "npx --yes auto-changelog",
|
|
"release:linux": "pnpm clean && pnpm build && pnpm electron-builder --linux -p always -c.snap.publish=github",
|
|
"release:mac": "pnpm clean && pnpm build && pnpm electron-builder --mac -p always",
|
|
"release:win": "pnpm clean && pnpm build && pnpm electron-builder --win -p always",
|
|
"typecheck": "tsc -p tsconfig.json --noEmit"
|
|
},
|
|
"engines": {
|
|
"node": ">=18",
|
|
"pnpm": ">=10"
|
|
},
|
|
"pnpm": {
|
|
"overrides": {
|
|
"vite": "npm:rolldown-vite@7.0.3",
|
|
"node-gyp": "11.2.0",
|
|
"xml2js": "0.6.2",
|
|
"node-fetch": "3.3.2",
|
|
"@electron/universal": "2.0.3",
|
|
"@babel/runtime": "7.27.6",
|
|
"vitefu": "1.0.7"
|
|
},
|
|
"patchedDependencies": {
|
|
"vudio@2.1.1": "patches/vudio@2.1.1.patch",
|
|
"@malept/flatpak-bundler@0.4.0": "patches/@malept__flatpak-bundler@0.4.0.patch",
|
|
"kuromoji@0.1.2": "patches/kuromoji@0.1.2.patch"
|
|
},
|
|
"neverBuiltDependencies": []
|
|
},
|
|
"dependencies": {
|
|
"@electron-toolkit/tsconfig": "1.0.1",
|
|
"@electron/remote": "2.1.2",
|
|
"@ffmpeg.wasm/core-mt": "0.12.0",
|
|
"@ffmpeg.wasm/main": "0.12.0",
|
|
"@floating-ui/dom": "1.7.2",
|
|
"@foobar404/wave": "2.0.5",
|
|
"@ghostery/adblocker-electron": "2.8.0",
|
|
"@ghostery/adblocker-electron-preload": "2.8.0",
|
|
"@hono/node-server": "1.14.4",
|
|
"@hono/swagger-ui": "0.5.2",
|
|
"@hono/zod-openapi": "0.19.9",
|
|
"@hono/zod-validator": "0.7.0",
|
|
"@jellybrick/dbus-next": "0.10.3",
|
|
"@jellybrick/electron-better-web-request": "1.0.4",
|
|
"@jellybrick/mpris-service": "2.1.5",
|
|
"@jimp/plugin-color": "1.6.0",
|
|
"@skyra/jaro-winkler": "1.1.1",
|
|
"@xhayper/discord-rpc": "1.2.2",
|
|
"async-mutex": "0.5.0",
|
|
"bgutils-js": "3.2.0",
|
|
"butterchurn": "3.0.0-beta.4",
|
|
"butterchurn-presets": "3.0.0-beta.4",
|
|
"color": "5.0.0",
|
|
"conf": "14.0.0",
|
|
"custom-electron-prompt": "1.5.8",
|
|
"deepmerge-ts": "7.1.5",
|
|
"delay": "6.0.0",
|
|
"electron-debug": "4.1.0",
|
|
"electron-is": "3.0.0",
|
|
"electron-localshortcut": "3.2.1",
|
|
"electron-store": "10.1.0",
|
|
"electron-unhandled": "4.0.1",
|
|
"electron-updater": "6.6.2",
|
|
"es-hangul": "2.3.4",
|
|
"fast-average-color": "9.5.0",
|
|
"fast-equals": "5.2.2",
|
|
"fflate": "0.8.2",
|
|
"filenamify": "6.0.0",
|
|
"hanja": "1.1.4",
|
|
"happy-dom": "18.0.1",
|
|
"hono": "4.8.3",
|
|
"howler": "2.2.4",
|
|
"html-to-text": "9.0.5",
|
|
"i18next": "25.2.1",
|
|
"jimp": "1.6.0",
|
|
"keyboardevent-from-electron-accelerator": "2.0.0",
|
|
"keyboardevents-areequal": "0.2.2",
|
|
"kuromoji": "0.1.2",
|
|
"kuroshiro": "1.2.0",
|
|
"kuroshiro-analyzer-kuromoji": "1.1.0",
|
|
"lazy-var": "2.2.2",
|
|
"node-html-parser": "7.0.1",
|
|
"node-id3": "0.2.9",
|
|
"peerjs": "1.5.5",
|
|
"segmentit": "2.0.3",
|
|
"semver": "7.7.2",
|
|
"serve": "14.2.4",
|
|
"simple-youtube-age-restriction-bypass": "github:organization/Simple-YouTube-Age-Restriction-Bypass#v2.5.9",
|
|
"socks": "2.8.5",
|
|
"solid-floating-ui": "0.3.1",
|
|
"solid-js": "1.9.7",
|
|
"solid-styled-components": "0.28.5",
|
|
"solid-transition-group": "0.3.0",
|
|
"tiny-pinyin": "1.3.2",
|
|
"tinyld": "1.3.4",
|
|
"ts-morph": "26.0.0",
|
|
"virtua": "0.41.1",
|
|
"vudio": "2.1.1",
|
|
"x11": "2.3.0",
|
|
"youtubei.js": "14.0.0",
|
|
"zod": "3.25.67"
|
|
},
|
|
"devDependencies": {
|
|
"@eslint/js": "9.30.0",
|
|
"@malept/flatpak-bundler": "0.4.0",
|
|
"@playwright/test": "1.53.1",
|
|
"@stylistic/eslint-plugin-js": "4.4.1",
|
|
"@total-typescript/ts-reset": "0.6.1",
|
|
"@types/electron-localshortcut": "3.1.3",
|
|
"@types/howler": "2.2.12",
|
|
"@types/html-to-text": "9.0.4",
|
|
"@types/semver": "7.7.0",
|
|
"@types/trusted-types": "2.0.7",
|
|
"bufferutil": "4.0.9",
|
|
"builtin-modules": "5.0.0",
|
|
"cross-env": "7.0.3",
|
|
"del-cli": "6.0.0",
|
|
"discord-api-types": "0.38.13",
|
|
"electron": "37.1.0",
|
|
"electron-builder": "26.0.12",
|
|
"electron-builder-squirrel-windows": "26.0.12",
|
|
"electron-devtools-installer": "4.0.0",
|
|
"electron-vite": "4.0.0-beta.0",
|
|
"esbuild": "0.25.5",
|
|
"eslint": "9.30.0",
|
|
"eslint-config-prettier": "10.1.5",
|
|
"eslint-import-resolver-exports": "1.0.0-beta.5",
|
|
"eslint-import-resolver-typescript": "4.4.4",
|
|
"eslint-plugin-import": "2.32.0",
|
|
"eslint-plugin-prettier": "5.5.1",
|
|
"glob": "11.0.3",
|
|
"node-gyp": "11.2.0",
|
|
"playwright": "1.53.1",
|
|
"rollup": "4.44.1",
|
|
"typescript": "5.8.3",
|
|
"typescript-eslint": "8.35.0",
|
|
"utf-8-validate": "6.0.5",
|
|
"vite": "npm:rolldown-vite@7.0.3",
|
|
"vite-plugin-inspect": "11.3.0",
|
|
"vite-plugin-resolve": "2.5.2",
|
|
"vite-plugin-solid": "2.11.7",
|
|
"ws": "8.18.3"
|
|
},
|
|
"auto-changelog": {
|
|
"hideCredit": true,
|
|
"package": true,
|
|
"unreleased": true,
|
|
"output": "changelog.md"
|
|
}
|
|
}
|