Skip to content

Dev Time Stats

Dev Time benchmarks use starter projects; see the Dev Time methodology for setup details.

We count dependencies in three passes, starting with the framework package, then its first-party packages, and finally the default starter project from the framework’s CLI or documentation.

The meta-framework package itself, for example, @sveltejs/kit.

Core Package Dependencies
  • Production
  • Development
Core Package Dependencies data
FrameworkProductionDevelopment
Astro5225
Next.js60
Nuxt6613
Pracht32
React Router2324
SolidStart245
Solid 2.040
SvelteKit815
TanStack Start914

Looking at a meta-framework’s first-party packages. For @sveltejs/kit, this means packages maintained by the meta-framework authors that are needed to run a project, for example, svelte.

First-Party Dependencies
  • Production
  • Development
First-Party Dependencies data
FrameworkProductionDevelopment
Astro11
Next.js11
Nuxt10
Pracht22
React Router31
SolidStart40
Solid 2.044
SvelteKit05
TanStack Start71
First-Party Duplicate Dependencies
First-Party Duplicate Dependencies data
FrameworkDependency count
SvelteKit1
TanStack Start3
Pracht4
React Router5
SolidStart6
Solid 2.09
Next.js12
Astro14
Nuxt76

Finally, we look at the complete dependency footprint of the default starter project, including third-party packages selected by its CLI or documented setup.

Starter Dependencies
  • Production
  • Development
Starter Dependencies data
FrameworkProductionDevelopment
Astro12
Next.js36
Nuxt33
Pracht26
React Router69
SolidStart61
Solid 2.0411
SvelteKit08
TanStack Start1412
Starter Project · Duplicate Dependencies
Starter Project · Duplicate Dependencies data
FrameworkDuplicates
SvelteKit1
Pracht4
React Router5
Solid 2.09
Next.js12
Astro14
SolidStart23
TanStack Start37
Nuxt76

Methodology: Node Modules Size.

Node Modules Size
Node Modules Size data
FrameworkMB
SvelteKit88.32 MB
React Router109.34 MB
Pracht132.55 MB
SolidStart149.16 MB
Solid 2.0149.94 MB
Astro204.21 MB
Nuxt246.12 MB
TanStack Start274.09 MB
Next.js463.42 MB

Methodology: Build and Install Times.

Median Install Time
Median Install Time data
FrameworkSeconds
SvelteKit1.41s
React Router1.66s
Solid 2.01.68s
Pracht2.02s
SolidStart2.05s
Astro3.78s
Nuxt5.67s
TanStack Start5.78s
Next.js5.94s
Median Cold Build Time
Median Cold Build Time data
FrameworkSeconds
Solid 2.00.63s
Pracht0.70s
Astro0.96s
React Router1.73s
SvelteKit1.85s
TanStack Start2.04s
SolidStart3.03s
Nuxt3.82s
Next.js5.57s
Median Warm Build Time
Median Warm Build Time data
FrameworkSeconds
Solid 2.00.57s
Pracht0.72s
Astro0.94s
SvelteKit1.66s
React Router1.75s
TanStack Start1.85s
Next.js2.34s
SolidStart2.88s
Nuxt3.80s

Methodology: Dev Server Startup.

Median Dev Server Startup Time
Median Dev Server Startup Time data
FrameworkSeconds
Solid 2.00.89s
Pracht0.91s
React Router0.95s
SvelteKit1.29s
Astro1.44s
TanStack Start1.90s
Next.js1.92s
Nuxt2.64s
SolidStart2.79s

Methodology: Core-JS Polyfills.

FrameworkCore-JS detectedMatching JS filesModules not needed by target browsers
AstroNo——
Next.jsYes110.0 KB302
NuxtNo——
PrachtNo——
React RouterNo——
SolidStartNo——
Solid 2.0No——
SvelteKitNo——
TanStack StartNo——

Methodology: Browser Baseline.

FrameworkBaselineFeatureYearFeatures
Astro———0
Next.jsHigh—202247
NuxtHigh—202342
PrachtHigh—202037
React RouterHigh—202244
SolidStartHigh—202031
Solid 2.0High—202035
SvelteKitHigh—202147
TanStack StartHigh—202248

Methodology: Minimum Node Version.

FrameworkMin NodeSet by
Astrov22.23.4@astrojs/prism, @astrojs/telemetry, astro
Next.jsv20.19.0eslint-visitor-keys
Nuxtv22.22.3@nuxt/nitro-server, @nuxt/vite-builder, @nuxt/vite-server, cssnano, nuxt, postcss-calc
Prachtv22.18.0@pracht/adapter-node, @pracht/capabilities, @pracht/cli, @pracht/core, @pracht/preact-ssr-precompile, @pracht/vite-plugin
React Routerv22.22.0@react-router/dev, @react-router/express, @react-router/node, @react-router/serve, react-router
SolidStartv24.0.0@solidjs/start, starter-solid-start
Solid 2.0v22.13.0@napi-rs/wasm-runtime
SvelteKitv22.17.0@sveltejs/kit
TanStack Startv22.22.2@asamuzakjp/css-color, @asamuzakjp/dom-selector, jsdom, w3c-xmlserializer