Files
Chad Piha d1630b8080 fix(deps): Unblock CI and clear Dependabot alerts (expo-updates, undici, markdown-it, uuid) (#2411)
* chore(mobile): Bump expo-updates to ~55.0.33

* fix(deps): update undici to 6.29.0 and 7.30.0 for high-severity advisories

* fix(deps): update markdown-it override to 14.3.2 for linkify ReDoS advisory

* fix(deps): override xcode's uuid to 11.1.1 in mobile for buffer bounds advisory

* fix(mobile): transform uuid in jest so config-plugin tests load xcode

The xcode uuid override installs uuid 11, whose default export is an ESM build that jest-expo resolves but does not transform, breaking the storekit and pod-deployment-target plugin suites.
2026-09-30 00:03:33 +02:00

234 lines
13 KiB
JSON

{
"name": "open-whispr",
"version": "1.10.2",
"description": "A desktop dictation application using whisper.cpp for speech-to-text transcription",
"main": "main.js",
"private": true,
"engines": {
"node": ">=24"
},
"scripts": {
"compile:globe": "node scripts/build-globe-listener.js",
"compile:fast-paste": "node scripts/build-macos-fast-paste.js",
"compile:winkeys": "node scripts/build-windows-key-listener.js",
"compile:linuxkeys": "node scripts/build-linux-key-listener.js",
"compile:text-monitor": "node scripts/build-text-monitor.js",
"compile:winpaste": "node scripts/build-windows-fast-paste.js",
"compile:linux-paste": "node scripts/build-linux-fast-paste.js",
"compile:linux-system-audio": "node scripts/build-linux-system-audio.js",
"compile:media-remote": "node scripts/build-media-remote.js",
"compile:mediaremote-adapter": "node scripts/build-mediaremote-adapter.js",
"compile:mic-listener": "node scripts/build-macos-mic-listener.js",
"compile:calendar-listener": "node scripts/build-macos-calendar-listener.js",
"compile:audio-tap": "node scripts/build-macos-audio-tap.js",
"compile:native": "npm run compile:globe && npm run compile:fast-paste && npm run compile:winkeys && npm run compile:linuxkeys && npm run compile:winpaste && npm run compile:linux-paste && npm run compile:linux-system-audio && npm run compile:text-monitor && npm run compile:media-remote && npm run compile:mediaremote-adapter && npm run compile:mic-listener && npm run compile:calendar-listener && npm run compile:audio-tap",
"prestart": "npm run compile:native && npm run download:meeting-aec-helper && npm run download:sherpa-onnx && npm run download:yt-dlp && npm run download:qdrant && npm run download:embedding-model && npm run download:whisper-vad-model",
"start": "electron .",
"dev": "concurrently -k -r \"npm:dev:renderer\" \"npm:dev:main\"",
"predev:main": "npm run compile:native && npm run download:meeting-aec-helper && npm run download:sherpa-onnx && npm run download:yt-dlp && npm run download:qdrant && npm run download:embedding-model && npm run download:whisper-vad-model && npm run download:brand-fonts",
"dev:main": "cross-env NODE_ENV=development node scripts/run-electron.js --dev",
"dev:renderer": "cd src && vite",
"prebuild": "npm run compile:native && npm run download:whisper-cpp && npm run download:llama-server && npm run download:sherpa-onnx && npm run download:yt-dlp && npm run download:qdrant && npm run download:meeting-aec-helper && npm run download:whisper-vad-model && npm run download:embedding-model -- --for-build && npm run download:diarization-models -- --output-dir resources/bin/diarization-models && npm run download:brand-fonts",
"build": "cd src && vite build && cd .. && electron-builder",
"postinstall": "electron-builder install-app-deps",
"build:renderer": "cd src && vite build",
"compile:mac-icon": "node scripts/compile-macos-icon.js",
"prebuild:mac": "npm run compile:native && npm run compile:mac-icon && npm run download:whisper-cpp && npm run download:llama-server && npm run download:sherpa-onnx && npm run download:yt-dlp && npm run download:qdrant && npm run download:meeting-aec-helper && npm run download:whisper-vad-model && npm run download:diarization-models -- --output-dir resources/bin/diarization-models && npm run download:brand-fonts",
"build:mac": "npm run build:renderer && electron-builder --mac",
"build:mac:arm64": "npm run build:renderer && electron-builder --mac --arm64",
"build:mac:x64": "npm run build:renderer && electron-builder --mac --x64",
"prebuild:win": "npm run compile:native && npm run download:whisper-cpp && npm run download:llama-server && npm run download:sherpa-onnx && npm run download:yt-dlp && npm run download:qdrant && npm run download:meeting-aec-helper && npm run download:whisper-vad-model && npm run download:diarization-models -- --output-dir resources/bin/diarization-models && npm run download:nircmd && npm run download:windows-fast-paste && npm run download:windows-key-listener && npm run download:windows-mic-listener && npm run download:windows-system-audio-helper && npm run download:brand-fonts",
"build:win": "npm run build:renderer && electron-builder --win",
"prebuild:linux": "npm run compile:native && npm run download:whisper-cpp && npm run download:llama-server && npm run download:sherpa-onnx && npm run download:yt-dlp && npm run download:qdrant && npm run download:meeting-aec-helper && npm run download:whisper-vad-model && npm run download:diarization-models -- --output-dir resources/bin/diarization-models && npm run download:brand-fonts",
"build:linux": "npm run build:renderer && electron-builder --linux",
"build:linux:appimage": "npm run build:renderer && electron-builder --linux AppImage",
"build:linux:deb": "npm run build:renderer && electron-builder --linux deb",
"build:linux:rpm": "npm run build:renderer && electron-builder --linux rpm",
"build:linux:tar": "npm run build:renderer && electron-builder --linux tar.gz",
"prepack": "npm run compile:native && npm run download:whisper-cpp && npm run download:llama-server && npm run download:sherpa-onnx && npm run download:yt-dlp && npm run download:qdrant && npm run download:meeting-aec-helper && npm run download:whisper-vad-model && npm run download:diarization-models -- --output-dir resources/bin/diarization-models",
"pack": "npm run build:renderer && cross-env CSC_IDENTITY_AUTO_DISCOVERY=false electron-builder --dir",
"predist": "npm run compile:native && npm run download:whisper-cpp && npm run download:llama-server && npm run download:sherpa-onnx && npm run download:yt-dlp && npm run download:qdrant && npm run download:meeting-aec-helper && npm run download:whisper-vad-model && npm run download:diarization-models -- --output-dir resources/bin/diarization-models",
"dist": "npm run build:renderer && electron-builder",
"download:whisper-cpp": "node scripts/download-whisper-cpp.js --current",
"download:whisper-cpp:all": "node scripts/download-whisper-cpp.js --all",
"download:llama-server": "node scripts/download-llama-server.js --current",
"download:llama-server:all": "node scripts/download-llama-server.js --all",
"download:sherpa-onnx": "node scripts/download-sherpa-onnx.js --current",
"download:sherpa-onnx:all": "node scripts/download-sherpa-onnx.js --all",
"download:yt-dlp": "node scripts/download-yt-dlp.js --current",
"download:yt-dlp:all": "node scripts/download-yt-dlp.js --all",
"download:nircmd": "node scripts/download-nircmd.js",
"download:windows-fast-paste": "node scripts/download-windows-fast-paste.js",
"download:windows-key-listener": "node scripts/download-windows-key-listener.js",
"download:windows-mic-listener": "node scripts/download-windows-mic-listener.js",
"download:windows-system-audio-helper": "node scripts/download-windows-system-audio-helper.js",
"download:meeting-aec-helper": "node scripts/download-meeting-aec-helper.js --current",
"download:meeting-aec-helper:all": "node scripts/download-meeting-aec-helper.js --all",
"download:qdrant": "node scripts/download-qdrant.js --current",
"download:qdrant:all": "node scripts/download-qdrant.js --all",
"download:embedding-model": "node scripts/download-minilm.js",
"download:diarization-models": "node scripts/download-diarization-models.js",
"download:whisper-vad-model": "node scripts/download-whisper-vad-model.js",
"download:brand-fonts": "node scripts/download-brand-fonts.js",
"format:js": "eslint . --fix && cd src && eslint . --fix && prettier --write \"**/*.{js,jsx,ts,tsx,json,css,md}\"",
"format": "npm run format:js",
"format:check": "eslint . && cd src && eslint . && prettier --check \"**/*.{js,jsx,ts,tsx,json,css,md}\"",
"lint": "eslint . && cd src && eslint .",
"test": "node --import tsx --test \"test/**/*.test.js\"",
"typecheck": "cd src && tsc --noEmit",
"quality-check": "npm run format:check && npm run typecheck",
"i18n:check": "node scripts/check-i18n.js",
"preview": "cd src && vite preview",
"clean": "node cleanup.js"
},
"keywords": [
"dictation",
"speech-to-text",
"whisper",
"whisper.cpp",
"electron",
"desktop-app"
],
"author": {
"name": "OpenWhispr Team",
"email": "support@openwhispr.com"
},
"license": "MIT",
"devDependencies": {
"@electron/notarize": "^3.0.1",
"@eslint/js": "^9.39.4",
"@tailwindcss/vite": "^4.2.2",
"@types/canvas-confetti": "^1.9.0",
"@types/react": "^19.1.2",
"@types/react-dom": "^19.1.2",
"@vitejs/plugin-react": "^6.0.1",
"autoprefixer": "^10.5.0",
"concurrently": "^10.0.3",
"cross-env": "^10.0.0",
"electron": "^41.10.7",
"electron-builder": "^26.4.0",
"emojibase-data": "^17.0.0",
"eslint": "^10.7.0",
"eslint-plugin-react-hooks": "^7.1.1",
"eslint-plugin-react-refresh": "^0.5.2",
"espree": "^11.2.0",
"globals": "17.5.0",
"happy-dom": "^20.14.5",
"postcss": "^8.5.10",
"prettier": "^3.8.3",
"tailwindcss": "^4.1.10",
"tsx": "^4.23.1",
"typescript": "^6.0.2",
"typescript-eslint": "^8.58.1",
"vite": "^8.1.4"
},
"dependencies": {
"@ai-sdk/amazon-bedrock": "^4.0.93",
"@ai-sdk/anthropic": "^3.0.58",
"@ai-sdk/azure": "^3.0.53",
"@ai-sdk/google": "^3.0.43",
"@ai-sdk/google-vertex": "^4.0.108",
"@ai-sdk/groq": "^3.0.29",
"@ai-sdk/openai": "^3.0.41",
"@ai-sdk/provider": "^3.0.14",
"@aws-sdk/client-bedrock": "^3.1090.0",
"@aws-sdk/credential-providers": "^3.1029.0",
"@better-auth/sso": "1.6.27",
"@fontsource-variable/caveat": "^5.3.0",
"@fontsource-variable/inter": "^5.3.0",
"@homebridge/dbus-native": "^0.7.7",
"@napi-rs/keyring": "^1.3.0",
"@qdrant/js-client-rest": "^1.12.0",
"@radix-ui/react-accordion": "^1.1.2",
"@radix-ui/react-dialog": "^1.1.14",
"@radix-ui/react-direction": "1.1.2",
"@radix-ui/react-dropdown-menu": "^2.1.15",
"@radix-ui/react-label": "^2.1.7",
"@radix-ui/react-popover": "^1.1.15",
"@radix-ui/react-progress": "^1.1.7",
"@radix-ui/react-select": "^2.2.5",
"@radix-ui/react-slot": "^1.2.3",
"@radix-ui/react-tabs": "^1.1.12",
"@tanstack/react-virtual": "^3.13.2",
"@tiptap/core": "3.31.3",
"@tiptap/extension-bubble-menu": "3.31.3",
"@tiptap/extension-floating-menu": "3.31.3",
"@tiptap/extension-horizontal-rule": "3.31.3",
"@tiptap/extension-mention": "3.31.3",
"@tiptap/extension-placeholder": "3.31.3",
"@tiptap/extension-table": "3.31.3",
"@tiptap/extension-task-item": "3.31.3",
"@tiptap/extension-task-list": "3.31.3",
"@tiptap/pm": "3.31.3",
"@tiptap/react": "3.31.3",
"@tiptap/starter-kit": "3.31.3",
"@tiptap/suggestion": "3.31.3",
"ai": "^6.0.116",
"better-auth": "1.6.27",
"better-sqlite3": "12.9.0",
"canvas-confetti": "^1.9.4",
"class-variance-authority": "^0.7.1",
"clsx": "^2.1.1",
"dotenv": "^17.4.1",
"electron-updater": "^6.6.2",
"ffmpeg-static": "^5.2.0",
"flatted": "^3.4.2",
"i18next": "^26.3.6",
"kysely": "^0.28.17",
"object-assign": "^4.1.1",
"onnxruntime-node": "^1.21.0",
"opencc-js": "^1.4.1",
"ps-list": "^9.0.0",
"react": "^19.1.0",
"react-dom": "^19.1.0",
"react-i18next": "^17.0.10",
"react-markdown": "^10.1.0",
"remark-gfm": "^4.0.1",
"shadcn-ui": "^0.9.5",
"tailwind-merge": "^3.3.1",
"tar": "^7.5.22",
"tinfoil": "^1.1.8",
"tiptap-markdown": "^0.9.0",
"tw-animate-css": "^1.3.4",
"unbzip2-stream": "^1.4.3",
"unzipper": "^0.12.3",
"ws": "8.21.0",
"zod": "^4.3.6",
"zustand": "^5.0.11"
},
"overrides": {
"adm-zip": "^0.6.1",
"@tiptap/extension-blockquote": "3.31.3",
"@tiptap/extension-bold": "3.31.3",
"@tiptap/extension-bubble-menu": "3.31.3",
"@tiptap/extension-bullet-list": "3.31.3",
"@tiptap/extension-code": "3.31.3",
"@tiptap/extension-code-block": "3.31.3",
"@tiptap/extension-document": "3.31.3",
"@tiptap/extension-dropcursor": "3.31.3",
"@tiptap/extension-floating-menu": "3.31.3",
"@tiptap/extension-gapcursor": "3.31.3",
"@tiptap/extension-hard-break": "3.31.3",
"@tiptap/extension-heading": "3.31.3",
"@tiptap/extension-horizontal-rule": "3.31.3",
"@tiptap/extension-italic": "3.31.3",
"@tiptap/extension-link": "3.31.3",
"@tiptap/extension-list": "3.31.3",
"@tiptap/extension-list-item": "3.31.3",
"@tiptap/extension-list-keymap": "3.31.3",
"@tiptap/extension-ordered-list": "3.31.3",
"@tiptap/extension-paragraph": "3.31.3",
"@tiptap/extension-strike": "3.31.3",
"@tiptap/extension-text": "3.31.3",
"@tiptap/extension-underline": "3.31.3",
"@tiptap/extensions": "3.31.3",
"@tiptap/pm": "3.31.3",
"@xmldom/xmldom": "0.8.15",
"fast-xml-builder": "1.2.0",
"fast-xml-parser": "5.7.2",
"ip-address": "10.2.0",
"markdown-it": "14.3.2",
"tmp": "0.2.7"
}
}