perf: Phase 1+2+3 — Turbopack, Prisma select, RSC page, CSS masonry + dnd-kit

- Turbopack activé (dev: next dev --turbopack)
- NOTE_LIST_SELECT: exclut embedding (~6KB/note) des requêtes de liste
- getAllNotes/getNotes/getArchivedNotes/getNotesWithReminders optimisés
- searchNotes: filtrage DB-side au lieu de full-scan JS en mémoire
- getAllNotes: requêtes ownNotes + sharedNotes parallélisées avec Promise.all
- syncLabels: upsert en transaction () vs N boucles séquentielles
- app/(main)/page.tsx converti en Server Component (RSC)
- HomeClient: composant client hydraté avec données pré-chargées
- NoteEditor/BatchOrganizationDialog/AutoLabelSuggestionDialog: lazy-loaded avec dynamic()
- MasonryGrid: remplace Muuri par CSS grid auto-fill + @dnd-kit/sortable
- 13 packages supprimés: muuri, web-animations-js, react-masonry-css, react-grid-layout
- next.config.ts nettoyé: suppression webpack override, activation image optimization
This commit is contained in:
Sepehr Ramezani
2026-04-17 21:39:21 +02:00
parent 2eceb32fd4
commit cb8bcd13ba
15 changed files with 1877 additions and 1494 deletions

View File

@@ -3,9 +3,8 @@
"version": "0.2.0",
"private": true,
"scripts": {
"dev": "next dev --webpack",
"dev:turbo": "next dev",
"build": "prisma generate && next build --webpack",
"dev": "next dev --turbopack",
"build": "prisma generate && next build",
"start": "next start",
"db:generate": "prisma generate",
"db:migrate": "prisma migrate dev",
@@ -51,7 +50,6 @@
"dotenv": "^17.2.3",
"katex": "^0.16.27",
"lucide-react": "^0.562.0",
"muuri": "^0.9.5",
"next": "^16.1.6",
"next-auth": "^5.0.0-beta.30",
"nodemailer": "^8.0.4",
@@ -59,9 +57,7 @@
"radix-ui": "^1.4.3",
"react": "19.2.3",
"react-dom": "19.2.3",
"react-grid-layout": "^2.2.2",
"react-markdown": "^10.1.0",
"react-masonry-css": "^1.0.16",
"rehype-katex": "^7.0.1",
"remark-gfm": "^4.0.1",
"remark-math": "^6.0.0",
@@ -69,7 +65,6 @@
"tailwind-merge": "^3.4.0",
"tinyld": "^1.3.4",
"vazirmatn": "^33.0.3",
"web-animations-js": "^2.3.2",
"zod": "^4.3.5"
},
"devDependencies": {