Tunio Desktop client
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

336 lines
10 KiB

{
"name": "tunio",
"productName": "Tunio",
"description": "Desktop player for Tunio",
"scripts": {
"build": "concurrently \"yarn build:main\" \"yarn build:renderer\"",
"build:main": "cross-env NODE_ENV=production webpack --config ./.erb/configs/webpack.config.main.prod.babel.js",
"build:renderer": "cross-env NODE_ENV=production webpack --config ./.erb/configs/webpack.config.renderer.prod.babel.js",
"rebuild": "electron-rebuild --parallel --types prod,dev,optional --module-dir src",
"lint": "cross-env NODE_ENV=development eslint . --cache --ext .js,.jsx,.ts,.tsx",
"package": "yarn build && electron-builder build --publish never",
"package-win": "yarn build && electron-builder build --publish never --win",
"postinstall": "node -r @babel/register .erb/scripts/CheckNativeDep.js && electron-builder install-app-deps && yarn cross-env NODE_ENV=development webpack --config ./.erb/configs/webpack.config.renderer.dev.dll.babel.js && opencollective-postinstall && yarn-deduplicate yarn.lock",
"start": "node -r @babel/register ./.erb/scripts/CheckPortInUse.js && yarn start:renderer",
"start:main": "cross-env NODE_ENV=development electron -r ./.erb/scripts/BabelRegister ./src/main.dev.js",
"start:renderer": "cross-env NODE_ENV=development webpack serve --config ./.erb/configs/webpack.config.renderer.dev.babel.js",
"test": "jest",
"i18next": "i18next -c src/i18n/i18next-parser.config.js"
},
"lint-staged": {
"*.{js,jsx,ts,tsx}": [
"cross-env NODE_ENV=development eslint --cache"
],
"{*.json,.{babelrc,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"
]
},
"build": {
"productName": "Tunio",
"appId": "org.bok.tunio",
"artifactName": "${productName}-${version}-${os}-${arch}.${ext}",
"files": [
"dist/",
"node_modules/",
"index.html",
"main.prod.js",
"main.prod.js.map",
"package.json",
"img/"
],
"afterSign": ".erb/scripts/Notarize.js",
"electronVersion": "22.3.1",
"nsis": {
"oneClick": false,
"allowToChangeInstallationDirectory": true
},
"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"
}
]
},
"win": {
"target": [
"nsis",
"zip"
]
},
"linux": {
"target": [
"AppImage",
"tar.xz"
],
"category": "Development"
},
"directories": {
"app": "src",
"buildResources": "assets",
"output": "release"
},
"extraResources": [
"./assets/**"
],
"publish": {
"provider": "github",
"owner": "jeffvli",
"repo": "sonixd"
}
},
"repository": {
"type": "git",
"url": "git+https://github.com/jeffvli/sonixd.git"
},
"author": {
"name": "jeffvli",
"url": "https://github.com/jeffvli/"
},
"contributors": [],
"license": "GPL-3.0",
"bugs": {
"url": "https://github.com/jeffvli/sonixd/issues"
},
"keywords": [
"electron",
"react",
"typescript"
],
"homepage": "https://github.com/jeffvli/sonixd#readme",
"jest": {
"testEnvironmentOptions": {
"url": "http://localhost/"
},
"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",
"electron-store": "<rootDir>/.erb/mocks/electronStoreMock.js"
},
"moduleFileExtensions": [
"js",
"jsx",
"ts",
"tsx",
"json"
],
"moduleDirectories": [
"node_modules",
"src/node_modules"
],
"setupFiles": [
"./.erb/scripts/CheckBuildsExist.js"
]
},
"devDependencies": {
"@babel/core": "^7.12.9",
"@babel/eslint-parser": "^7.19.1",
"@babel/plugin-proposal-class-properties": "^7.12.1",
"@babel/plugin-proposal-decorators": "^7.12.1",
"@babel/plugin-proposal-do-expressions": "^7.12.1",
"@babel/plugin-proposal-export-default-from": "^7.12.1",
"@babel/plugin-proposal-export-namespace-from": "^7.12.1",
"@babel/plugin-proposal-function-bind": "^7.12.1",
"@babel/plugin-proposal-function-sent": "^7.12.1",
"@babel/plugin-proposal-json-strings": "^7.12.1",
"@babel/plugin-proposal-logical-assignment-operators": "^7.12.1",
"@babel/plugin-proposal-nullish-coalescing-operator": "^7.12.1",
"@babel/plugin-proposal-optional-chaining": "^7.12.7",
"@babel/plugin-proposal-pipeline-operator": "^7.12.1",
"@babel/plugin-proposal-throw-expressions": "^7.12.1",
"@babel/plugin-syntax-dynamic-import": "^7.8.3",
"@babel/plugin-syntax-import-meta": "^7.10.4",
"@babel/plugin-transform-react-constant-elements": "^7.12.1",
"@babel/plugin-transform-react-inline-elements": "^7.12.1",
"@babel/plugin-transform-runtime": "^7.12.1",
"@babel/preset-env": "^7.12.7",
"@babel/preset-react": "^7.12.7",
"@babel/preset-typescript": "^7.12.7",
"@babel/register": "^7.12.1",
"@electron/notarize": "^1.2.3",
"@electron/rebuild": "^3.2.10",
"@pmmmwh/react-refresh-webpack-plugin": "^0.5.5",
"@teamsupercell/typings-for-css-modules-loader": "^2.4.0",
"@testing-library/jest-dom": "^5.16.5",
"@testing-library/react": "^13.4.0",
"@types/discord-rpc": "^4.0.2",
"@types/history": "4.7.6",
"@types/jest": "^26.0.15",
"@types/lodash": "^4.14.172",
"@types/md5": "^2.3.1",
"@types/node": "14.18.0",
"@types/randomstring": "^1.1.7",
"@types/react": "^18.0.2",
"@types/react-dom": "^18.0.2",
"@types/react-lazy-load-image-component": "^1.5.2",
"@types/react-redux": "^7.1.18",
"@types/react-router-dom": "^5.1.6",
"@types/react-slider": "^1.3.1",
"@types/react-test-renderer": "^18.0.0",
"@types/react-transition-group": "^4.4.4",
"@types/react-virtualized": "^9.21.21",
"@types/react-virtualized-auto-sizer": "^1.0.1",
"@types/react-window": "^1.8.5",
"@types/redux-mock-store": "^1.0.3",
"@types/styled-components": "^5.1.14",
"@types/webpack-env": "^1.15.2",
"@typescript-eslint/eslint-plugin": "^4.8.1",
"@typescript-eslint/parser": "^4.8.1",
"babel-jest": "^26.1.0",
"babel-loader": "^8.2.2",
"babel-plugin-dev-expression": "^0.2.2",
"babel-plugin-transform-react-remove-prop-types": "^0.4.24",
"browserslist-config-erb": "^0.0.1",
"chalk": "^4.1.0",
"concurrently": "^5.3.0",
"core-js": "^3.6.5",
"cross-env": "^7.0.2",
"css-loader": "^5.0.1",
"css-minimizer-webpack-plugin": "^3.4.1",
"detect-port": "^1.3.0",
"electron": "22.3.1",
"electron-builder": "^24.0.0-alpha.13",
"electron-devtools-installer": "git+https://github.com/MarshallOfSound/electron-devtools-installer.git",
"eslint": "^7.5.0",
"eslint-config-airbnb": "^18.2.0",
"eslint-config-airbnb-typescript": "^12.0.0",
"eslint-config-erb": "^2.0.0",
"eslint-config-prettier": "^6.11.0",
"eslint-import-resolver-webpack": "^0.13.0",
"eslint-plugin-compat": "^3.8.0",
"eslint-plugin-import": "^2.22.0",
"eslint-plugin-jest": "^24.1.3",
"eslint-plugin-jsx-a11y": "6.4.1",
"eslint-plugin-prettier": "^3.1.4",
"eslint-plugin-promise": "^4.2.1",
"eslint-plugin-react": "^7.20.6",
"eslint-plugin-react-hooks": "^4.0.8",
"file-loader": "^6.0.0",
"husky": "^4.2.5",
"identity-obj-proxy": "^3.0.0",
"jest": "^26.1.0",
"less": "3.7.0",
"less-loader": "7.3.0",
"lint-staged": "^10.2.11",
"mini-css-extract-plugin": "^2.1.0",
"opencollective-postinstall": "^2.0.3",
"prettier": "^2.0.5",
"react-refresh": "^0.10.0",
"react-test-renderer": "^18.0.1",
"redux-mock-store": "^1.5.4",
"rimraf": "^3.0.0",
"sass-loader": "^12.2.0",
"style-loader": "^2.0.0",
"terser-webpack-plugin": "^5.0.3",
"tsc-silent": "^1.2.1",
"typescript": "^4.0.5 < 4.6.0",
"url-loader": "^4.1.0",
"webpack": "^5.5.1",
"webpack-bundle-analyzer": "^4.1.0",
"webpack-cli": "^4.2.0",
"webpack-dev-server": "^4.0.0",
"webpack-merge": "^5.4.0",
"yarn-deduplicate": "^3.1.0"
},
"dependencies": {
"@reduxjs/toolkit": "^1.6.1",
"array-move": "^3.0.1",
"axios": "^0.21.1",
"axios-retry": "^3.1.9",
"chart.js": "^3.9.1",
"discord-rpc": "^4.0.1",
"electron-debug": "^3.1.0",
"electron-localshortcut": "^3.2.1",
"electron-log": "^4.2.4",
"electron-redux": "^1.5.4",
"electron-store": "^8.1.0",
"electron-updater": "^4.3.4",
"fast-average-color": "^7.0.1",
"format-duration": "^1.4.0",
"history": "^5.0.0",
"i18next": "^21.6.5",
"i18next-parser": "^6.3.0",
"image-downloader": "^4.0.3",
"lodash": "^4.17.21",
"md5": "^2.3.0",
"moment": "^2.29.1",
"nanoid": "^3.1.23",
"nodejs-fs-utils": "^1.2.5",
"randomstring": "^1.2.1",
"react": "^18.0.2",
"react-audio-player": "^0.17.0",
"react-chartjs-2": "^4.3.1",
"react-dom": "^18.0.2",
"react-helmet-async": "^1.1.2",
"react-hotkeys-hook": "^3.4.3",
"react-i18next": "^11.15.3",
"react-lazy-load-image-component": "^1.5.1",
"react-query": "^3.19.1",
"react-redux": "^7.2.4",
"react-router-dom": "^5.2.0",
"react-slider": "^2.0.0",
"react-use": "^17.3.2",
"react-virtualized-auto-sizer": "^1.0.6",
"react-window": "^1.8.6",
"regenerator-runtime": "^0.13.5",
"rsuite": "^4.10.2",
"sass": "^1.49.11",
"source-map-support": "^0.5.19",
"styled-components": "^5"
},
"resolutions": {
"@types/react": "^18.0.0",
"glob-parent": "^5.1.2",
"styled-components": "^5"
},
"devEngines": {
"node": ">=12.13.0",
"npm": ">=6.x",
"yarn": ">=1.21.3"
},
"browserslist": [],
"renovate": {
"extends": [
"bliss"
],
"baseBranches": [
"next"
]
},
"husky": {
"hooks": {
"pre-commit": "lint-staged"
}
},
"workspaces": {
"nohoist": [
"electron"
]
}
}