{
"name": "aggregate-mail",
"private": true,
"version": "0.1.2",
"type": "module",
"scripts": {
"dev": "node scripts/dev-desktop.mjs",
"build": "tsc --noEmit && vite build && node scripts/build-desktop.mjs",
"start": "node scripts/launch-desktop.mjs",
"test": "tsx --test server/*.test.ts desktop/*.test.ts",
"dev:web": "concurrently -k \"node --watch-path=server --watch-path=shared --import tsx server/index.ts\" \"vite --host 127.0.0.1\"",
"start:web": "node --import tsx server/index.ts",
"package": "npm run build && electron-builder --win nsis --x64 --publish never",
"package:dir": "npm run build && electron-builder --win --x64 --dir",
"check:desktop": "node scripts/launch-desktop.mjs --check-startup",
"release": "node scripts/release.mjs"
},
"dependencies": {
"@modelcontextprotocol/sdk": "^1.32.1",
"express": "^5.1.0",
"googleapis": "^160.0.0",
"imapflow": "^1.0.0",
"lucide-react": "^0.468.0",
"mailparser": "^3.7.0",
"nodemailer": "^10.0.16",
"react": "^19.0.0",
"react-dom": "^19.0.0",
"zod": "^4.0.0"
},
"devDependencies": {
"@types/express": "^5.0.0",
"@types/mailparser": "^3.4.0",
"@types/node": "^24.0.0",
"@types/nodemailer": "^7.0.0",
"@types/react": "^19.0.0",
"@types/react-dom": "^19.0.0",
"@vitejs/plugin-react": "^5.0.0",
"concurrently": "^9.0.0",
"electron": "^44.7.0",
"electron-builder": "^26.15.3",
"esbuild": "^0.28.2",
"tsx": "^4.20.0",
"typescript": "^5.9.0",
"vite": "^7.0.0"
},
"main": ".desktop/main.cjs",
"description": "A keyboard-driven desktop inbox for all your email accounts.",
"author": "Screen",
"build": {
"appId": "dev.screen.aggregate-mail",
"productName": "Aggregate Mail",
"directories": {
"output": "release"
},
"files": [
".desktop/**",
"dist/**",
"package.json",
"build/icon.png"
],
"asar": true,
"win": {
"target": [
"nsis"
],
"icon": "build/icon.ico",
"signAndEditExecutable": true
},
"nsis": {
"oneClick": false,
"perMachine": false,
"allowToChangeInstallationDirectory": true,
"createDesktopShortcut": true,
"createStartMenuShortcut": true,
"artifactName": "Aggregate-Mail-Setup-${version}.${ext}"
}
}
}