mirror of
https://github.com/antebudimir/feishin.git
synced 2025-12-31 10:03:33 +00:00
184 lines
7.4 KiB
JSON
184 lines
7.4 KiB
JSON
{
|
|
"name": "feishin",
|
|
"version": "0.20.1",
|
|
"description": "A modern self-hosted music player.",
|
|
"keywords": [
|
|
"subsonic",
|
|
"navidrome",
|
|
"jellyfin",
|
|
"react",
|
|
"electron"
|
|
],
|
|
"homepage": "https://github.com/jeffvli/feishin",
|
|
"bugs": {
|
|
"url": "https://github.com/jeffvli/feishin/issues"
|
|
},
|
|
"license": "GPL-3.0",
|
|
"author": {
|
|
"name": "jeffvli",
|
|
"url": "https://github.com/jeffvli/"
|
|
},
|
|
"main": "./out/main/index.js",
|
|
"scripts": {
|
|
"build": "pnpm run typecheck && pnpm run build:electron && pnpm run build:remote",
|
|
"build:electron": "electron-vite build",
|
|
"build:remote": "vite build --config remote.vite.config.ts",
|
|
"build:web": "vite build --config web.vite.config.ts",
|
|
"dev": "electron-vite dev",
|
|
"dev:remote": "vite dev --config remote.vite.config.ts",
|
|
"dev:watch": "electron-vite dev --watch",
|
|
"i18next": "i18next -c src/i18n/i18next-parser.config.js",
|
|
"postinstall": "electron-builder install-app-deps",
|
|
"lint": "pnpm run lint-code && pnpm run lint-styles",
|
|
"lint-code": "eslint --max-warnings=0 --cache .",
|
|
"lint-code:fix": "eslint --cache --fix .",
|
|
"lint-styles": "stylelint --max-warnings=0 'src/**/*.{css,scss}'",
|
|
"lint-styles:fix": "stylelint 'src/**/*.{css,scss}' --fix",
|
|
"lint:fix": "pnpm run lint-code:fix && pnpm run lint-styles:fix",
|
|
"package": "pnpm run build && electron-builder",
|
|
"package:dev": "pnpm run build && electron-builder --dir",
|
|
"package:linux": "pnpm run build && electron-builder --linux",
|
|
"package:linux-arm64:pr": "pnpm run build && electron-builder --linux --arm64 --publish never",
|
|
"package:linux:pr": "pnpm run build && electron-builder --linux --publish never",
|
|
"package:mac": "pnpm run build && electron-builder --mac",
|
|
"package:mac:pr": "pnpm run build && electron-builder --mac --publish never",
|
|
"package:win": "pnpm run build && electron-builder --win",
|
|
"package:win:pr": "pnpm run build && electron-builder --win --publish never",
|
|
"publish:linux": "electron-builder --publish always --linux",
|
|
"publish:linux-arm64": "electron-builder --publish always --linux --arm64",
|
|
"publish:mac": "electron-builder --publish always --mac",
|
|
"publish:win": "electron-builder --publish always --win",
|
|
"start": "electron-vite preview",
|
|
"typecheck": "pnpm run typecheck:node && pnpm run typecheck:web",
|
|
"typecheck:node": "tsc --noEmit -p tsconfig.node.json --composite false",
|
|
"typecheck:web": "tsc --noEmit -p tsconfig.web.json --composite false"
|
|
},
|
|
"dependencies": {
|
|
"@ag-grid-community/client-side-row-model": "^28.2.1",
|
|
"@ag-grid-community/core": "^28.2.1",
|
|
"@ag-grid-community/infinite-row-model": "^28.2.1",
|
|
"@ag-grid-community/react": "^28.2.1",
|
|
"@ag-grid-community/styles": "^28.2.1",
|
|
"@atlaskit/pragmatic-drag-and-drop": "1.4.0",
|
|
"@atlaskit/pragmatic-drag-and-drop-auto-scroll": "^2.1.0",
|
|
"@atlaskit/pragmatic-drag-and-drop-hitbox": "^1.0.3",
|
|
"@electron-toolkit/preload": "^3.0.1",
|
|
"@electron-toolkit/utils": "^4.0.0",
|
|
"@mantine/colors-generator": "^8.2.8",
|
|
"@mantine/core": "^8.2.8",
|
|
"@mantine/dates": "^8.2.8",
|
|
"@mantine/form": "^8.2.8",
|
|
"@mantine/hooks": "^8.2.8",
|
|
"@mantine/modals": "^8.2.8",
|
|
"@mantine/notifications": "^8.2.8",
|
|
"@tanstack/react-query": "^4.32.1",
|
|
"@tanstack/react-query-devtools": "^4.32.1",
|
|
"@tanstack/react-query-persist-client": "^4.32.1",
|
|
"@ts-rest/core": "^3.23.0",
|
|
"@xhayper/discord-rpc": "^1.3.0",
|
|
"audiomotion-analyzer": "^4.5.0",
|
|
"auto-text-size": "^0.2.3",
|
|
"axios": "^1.12.0",
|
|
"cheerio": "^1.0.0",
|
|
"clsx": "^2.0.0",
|
|
"cmdk": "^0.2.0",
|
|
"dayjs": "^1.11.6",
|
|
"dompurify": "^3.1.6",
|
|
"electron-debug": "^3.2.0",
|
|
"electron-localshortcut": "^3.2.1",
|
|
"electron-log": "^5.1.1",
|
|
"electron-store": "^8.1.0",
|
|
"electron-updater": "^6.3.9",
|
|
"fast-average-color": "^9.3.0",
|
|
"format-duration": "^2.0.0",
|
|
"fuse.js": "^6.6.2",
|
|
"i18next": "^21.10.0",
|
|
"idb-keyval": "^6.2.1",
|
|
"immer": "^9.0.21",
|
|
"is-electron": "^2.2.2",
|
|
"lodash": "^4.17.21",
|
|
"md5": "^2.3.0",
|
|
"memoize-one": "^6.0.0",
|
|
"motion": "^12.18.1",
|
|
"mpris-service": "^2.1.2",
|
|
"nanoid": "^3.3.3",
|
|
"node-mpv": "github:jeffvli/Node-MPV#32b4d64395289ad710c41d481d2707a7acfc228f",
|
|
"overlayscrollbars": "^2.11.1",
|
|
"overlayscrollbars-react": "^0.5.6",
|
|
"qs": "^6.14.0",
|
|
"react": "^19.1.0",
|
|
"react-dom": "^19.1.0",
|
|
"react-error-boundary": "^3.1.4",
|
|
"react-i18next": "^11.18.6",
|
|
"react-icons": "^5.5.0",
|
|
"react-image": "^4.1.0",
|
|
"react-intersection-observer": "^9.16.0",
|
|
"react-loading-skeleton": "^3.5.0",
|
|
"react-player": "^2.11.0",
|
|
"react-router": "^6.16.0",
|
|
"react-router-dom": "^6.16.0",
|
|
"react-virtualized-auto-sizer": "^1.0.17",
|
|
"react-window": "^1.8.9",
|
|
"react-window-infinite-loader": "^1.0.9",
|
|
"semver": "^7.5.4",
|
|
"swiper": "^9.3.1",
|
|
"use-sync-external-store": "^1.5.0",
|
|
"ws": "^8.18.2",
|
|
"zod": "^3.22.3",
|
|
"zustand": "^5.0.5"
|
|
},
|
|
"devDependencies": {
|
|
"@electron-toolkit/eslint-config-prettier": "^3.0.0",
|
|
"@electron-toolkit/eslint-config-ts": "^3.0.0",
|
|
"@electron-toolkit/tsconfig": "^1.0.1",
|
|
"@types/electron-localshortcut": "^3.1.0",
|
|
"@types/lodash": "^4.17.18",
|
|
"@types/md5": "^2.3.5",
|
|
"@types/node": "^22.15.32",
|
|
"@types/react": "^18.3.23",
|
|
"@types/react-dom": "^18.3.7",
|
|
"@types/react-window": "^1.8.5",
|
|
"@types/react-window-infinite-loader": "^1.0.6",
|
|
"@types/source-map-support": "^0.5.10",
|
|
"@types/ws": "^8.18.1",
|
|
"@vitejs/plugin-react": "^4.3.4",
|
|
"concurrently": "^7.1.0",
|
|
"cross-env": "^7.0.3",
|
|
"electron": "^37.4.0",
|
|
"electron-builder": "^26.0.12",
|
|
"electron-devtools-installer": "^3.2.0",
|
|
"electron-vite": "^3.1.0",
|
|
"eslint": "^9.24.0",
|
|
"eslint-plugin-perfectionist": "^4.13.0",
|
|
"eslint-plugin-prettier": "^5.4.0",
|
|
"eslint-plugin-react": "^7.37.5",
|
|
"eslint-plugin-react-hooks": "^5.2.0",
|
|
"eslint-plugin-react-refresh": "^0.4.19",
|
|
"i18next-parser": "^9.0.2",
|
|
"postcss-preset-mantine": "^1.17.0",
|
|
"prettier": "^3.5.3",
|
|
"prettier-plugin-packagejson": "^2.5.14",
|
|
"sass-embedded": "^1.89.0",
|
|
"stylelint": "^16.14.1",
|
|
"stylelint-config-css-modules": "^4.4.0",
|
|
"stylelint-config-recess-order": "^7.1.0",
|
|
"stylelint-config-standard": "^38.0.0",
|
|
"typescript": "^5.8.3",
|
|
"vite": "^6.3.6",
|
|
"vite-plugin-conditional-import": "^0.1.7",
|
|
"vite-plugin-dynamic-import": "^1.6.0",
|
|
"vite-plugin-ejs": "^1.7.0",
|
|
"vite-plugin-pwa": "^1.0.3"
|
|
},
|
|
"pnpm": {
|
|
"onlyBuiltDependencies": [
|
|
"electron",
|
|
"esbuild"
|
|
]
|
|
},
|
|
"build": {
|
|
"generateUpdateFilesForAllChannels": true,
|
|
"allowDowngrade": true
|
|
},
|
|
"productName": "feishin"
|
|
}
|