{
"name": "radishes",
"version": "2.0.0-alpha.5",
"private": true,
"main": "./dist-electron/main/index.js",
"author": "Linkontoask",
"description": "Cross-platform copyright-free music platform",
"scripts": {
"bootstrap": "yarn workspaces foreach install",
"dev": "concurrently -r \"yarn dev:api\" \"yarn generate:theme\" \"yarn dev:web\"",
"dev:web": "cross-env NODE_ENV=development vite --mode browser",
"dev:api": "yarn workspace @radishes/api run dev",
"dev:electron": "concurrently -r \"yarn generate:theme\" \"electron-vite dev --mode electron.dev --outDir dist-electron\"",
"build:web": "cross-env NODE_ENV=production vite build --mode browser",
"build:electron": "npx rimraf dist-electron && npx electron-vite build --mode electron.build --outDir dist-electron",
"build:api": "yarn workspace @radishes/api run build",
"pkg:win": "yarn build:electron && yarn workspace @radishes/api run buildwin && npx electron-builder --config .electron-builder.config.js -w",
"pkg:linux": "yarn build:electron && yarn workspace @radishes/api run buildlinux && npx electron-builder --config .electron-builder.config.js -l",
"pkg:macos": "yarn build:electron && yarn workspace @radishes/api run buildmacos && npx electron-builder --config .electron-builder.config.js -m",
"test": "lerna run test --stream",
"test:unit": "vue-cli-service test:unit",
"test:open": "cypress open",
"test:run": "cypress run",
"lint": "eslint . --ext .vue,.js,.jsx,.cjs,.mjs,.ts,.tsx",
"lint:fix": "eslint . --ext .vue,.js,.jsx,.cjs,.mjs,.ts,.tsx --fix",
"lint:prettier": "prettier --write --loglevel warn \"src/**/*.{js,json,tsx,css,less}\"",
"lint:style": "stylelint --fix \"src/**/*.{css,less}\" --cache --cache-location node_modules/.cache/stylelint/",
"generate:theme": "node ./script/theme.js",
"electron:generate-icons": "electron-icon-builder --input=./public/icon.png --output=build --flatten",
"svgo": "svgo -f ./src/assets/svg",
"analyze": "npx vite-bundle-visualizer",
"log": "conventional-changelog -p eslint -i CHANGELOG.md -s -r 0",
"envinfo": "npx envinfo --system --npmPackages '{vite,@vitejs/*}' --binaries --browsers",
"postinstall": "electron-builder install-app-deps",
"postuninstall": "electron-builder install-app-deps"
},
"gitHooks": {
"pre-commit": "lint-staged"
},
"repository": {
"type": "git",
"url": "https://github.com/Linkontoask/radishes.git"
},
"license": "MIT",
"lint-staged": {
"*.{js,jsx,vue,ts,tsx}": [
"yanr lint",
"git add"
],
"*.{css,less}": [
"stylelint \"src/**/*.{css,less}\"",
"git add"
]
},
"workspaces": [
"packages/*"
],
"packageManager": "yarn@3.6.4",
"dependencies": {
"@electron/remote": "^2.1.0",
"@vueuse/core": "4.9.1",
"ant-design-vue": "2.0.1",
"axios": "^0.21.1",
"classnames": "^2.3.2",
"dayjs": "^1.9.4",
"eventemitter3": "^5.0.1",
"github-markdown-css": "^4.0.0",
"js-base64": "^3.7.5",
"js-cookie": "^2.2.1",
"lodash-es": "4.17.15",
"md5": "^2.3.0",
"music-metadata": "^7.5.2",
"react-is": "^16.13.1",
"typescript": "^5.2.2",
"uuid": "^8.3.2",
"v-easy-components": "2.0.0",
"vant": "^3.0.6",
"vue": "^3.3.7",
"vue-i18n": "^9.1.7",
"vue-router": "^4.2.5",
"vuex": "^4.1.0",
"vuex-persistedstate": "^4.1.0"
},
"devDependencies": {
"@commitlint/cli": "^11.0.0",
"@commitlint/config-conventional": "^11.0.0",
"@rushstack/eslint-patch": "^1.5.1",
"@types/chai": "^4.2.11",
"@types/electron-devtools-installer": "^2.2.0",
"@types/file-saver": "^2.0.1",
"@types/js-cookie": "^2.2.6",
"@types/jsmediatags": "^3.9.2",
"@types/lodash-es": "^4.17.11",
"@types/md5": "^2.2.1",
"@types/mocha": "^5.2.4",
"@types/normalize-url": "^4.2.0",
"@types/portscanner": "^2.1.0",
"@types/scriptjs": "^0.0.2",
"@types/uuid": "^8.3.0",
"@typescript-eslint/eslint-plugin": "^6.10.0",
"@typescript-eslint/parser": "^6.10.0",
"@vitejs/plugin-vue": "^4.4.0",
"@vitejs/plugin-vue-jsx": "^3.0.2",
"@vue/cli-plugin-babel": "^5.0.8",
"@vue/eslint-config-prettier": "^8.0.0",
"@vue/eslint-config-typescript": "^12.0.0",
"@vue/test-utils": "^2.0.0-0",
"antd-dayjs-vite-plugin": "^1.2.2",
"autoprefixer": "^10.4.16",
"chai": "^4.1.2",
"chai-as-promised": "^7.1.1",
"chalk": "^4.1.0",
"concurrently": "^5.3.0",
"conventional-changelog-cli": "^2.1.1",
"cross-env": "^7.0.2",
"cross-spawn": "^7.0.3",
"cypress": "^6.2.0",
"electron": "^27.1.0",
"electron-builder": "^24.6.4",
"electron-devtools-installer": "^3.2.0",
"electron-icon-builder": "^2.0.1",
"electron-log": "^5.0.0",
"electron-store": "^8.1.0",
"electron-updater": "^6.1.4",
"electron-vite": "^1.0.28",
"eslint": "^8.54.0",
"eslint-plugin-import": "^2.29.0",
"eslint-plugin-node": "^11.1.0",
"eslint-plugin-prettier": "^5.0.1",
"eslint-plugin-promise": "^6.1.1",
"eslint-plugin-security": "^1.7.1",
"eslint-plugin-vue": "^9.18.1",
"express": "^4.17.1",
"file-saver": "^2.0.5",
"http-proxy-middleware": "^1.0.6",
"husky": "^4.3.0",
"lerna": "^3.22.1",
"less": "^3.0.4",
"lint-staged": "^9.5.0",
"normalize-url": "^5.3.0",
"portscanner": "^2.2.0",
"prettier": "^3.1.0",
"scriptjs": "^2.5.9",
"spectron": "^14.0.0",
"stylelint": "^13.7.2",
"stylelint-config-prettier": "^8.0.2",
"stylelint-config-recess-order": "^2.3.0",
"stylelint-config-standard": "^20.0.0",
"stylelint-order": "^4.1.0",
"stylelint-prettier": "^1.1.2",
"svgo": "^1.3.2",
"tailwindcss": "^3.3.5",
"vite": "^4.5.0",
"vite-bundle-visualizer": "^0.11.0",
"vite-plugin-importer": "^0.2.5",
"vite-plugin-md2vue": "^1.1.1"
}
}