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.
For dependency counts, we start by looking at the dependencies for the meta-framework package directly. For example, how many production, development and overall dependencies does `Nuxt` have? We then look at dependencies for the starter projects specifically. Looking at a project's dependencies is more realistic (like the `starter-*` projects) as meta-frameworks rarely just include the meta-framework package alone. It is also important to look at direct dependencies.Meta-framework Direct Package Counts
Section titled “Meta-framework Direct Package Counts”| Framework | Deps | Dev | Prod | Graph |
|---|---|---|---|---|
| Astro | 80 | 27 | 53 | View |
| Next.js | 229 | 223 | 6 | View |
| Nuxt | 68 | 11 | 57 | View |
| React Router | 51 | 23 | 28 | View |
| SolidStart | 29 | 4 | 25 | View |
| SvelteKit | 24 | 12 | 12 | View |
| TanStack Start | 8 | 0 | 8 | View |
Metaframework Dependencies
| Framework | Dependency count |
|---|---|
| TanStack Start | 8 |
| SvelteKit | 24 |
| SolidStart | 29 |
| React Router | 51 |
| Nuxt | 68 |
| 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 |
| Nuxt | 11 |
| SvelteKit | 12 |
| 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 | 57 |
The chart includes a dotted median reference line calculated from the visible framework values.
Starter Projects
Section titled “Starter Projects”| Framework | Deps Dev / Prod | All Deps | Dup. Deps | node_modules | Dep Install Size | Graph |
|---|---|---|---|---|---|---|
| Astro | 2 / 1 | 387 | 11 | 207.94MB | 186.65MB | View |
| Next.js | 6 / 3 | 421 | 12 | 560.04MB | 506.22MB | View |
| Nuxt | 2 / 3 | 694 | 63 | 208.80MB | 172.24MB | View |
| React Router | 9 / 6 | 269 | 9 | 116.15MB | 111.11MB | View |
| SolidStart | 1 / 6 | 227 | 8 | 124.34MB | 99.61MB | View |
| SvelteKit | 8 / 0 | 158 | 1 | 97.02MB | 99.76MB | View |
| TanStack Start | 11 / 13 | 424 | 14 | 234.76MB | 198.52MB | 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 | 1 |
| SolidStart | 8 |
| React Router | 9 |
| Astro | 11 |
| Next.js | 12 |
| TanStack Start | 14 |
| Nuxt | 63 |
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 | 97.02 MB |
| React Router | 116.15 MB |
| SolidStart | 124.34 MB |
| Astro | 207.94 MB |
| Nuxt | 208.80 MB |
| TanStack Start | 234.76 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 | 3.40s | 1.87s | 4.25s | 0.82s | 0.89s |
| Next.js | 6.06s | 3.30s | 6.84s | 5.39s | 5.57s |
| Nuxt | 4.72s | 2.98s | 5.51s | 3.88s | 3.62s |
| React Router | 1.27s | 1.14s | 1.52s | 1.74s | 1.64s |
| SolidStart | 1.75s | 1.43s | 2.12s | 2.81s | 2.72s |
| SvelteKit | 1.63s | 1.30s | 1.87s | 1.89s | 1.65s |
| TanStack Start | 4.62s | 1.99s | 5.50s | 5.37s | 5.20s |
Avg install time
| Framework | Seconds |
|---|---|
| React Router | 1.27s |
| SvelteKit | 1.63s |
| SolidStart | 1.75s |
| Astro | 3.40s |
| TanStack Start | 4.62s |
| Nuxt | 4.72s |
| Next.js | 6.06s |
The chart includes a dotted median reference line calculated from the visible framework values.
Cold build time
| Framework | Seconds |
|---|---|
| Astro | 0.82s |
| React Router | 1.74s |
| SvelteKit | 1.89s |
| SolidStart | 2.81s |
| Nuxt | 3.88s |
| TanStack Start | 5.37s |
| Next.js | 5.39s |
The chart includes a dotted median reference line calculated from the visible framework values.
Warm build time
| Framework | Seconds |
|---|---|
| Astro | 0.89s |
| React Router | 1.64s |
| SvelteKit | 1.65s |
| SolidStart | 2.72s |
| Nuxt | 3.62s |
| TanStack Start | 5.20s |
| Next.js | 5.57s |
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.39s | 1.28s | 1.52s |
| Next.js | 2.47s | 2.31s | 2.54s |
| Nuxt | 2.40s | 2.36s | 2.47s |
| React Router | 0.80s | 0.77s | 0.82s |
| SolidStart | 2.98s | 2.90s | 3.08s |
| SvelteKit | 1.23s | 1.19s | 1.33s |
| TanStack Start | 3.05s | 2.81s | 3.28s |
Avg dev server startup time
| Framework | Seconds |
|---|---|
| React Router | 0.80s |
| SvelteKit | 1.23s |
| Astro | 1.39s |
| Nuxt | 2.40s |
| Next.js | 2.47s |
| SolidStart | 2.98s |
| TanStack Start | 3.05s |
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 | ~Size | Unnecessary Modules |
|---|---|---|
| Astro | — | — |
| Next.js | 110.0 KB | 302 |
| Nuxt | — | — |
| React Router | — | — |
| SolidStart | — | — |
| SvelteKit | — | — |
| TanStack Start | — | — |
Browser Baseline
Section titled “Browser Baseline”Methodology: Browser Baseline.
| Framework | Baseline | Feature | Year | Features |
|---|---|---|---|---|
| Astro | — | — | — | 0 |
| Next.js | High | — | 2022 | 46 |
| Nuxt | High | — | 2023 | 39 |
| 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.12.0 | — |
| Next.js | v20.9.0 | next |
| Nuxt | v20.19.0 | — |
| 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 |