{ "name": "openscreen", "private": true, "version": "1.4.12", "type": "module", "packageManager": "npm@10.9.4", "engines": { "node": "22.22.1", "npm": "10.9.4" }, "author": { "name": "Sid", "email": "svaddem@asu.edu" }, "scripts": { "dev": "vite", "build": "tsc && vite build && electron-builder --config electron-builder.json5", "lint": "biome check .", "lint:fix": "biome check --write .", "format": "biome format --write .", "i18n:check": "node scripts/i18n-check.mjs", "preview": "vite preview", "build:native:mac": "node scripts/build-macos-screencapturekit-helper.mjs", "build:mac": "npm run build:native:mac && tsc && vite build && electron-builder --mac --config electron-builder.json5", "build:native:win": "node scripts/build-windows-wgc-helper.mjs", "build:ocr:win": "node scripts/build-windows-ocr-service.mjs", "build:win": "npm run build:native:win && npm run build:ocr:win && tsc && vite build && electron-builder --win --config electron-builder.json5 --config.npmRebuild=false", "build:win:private-trust": "npm run build:native:win && npm run build:ocr:win && tsc && vite build && electron-builder --win --config electron-builder.private-trust.cjs --config.npmRebuild=false", "sign:win:private-trust": "node scripts/sign-windows-private-trust.mjs", "build:linux": "tsc && vite build && electron-builder --linux AppImage deb pacman --config electron-builder.json5 --config.npmRebuild=false", "test": "vitest --run", "test:watch": "vitest", "test:cursor-native:win": "node scripts/test-windows-native-cursor.mjs", "test:wgc-helper:win": "node scripts/test-windows-wgc-helper.mjs", "test:wgc-window:win": "node scripts/test-windows-wgc-helper.mjs --window", "test:wgc-audio:win": "node scripts/test-windows-wgc-helper.mjs --system-audio", "test:wgc-mic:win": "node scripts/test-windows-wgc-helper.mjs --microphone", "test:wgc-mixed-audio:win": "node scripts/test-windows-wgc-helper.mjs --system-audio --microphone", "test:wgc-webcam:win": "node scripts/test-windows-wgc-helper.mjs --webcam", "test:wgc-full:win": "node scripts/test-windows-wgc-helper.mjs --webcam --system-audio --microphone", "ocr:paddle": "python -m uvicorn tools.ocr.paddle_ocr_service:app --host 127.0.0.1 --port 8866", "capture:openscreen-preview": "node scripts/capture-openscreen-preview.mjs", "inspect:cursor-click-bounce": "node scripts/inspect-native-cursor-click-bounce.mjs", "build-vite": "tsc && vite build", "test:browser": "vitest --config vitest.browser.config.ts --run", "test:browser:install": "playwright install --with-deps chromium-headless-shell", "test:e2e": "playwright test", "test:e2e:windows-native-checklist": "playwright test tests/e2e/windows-native-checklist.spec.ts", "prepare": "husky" }, "dependencies": { "@fix-webm-duration/fix": "^1.0.1", "@pixi/filter-drop-shadow": "^5.2.0", "@radix-ui/react-accordion": "^1.2.12", "@radix-ui/react-dialog": "^1.1.15", "@radix-ui/react-dropdown-menu": "^2.1.16", "@radix-ui/react-popover": "^1.1.15", "@radix-ui/react-select": "^2.2.6", "@radix-ui/react-slider": "^1.3.6", "@radix-ui/react-slot": "^1.2.4", "@radix-ui/react-switch": "^1.2.6", "@radix-ui/react-tabs": "^1.1.13", "@radix-ui/react-toggle": "^1.1.10", "@radix-ui/react-toggle-group": "^1.1.11", "@radix-ui/react-tooltip": "^1.2.8", "@types/gif.js": "^0.2.5", "@uiw/color-convert": "^2.10.1", "@uiw/react-color-block": "^2.10.1", "@uiw/react-color-colorful": "^2.9.2", "class-variance-authority": "^0.7.1", "clsx": "^2.1.1", "dnd-timeline": "^2.4.0", "electron-updater": "^6.8.3", "emoji-picker-react": "^4.18.0", "fix-webm-duration": "^1.0.6", "gif.js": "^0.2.0", "gsap": "^3.15.0", "lucide-react": "^0.545.0", "mediabunny": "^1.40.1", "motion": "^12.38.0", "mp4box": "^2.3.0", "pixi-filters": "^6.1.5", "pixi.js": "^8.18.1", "react": "^18.3.1", "react-dom": "^18.3.1", "react-icons": "^5.6.0", "react-resizable-panels": "^3.0.6", "react-rnd": "^10.5.3", "sonner": "^2.0.7", "tailwind-merge": "^3.5.0", "tailwindcss-animate": "^1.0.7", "uuid": "^13.0.0", "web-demuxer": "^4.0.0" }, "devDependencies": { "@biomejs/biome": "^2.4.12", "@electron/rebuild": "^4.0.4", "@playwright/test": "^1.59.1", "@testing-library/jest-dom": "^6.9.1", "@testing-library/react": "^16.3.2", "@testing-library/user-event": "^14.6.1", "@types/node": "^22.19.17", "@types/react": "^18.3.28", "@types/react-dom": "^18.3.7", "@vitejs/plugin-react": "^5.2.0", "@vitest/browser": "^4.1.4", "@vitest/browser-playwright": "^4.1.4", "autoprefixer": "^10.5.0", "electron": "^41.2.1", "electron-builder": "^26.8.1", "esbuild": "^0.27.0", "fast-check": "^4.7.0", "husky": "^9.1.7", "jsdom": "^29.0.2", "lint-staged": "^16.4.0", "postcss": "^8.5.10", "tailwindcss": "^3.4.19", "terser": "^5.46.1", "typescript": "^5.9.3", "vite": "^7.3.2", "vite-plugin-electron": "^0.29.1", "vite-plugin-electron-renderer": "^0.14.6", "vitest": "^4.1.4" }, "main": "dist-electron/main.js", "lint-staged": { "*.{ts,tsx,js,jsx,mts,cts,json}": "biome check --no-errors-on-unmatched" } }