Files
turbostarter/apps/web/package.json
Alejandro Gutiérrez 098f4968be feat: implement Story 1.4 — recent view and drag-and-drop organization
Add sortOrder column to diagrams, extend PATCH endpoint with projectId
and sortOrder fields, add POST /diagrams/reorder bulk endpoint with
ownership verification and duplicate ID validation. Enhance RecentList
with lastAiMessage preview subtitle. Implement @dnd-kit drag-and-drop
in ProjectTree sidebar with cross-project moves, intra-project reorder,
optimistic updates, drag overlay, drop indicators, and keyboard/pointer
sensor support. Context-aware GET ordering: sortOrder for project views,
updatedAt for recent/all views. 141 tests pass.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-23 23:21:09 +00:00

83 lines
2.6 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",
"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:*",
"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:"
}
}