Files
ContainerFlow/package.json
T
RGJorge 71b8f94e21 v0.1.5 — export graph as PNG (closes #4)
Adds a download button to the bottom-left React Flow controls that
exports the current canvas view as a PNG with the dot grid preserved.

- New util src/client/utils/exportPng.ts: html-to-image capture +
  manual canvas composition (solid bg + dot grid + captured layer).
  Works around html-to-image's SVG <pattern> limitations and produces
  a deterministic 3x retina PNG.
- During capture, temporary CSS disables ring-shadow halos and forces
  service node bodies to a solid dark fill so the dot grid doesn't
  bleed through. State is still indicated by border colors and the
  inner state dot. Group node headers are excluded so their outlines
  stay intact.
- New component src/client/components/ExportPngButton.tsx integrated
  as a custom ControlButton inside <Controls> (bottom-left).
- App.tsx: id="dashboard-canvas" + data-no-export on project filter.
- i18n: 4 keys (EN + ES) for the button and 3 error states.
- New dependency: html-to-image@1.11.13
2026-05-16 02:08:22 +00:00

47 lines
1.2 KiB
JSON

{
"name": "containerflow",
"version": "0.1.5",
"license": "AGPL-3.0-or-later",
"author": "Jorge Gonzalez D. (RGJorge)",
"type": "module",
"scripts": {
"dev": "concurrently \"bun run dev:server -- --all\" \"bun run dev:client\"",
"dev:server": "bun --watch src/server/index.ts",
"dev:client": "vite",
"build": "vite build",
"start": "bun run src/server/index.ts --all",
"preview": "bun run build && bun run start",
"mcp": "bun src/server/mcp.ts",
"setup:mcp": "bun scripts/install-mcp.ts",
"test": "vitest run",
"test:watch": "vitest",
"typecheck": "tsc --noEmit"
},
"dependencies": {
"@modelcontextprotocol/sdk": "^1.27.1",
"dockerode": "^4",
"hono": "^4",
"html-to-image": "^1.11.13",
"lucide-react": "^0.577.0",
"yaml": "^2",
"zod": "^3"
},
"devDependencies": {
"@dagrejs/dagre": "^1",
"@tailwindcss/vite": "^4",
"@types/bun": "^1.3.13",
"@types/dockerode": "^3",
"@types/react": "^19",
"@types/react-dom": "^19",
"@vitejs/plugin-react": "^4",
"@xyflow/react": "^12",
"concurrently": "^9",
"react": "^19",
"react-dom": "^19",
"tailwindcss": "^4",
"typescript": "^5",
"vite": "^6",
"vitest": "^4.1.5"
}
}