2022-12-20 00:59:14 +01:00
|
|
|
{
|
2023-07-02 04:10:05 +02:00
|
|
|
"name": "feishin",
|
2022-12-20 00:59:14 +01:00
|
|
|
"productName": "Feishin",
|
2023-07-02 04:10:05 +02:00
|
|
|
"description": "Feishin music server",
|
|
|
|
"version": "0.2.0",
|
|
|
|
"scripts": {
|
2023-07-23 14:23:18 +02:00
|
|
|
"build": "concurrently \"npm run build:main\" \"npm run build:renderer\" \"npm run build:remote\"",
|
2023-07-02 04:10:05 +02:00
|
|
|
"build:main": "cross-env NODE_ENV=production TS_NODE_TRANSPILE_ONLY=true webpack --config ./.erb/configs/webpack.config.main.prod.ts",
|
2023-07-23 14:23:18 +02:00
|
|
|
"build:remote": "cross-env NODE_ENV=production TS_NODE_TRANSPILE_ONLY=true webpack --config ./.erb/configs/webpack.config.remote.prod.ts",
|
2023-07-02 04:10:05 +02:00
|
|
|
"build:renderer": "cross-env NODE_ENV=production TS_NODE_TRANSPILE_ONLY=true webpack --config ./.erb/configs/webpack.config.renderer.prod.ts",
|
|
|
|
"rebuild": "electron-rebuild --parallel --types prod,dev,optional --module-dir release/app",
|
|
|
|
"lint": "cross-env NODE_ENV=development eslint . --ext .js,.jsx,.ts,.tsx",
|
|
|
|
"lint:fix": "cross-env NODE_ENV=development eslint . --ext .js,.jsx,.ts,.tsx --fix",
|
|
|
|
"lint:styles": "npx stylelint **/*.tsx",
|
|
|
|
"package": "ts-node ./.erb/scripts/clean.js dist && npm run build && electron-builder build --publish never",
|
|
|
|
"package:pr": "ts-node ./.erb/scripts/clean.js dist && npm run build && electron-builder build --publish never --win --mac --linux",
|
|
|
|
"package:dev": "ts-node ./.erb/scripts/clean.js dist && npm run build && electron-builder build --publish never --dir",
|
|
|
|
"postinstall": "ts-node .erb/scripts/check-native-dep.js && electron-builder install-app-deps && cross-env NODE_ENV=development TS_NODE_TRANSPILE_ONLY=true webpack --config ./.erb/configs/webpack.config.renderer.dev.dll.ts",
|
|
|
|
"start": "ts-node ./.erb/scripts/check-port-in-use.js && npm run start:renderer",
|
|
|
|
"start:main": "cross-env NODE_ENV=development electron -r ts-node/register/transpile-only ./src/main/main.ts",
|
|
|
|
"start:preload": "cross-env NODE_ENV=development TS_NODE_TRANSPILE_ONLY=true webpack --config ./.erb/configs/webpack.config.preload.dev.ts",
|
2023-07-23 14:23:18 +02:00
|
|
|
"start:remote": "cross-env NODE_ENV=developemnt TS_NODE_TRANSPILE_ONLY=true webpack --config ./.erb/configs/webpack.config.remote.dev.ts",
|
2023-07-02 04:10:05 +02:00
|
|
|
"start:renderer": "cross-env NODE_ENV=development TS_NODE_TRANSPILE_ONLY=true webpack serve --config ./.erb/configs/webpack.config.renderer.dev.ts",
|
|
|
|
"start:web": "cross-env NODE_ENV=development TS_NODE_TRANSPILE_ONLY=true webpack serve --config ./.erb/configs/webpack.config.renderer.web.ts",
|
|
|
|
"test": "jest",
|
|
|
|
"prepare": "husky install",
|
|
|
|
"i18next": "i18next -c src/renderer/i18n/i18next-parser.config.js",
|
|
|
|
"prod:buildserver": "pwsh -c \"./scripts/server-build.ps1\"",
|
|
|
|
"prod:publishserver": "pwsh -c \"./scripts/server-publish.ps1\""
|
|
|
|
},
|
|
|
|
"lint-staged": {
|
|
|
|
"*.{js,jsx,ts,tsx}": [
|
|
|
|
"cross-env NODE_ENV=development eslint --cache"
|
|
|
|
],
|
|
|
|
"*.json,.{eslintrc,prettierrc}": [
|
|
|
|
"prettier --ignore-path .eslintignore --parser json --write"
|
|
|
|
],
|
|
|
|
"*.{css,scss}": [
|
|
|
|
"prettier --ignore-path .eslintignore --single-quote --write"
|
|
|
|
],
|
|
|
|
"*.{html,md,yml}": [
|
|
|
|
"prettier --ignore-path .eslintignore --single-quote --write"
|
2022-12-20 00:59:14 +01:00
|
|
|
]
|
|
|
|
},
|
2023-07-02 04:10:05 +02:00
|
|
|
"build": {
|
|
|
|
"productName": "Feishin",
|
|
|
|
"appId": "org.jeffvli.feishin",
|
|
|
|
"artifactName": "${productName}-${version}-${os}-${arch}.${ext}",
|
|
|
|
"asar": true,
|
|
|
|
"asarUnpack": "**\\*.{node,dll}",
|
|
|
|
"files": [
|
|
|
|
"dist",
|
|
|
|
"node_modules",
|
|
|
|
"package.json"
|
|
|
|
],
|
|
|
|
"afterSign": ".erb/scripts/notarize.js",
|
|
|
|
"electronVersion": "22.3.1",
|
|
|
|
"mac": {
|
|
|
|
"target": {
|
|
|
|
"target": "default",
|
|
|
|
"arch": [
|
|
|
|
"arm64",
|
|
|
|
"x64"
|
|
|
|
]
|
|
|
|
},
|
|
|
|
"type": "distribution",
|
|
|
|
"hardenedRuntime": true,
|
|
|
|
"entitlements": "assets/entitlements.mac.plist",
|
|
|
|
"entitlementsInherit": "assets/entitlements.mac.plist",
|
|
|
|
"gatekeeperAssess": false
|
|
|
|
},
|
|
|
|
"dmg": {
|
|
|
|
"contents": [
|
|
|
|
{
|
|
|
|
"x": 130,
|
|
|
|
"y": 220
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"x": 410,
|
|
|
|
"y": 220,
|
|
|
|
"type": "link",
|
|
|
|
"path": "/Applications"
|
|
|
|
}
|
|
|
|
]
|
2022-12-20 00:59:14 +01:00
|
|
|
},
|
2023-07-02 04:10:05 +02:00
|
|
|
"win": {
|
|
|
|
"target": [
|
|
|
|
"nsis",
|
|
|
|
"zip"
|
|
|
|
]
|
|
|
|
},
|
|
|
|
"linux": {
|
|
|
|
"target": [
|
|
|
|
"AppImage",
|
|
|
|
"tar.xz"
|
|
|
|
],
|
|
|
|
"icon": "assets/icons/placeholder.png",
|
|
|
|
"category": "Development"
|
|
|
|
},
|
|
|
|
"directories": {
|
|
|
|
"app": "release/app",
|
|
|
|
"buildResources": "assets",
|
|
|
|
"output": "release/build"
|
|
|
|
},
|
|
|
|
"extraResources": [
|
|
|
|
"./assets/**"
|
|
|
|
],
|
|
|
|
"publish": {
|
|
|
|
"provider": "github",
|
|
|
|
"owner": "jeffvli",
|
|
|
|
"repo": "feishin"
|
2022-12-20 00:59:14 +01:00
|
|
|
}
|
|
|
|
},
|
2023-07-02 04:10:05 +02:00
|
|
|
"repository": {
|
|
|
|
"type": "git",
|
|
|
|
"url": "git+https://github.com/jeffvli/feishin.git"
|
2022-12-20 00:59:14 +01:00
|
|
|
},
|
2023-07-02 04:10:05 +02:00
|
|
|
"author": {
|
|
|
|
"name": "jeffvli",
|
|
|
|
"url": "https://github.com/jeffvli/"
|
2022-12-20 00:59:14 +01:00
|
|
|
},
|
2023-07-02 04:10:05 +02:00
|
|
|
"contributors": [],
|
|
|
|
"license": "GPL-3.0",
|
|
|
|
"bugs": {
|
|
|
|
"url": "https://github.com/jeffvli/feishin/issues"
|
2022-12-20 00:59:14 +01:00
|
|
|
},
|
2023-07-02 04:10:05 +02:00
|
|
|
"keywords": [
|
|
|
|
"subsonic",
|
|
|
|
"navidrome",
|
|
|
|
"airsonic",
|
|
|
|
"jellyfin",
|
|
|
|
"react",
|
|
|
|
"electron"
|
2022-12-20 00:59:14 +01:00
|
|
|
],
|
2023-07-02 04:10:05 +02:00
|
|
|
"homepage": "https://github.com/jeffvli/feishin",
|
|
|
|
"jest": {
|
|
|
|
"testURL": "http://localhost/",
|
|
|
|
"testEnvironment": "jsdom",
|
|
|
|
"transform": {
|
|
|
|
"\\.(ts|tsx|js|jsx)$": "ts-jest"
|
|
|
|
},
|
|
|
|
"moduleNameMapper": {
|
|
|
|
"\\.(jpg|jpeg|png|gif|eot|otf|webp|svg|ttf|woff|woff2|mp4|webm|wav|mp3|m4a|aac|oga)$": "<rootDir>/.erb/mocks/fileMock.js",
|
|
|
|
"\\.(css|less|sass|scss)$": "identity-obj-proxy"
|
|
|
|
},
|
|
|
|
"moduleFileExtensions": [
|
|
|
|
"js",
|
|
|
|
"jsx",
|
|
|
|
"ts",
|
|
|
|
"tsx",
|
|
|
|
"json"
|
|
|
|
],
|
|
|
|
"moduleDirectories": [
|
|
|
|
"node_modules",
|
|
|
|
"release/app/node_modules"
|
|
|
|
],
|
|
|
|
"testPathIgnorePatterns": [
|
|
|
|
"release/app/dist"
|
|
|
|
],
|
|
|
|
"setupFiles": [
|
|
|
|
"./.erb/scripts/check-build-exists.ts"
|
|
|
|
]
|
2022-12-20 00:59:14 +01:00
|
|
|
},
|
2023-07-02 04:10:05 +02:00
|
|
|
"devDependencies": {
|
|
|
|
"@electron/rebuild": "^3.2.10",
|
|
|
|
"@pmmmwh/react-refresh-webpack-plugin": "0.5.5",
|
|
|
|
"@stylelint/postcss-css-in-js": "^0.38.0",
|
|
|
|
"@teamsupercell/typings-for-css-modules-loader": "^2.5.1",
|
|
|
|
"@testing-library/jest-dom": "^5.16.4",
|
|
|
|
"@testing-library/react": "^13.0.0",
|
|
|
|
"@types/electron-localshortcut": "^3.1.0",
|
|
|
|
"@types/jest": "^27.4.1",
|
|
|
|
"@types/lodash": "^4.14.188",
|
|
|
|
"@types/md5": "^2.3.2",
|
|
|
|
"@types/node": "^17.0.23",
|
|
|
|
"@types/react": "^18.0.25",
|
|
|
|
"@types/react-dom": "^18.0.8",
|
|
|
|
"@types/react-test-renderer": "^17.0.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",
|
|
|
|
"@types/terser-webpack-plugin": "^5.0.4",
|
|
|
|
"@types/webpack-bundle-analyzer": "^4.4.1",
|
|
|
|
"@types/webpack-env": "^1.16.3",
|
|
|
|
"@typescript-eslint/eslint-plugin": "^5.47.0",
|
|
|
|
"@typescript-eslint/parser": "^5.47.0",
|
|
|
|
"browserslist-config-erb": "^0.0.3",
|
|
|
|
"chalk": "^4.1.2",
|
|
|
|
"concurrently": "^7.1.0",
|
|
|
|
"core-js": "^3.21.1",
|
|
|
|
"cross-env": "^7.0.3",
|
|
|
|
"css-loader": "^6.7.1",
|
|
|
|
"css-minimizer-webpack-plugin": "^3.4.1",
|
|
|
|
"detect-port": "^1.3.0",
|
2023-07-17 08:33:38 +02:00
|
|
|
"electron": "^25.3.0",
|
|
|
|
"electron-builder": "^24.4.0",
|
2023-07-02 04:10:05 +02:00
|
|
|
"electron-devtools-installer": "^3.2.0",
|
|
|
|
"electron-notarize": "^1.2.1",
|
|
|
|
"electronmon": "^2.0.2",
|
|
|
|
"eslint": "^8.30.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.5.1",
|
|
|
|
"eslint-plugin-promise": "^6.0.0",
|
|
|
|
"eslint-plugin-react": "^7.29.4",
|
|
|
|
"eslint-plugin-react-hooks": "^4.4.0",
|
|
|
|
"eslint-plugin-sort-keys-fix": "^1.1.2",
|
|
|
|
"eslint-plugin-typescript-sort-keys": "^2.1.0",
|
|
|
|
"file-loader": "^6.2.0",
|
|
|
|
"html-webpack-plugin": "^5.5.0",
|
|
|
|
"husky": "^7.0.4",
|
|
|
|
"i18next-parser": "^6.3.0",
|
|
|
|
"identity-obj-proxy": "^3.0.0",
|
|
|
|
"jest": "^27.5.1",
|
|
|
|
"lint-staged": "^12.3.7",
|
|
|
|
"mini-css-extract-plugin": "^2.6.0",
|
|
|
|
"postcss-scss": "^4.0.4",
|
|
|
|
"postcss-syntax": "^0.36.2",
|
|
|
|
"prettier": "^2.6.2",
|
|
|
|
"react-refresh": "^0.12.0",
|
|
|
|
"react-refresh-typescript": "^2.0.4",
|
|
|
|
"react-test-renderer": "^18.0.0",
|
|
|
|
"rimraf": "^3.0.2",
|
|
|
|
"sass": "^1.49.11",
|
|
|
|
"sass-loader": "^12.6.0",
|
|
|
|
"style-loader": "^3.3.1",
|
|
|
|
"stylelint": "^14.9.1",
|
2023-07-23 14:16:29 +02:00
|
|
|
"stylelint-config-css-modules": "^4.3.0",
|
2023-07-02 04:10:05 +02:00
|
|
|
"stylelint-config-rational-order": "^0.1.2",
|
|
|
|
"stylelint-config-standard-scss": "^4.0.0",
|
|
|
|
"terser-webpack-plugin": "^5.3.1",
|
|
|
|
"ts-jest": "^27.1.4",
|
|
|
|
"ts-loader": "^9.2.8",
|
|
|
|
"ts-node": "^10.7.0",
|
|
|
|
"tsconfig-paths-webpack-plugin": "^4.0.0",
|
|
|
|
"typescript": "^4.8.4",
|
|
|
|
"url-loader": "^4.1.1",
|
|
|
|
"webpack": "^5.71.0",
|
|
|
|
"webpack-bundle-analyzer": "^4.5.0",
|
|
|
|
"webpack-cli": "^4.9.2",
|
|
|
|
"webpack-dev-server": "^4.8.0",
|
|
|
|
"webpack-merge": "^5.8.0"
|
2022-12-20 00:59:14 +01:00
|
|
|
},
|
2023-07-02 04:10:05 +02:00
|
|
|
"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",
|
|
|
|
"@emotion/react": "^11.10.4",
|
2023-07-23 10:50:20 +02:00
|
|
|
"@mantine/core": "^6.0.17",
|
|
|
|
"@mantine/dates": "^6.0.17",
|
|
|
|
"@mantine/form": "^6.0.17",
|
|
|
|
"@mantine/hooks": "^6.0.17",
|
|
|
|
"@mantine/modals": "^6.0.17",
|
|
|
|
"@mantine/notifications": "^6.0.17",
|
|
|
|
"@mantine/utils": "^6.0.17",
|
2023-08-04 10:41:45 +02:00
|
|
|
"@tanstack/react-query": "^4.32.1",
|
|
|
|
"@tanstack/react-query-devtools": "^4.32.1",
|
|
|
|
"@tanstack/react-query-persist-client": "^4.32.1",
|
2023-07-02 04:10:05 +02:00
|
|
|
"@ts-rest/core": "^3.23.0",
|
|
|
|
"axios": "^1.4.0",
|
2023-07-23 14:16:29 +02:00
|
|
|
"clsx": "^2.0.0",
|
2023-07-02 04:10:05 +02:00
|
|
|
"cmdk": "^0.2.0",
|
|
|
|
"dayjs": "^1.11.6",
|
|
|
|
"electron-debug": "^3.2.0",
|
|
|
|
"electron-localshortcut": "^3.2.1",
|
|
|
|
"electron-log": "^4.4.6",
|
|
|
|
"electron-store": "^8.1.0",
|
|
|
|
"electron-updater": "^4.6.5",
|
|
|
|
"fast-average-color": "^9.3.0",
|
|
|
|
"format-duration": "^2.0.0",
|
2023-07-21 13:02:27 +02:00
|
|
|
"framer-motion": "^10.13.0",
|
2023-07-02 04:10:05 +02:00
|
|
|
"fuse.js": "^6.6.2",
|
|
|
|
"history": "^5.3.0",
|
|
|
|
"i18next": "^21.6.16",
|
2023-08-04 10:41:45 +02:00
|
|
|
"idb-keyval": "^6.2.1",
|
2023-07-02 04:10:05 +02:00
|
|
|
"immer": "^9.0.21",
|
|
|
|
"is-electron": "^2.2.2",
|
|
|
|
"lodash": "^4.17.21",
|
|
|
|
"md5": "^2.3.0",
|
|
|
|
"memoize-one": "^6.0.0",
|
|
|
|
"nanoid": "^3.3.3",
|
|
|
|
"net": "^1.0.2",
|
|
|
|
"node-mpv": "github:jeffvli/Node-MPV",
|
2023-07-21 14:38:16 +02:00
|
|
|
"overlayscrollbars": "^2.2.1",
|
2023-07-21 13:02:27 +02:00
|
|
|
"overlayscrollbars-react": "^0.5.1",
|
2023-07-02 04:10:05 +02:00
|
|
|
"react": "^18.2.0",
|
|
|
|
"react-dom": "^18.2.0",
|
|
|
|
"react-error-boundary": "^3.1.4",
|
|
|
|
"react-i18next": "^11.16.7",
|
2023-07-19 03:40:07 +02:00
|
|
|
"react-icons": "^4.10.1",
|
2023-07-02 04:10:05 +02:00
|
|
|
"react-player": "^2.11.0",
|
|
|
|
"react-router": "^6.5.0",
|
|
|
|
"react-router-dom": "^6.5.0",
|
|
|
|
"react-simple-img": "^3.0.0",
|
|
|
|
"react-virtualized-auto-sizer": "^1.0.17",
|
|
|
|
"react-window": "^1.8.9",
|
|
|
|
"react-window-infinite-loader": "^1.0.9",
|
2023-07-23 14:16:29 +02:00
|
|
|
"styled-components": "^5.3.11",
|
2023-07-02 04:10:05 +02:00
|
|
|
"swiper": "^9.3.1",
|
|
|
|
"zod": "^3.21.4",
|
2023-07-23 10:50:20 +02:00
|
|
|
"zustand": "^4.3.9"
|
2023-07-02 04:10:05 +02:00
|
|
|
},
|
|
|
|
"resolutions": {
|
|
|
|
"styled-components": "^5"
|
|
|
|
},
|
|
|
|
"devEngines": {
|
|
|
|
"node": ">=14.x",
|
|
|
|
"npm": ">=7.x"
|
|
|
|
},
|
|
|
|
"browserslist": [],
|
|
|
|
"electronmon": {
|
|
|
|
"patterns": [
|
|
|
|
"!server",
|
|
|
|
"!src/renderer"
|
|
|
|
]
|
|
|
|
}
|
2022-12-20 00:59:14 +01:00
|
|
|
}
|