Chapter 3 of 6

The terms, decoded

Every name you hear fits into one of five jobs. This page groups them so you can tell a bundler from a linter at a glance — and understand why each tool exists.

Three pipelines, three owners
VoidZeroThe web, integrated
  1. Vite 8dev server + build
  2. RolldownRust bundler
  3. Oxcparse · transform · minify
  4. oxlintRust linter
  5. React CompilerRust · in progress
VercelThe web, Next.js
  1. Next.js 16framework
  2. TurbopackRust bundler
  3. SWCRust compiler
  4. React Compilerstable · opt-in
  5. eslint-config-nextlint preset
MetaMobile
  1. React Native / Expoframework
  2. Metrobundler
  3. Babeltransform
  4. Hermes V1JS engine
  5. New Architecturesince RN 0.82

VoidZero and Vercel own the web story. Meta owns mobile.

Transform & compile

01 / 05

These tools turn JSX, TypeScript, and modern JS into code the runtime can run.

Babel Transform

The classic JS compiler, written in JavaScript. A plugin system lets each plugin make its own pass over the AST — highly flexible but slow on large codebases. Still the default in React Native via Metro, and in legacy projects. Most web toolchains are actively replacing it with SWC or Oxc.

SWC Transform

A Rust-based compiler by Donny. Next.js replaced Babel with SWC and cut large-project build times roughly in half — typically ~20× faster than Babel on the same code. The tradeoff is a smaller plugin ecosystem, though the most common plugins do have equivalents.

esbuild Transform + Bundle

A Go tool by Evan Wallace. The first to prove native-speed JS tooling was achievable, benchmarking at 10–100× Webpack speed. Vite used esbuild for dev transforms and Rollup for production until Vite 8; since then Rolldown handles both.

Oxc Transform

The Oxidation Compiler, built by Boshen Chen. A Rust toolkit providing the parser, transformer, minifier, and resolver that power Rolldown's internals. A Rust port of React Compiler is in active development to integrate natively into Oxc — making the full Vite/Rolldown/Oxc pipeline native without a separate Babel step.

React Compiler Optimize

A build-time compiler from Meta that analyzes your component code and automatically inserts memoization — what you’d otherwise write by hand with useMemo and useCallback. Stable since October 2025, works on React 17+. A Rust port is in development for native OXC and SWC integration.

Hermes Engine

Meta's JavaScript engine for React Native. It compiles JS to bytecode at build time so the device skips JS parsing on startup, cutting cold-launch time significantly. Default since RN 0.70; Hermes V1 shipped with RN 0.84 as the stable, fully-featured version.

Bundle

02 / 05

These tools combine your many files into packages the browser or device can load.

Webpack Bundle

The dominant bundler from 2014 to ~2022. Its massive plugin ecosystem can handle almost any build requirement, and it's still common in enterprise codebases. The downside: cold builds on large projects routinely take minutes. Most new projects skip it for Vite or Turbopack.

Rollup Bundle

Popularized tree-shaking: removing unused exports by analyzing import chains statically. Still the standard for authoring npm libraries, where small output size matters. Rolldown is its successor for application builds.

Vite Dev server + Build

A dev server and build tool, not just a bundler. The key insight: in development it serves files over native ES modules rather than bundling, so only the changed module reloads on HMR. Since Vite 8, Rolldown handles production builds, replacing the old esbuild/Rollup split.

Rolldown Bundle

A Rust bundler built by VoidZero with a Rollup-compatible plugin API. Default bundler in Vite 8. It does parsing, transformation, and bundling in a single Rust pass rather than chaining separate JS tools — where the 10–30× speed improvement comes from. Uses Oxc internally.

Turbopack Bundle

Vercel's Rust bundler, built on the Turbo Engine incremental computation framework. It only recomputes the modules that changed, keeping dev builds fast in large projects. Stable and default in Next.js 16 for dev and production — designed specifically for the Next.js use case.

Rspack Bundle

A Rust bundler from the ByteDance infrastructure team, built to handle their large monorepo. Has a Webpack-compatible API, so migrating is mostly a package swap — a practical speed upgrade for teams tied to Webpack-specific plugins or config.

Metro Bundle

The bundler for React Native, maintained by Meta. Handles mobile-specific module resolution including platform file extensions (.ios.js, .android.js). Runs on Node on your dev machine and talks to the device over a socket. You don’t use Vite or Webpack in React Native projects.

