mirror of
https://github.com/jeffvli/feishin.git
synced 2026-05-07 04:20:12 +02:00
516b895efe
- Migrate from axios to ky
126 lines
4.8 KiB
JSON
126 lines
4.8 KiB
JSON
{
|
|
"name": "feishin",
|
|
"description": "A full featured Jellyfin/Subsonic/Navidrome music player.",
|
|
"version": "1.0.0-alpha1",
|
|
"author": {
|
|
"name": "jeffvli",
|
|
"email": "jeffvictorli@gmail.com",
|
|
"url": "https://github.com/jeffvli"
|
|
},
|
|
"main": "packages/main/dist/index.cjs",
|
|
"scripts": {
|
|
"build": "npm run build:main && npm run build:preload && npm run build:renderer",
|
|
"build:main": "cd ./packages/main && vite build",
|
|
"build:preload": "cd ./packages/preload && vite build",
|
|
"build:renderer": "cd ./packages/renderer && vite build",
|
|
"compile": "cross-env MODE=production npm run build && electron-builder build --config .electron-builder.config.js --dir",
|
|
"test": "npm run test:main && npm run test:preload && npm run test:renderer && npm run test:e2e",
|
|
"test:e2e": "npm run build && vitest run",
|
|
"test:main": "vitest run -r packages/main --passWithNoTests",
|
|
"test:preload": "vitest run -r packages/preload --passWithNoTests",
|
|
"test:renderer": "vitest run -r packages/renderer --passWithNoTests",
|
|
"watch": "node scripts/watch.mjs",
|
|
"lint": "eslint . --ext js,mjs,cjs,ts,mts,cts,tsx",
|
|
"typecheck:main": "tsc --noEmit -p packages/main/tsconfig.json",
|
|
"typecheck:preload": "tsc --noEmit -p packages/preload/tsconfig.json",
|
|
"typecheck:renderer": "tsc --noEmit -p packages/renderer/tsconfig.json",
|
|
"typecheck": "npm run typecheck:main && npm run typecheck:preload && npm run typecheck:renderer",
|
|
"postinstall": "cross-env ELECTRON_RUN_AS_NODE=1 electron scripts/update-electron-vendors.mjs",
|
|
"format": "npx prettier --write \"**/*.{js,mjs,cjs,ts,mts,cts,tsx,json}\""
|
|
},
|
|
"devDependencies": {
|
|
"@types/electron-localshortcut": "^3.1.0",
|
|
"@types/loadable__component": "^5.13.4",
|
|
"@types/lodash": "^4.14.191",
|
|
"@types/md5": "^2.3.2",
|
|
"@types/node": "18.11.10",
|
|
"@types/react": "^18.0.26",
|
|
"@types/react-dom": "^18.0.9",
|
|
"@types/react-slider": "^1.3.1",
|
|
"@types/react-virtualized-auto-sizer": "^1.0.1",
|
|
"@types/react-window": "^1.8.5",
|
|
"@types/react-window-infinite-loader": "^1.0.6",
|
|
"@types/styled-components": "^5.1.26",
|
|
"@typescript-eslint/eslint-plugin": "^5.45.1",
|
|
"@typescript-eslint/parser": "^5.45.1",
|
|
"cross-env": "7.0.3",
|
|
"electron": "22.0.0",
|
|
"electron-builder": "23.6.0",
|
|
"electron-devtools-installer": "^3.2.0",
|
|
"eslint": "8.29.0",
|
|
"eslint-config-airbnb-base": "^15.0.0",
|
|
"eslint-config-erb": "^4.0.3",
|
|
"eslint-import-resolver-typescript": "^2.7.1",
|
|
"eslint-import-resolver-webpack": "^0.13.2",
|
|
"eslint-plugin-compat": "^4.0.2",
|
|
"eslint-plugin-import": "^2.26.0",
|
|
"eslint-plugin-jest": "^26.1.3",
|
|
"eslint-plugin-jsx-a11y": "^6.6.1",
|
|
"eslint-plugin-promise": "^6.1.1",
|
|
"eslint-plugin-react": "^7.31.11",
|
|
"eslint-plugin-react-hooks": "^4.6.0",
|
|
"eslint-plugin-sort-keys-fix": "^1.1.2",
|
|
"eslint-plugin-typescript-sort-keys": "^2.1.0",
|
|
"happy-dom": "7.7.2",
|
|
"nano-staged": "0.8.0",
|
|
"playwright": "1.27.1",
|
|
"sass": "^1.56.1",
|
|
"simple-git-hooks": "2.8.1",
|
|
"stylelint": "^14.16.0",
|
|
"stylelint-config-rational-order": "^0.1.2",
|
|
"stylelint-config-standard-scss": "^6.1.0",
|
|
"stylelint-config-styled-components": "^0.1.1",
|
|
"stylelint-order": "^5.0.0",
|
|
"stylelint-processor-styled-components": "^1.10.0",
|
|
"typescript": "4.9.3",
|
|
"unplugin-auto-expose": "0.0.4",
|
|
"vite": "3.2.4",
|
|
"vitest": "0.25.3"
|
|
},
|
|
"dependencies": {
|
|
"@loadable/component": "^5.15.2",
|
|
"@mantine/core": "^5.9.2",
|
|
"@mantine/dates": "^5.9.2",
|
|
"@mantine/dropzone": "^5.9.2",
|
|
"@mantine/form": "^5.9.2",
|
|
"@mantine/hooks": "^5.9.2",
|
|
"@mantine/modals": "^5.9.2",
|
|
"@mantine/notifications": "^5.9.2",
|
|
"@mantine/spotlight": "^5.9.2",
|
|
"@tanstack/react-query": "^4.19.1",
|
|
"@tanstack/react-query-devtools": "^4.19.1",
|
|
"@vitejs/plugin-react": "^2.2.0",
|
|
"ag-grid-community": "^28.2.1",
|
|
"ag-grid-react": "^28.2.1",
|
|
"electron-localshortcut": "^3.2.1",
|
|
"electron-store": "^8.1.0",
|
|
"electron-updater": "5.3.0",
|
|
"format-duration": "^2.0.0",
|
|
"framer-motion": "^7.6.19",
|
|
"immer": "^9.0.16",
|
|
"is-electron": "^2.2.1",
|
|
"ky": "^0.32.2",
|
|
"ky-universal": "^0.11.0",
|
|
"lodash": "^4.17.21",
|
|
"md5": "^2.3.0",
|
|
"nanoid": "^4.0.0",
|
|
"node-mpv": "^2.0.0-beta.2",
|
|
"react": "^18.2.0",
|
|
"react-dom": "^18.2.0",
|
|
"react-error-boundary": "^3.1.4",
|
|
"react-i18next": "^11.16.7",
|
|
"react-icons": "^4.7.1",
|
|
"react-player": "^2.11.0",
|
|
"react-router": "^6.4.4",
|
|
"react-router-dom": "^6.4.4",
|
|
"react-simple-img": "^3.0.0",
|
|
"react-slider": "^2.0.4",
|
|
"react-virtualized-auto-sizer": "^1.0.7",
|
|
"react-window": "^1.8.8",
|
|
"react-window-infinite-loader": "^1.0.8",
|
|
"styled-components": "^5.3.6",
|
|
"zod": "^3.19.1",
|
|
"zustand": "^4.1.5"
|
|
}
|
|
}
|