Files
Maestro/package.json
Pedram Amini 6b1f885f1e feat: add advanced git diff viewer with file tabs and syntax highlighting
- Add GitDiffViewer component with tabbed interface for multi-file diffs
- Integrate react-diff-view for proper diff parsing and rendering
- Add keyboard shortcuts: Cmd+Shift+D to open diff, Cmd+Shift+[/] to navigate tabs
- Display addition/deletion statistics per file and overall
- Theme-aware diff colors with proper syntax highlighting
- Parse git diff output into separate file sections with gitDiffParser utility
- Update default shortcuts: Cmd+B → Opt+Cmd+← for sidebar, Cmd+\ → Opt+Cmd+→ for right panel
- Add hover tooltips showing file changes and diff stats in GitStatusWidget
- Improve modal z-index to ensure diff viewer appears above other elements

Dependencies:
- diff@8.0.2 - Core diff parsing and manipulation
- react-diff-view@3.3.2 - React components for rendering diffs
2025-11-24 15:47:15 -06:00

129 lines
3.3 KiB
JSON

{
"name": "maestro",
"version": "0.1.0",
"description": "Multi-Instance AI Coding Console - Unified IDE for managing multiple AI coding assistants",
"main": "dist/index.js",
"author": "Maestro Team",
"license": "MIT",
"repository": {
"type": "git",
"url": "https://github.com/yourusername/maestro.git"
},
"scripts": {
"dev": "concurrently \"npm run dev:main\" \"npm run dev:renderer\"",
"dev:main": "tsc -p tsconfig.main.json && NODE_ENV=development electron .",
"dev:renderer": "vite",
"build": "npm run build:main && npm run build:renderer",
"build:main": "tsc -p tsconfig.main.json",
"build:renderer": "vite build",
"package": "npm run build && electron-builder --mac --win --linux",
"package:mac": "npm run build && electron-builder --mac",
"package:win": "npm run build && electron-builder --win",
"package:linux": "npm run build && electron-builder --linux",
"start": "electron .",
"clean": "rm -rf dist release node_modules/.vite",
"postinstall": "electron-rebuild -f -w node-pty"
},
"build": {
"appId": "com.maestro.app",
"productName": "Maestro",
"directories": {
"output": "release",
"buildResources": "build"
},
"files": [
"dist/**/*",
"package.json"
],
"mac": {
"category": "public.app-category.developer-tools",
"target": [
{
"target": "dmg",
"arch": [
"x64",
"arm64"
]
},
{
"target": "zip",
"arch": [
"x64",
"arm64"
]
}
],
"icon": "build/icon.icns"
},
"win": {
"target": [
{
"target": "nsis",
"arch": [
"x64"
]
},
{
"target": "portable",
"arch": [
"x64"
]
}
],
"icon": "build/icon.ico"
},
"linux": {
"target": [
"AppImage",
"deb",
"rpm"
],
"category": "Development",
"icon": "build/icon.png"
},
"nsis": {
"oneClick": false,
"allowToChangeInstallationDirectory": true
}
},
"dependencies": {
"@emoji-mart/data": "^1.2.1",
"@emoji-mart/react": "^1.1.1",
"@fastify/cors": "^8.5.0",
"@fastify/websocket": "^9.0.0",
"@types/dompurify": "^3.0.5",
"ansi-to-html": "^0.7.2",
"diff": "^8.0.2",
"dompurify": "^3.3.0",
"electron-store": "^8.1.0",
"fastify": "^4.25.2",
"node-pty": "^1.0.0",
"react-diff-view": "^3.3.2",
"react-markdown": "^10.1.0",
"react-syntax-highlighter": "^16.1.0",
"remark-gfm": "^4.0.1",
"ws": "^8.16.0"
},
"devDependencies": {
"@types/node": "^20.10.6",
"@types/react": "^18.2.47",
"@types/react-dom": "^18.2.18",
"@types/react-syntax-highlighter": "^15.5.13",
"@types/ws": "^8.5.10",
"@vitejs/plugin-react": "^4.2.1",
"autoprefixer": "^10.4.16",
"concurrently": "^8.2.2",
"electron": "^28.1.0",
"electron-builder": "^24.9.1",
"electron-rebuild": "^3.2.9",
"lucide-react": "^0.303.0",
"postcss": "^8.4.33",
"react": "^18.2.0",
"react-dom": "^18.2.0",
"tailwindcss": "^3.4.1",
"typescript": "^5.3.3",
"vite": "^5.0.11",
"vite-plugin-electron": "^0.28.2"
}
}