{ "name": "ffmuc-meet", "version": "2026.8.0", "description": "Electron application for Freifunk Meet", "main": "./build/main.js", "productName": "FreifunkMeet", "desktopName": "meet.ffmuc.net", "private": true, "scripts": { "start": "node ./esbuild.js --dev && concurrently \"npm:watch\" \"electron ./build/main.js\"", "clean": "rm -rf node_modules build dist", "lint": "eslint . --ext .js,.ts,.tsx", "lint-fix": "eslint . --ext .js,.ts,.tsx --fix", "type-check": "tsc --noEmit", "build": "npm run type-check && node ./esbuild.js", "dist": "npm run build && electron-builder", "postinstall": "patch-package", "watch": "node ./esbuild.js renderer --dev --watch" }, "engines": { "node": ">=24.0.0" }, "build": { "appId": "meet.ffmuc.net", "productName": "FreifunkMeet", "generateUpdatesFilesForAllChannels": true, "npmRebuild": false, "files": [ "build", "resources", "!app", "!main.js" ], "mac": { "artifactName": "ffmuc-meet.${ext}", "target": [ { "arch": "universal", "target": "dmg" }, { "arch": "universal", "target": "zip" } ], "category": "public.app-category.video", "darkModeSupport": true, "entitlements": "resources/entitlements.mac.plist", "extendInfo": { "NSAudioCaptureUsageDescription": "Freifunk Meet can share your system audio via screensharing if you enable it.", "NSCameraUsageDescription": "Freifunk Meet requires access to your camera in order to make video-calls.", "NSMicrophoneUsageDescription": "Freifunk Meet requires access to your microphone in order to make calls (audio/video).", "LSMultipleInstancesProhibited": true } }, "mas": { "entitlements": "resources/entitlements.mas.plist", "entitlementsInherit": "resources/entitlements.mas.inherit.plist", "hardenedRuntime": false }, "linux": { "artifactName": "ffmuc-meet-${arch}.${ext}", "category": "VideoConference;AudioVideo;Audio;Video;Network", "description": "FreifunkMeetApp", "executableName": "ffmuc-meet", "target": [ { "arch": "x64", "target": "AppImage" }, { "arch": "x64", "target": "deb" }, { "arch": "arm64", "target": "AppImage" }, { "arch": "arm64", "target": "deb" } ] }, "win": { "artifactName": "ffmuc-meet.${ext}", "target": [ { "arch": [ "ia32", "x64", "arm64" ], "target": "nsis" } ] }, "toolsets": { "appimage": "1.0.3" }, "directories": { "buildResources": "resources" }, "protocols": [ { "name": "jitsi-protocol", "role": "Viewer", "schemes": [ "jitsi-meet" ] } ] }, "pre-commit": [ "lint" ], "repository": { "type": "git", "url": "git://github.com/FreifunkMUC/jitsi-meet-electron" }, "keywords": [ "jingle", "webrtc", "xmpp", "electron", "freifunk-meet" ], "author": "Freifunk Muenchen ", "readmeFilename": "README.md", "license": "Apache-2.0", "dependencies": { "@jitsi/electron-sdk": "^10.0.3", "electron-debug": "^3.2.0", "electron-reload": "^1.5.0" }, "devDependencies": { "@babel/core": "^7.17.8", "@babel/preset-react": "^7.16.7", "@hapi/bourne": "^3.0.0", "@jitsi/eslint-config": "^6.0.4", "@jitsi/js-utils": "2.0.5", "@svgr/core": "^8.1.0", "@svgr/plugin-jsx": "^8.1.0", "@types/mousetrap": "^1.6.15", "@types/react": "^17.0.92", "@types/react-dom": "^17.0.26", "@types/react-redux": "^7.1.34", "@types/redux-logger": "^3.0.13", "@types/styled-components": "^5.1.36", "babel-eslint": "10.0.3", "concurrently": "5.1.0", "electron": "^43.3.0", "electron-builder": "^26.16.1", "electron-context-menu": "^2.5.0", "electron-is-dev": "^1.2.0", "electron-log": "^4.3.2", "electron-react-devtools": "0.5.3", "electron-to-chromium": "^1.5.364", "electron-updater": "^6.8.9", "electron-window-state": "^5.0.3", "esbuild": "^0.28.1", "eslint": "^8.57.0", "eslint-plugin-import": "^2.31.0", "eslint-plugin-jsdoc": "^50.6.1", "eslint-plugin-react": "^7.37.0", "history": "^4.10.1", "i18next": "^19.9.2", "mousetrap": "^1.6.5", "patch-package": "8.0.1", "react": "^17.0.2", "react-dom": "^17.0.2", "react-i18next": "^11.8.12", "react-redux": "^5.1.2", "redux": "^4.1.2", "redux-logger": "^3.0.6", "redux-persist": "^5.10.0", "source-map-support": "^0.5.19", "styled-components": "^3.4.10", "typescript": "^6.0.3" }, "overrides": { "fbjs": "^3.0.5" } }