reticulum-meshchat/package.json
mini f29ff40f19 build mac releases for both intel and apple silicon
The mac dmg was previously built only on macos-13 (an Intel runner),
so releases only ran natively on Intel Macs and required Rosetta 2 on
Apple Silicon. cx_Freeze can only build for the host architecture, so
this adds a build matrix with macos-14 (arm64) alongside macos-13 (x64),
and adds ${arch} to the mac artifact name so the two dmgs don't collide.

Build-tested natively on an M2 Mac (macOS 26.5): frontend, cx_Freeze
backend, and electron-builder dmg all build and run natively.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-03 20:58:16 -05:00

118 lines
3 KiB
JSON

{
"name": "reticulum-meshchat",
"version": "2.3.0",
"description": "",
"main": "electron/main.js",
"scripts": {
"watch": "npm run build-frontend -- --watch",
"build-frontend": "vite build",
"build-backend": "python setup.py build",
"build": "npm run build-frontend && npm run build-backend",
"electron-postinstall": "electron-builder install-app-deps",
"electron": "npm run electron-postinstall && npm run build && electron .",
"dist": "npm run electron-postinstall && npm run build && electron-builder --publish=never"
},
"license": "MIT",
"engines": {
"node": ">=18"
},
"devDependencies": {
"electron": "^30.0.8",
"electron-builder": "^24.6.3"
},
"build": {
"appId": "com.liamcottle.reticulummeshchat",
"productName": "Reticulum MeshChat",
"asar": false,
"files": [
"electron/**/*"
],
"directories": {
"buildResources": "electron/build"
},
"mac": {
"target": "dmg",
"identity": null,
"artifactName": "ReticulumMeshChat-v${version}-${os}-${arch}.${ext}",
"extendInfo": {
"NSMicrophoneUsageDescription": "Microphone access is only needed for Audio Calls",
"com.apple.security.device.audio-input": true
},
"extraFiles": [
{
"from": "build/exe",
"to": "Resources/app/electron/build/exe",
"filter": [
"**/*"
]
}
]
},
"win": {
"artifactName": "ReticulumMeshChat-v${version}-${os}.${ext}",
"target": [
{
"target": "portable"
},
{
"target": "nsis"
}
],
"extraFiles": [
{
"from": "build/exe",
"to": "Resources/app/electron/build/exe",
"filter": [
"**/*"
]
}
]
},
"linux": {
"artifactName": "ReticulumMeshChat-v${version}-${os}.${ext}",
"target": "AppImage",
"extraFiles": [
{
"from": "build/exe",
"to": "resources/app/electron/build/exe",
"filter": [
"**/*"
]
}
]
},
"dmg": {
"writeUpdateInfo": false
},
"portable": {
"artifactName": "ReticulumMeshChat-v${version}-${os}-portable.${ext}"
},
"nsis": {
"artifactName": "ReticulumMeshChat-v${version}-${os}-installer.${ext}",
"oneClick": false,
"allowToChangeInstallationDirectory": true
}
},
"dependencies": {
"@mdi/js": "^7.4.47",
"@tailwindcss/forms": "^0.5.9",
"@vitejs/plugin-vue": "^5.2.1",
"autoprefixer": "^10.4.20",
"axios": "^1.10.0",
"click-outside-vue3": "^4.0.1",
"compressorjs": "^1.2.1",
"electron-prompt": "^1.7.0",
"micron-parser": "^1.0.2",
"mitt": "^3.0.1",
"moment": "^2.30.1",
"postcss": "^8.4.49",
"protobufjs": "^7.4.0",
"tailwindcss": "^3.4.17",
"vis-data": "^7.1.9",
"vis-network": "^9.1.9",
"vite": "^6.0.5",
"vite-plugin-vuetify": "^2.0.4",
"vue-router": "^4.5.0",
"vuetify": "^3.7.6"
}
}