mirror of
https://github.com/kjanat/livedash-node.git
synced 2026-02-13 10:29:31 +01:00
- Update tsconfig to ES2024 target and bundler moduleResolution - Add dynamic imports for chart.js and recharts (bundle optimization) - Consolidate 17 useState into useReducer in sessions page - Fix 18 .js extension imports across lib files - Add type declarations for @rapideditor/country-coder - Fix platform user types (PlatformUserRole enum) - Fix Calendar component prop types - Centralize next-auth type augmentation - Add force-dynamic to all API routes (prevent build-time prerender) - Fix Prisma JSON null handling with Prisma.DbNull - Fix various type mismatches (SessionMessage, ImportRecord, etc.) - Export ButtonProps from button component - Update next-themes import path - Replace JSX.Element with React.ReactElement - Remove obsolete debug scripts and pnpm lockfile - Downgrade eslint to v8 for next compatibility
654 B
654 B
title, impact, impactDescription, tags
| title | impact | impactDescription | tags |
|---|---|---|---|
| Promise.all() for Independent Operations | CRITICAL | 2-10× improvement | async, parallelization, promises, waterfalls |
Promise.all() for Independent Operations
When async operations have no interdependencies, execute them concurrently using Promise.all().
Incorrect (sequential execution, 3 round trips):
const user = await fetchUser()
const posts = await fetchPosts()
const comments = await fetchComments()
Correct (parallel execution, 1 round trip):
const [user, posts, comments] = await Promise.all([
fetchUser(),
fetchPosts(),
fetchComments()
])