{ "name": "youtube-music", "productName": "YouTube Music", "version": "1.20.1", "description": "YouTube Music Desktop App - including custom plugins", "main": "./dist/index.js", "license": "MIT", "repository": "organization/youtube-music-next", "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", "mac": { "identity": null, "files": [ "!*", "dist", "!dist/plugins/taskbar-mediacontrol${/*}", "license", "node_modules", "package.json", "tests" ], "target": [ { "target": "dmg", "arch": [ "x64", "arm64" ] } ], "icon": "assets/generated/icons/mac/icon.icns" }, "win": { "icon": "assets/generated/icons/win/icon.ico", "files": [ "!*", "dist", "!dist/plugins/touchbar${/*}", "license", "node_modules", "package.json", "tests" ], "target": [ { "target": "nsis", "arch": [ "x64", "arm64" ] }, { "target": "portable", "arch": [ "x64", "arm64" ] } ] }, "nsis": { "runAfterFinish": false }, "linux": { "icon": "assets/generated/icons/png", "files": [ "!*", "dist", "!dist/plugins/{touchbar,taskbar-mediacontrol}${/*}", "license", "node_modules", "package.json", "tests" ], "category": "AudioVideo", "target": [ "AppImage", "snap", "freebsd", "deb", "rpm" ] }, "snap": { "slots": [ { "mpris": { "interface": "mpris" } } ] }, "directories": { "output": "./pack/" } }, "scripts": { "test": "playwright test", "test:debug": "DEBUG=pw:browser* playwright test", "start": "npm run tsc-and-copy && electron ./dist/index.js", "start:debug": "ELECTRON_ENABLE_LOGGING=1 electron ./dist/index.js", "generate:package": "node utils/generate-package-json.js", "postinstall": "npm run plugins", "clean": "del-cli dist && del-cli pack", "ytm-resource-copy-files": "copyfiles error.html youtube-music.css assets/**/* dist/", "copy-files": "copyfiles -u 1 plugins/**/*.html plugins/**/*.css plugins/**/*.bin plugins/**/*.js dist/plugins/", "tsc-and-copy": "tsc && npm run plugin:adblocker-without-tsc && npm run ytm-resource-copy-files && npm run copy-files", "build": "npm run clean && npm run tsc-and-copy && electron-builder --win --mac --linux -p never", "build:linux": "npm run clean && npm run tsc-and-copy && electron-builder --linux -p never", "build:mac": "npm run clean && npm run tsc-and-copy && electron-builder --mac dmg:x64 -p never", "build:mac:arm64": "npm run clean && npm run tsc-and-copy && electron-builder --mac dmg:arm64 -p never", "build:win": "npm run clean && npm run tsc-and-copy && electron-builder --win -p never", "build:win:x64": "npm run clean && npm run tsc-and-copy && electron-builder --win nsis:x64 -p never", "lint": "eslint .", "changelog": "auto-changelog", "plugins": "npm run plugin:adblocker && npm run plugin:bypass-age-restrictions", "plugin:adblocker-without-tsc": "del-cli plugins/adblocker/ad-blocker-engine.bin && node dist/plugins/adblocker/blocker.js", "plugin:adblocker": "del-cli plugins/adblocker/ad-blocker-engine.bin && tsc && node dist/plugins/adblocker/blocker.js", "plugin:bypass-age-restrictions": "del-cli node_modules/simple-youtube-age-restriction-bypass/package.json && npm run generate:package simple-youtube-age-restriction-bypass", "release:linux": "npm run clean && npm run tsc-and-copy && electron-builder --linux -p always -c.snap.publish=github", "release:mac": "npm run clean && npm run tsc-and-copy && electron-builder --mac -p always", "release:win": "npm run clean && npm run tsc-and-copy && electron-builder --win -p always", "typecheck": "tsc -p tsconfig.json --noEmit" }, "engines": { "node": ">=16.0.0" }, "dependencies": { "@cliqz/adblocker-electron": "1.26.7", "@ffmpeg.wasm/core-mt": "0.12.0", "@ffmpeg.wasm/main": "0.12.0", "@foobar404/wave": "2.0.4", "@xhayper/discord-rpc": "1.0.22", "async-mutex": "0.4.0", "butterchurn": "2.6.7", "butterchurn-presets": "2.4.7", "conf": "10.2.0", "custom-electron-prompt": "1.5.7", "custom-electron-titlebar": "4.1.6", "electron-better-web-request": "1.0.1", "electron-debug": "3.2.0", "electron-is": "3.0.0", "electron-localshortcut": "3.2.1", "electron-store": "8.1.0", "electron-unhandled": "4.0.1", "electron-updater": "6.1.4", "fast-average-color-node": "2.6.0", "filenamify": "4.3.0", "howler": "2.2.4", "html-to-text": "9.0.5", "keyboardevent-from-electron-accelerator": "2.0.0", "keyboardevents-areequal": "0.2.2", "mpris-service": "2.1.2", "node-id3": "0.2.6", "simple-youtube-age-restriction-bypass": "git+https://github.com/MiepHD/Simple-YouTube-Age-Restriction-Bypass.git#v2.5.5", "vudio": "2.1.1", "youtubei.js": "6.4.0", "ytpl": "2.3.0" }, "overrides": { "xml2js": "0.6.2", "node-fetch": "2.7.0", "@electron/universal": "1.4.2", "electron": "27.0.0-beta.8" }, "devDependencies": { "@playwright/test": "1.38.1", "@total-typescript/ts-reset": "0.5.1", "@types/electron-localshortcut": "3.1.1", "@types/howler": "2.2.9", "@types/html-to-text": "9.0.2", "@typescript-eslint/eslint-plugin": "6.7.3", "auto-changelog": "2.4.0", "copyfiles": "2.4.1", "del-cli": "5.1.0", "electron": "27.0.0-beta.8", "electron-builder": "24.6.4", "electron-devtools-installer": "3.2.0", "eslint": "8.50.0", "eslint-plugin-import": "2.28.1", "eslint-plugin-prettier": "5.0.0", "node-gyp": "9.4.0", "playwright": "1.38.1", "typescript": "5.2.2" }, "auto-changelog": { "hideCredit": true, "package": true, "unreleased": true, "output": "changelog.md" } }