Dev Time Stats
Each starter project follows its framework’s recommended CLI or documented setup. See Default Benchmark Setup for the shared environment, build tools, and adapters, and Project Setups for the starter configuration details.
Dependency Counts
Section titled “Dependency Counts”Methodology: Dependency Counts.
These views separate a framework's core package, the direct packages maintained by its ecosystem, and the complete default starter configuration.Meta-framework Direct Package Counts
Section titled “Meta-framework Direct Package Counts”First, we look at the direct dependency counts of the meta-framework package itself.
| Framework | Deps | Dev | Prod | Graph |
|---|---|---|---|---|
| Astro | 80 | 27 | 53 | View |
| Next.js | 229 | 223 | 6 | View |
| Nuxt | 73 | 14 | 59 | View |
| React Router | 51 | 23 | 28 | View |
| SolidStart | 29 | 4 | 25 | View |
| SvelteKit | 25 | 13 | 12 | View |
| TanStack Start | 8 | 0 | 8 | View |
Metaframework Dependencies
| Framework | Dependency count |
|---|---|
| TanStack Start | 8 |
| SvelteKit | 25 |
| SolidStart | 29 |
| React Router | 51 |
| Nuxt | 73 |
| Astro | 80 |
| Next.js | 229 |
The chart includes a dotted median reference line calculated from the visible framework values.
Metaframework Development Dependencies
| Framework | Dependency count |
|---|---|
| TanStack Start | 0 |
| SolidStart | 4 |
| SvelteKit | 13 |
| Nuxt | 14 |
| React Router | 23 |
| Astro | 27 |
| Next.js | 223 |
The chart includes a dotted median reference line calculated from the visible framework values.
Metaframework Production Dependencies
| Framework | Dependency count |
|---|---|
| Next.js | 6 |
| TanStack Start | 8 |
| SvelteKit | 12 |
| SolidStart | 25 |
| React Router | 28 |
| Astro | 53 |
| Nuxt | 59 |
The chart includes a dotted median reference line calculated from the visible framework values.
Meta-framework Direct Packages
Section titled “Meta-framework Direct Packages”Next, we look at the direct framework-maintained packages that each starter declares. This excludes the starter’s third-party setup packages.
| Framework | Deps Dev / Prod | All Deps | Dup. Deps | Graph |
|---|---|---|---|---|
| Astro | 1 / 1 | 359 | 13 | View |
| Next.js | 1 / 1 | 382 | 11 | View |
| Nuxt | 0 / 1 | 707 | 85 | View |
| React Router | 1 / 3 | 243 | 9 | View |
| SolidStart | 0 / 4 | 211 | 6 | View |
| SvelteKit | 5 / 0 | 159 | 2 | View |
| TanStack Start | 1 / 6 | 249 | 6 | View |
Meta-framework Direct Package Dependencies
| Framework | Dependency count |
|---|---|
| SvelteKit | 159 |
| SolidStart | 211 |
| React Router | 243 |
| TanStack Start | 249 |
| Astro | 359 |
| Next.js | 382 |
| Nuxt | 707 |
The chart includes a dotted median reference line calculated from the visible framework values.
Meta-framework Direct Package Development Dependencies
| Framework | Dependency count |
|---|---|
| Nuxt | 0 |
| SolidStart | 0 |
| Astro | 1 |
| Next.js | 1 |
| React Router | 1 |
| TanStack Start | 1 |
| SvelteKit | 5 |
The chart includes a dotted median reference line calculated from the visible framework values.
Meta-framework Direct Package Production Dependencies
| Framework | Dependency count |
|---|---|
| SvelteKit | 0 |
| Astro | 1 |
| Next.js | 1 |
| Nuxt | 1 |
| React Router | 3 |
| SolidStart | 4 |
| TanStack Start | 6 |
The chart includes a dotted median reference line calculated from the visible framework values.
Meta-framework Direct Package Duplicate Dependencies
| Framework | Dependency count |
|---|---|
| SvelteKit | 2 |
| SolidStart | 6 |
| TanStack Start | 6 |
| React Router | 9 |
| Next.js | 11 |
| Astro | 13 |
| Nuxt | 85 |
The chart includes a dotted median reference line calculated from the visible framework values.
Starter Projects
Section titled “Starter Projects”Finally, we look at the complete dependency footprint of the default starter project, including third-party packages selected by its CLI or documented setup.
| Framework | Deps Dev / Prod | All Deps | Dup. Deps | node_modules | Dep Install Size | Graph |
|---|---|---|---|---|---|---|
| Astro | 2 / 1 | 359 | 13 | 207.63MB | 186.39MB | View |
| Next.js | 6 / 3 | 421 | 12 | 560.04MB | 506.22MB | View |
| Nuxt | 2 / 3 | 707 | 85 | 242.33MB | 205.75MB | View |
| React Router | 9 / 6 | 269 | 9 | 116.27MB | 111.24MB | View |
| SolidStart | 1 / 6 | 227 | 8 | 124.34MB | 99.61MB | View |
| SvelteKit | 8 / 0 | 159 | 2 | 98.15MB | 101.02MB | View |
| TanStack Start | 11 / 13 | 405 | 12 | 214.19MB | 179.55MB | View |
Starter Project Dev Dependencies
| Framework | Dependency count |
|---|---|
| SolidStart | 1 |
| Astro | 2 |
| Nuxt | 2 |
| Next.js | 6 |
| SvelteKit | 8 |
| React Router | 9 |
| TanStack Start | 11 |
The chart includes a dotted median reference line calculated from the visible framework values.
Starter Project Production Dependencies
| Framework | Dependency count |
|---|---|
| SvelteKit | 0 |
| Astro | 1 |
| Next.js | 3 |
| Nuxt | 3 |
| React Router | 6 |
| SolidStart | 6 |
| TanStack Start | 13 |
The chart includes a dotted median reference line calculated from the visible framework values.
Starter Project Duplicate Dependencies
| Framework | Dependency count |
|---|---|
| SvelteKit | 2 |
| SolidStart | 8 |
| React Router | 9 |
| Next.js | 12 |
| TanStack Start | 12 |
| Astro | 13 |
| Nuxt | 85 |
The chart includes a dotted median reference line calculated from the visible framework values.
Node Modules Size
Section titled “Node Modules Size”Methodology: Node Modules Size.
Node modules size
| Framework | Megabytes |
|---|---|
| SvelteKit | 98.15 MB |
| React Router | 116.27 MB |
| SolidStart | 124.34 MB |
| Astro | 207.63 MB |
| TanStack Start | 214.19 MB |
| Nuxt | 242.33 MB |
| Next.js | 560.04 MB |
The chart includes a dotted median reference line calculated from the visible framework values.
Build and Install Times
Section titled “Build and Install Times”Methodology: Build and Install Times.
| Framework | Avg Install | Min Install | Max Install | Avg Cold Build | Avg Warm Build |
|---|---|---|---|---|---|
| Astro | 1.63s | 1.56s | 1.66s | 0.86s | 0.82s |
| Next.js | 3.25s | 3.00s | 3.83s | 5.38s | 5.29s |
| Nuxt | 3.22s | 3.10s | 3.29s | 3.63s | 3.62s |
| React Router | 1.37s | 1.20s | 1.58s | 1.70s | 1.67s |
| SolidStart | 1.45s | 1.43s | 1.47s | 2.99s | 2.93s |
| SvelteKit | 1.65s | 1.51s | 1.94s | 2.29s | 2.32s |
| TanStack Start | 1.82s | 1.76s | 1.89s | 5.48s | 5.47s |
Avg install time
| Framework | Seconds |
|---|---|
| React Router | 1.37s |
| SolidStart | 1.45s |
| Astro | 1.63s |
| SvelteKit | 1.65s |
| TanStack Start | 1.82s |
| Nuxt | 3.22s |
| Next.js | 3.25s |
The chart includes a dotted median reference line calculated from the visible framework values.
Cold build time
| Framework | Seconds |
|---|---|
| Astro | 0.86s |
| React Router | 1.70s |
| SvelteKit | 2.29s |
| SolidStart | 2.99s |
| Nuxt | 3.63s |
| Next.js | 5.38s |
| TanStack Start | 5.48s |
The chart includes a dotted median reference line calculated from the visible framework values.
Warm build time
| Framework | Seconds |
|---|---|
| Astro | 0.82s |
| React Router | 1.67s |
| SvelteKit | 2.32s |
| SolidStart | 2.93s |
| Nuxt | 3.62s |
| Next.js | 5.29s |
| TanStack Start | 5.47s |
The chart includes a dotted median reference line calculated from the visible framework values.
Dev Server Startup
Section titled “Dev Server Startup”Methodology: Dev Server Startup.
| Framework | Avg Start | Min Start | Max Start |
|---|---|---|---|
| Astro | 1.36s | 1.33s | 1.42s |
| Next.js | 2.66s | 2.40s | 2.85s |
| Nuxt | 2.69s | 2.65s | 2.74s |
| React Router | 0.94s | 0.85s | 1.27s |
| SolidStart | 3.04s | 2.89s | 3.35s |
| SvelteKit | 1.23s | 1.18s | 1.31s |
| TanStack Start | 2.91s | 2.78s | 3.21s |
Avg dev server startup time
| Framework | Seconds |
|---|---|
| React Router | 0.94s |
| SvelteKit | 1.23s |
| Astro | 1.36s |
| Next.js | 2.66s |
| Nuxt | 2.69s |
| TanStack Start | 2.91s |
| SolidStart | 3.04s |
The chart includes a dotted median reference line calculated from the visible framework values.
Core-JS Polyfills
Section titled “Core-JS Polyfills”Methodology: Core-JS Polyfills.
| Framework | Core-JS detected | Matching JS files | Modules not needed by target browsers |
|---|---|---|---|
| Astro | No | — | — |
| Next.js | Yes | 110.0 KB | 302 |
| Nuxt | No | — | — |
| React Router | No | — | — |
| SolidStart | No | — | — |
| SvelteKit | No | — | — |
| TanStack Start | No | — | — |
Browser Baseline
Section titled “Browser Baseline”Methodology: Browser Baseline.
| Framework | Baseline | Feature | Year | Features |
|---|---|---|---|---|
| Astro | — | — | — | 0 |
| Next.js | High | — | 2022 | 46 |
| Nuxt | High | — | 2023 | 43 |
| React Router | High | — | 2022 | 40 |
| SolidStart | High | — | 2020 | 30 |
| SvelteKit | High | — | 2020 | 42 |
| TanStack Start | High | — | 2022 | 45 |
Minimum Node Version
Section titled “Minimum Node Version”Methodology: Minimum Node Version.
| Framework | Min Node | Set by |
|---|---|---|
| Astro | v22.19.0 | undici |
| Next.js | v20.9.0 | next |
| Nuxt | v22.20.0 | @napi-rs/lzma-linux-x64-gnu |
| React Router | v20.19.0 | vite |
| SolidStart | v24.0.0 | @solidjs/start, starter-solid-start |
| SvelteKit | v22.20.0 | @napi-rs/lzma-linux-x64-gnu |
| TanStack Start | v22.12.0 | @tanstack/react-start, @tanstack/react-start-client, @tanstack/react-start-server, @tanstack/start-client-core, @tanstack/start-fn-stubs, @tanstack/start-plugin-core, @tanstack/start-server-core, @tanstack/start-storage-context |