Parcel Bundle

A zero-config bundler — simpler than Webpack with less to configure. The React team recommends it alongside Vite as a CRA replacement for simple apps. Less commonly chosen for new projects in 2026 than Vite, but still valid.

Lint & format

03 / 05

These tools catch bugs, enforce style, and keep code consistent.

ESLint Lint

The standard JavaScript linter with an unmatched rule and plugin ecosystem: React, accessibility, TypeScript, imports, and hundreds more. Still the default in many stacks. The reason teams move to oxlint is startup and per-file analysis time on large repos — not missing rules.

Prettier Format

Opinionated code formatter with almost no configuration by design, which eliminates style debates. Formats JS, TS, JSX, CSS, HTML, JSON, and more. Often paired with ESLint: Prettier handles formatting, ESLint handles logic and quality.

oxlint Lint

A Rust linter from the Oxc project. 50–100× faster than ESLint because it parallelizes file analysis across CPU cores. Reached stable 1.0 in June 2025 with 500+ ESLint-compatible rules. Many teams run it alongside ESLint: oxlint for fast feedback, ESLint for rules it doesn't yet cover.

Biome Lint + Format

A Rust tool that handles both linting and formatting — a fork of Rome, which shipped two incompatible versions and never reached stable 1.0. 97% compatible with Prettier output. One config file, one CI step, no ESLint/Prettier version conflicts; coverage is good but not as complete as the full ESLint ecosystem.

Type-check

04 / 05

These tools verify your types without changing your code.

TypeScript (tsc) Type-check

The original TypeScript compiler, written in TypeScript. An important distinction: most build tools (SWC, esbuild, Oxc) strip types without checking them, so you still run tsc separately for actual verification. On large projects this is often the slowest step in CI — sometimes longer than the full build.

tsgo Type-check

The native TypeScript compiler, ported to Go by Microsoft. Often 10× faster than tsc because Go's concurrency model maps well to parallel type-checking. Available via @typescript/native-preview. The goal: type-checking fast enough to run on every keystroke. Part of TypeScript 7, currently in beta.

Frameworks

+

Full-stack options that sit on top of the toolchain.

TanStack Start Framework

Full-stack React on Vite and TanStack Router. Offers SSR, streaming, server functions, and API routes. Deploys to any JavaScript host (Cloudflare Workers, Node, Netlify). Uses the same Vite/Rolldown/Oxc pipeline as a plain Vite SPA, so switching is straightforward.

React Router 7 Framework

Full-stack routing framework for React. Remix merged into React Router v7, bringing file-based routing, loaders, actions, and SSR to the router. Vite-based with the same Rolldown/Oxc pipeline as TanStack Start — the more mature option for Remix-style data conventions.

Next.js Framework

Full-stack React framework from Vercel. Uses Turbopack and SWC instead of the Vite/Rolldown pipeline. Turbopack became the stable default in Next.js 16 (October 2025). The most widely deployed React framework in production — and the only major one not on the Vite stack.

Umbrella projects

+

The teams and orgs bundling multiple tools into one pipeline.

VoidZero Ecosystem

The company behind Vite, Rolldown, and Oxc, building an integrated native JS toolchain. Evan You (creator of Vite) leads it. The goal: a single end-to-end pipeline covering dev server, bundling, transforms, and linting without switching tools or languages.

Vercel Ecosystem

Behind Next.js, Turbopack, and heavy SWC investment. A parallel ecosystem to VoidZero: SWC compiles, Turbopack bundles, Next.js orchestrates. Most of this work is designed specifically for Next.js rather than as general-purpose tools.

TanStack Ecosystem

Behind TanStack Start, Router, Query, Table, and Form — all Vite-based. The library layer (Query, Router) is framework-agnostic and works with Vue, Solid, and others, but Start is React-specific.

Meta Ecosystem

Behind React, React Compiler, Metro, and Hermes. Owns the mobile toolchain and the auto-memoization compiler. The React Compiler Rust port (draft, in progress) aims to bring native performance to the compiler step and integrate with OXC and SWC.

With the vocabulary in place, the next chapter compares how these tools assemble into real stacks: Vite SPAs, TanStack Start, Next.js, and React Native.