DEV Community

TypeScript

Optional static type-checking for JavaScript.

Posts

đź‘‹ Sign in for the ability to sort posts by relevant, latest, or top.
Six bugs that only appeared after real users installed my React security library

Six bugs that only appeared after real users installed my React security library

1
Comments
4 min read
Zod v4 vs Valibot: Runtime Validation in 2026 (I Benchmarked Both)

Zod v4 vs Valibot: Runtime Validation in 2026 (I Benchmarked Both)

Comments
4 min read
tRPC vs REST vs GraphQL in 2026: A SaaS Builder's Honest Take

tRPC vs REST vs GraphQL in 2026: A SaaS Builder's Honest Take

Comments
4 min read
React 19 use() Hook in Production: Suspense Data Fetching Without useEffect

React 19 use() Hook in Production: Suspense Data Fetching Without useEffect

Comments
4 min read
MCP Server Authentication: OAuth vs API Keys vs Mutual TLS — Which to Use and When

MCP Server Authentication: OAuth vs API Keys vs Mutual TLS — Which to Use and When

Comments 1
9 min read
Build a RAG Chatbot Without Pinecone: pgvector + Next.js in Under 100 Lines

Build a RAG Chatbot Without Pinecone: pgvector + Next.js in Under 100 Lines

Comments
3 min read
Vitest vs Jest in 2026: I Migrated My AI SaaS and Here's What Changed

Vitest vs Jest in 2026: I Migrated My AI SaaS and Here's What Changed

Comments
3 min read
TypeScript Utility Types That Actually Save Time in Production SaaS Code

TypeScript Utility Types That Actually Save Time in Production SaaS Code

Comments
3 min read
OpenTelemetry for AI Agents: Stop Guessing What Your Agent Did

OpenTelemetry for AI Agents: Stop Guessing What Your Agent Did

Comments
4 min read
Qwik City Port: Two Bundle Numbers (28.60 kB First-Paint, 44.92 kB Total) Because Resumability Breaks Single-Number Comparisons

Qwik City Port: Two Bundle Numbers (28.60 kB First-Paint, 44.92 kB Total) Because Resumability Breaks Single-Number Comparisons

Comments
5 min read
Porting to Nuxt 3: +7% Larger Than React, the Only Regression in the Series (and Why)

Porting to Nuxt 3: +7% Larger Than React, the Only Regression in the Series (and Why)

Comments
4 min read
SolidJS Port: gzip 8.33 kB, React 83%, Because Fine-Grained Reactivity Means No Virtual DOM

SolidJS Port: gzip 8.33 kB, React 83%, Because Fine-Grained Reactivity Means No Virtual DOM

Comments
4 min read
Porting the Landing to Svelte 5 + Runes — 61% Smaller Gzip and Why the Compiler Approach Wins Here

Porting the Landing to Svelte 5 + Runes — 61% Smaller Gzip and Why the Compiler Approach Wins Here

Comments
5 min read
A Data-Driven Portfolio Landing Page Where Adding an Entry Doesn't Rebuild the App

A Data-Driven Portfolio Landing Page Where Adding an Entry Doesn't Rebuild the App

Comments
5 min read
JavaScript Event Loop Explained: Macrotasks, Microtasks, and Async/Await Made Simple

JavaScript Event Loop Explained: Macrotasks, Microtasks, and Async/Await Made Simple

Comments
2 min read
đź‘‹ Sign in for the ability to sort posts by relevant, latest, or top.