Files
gridline/package.json
T
adrianbonpin 002d8345ae v0.6.0: release workflow, constraint-aware cell editing, pending-cell styling (#9)
* feat: demo DB seed/regenerate, backup/restore/sync refinements, SSH/SSL polish

- Demo SQLite DB: feature-rich seed (12 objects, 500-row audit log) + regenerate action in Settings
- Backup/restore: headless-testable core logic, psql -f for plain dumps, sync passes --clean --if-exists
- SSH/SSL runtime refinements and connection testing improvements
- Data grid: DataTypeIcon component, FK popover, table tree polish
- Docs: AGENTS.md/README updates, new screenshots, MIT LICENSE

* chore: optimize README screenshots (4.7 MB → 916 KB via pngquant, quality 70-90)

* v0.6.0: release workflow, constraint-aware cell editing, pending-cell styling

- Bump version to 0.6.0 across package.json, Cargo.toml, tauri.conf.json
- Add .github/workflows/release.yml: tag-triggered CI builds macOS (aarch64
  + x64), Windows, and Linux installers into a draft GitHub Release
- README: installer download table (unsigned note, per-platform files),
  "how releases are made" section
- CellEditor: constraint-aware commit — empty input on nullable columns
  becomes NULL, NOT NULL text-like types fall back to empty string, all
  other types blocked with an inline error bubble; replace "Set NULL"
  checkbox with a NULL row in the FK dropdown / empty enum option
- VirtualDataGrid: pending-edit dot → animated pending outline (ring) on
  staged cells; matching test updates
- docs-coverage test: align with rewritten README comparison table
2026-08-04 17:20:14 +08:00

57 lines
1.8 KiB
JSON

{
"name": "gridline",
"private": true,
"version": "0.6.0",
"description": "An open-source, high-performance database GUI client for PostgreSQL and beyond",
"type": "module",
"scripts": {
"test": "vitest run",
"test:watch": "vitest",
"dev": "vite",
"tauri:dev": "tauri dev",
"build": "tsc && vite build",
"preview": "vite preview",
"tauri": "tauri"
},
"dependencies": {
"@dnd-kit/core": "^6.3.1",
"@dnd-kit/sortable": "^10.0.0",
"@dnd-kit/utilities": "^3.2.2",
"@fontsource/outfit": "^5.3.0",
"@fontsource/space-mono": "^5.3.0",
"@monaco-editor/react": "^4.7.0",
"@tailwindcss/vite": "^4.3.3",
"@tanstack/react-virtual": "^3.14.8",
"@tauri-apps/api": "^2",
"@tauri-apps/plugin-dialog": "^2.7.2",
"@tauri-apps/plugin-fs": "^2.5.1",
"@tauri-apps/plugin-opener": "^2",
"@xyflow/react": "^12.11.2",
"dagre": "^0.8.5",
"html-to-image": "^1.11.13",
"lucide-react": "^1.26.0",
"monaco-editor": "^0.56.0",
"motion": "^12.42.2",
"react": "^19.1.0",
"react-dom": "^19.1.0",
"simple-icons": "^16.27.1",
"sql-formatter": "^15.8.2",
"tauri-plugin-keyring-store-api": "^0.2.0",
"zustand": "^5.0.14"
},
"devDependencies": {
"@tauri-apps/cli": "^2",
"@testing-library/jest-dom": "^7.0.0",
"@testing-library/react": "^16.3.2",
"@testing-library/user-event": "^14.6.1",
"@types/dagre": "^0.7.54",
"@types/react": "^19.1.8",
"@types/react-dom": "^19.1.6",
"@vitejs/plugin-react": "^4.6.0",
"jsdom": "^29.1.1",
"typescript": "~5.8.3",
"vite": "^7.0.4",
"vitest": "^4.1.10"
}
}