{ "name": "reticulum-meshchatx", "version": "4.3.1", "description": "A simple mesh network communications app powered by the Reticulum Network Stack", "homepage": "https://git.quad4.io/RNS-Things/MeshChatX", "author": "Sudo-Ivan", "main": "electron/main.js", "scripts": { "dev": "vite dev", "watch": "pnpm run build-frontend -- --watch", "build-frontend": "vite build", "build-backend": "node scripts/build-backend.js", "version:sync": "node scripts/sync_version.js", "build": "pnpm run version:sync && pnpm run build-frontend && pnpm run build-backend", "lint": "eslint .", "lint:fix": "eslint . --fix", "format": "prettier --write .", "test": "vitest run", "test:fuzz": "vitest run -t fuzzing", "test:watch": "vitest", "test:ui": "vitest --ui --open", "electron-postinstall": "electron-builder install-app-deps", "electron": "pnpm run electron-postinstall && pnpm run build && electron .", "dist": "pnpm run electron-postinstall && pnpm run build && electron-builder --publish=never", "dist:linux": "pnpm run electron-postinstall && PLATFORM=linux pnpm run build && electron-builder --linux AppImage deb --publish=never", "dist:linux-x64": "pnpm run electron-postinstall && PLATFORM=linux ARCH=x64 pnpm run build && electron-builder --linux AppImage deb --x64 --publish=never", "dist:linux-arm64": "pnpm run electron-postinstall && PLATFORM=linux ARCH=arm64 pnpm run build && electron-builder --linux AppImage deb --arm64 --publish=never", "dist:rpm": "pnpm run electron-postinstall && PLATFORM=linux pnpm run build && electron-builder --linux rpm --publish=never", "dist:flatpak": "pnpm run electron-postinstall && PLATFORM=linux pnpm run build && electron-builder --linux flatpak --publish=never", "dist:windows": "pnpm run electron-postinstall && PLATFORM=win32 pnpm run build && electron-builder --win portable nsis --publish=never", "dist:win-x64": "pnpm run electron-postinstall && PLATFORM=win32 ARCH=x64 pnpm run build && electron-builder --win portable nsis --x64 --publish=never", "dist:win-arm64": "pnpm run electron-postinstall && PLATFORM=win32 ARCH=arm64 pnpm run build && electron-builder --win portable nsis --arm64 --publish=never", "dist:zip": "pnpm run electron-postinstall && pnpm run build && electron-forge make --targets @electron-forge/maker-zip", "dist-prebuilt": "pnpm run electron-postinstall && pnpm run build-backend && electron-builder --publish=never", "dist:mac-arm64": "pnpm run electron-postinstall && pnpm run build && electron-builder --mac --arm64 --publish=never", "dist:mac-universal": "pnpm run electron-postinstall && pnpm run build && electron-builder --mac --universal --publish=never", "start": "pnpm run build && electron-forge start", "package": "pnpm run build && electron-forge package", "make": "pnpm run build && electron-forge make" }, "license": "MIT", "engines": { "node": ">=24" }, "packageManager": "pnpm@10.30.0", "devDependencies": { "@electron-forge/cli": "^7.11.1", "@electron-forge/maker-deb": "^7.11.1", "@electron-forge/maker-flatpak": "^7.11.1", "@electron-forge/maker-rpm": "^7.11.1", "@electron-forge/maker-squirrel": "^7.11.1", "@electron-forge/maker-zip": "^7.11.1", "@electron-forge/plugin-auto-unpack-natives": "^7.11.1", "@electron-forge/plugin-fuses": "^7.11.1", "@electron-forge/plugin-vite": "^7.11.1", "@electron/fuses": "^1.8.0", "@eslint/js": "^9.39.4", "@rushstack/eslint-patch": "^1.16.1", "@tailwindcss/typography": "^0.5.19", "@vitest/ui": "^4.0.18", "@vue/eslint-config-prettier": "^10.2.0", "@vue/test-utils": "^2.4.6", "autoprefixer": "^10.4.27", "electron": "^39.8.0", "electron-builder": "^26.8.1", "electron-builder-squirrel-windows": "^26.8.1", "eslint": "^9.39.4", "eslint-config-prettier": "^10.1.8", "eslint-plugin-prettier": "^5.5.5", "eslint-plugin-security": "^3.0.1", "eslint-plugin-vue": "^10.8.0", "globals": "^16.5.0", "jsdom": "^26.1.0", "postcss": "^8.5.8", "prettier": "^3.8.1", "tailwindcss": "^3.4.19", "terser": "^5.46.0", "vitest": "^3.2.4" }, "pnpm": { "onlyBuiltDependencies": [ "electron", "electron-winstaller", "esbuild", "protobufjs" ], "overrides": { "@isaacs/brace-expansion": ">=5.0.1", "@tootallnate/once": ">=3.0.1", "tmp": ">=0.2.4", "tar": ">=7.5.7", "minimatch": ">=10.2.1", "serialize-javascript": ">=7.0.3" } }, "build": { "appId": "com.sudoivan.reticulummeshchat", "productName": "Reticulum MeshChatX", "asar": true, "electronFuses": { "runAsNode": false, "enableCookieEncryption": true, "enableNodeOptionsEnvironmentVariable": false, "enableNodeCliInspectArguments": false, "enableEmbeddedAsarIntegrityValidation": true, "onlyLoadAppFromAsar": true }, "files": [ "electron/**/*" ], "directories": { "buildResources": "electron/build" }, "mac": { "target": { "target": "dmg", "arch": [ "universal" ] }, "identity": null, "artifactName": "ReticulumMeshChatX-v${version}-mac-${arch}.${ext}", "extendInfo": { "NSMicrophoneUsageDescription": "Microphone access is only needed for Audio Calls", "com.apple.security.device.audio-input": true }, "extraResources": [ { "from": "build/exe/linux-${arch}", "to": "backend", "filter": [ "**/*" ] } ] }, "win": { "artifactName": "ReticulumMeshChat-v${version}-${os}-${arch}.${ext}", "target": [ { "target": "portable", "arch": [ "x64", "arm64" ] }, { "target": "nsis", "arch": [ "x64", "arm64" ] } ], "extraResources": [ { "from": "build/exe/win32-${arch}", "to": "backend", "filter": [ "**/*" ] } ] }, "linux": { "artifactName": "ReticulumMeshChatX-v${version}-${os}-${arch}.${ext}", "target": [ { "target": "AppImage", "arch": [ "x64", "arm64" ] }, { "target": "deb", "arch": [ "x64", "arm64" ] } ], "maintainer": "Sudo-Ivan", "category": "Network", "extraResources": [ { "from": "build/exe/linux-${arch}", "to": "backend", "filter": [ "**/*" ] } ] }, "flatpak": { "runtime": "org.freedesktop.Platform", "runtimeVersion": "24.08", "sdk": "org.freedesktop.Sdk", "base": "org.electronjs.Electron2.BaseApp", "baseVersion": "24.08", "finishArgs": [ "--share=ipc", "--share=network", "--socket=x11", "--socket=wayland", "--device=dri", "--allow=bluetooth", "--filesystem=home", "--talk-name=org.freedesktop.Notifications" ] }, "dmg": { "writeUpdateInfo": false }, "portable": { "artifactName": "ReticulumMeshChatX-v${version}-${os}-portable.${ext}" }, "nsis": { "artifactName": "ReticulumMeshChatX-v${version}-${os}-installer.${ext}", "oneClick": false, "allowToChangeInstallationDirectory": true } }, "dependencies": { "@mdi/font": "^7.4.47", "@mdi/js": "^7.4.47", "@tailwindcss/forms": "^0.5.11", "@vitejs/plugin-vue": "^5.2.4", "axios": "^1.13.6", "click-outside-vue3": "^4.0.1", "compressorjs": "^1.2.1", "dayjs": "^1.11.19", "dompurify": "^3.3.2", "electron-prompt": "^1.7.0", "electron-squirrel-startup": "^1.0.1", "micron-parser": "^1.0.3", "mitt": "^3.0.1", "ol": "^10.8.0", "protobufjs": "^7.5.4", "qrcode": "^1.5.4", "vis-data": "^7.1.10", "vis-network": "^9.1.13", "vite": "^6.4.1", "vite-plugin-vuetify": "^2.1.3", "vue": "^3.5.29", "vue-i18n": "^11.2.8", "vue-router": "^4.6.4", "vuetify": "^3.12.2" } }