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
React Router1.27s
SvelteKit1.40s
Solid 2.01.82s
Pracht1.93s
SolidStart2.12s
Astro3.98s
Nuxt5.03s
TanStack Start5.70s
Next.js6.44s
Median Cold Build Time
Median Cold Build Time data
FrameworkSeconds
Solid 2.00.60s
Pracht0.71s
Astro0.92s
SvelteKit1.63s
React Router1.70s
TanStack Start2.01s
SolidStart2.97s
Nuxt3.80s
Next.js5.16s
Median Warm Build Time
Median Warm Build Time data
FrameworkSeconds
Solid 2.00.56s
Pracht0.72s
Astro0.89s
SvelteKit1.47s
React Router1.66s
TanStack Start1.78s
Next.js2.19s
SolidStart2.88s
Nuxt3.60s

Methodology: Dev Server Startup.

Median Dev Server Startup Time
Median Dev Server Startup Time data
FrameworkSeconds
Solid 2.00.83s
Pracht0.89s
React Router0.96s
SvelteKit1.26s
Astro1.28s
TanStack Start1.97s
Next.js2.30s
Nuxt2.53s
SolidStart2.62s

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