{ "name": "VRCX", "description": "Friendship management tool for VRChat", "private": true, "main": "src-electron/main.js", "scripts": { "dev": "cross-env PLATFORM=windows vite serve src", "dev-linux": "cross-env PLATFORM=linux vite serve src", "localization": "node ./src/shared/utils/localizationHelperCLI.js", "test": "vitest run", "test:coverage": "vitest run --coverage", "prod": "cross-env PLATFORM=windows vite build src", "prod-linux": "cross-env PLATFORM=linux vite build src", "build-electron": "node ./src-electron/download-dotnet-runtime.js --arch=x64 && node ./src-electron/patch-package-version.js && electron-builder --x64 --publish never", "build-electron-arm64": "node ./src-electron/download-dotnet-runtime.js --arch=arm64 && node ./src-electron/patch-package-version.js && electron-builder --arm64 --publish never", "postbuild-electron": "node ./src-electron/patch-node-api-dotnet.js --arch=x64 && node ./src-electron/rename-builds.js --arch=x64", "postbuild-electron-arm64": "node ./src-electron/patch-node-api-dotnet.js --arch=arm64 && node ./src-electron/rename-builds.js --arch=arm64", "start-electron": "electron . --hot-reload" }, "repository": { "type": "git", "url": "git+https://github.com/vrcx-team/VRCX.git" }, "keywords": [ "vrchat" ], "author": "VRCX Team", "license": "MIT", "bugs": { "url": "https://github.com/vrcx-team/VRCX/issues" }, "homepage": "https://github.com/vrcx-team/VRCX#readme", "devDependencies": { "@electron/rebuild": "^4.0.3", "@eslint/js": "^9.39.2", "@fontsource-variable/inter": "^5.2.8", "@fontsource-variable/noto-sans-jp": "^5.2.10", "@fontsource-variable/noto-sans-kr": "^5.2.10", "@fontsource-variable/noto-sans-sc": "^5.2.10", "@fontsource-variable/noto-sans-tc": "^5.2.10", "@internationalized/date": "^3.11.0", "@kamiya4047/eslint-plugin-pretty-import": "^0.1.6", "@sentry/vite-plugin": "^4.9.1", "@sentry/vue": "^10.38.0", "@sigma/node-border": "^3.0.0", "@sigma/edge-curve": "^3.1.0", "@tailwindcss/vite": "^4.1.18", "@tanstack/vue-table": "^8.21.3", "@tanstack/vue-virtual": "^3.13.18", "@types/node": "^25.2.3", "@vee-validate/zod": "^4.15.1", "@vitejs/plugin-vue": "^6.0.4", "@vitejs/plugin-vue-jsx": "^5.1.4", "@vueuse/core": "^14.2.1", "animate.css": "^4.1.1", "babel-runtime": "^6.26.0", "class-variance-authority": "^0.7.1", "clsx": "^2.1.1", "cross-env": "^10.1.0", "dayjs": "^1.11.19", "echarts": "^6.0.0", "electron": "^39.5.2", "electron-builder": "^26.7.0", "embla-carousel-vue": "^8.6.0", "eslint": "^9.39.2", "eslint-config-prettier": "^10.1.8", "eslint-plugin-prettier": "^5.5.5", "eslint-plugin-vue": "^9.33.0", "globals": "^17.3.0", "graphology": "^0.26.0", "graphology-communities-louvain": "^2.0.2", "graphology-layout-forceatlas2": "^0.10.1", "graphology-layout-noverlap": "^0.4.2", "lightningcss": "^1.31.1", "lucide-vue-next": "^0.562.0", "noty": "^3.2.0-beta-deprecated", "pinia": "^3.0.4", "prettier": "^3.8.1", "reka-ui": "^2.8.0", "remixicon": "^4.9.1", "sass-embedded": "^1.97.3", "sigma": "^3.0.2", "tailwind-merge": "^3.4.0", "tailwindcss": "^4.1.18", "tw-animate-css": "^1.4.0", "vee-validate": "^4.15.1", "vite": "^7.3.1", "vue": "^3.5.28", "vue-i18n": "^11.2.8", "vue-json-pretty": "^2.6.0", "vue-marquee-text-component": "^2.0.1", "vue-router": "^4.6.4", "vue-showdown": "^4.2.0", "vue-sonner": "^2.0.9", "vitest": "^3.2.4", "worker-timers": "^8.0.30", "yargs": "^18.0.0", "zod": "^3.25.76" }, "build": { "appId": "app.vrcx", "productName": "VRCX", "icon": "images/VRCX.png", "files": [ "build/html/**/*", "src-electron/*", "images/VRCX.png", "images/VRCX.ico", "images/VRCX_notify.png", "images/VRCX_notify.ico", "Version", "src-electron/libs/linux/libopenvr_api.so", ".no-updater" ], "asarUnpack": [ "node_modules/node-api-dotnet/**/*", "node_modules/node-api-dotnet/net9.0/**/*", "build/Electron/*", "build/Electron/**", "build/Electron/dotnet-runtime/**/*", "src-electron/libs/linux/libopenvr_api.so" ], "extraResources": [ { "from": "build/Electron/", "to": "app.asar.unpacked/build/Electron/" }, { "from": "node_modules/node-api-dotnet/net9.0/Microsoft.JavaScript.NodeApi.dll", "to": "app.asar.unpacked/node_modules/node-api-dotnet/net9.0/Microsoft.JavaScript.NodeApi.dll" }, { "from": "node_modules/node-api-dotnet/net9.0/Microsoft.JavaScript.NodeApi.DotNetHost.dll", "to": "app.asar.unpacked/node_modules/node-api-dotnet/net9.0/Microsoft.JavaScript.NodeApi.DotNetHost.dll" }, { "from": "build/Electron/dotnet-runtime/", "to": "dotnet-runtime/" }, { "from": "src-electron/libs/linux/libopenvr_api.so", "to": "bin/libopenvr_api.so" }, { "from": "src-electron/libs/linux/libopenvr_api.so", "to": "app.asar.unpacked/build/Electron/openvr_api.so" } ], "directories": { "output": "build" }, "linux": { "artifactName": "VRCX_Version.${ext}", "target": [ "AppImage" ], "icon": "images/VRCX.png", "category": "Utility", "executableName": "vrcx", "desktop": { "entry": { "Name": "VRCX", "Comment": "Friendship management tool for VRChat", "Icon": "VRCX", "Terminal": "false", "Type": "Application", "Categories": "Utility;Application;" } }, "maintainer": "rs189 <35667100+rs189@users.noreply.github.com>", "description": "Friendship management tool for VRChat" }, "mac": { "artifactName": "VRCX_Version.${ext}", "target": [ "dmg" ], "icon": "images/VRCX.png", "category": "public.app-category.utilities", "executableName": "VRCX" } }, "dependencies": { "hazardous": "^0.3.0", "node-api-dotnet": "^0.9.19" }, "engines": { "node": ">=24.13.0", "npm": ">=11.9.0" } }