nodejs-expert
Node.js Expert — Gotchas & Decisions
Use Context7 for Express/NestJS/Fastify docs.
Key Decisions
decisions[4]{choice,use_when}:
Express vs NestJS vs Fastify,"Express: simple APIs. NestJS: enterprise/DI/decorators. Fastify: high perf"
Prisma vs TypeORM vs Drizzle,"Prisma: best DX/types. TypeORM: Active Record pattern. Drizzle: SQL-like + lightweight"
Zod vs Joi vs class-validator,"Zod: TS-first inference. Joi: runtime schemas. class-validator: NestJS decorators"
JWT vs session,"JWT: stateless/microservices. Session: monolith/server-rendered"
Gotchas
forEach+async: does NOT await. Usefor...oforPromise.all(items.map(async ...))- Express error handler: MUST have 4 params
(err, req, res, next)— even if unused, or Express ignores it - Unhandled promise rejection crashes Node 15+ — always catch or use
process.on('unhandledRejection') asyncHandlerwrapper: wrap Express route handlers to catch async errors →next(err)req.bodyisundefinedwithoutexpress.json()middleware — common setup missprocess.env.PORTis string — parse withparseInt()orNumber()before comparison- NestJS:
@Injectable()with@Module({ providers: [...] })— forgetting module registration = runtime error - Stream backpressure: always handle
drainevent on writable streams for large data __dirnamenot available in ESM — useimport.meta.dirname(Node 21+) orfileURLToPath(import.meta.url)
More from nguyenthienthanh/aura-frog
stitch-design
Generate UI designs using Google Stitch AI with optimized prompts
36angular-expert
Angular 17+ gotchas and decision criteria. Covers signals vs observables, standalone patterns, and common pitfalls Claude gets wrong.
31flutter-expert
Flutter/Dart mobile expert. PROACTIVELY use when working with Flutter, Dart, mobile apps. Triggers: flutter, dart, widget, bloc, riverpod
16seo-expert
SEO and search engine optimization expert. PROACTIVELY use when working with meta tags, structured data, Core Web Vitals, sitemap, robots.txt, canonical URLs. Triggers: SEO, meta tags, schema markup, search ranking
13dev-expert
Development patterns for React, Vue, Laravel, Next.js, React Native - state management, forms, API integration
13react-native-expert
React Native best practices expert. PROACTIVELY use when working with React Native, mobile apps, Expo. Triggers: react-native, expo, mobile, iOS, Android, NativeWind
13