Replace the placeholder diagram editor with a professional Studio layout featuring an interactive @xyflow/react canvas, unified graph data model with bidirectional converters, Zustand state management, and oklch design tokens. Includes 25 unit tests for converters and store, with all code review fixes applied. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
87 lines
2.7 KiB
JSON
87 lines
2.7 KiB
JSON
{
|
|
"name": "web",
|
|
"version": "1.0.0",
|
|
"private": true,
|
|
"type": "module",
|
|
"scripts": {
|
|
"build": "next build",
|
|
"clean": "git clean -xdf .cache .next .turbo node_modules",
|
|
"dev": "next dev",
|
|
"format": "prettier --check . --ignore-path ../../.gitignore",
|
|
"lint": "eslint",
|
|
"start": "next start",
|
|
"test": "vitest run",
|
|
"typecheck": "tsc --noEmit"
|
|
},
|
|
"prettier": "@turbostarter/prettier-config",
|
|
"dependencies": {
|
|
"@ai-sdk/react": "2.0.86",
|
|
"@anaralabs/lector": "3.7.3",
|
|
"@dnd-kit/core": "6.3.1",
|
|
"@dnd-kit/sortable": "10.0.0",
|
|
"@dnd-kit/utilities": "3.2.2",
|
|
"@formatjs/intl-localematcher": "0.6.2",
|
|
"@hookform/resolvers": "5.2.2",
|
|
"@next/bundle-analyzer": "16.0.10",
|
|
"@number-flow/react": "0.5.10",
|
|
"@tanstack/react-query": "catalog:",
|
|
"@tanstack/react-query-devtools": "catalog:",
|
|
"@tanstack/react-table": "catalog:",
|
|
"@turbostarter/ai": "workspace:*",
|
|
"@turbostarter/analytics-web": "workspace:*",
|
|
"@turbostarter/api": "workspace:*",
|
|
"@turbostarter/auth": "workspace:*",
|
|
"@turbostarter/billing": "workspace:*",
|
|
"@turbostarter/cms": "workspace:*",
|
|
"@turbostarter/db": "workspace:*",
|
|
"@turbostarter/email": "workspace:*",
|
|
"@turbostarter/i18n": "workspace:*",
|
|
"@turbostarter/monitoring-web": "workspace:*",
|
|
"@turbostarter/shared": "workspace:*",
|
|
"@turbostarter/ui": "workspace:*",
|
|
"@turbostarter/ui-web": "workspace:*",
|
|
"@xyflow/react": "12.10.1",
|
|
"accept-language": "3.0.20",
|
|
"dayjs": "1.11.19",
|
|
"envin": "catalog:",
|
|
"marked": "16.4.1",
|
|
"motion": "12.23.24",
|
|
"negotiator": "1.0.0",
|
|
"next": "16.0.10",
|
|
"next-i18n-router": "5.5.5",
|
|
"next-themes": "0.4.6",
|
|
"nuqs": "2.7.2",
|
|
"pdfjs-dist": "5.4.530",
|
|
"react": "catalog:react19",
|
|
"react-dom": "catalog:react19",
|
|
"react-dropzone": "14.3.8",
|
|
"react-hook-form": "catalog:",
|
|
"react-markdown": "10.1.0",
|
|
"react-qr-code": "2.0.18",
|
|
"react-shiki": "0.9.1",
|
|
"rehype-katex": "7.0.1",
|
|
"rehype-raw": "7.0.0",
|
|
"remark-gfm": "4.0.1",
|
|
"remark-math": "6.0.0",
|
|
"sonner": "2.0.7",
|
|
"zod": "catalog:",
|
|
"zustand": "5.0.8"
|
|
},
|
|
"devDependencies": {
|
|
"@svgr/webpack": "8.1.0",
|
|
"@tailwindcss/postcss": "4.1.16",
|
|
"@turbostarter/eslint-config": "workspace:*",
|
|
"@turbostarter/prettier-config": "workspace:*",
|
|
"@turbostarter/tsconfig": "workspace:*",
|
|
"@types/node": "catalog:node22",
|
|
"@types/react": "catalog:react19",
|
|
"@types/react-dom": "catalog:react19",
|
|
"autoprefixer": "10.4.21",
|
|
"eslint": "catalog:",
|
|
"prettier": "catalog:",
|
|
"typescript": "catalog:",
|
|
"@turbostarter/vitest-config": "workspace:*",
|
|
"vitest": "catalog:"
|
|
}
|
|
}
|