{ "name": "frontend", "private": true, "version": "0.0.0", "type": "module", "scripts": { "sync-schemas": "rsync -av --delete ../schemas/20251121/linkml/ public/schemas/20251121/linkml/", "generate-manifest": "node scripts/generate-schema-manifest.cjs", "dev": "pnpm run sync-schemas && pnpm run generate-manifest && vite", "build": "pnpm run sync-schemas && pnpm run generate-manifest && tsc -b && vite build", "lint": "eslint .", "preview": "vite preview", "test": "vitest", "test:ui": "vitest --ui", "test:run": "vitest run", "test:coverage": "vitest run --coverage" }, "dependencies": { "@glam/api-client": "workspace:*", "@glam/hooks": "workspace:*", "@glam/theme": "workspace:*", "@glam/ui": "workspace:*", "@codemirror/lang-javascript": "^6.2.4", "@duckdb/duckdb-wasm": "^1.31.0", "@emotion/react": "^11.14.0", "@emotion/styled": "^11.14.1", "@mui/icons-material": "^7.3.6", "@mui/material": "^7.3.5", "@tanstack/react-query": "^5.90.10", "@types/d3": "^7.4.3", "@types/dagre": "^0.7.53", "@types/js-yaml": "^4.0.9", "@types/lodash": "^4.17.20", "@types/three": "^0.181.0", "@uiw/react-codemirror": "^4.25.3", "axios": "^1.13.2", "chevrotain-allstar": "^0.3.1", "d3": "^7.9.0", "d3-geo": "^3.1.1", "d3-zoom": "^3.0.0", "dagre": "^0.8.5", "date-fns": "^4.1.0", "dompurify": "^3.3.0", "elkjs": "^0.11.0", "fdir": "^6.5.0", "js-yaml": "^4.1.1", "lodash": "^4.17.21", "lucide-react": "^0.561.0", "maplibre-gl": "^5.14.0", "mermaid": "^11.4.0", "n3": "^1.26.0", "react": "^19.2.0", "react-dom": "^19.2.0", "react-markdown": "^10.1.0", "react-router-dom": "^7.9.6", "rehype-raw": "^7.0.0", "rehype-sanitize": "^6.0.0", "remark-gfm": "^4.0.1", "three": "^0.181.2", "umap-js": "^1.4.0", "zustand": "^5.0.8" }, "devDependencies": { "@eslint/js": "^9.39.1", "@playwright/test": "^1.56.1", "@testing-library/jest-dom": "^6.9.1", "@testing-library/react": "^16.3.0", "@testing-library/user-event": "^14.6.1", "@types/dompurify": "^3.0.5", "@types/node": "^24.10.1", "@types/react": "^19.2.5", "@types/react-dom": "^19.2.3", "@typescript-eslint/eslint-plugin": "^8.47.0", "@typescript-eslint/parser": "^8.47.0", "@vitejs/plugin-react": "^5.1.1", "@vitest/ui": "^4.0.13", "eslint": "^9.39.1", "eslint-config-prettier": "^10.1.8", "eslint-plugin-prettier": "^5.5.4", "eslint-plugin-react-hooks": "^7.0.1", "eslint-plugin-react-refresh": "^0.4.24", "globals": "^16.5.0", "jsdom": "^27.2.0", "prettier": "^3.6.2", "typescript": "~5.9.3", "typescript-eslint": "^8.46.4", "vite": "^6.3.5", "vitest": "^4.0.13" } }