Node.js, Bun, pnpm, Vite, TypeScript, Biome, Vitest & Beyond
Introduction: The State of JavaScript Tooling in 2026
Chapter 1: Foundations (Modules, Runtimes, and the Modern Landscape)
- The Module Problem: From Globals to ESM
- CommonJS vs ES Modules: Mechanics, Interop, and When It Matters
- How JavaScript Runs: V8, Sandboxing, and Runtime Architecture
- The Node.js Legacy: Why It Dominated and What It Left Behind
- Modern Alternatives: Bun, Deno, and the New Competition
- Choosing Your Runtime: Decision Framework for 2026
Chapter 2: Package Management (npm, pnpm, Corepack, and the Dependency Model)
- The package.json Contract: Fields, Scripts, and Modern Conventions
- How npm Works: Registry, Resolution, Lock Files, and Installation
- pnpm: Content Addressable Storage, Symlinks, and Disk Efficiency
- Corepack: Version Pinning Without nvm or fnm
- Monorepos and Workspaces: npm, pnpm, and Turborepo Integration
- Dependency Hygiene: Auditing, Updating, and Security Scanning
Chapter 3: TypeScript (The Type System That Changed Everything)
- Why TypeScript Won: Adoption, Tooling, and Developer Experience
- tsconfig.json Mastery: Strict Mode, Paths, and Project References
- Type System Fundamentals: Inference, Generics, and Utility Types
- TypeScript with Node.js: Runtime vs Type-Only Concerns
- TypeScript in the Browser: Bundling, Transpilation, and Distribution
- Migration Strategies: Adding Types to Legacy JavaScript Codebases
Chapter 4: Transpilation and Compilation (tsc, SWC, esbuild, Babel)
- What Transpilation Solves: Targeting Environments That Do Not Exist Yet
- TypeScript Compiler (tsc): Capabilities, Limitations, When to Use It
- esbuild: Go-Based Speed and the Bundler/Transpiler Blur
- SWC: Rust-Powered Compilation for Maximum Performance
- Babel’s Evolving Role: Plugins, Presets, and Legacy Support
- Choosing Your Transpiler: A Decision Matrix
Chapter 5: Bundling (Vite, Rollup, esbuild, and the Modern Build Pipeline)
- Why We Bundle: Modules, HTTP, and Browser Constraints
- Vite Deep Dive: Dev Server, Build Mode, Plugins, and Configuration
- Rollup: Library Bundling, Tree Shaking, and the ESM Standard
- esbuild as a Bundler: Speed Versus Flexibility
- Webpack’s Remaining Role: When It Still Makes Sense in 2026
- Bundle Analysis: Measuring Size, Dependencies, and Performance Impact
Chapter 6: Linting, Formatting, and Code Quality (Biome, ESLint, Prettier)
- The Code Quality Stack: Why Formatting and Linting Are Separate Concerns
- Biome: The Rising All-in-One Alternative to ESLint + Prettier
- ESLint in 2026: Flat Config, Plugins, and Continued Dominance
- Prettier: Opinionated Formatting and the End of Style Debates
- Type Checking as Linting: Integrating TypeScript into Your CI
- Designing a Code Quality Pipeline: Fast Local Feedback, Strict CI Gates
Chapter 7: Testing (Vitest, Jest, Playwright, and the Testing Pyramid)
- The Testing Pyramid for JavaScript Applications
- Vitest: Vite-Native Unit Testing with esbuild Speed
- Jest in 2026: Legacy Strengths and When It Still Belongs
- Playwright: Cross-Browser E2E Testing and Component Testing
- Mocking Strategies: Modules, APIs, and External Dependencies
- Test Configuration for Production Workflows: Coverage, CI, and Flaky Tests
Chapter 8: Debugging, Profiling, and Developer Experience
- Source Maps: How They Work and Why They Are Essential
- Debugger Tools: Chrome DevTools, VS Code, and Node.js Debugging
- Profiling Performance: CPU, Memory, and Startup Time Analysis
- Error Tracking in Production: Sentry, LogRocket, and Observability
- Logging Strategies: From console.log to Structured JSON Logs
- DX Optimization: Fast Feedback Loops and Hot Module Replacement
Chapter 9: Building for Distribution (Libraries, CLIs, and npm Publishing)
- Package Design: API Surface, SemVer, and Breaking Changes
- Dual ESM/CommonJS Exports: The export Field Map Strategy
- TypeScript Declaration Files: Publishing Types with Your Library
- CLI Applications: Shebangs, Bin Fields, and Cross-Platform Execution
- Publishing to npm: Tokens, Access Control, and Release Automation
- Versioning Strategies: Changesets, Conventional Commits, and CalVer
Chapter 10: Frontend Development Workflows (Frameworks, SSR, and the Vite Ecosystem)
- Vite as the Universal Frontend Toolchain
- React in 2026: Server Components, Streaming, and Build Integration
- Next.js App Router: SSR, ISR, Edge Functions, and Bundling
- SvelteKit and Astro: Alternative Architectures
- CSS Tooling: Tailwind, PostCSS, and Modern Styling Approaches
- Asset Handling: Images, Fonts, and Content Delivery
Chapter 11: Backend Development (Node.js, Bun, and Server-Side JavaScript)
- Express in 2026: Still Relevant or Time to Move On?
- Fastify, Hono, and Elysia: High-Performance Alternatives
- Database Integration: Prisma, Drizzle, and Type-Safe Queries
- API Design: REST, GraphQL, tRPC, and OpenAPI
- Authentication and Authorization in Modern JavaScript Apps
- WebSockets, Server-Sent Events, and Real-Time Communication
Chapter 12: CI/CD, Containers, and Deployment
- Continuous Integration for JavaScript: GitHub Actions, GitLab CI, and Build Caching
- Dependency Caching Strategies Across CI Providers
- Containerizing Node.js Applications: Multi-Stage Builds and Minimal Images
- Serverless Deployment: Vercel, Netlify, Cloudflare Workers, AWS Lambda
- Deploying to Containers: Docker Compose, Kubernetes, and Orchestration
- Monitoring and Alerting: Health Checks, Metrics, and Uptime
Chapter 13: Security (Dependencies, Runtime, and Supply Chain)
- The Dependency Vulnerability Problem: npm Ecosystem Risks
- Scanning Tools: npm audit, Snyk, Dependabot, and Renovate
- Supply Chain Attacks: Typosquatting, Compromised Packages, and Mitigation
- Hardening Node.js Applications in Production
- Secrets Management: Environment Variables, Vault Integration, and Runtime Safety
- Content Security Policy and Browser-Side Security
Chapter 14: End-to-End Projects (Complete Workflows for Real-World Development)
- Project 1: A Production TypeScript Library with CI, Testing, and Automated Publishing
- Project 2: Full-Stack Vite + Node.js Application with Database Integration
- Project 3: A Monorepo with Turborepo, pnpm Workspaces, Changesets, and Shared Configuration
- Migration Case Study: Moving from Create React App to Vite with Modern Tooling
