{ "name": "tennis-book", "productName": "Tennis Book", "version": "0.1.0", "private": true, "description": "Desktop workspace for aggregated tennis court booking", "main": "./out/main/index.js", "scripts": { "dev": "electron-vite dev", "build": "npm run typecheck && electron-vite build", "dist:mac": "npm run build && electron-builder --mac dmg zip --universal", "preview": "electron-vite preview", "typecheck": "tsc --noEmit", "test": "vitest run" }, "dependencies": { "@fontsource-variable/manrope": "5.2.8", "@fontsource-variable/newsreader": "5.2.8", "lucide-react": "0.468.0", "react": "18.3.1", "react-dom": "18.3.1" }, "devDependencies": { "@swc/core": "1.15.18", "@types/node": "22.15.3", "@types/react": "18.3.18", "@types/react-dom": "18.3.5", "@vitejs/plugin-react": "4.7.0", "electron": "35.7.5", "electron-builder": "26.0.12", "electron-vite": "3.1.0", "typescript": "5.9.3", "vite": "6.4.3", "vitest": "3.2.7" }, "build": { "appId": "com.tennisbook.desktop", "productName": "Tennis Book", "asar": true, "directories": { "output": "release", "buildResources": "build" }, "files": [ "out/**/*", "package.json" ], "mac": { "category": "public.app-category.sports", "icon": "build/icon-1024.png", "identity": null, "artifactName": "${productName}-${version}-${arch}.${ext}", "target": [ "dmg", "zip" ] } } }