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.30s
SvelteKit1.53s
Solid 2.01.80s
SolidStart2.13s
Pracht2.15s
Astro4.05s
Nuxt5.60s
TanStack Start5.79s
Next.js6.40s
Median Cold Build Time
Median Cold Build Time data
FrameworkSeconds
Pracht0.65s
Solid 2.00.65s
Astro0.99s
React Router1.67s
SvelteKit1.84s
TanStack Start2.16s
SolidStart3.16s
Nuxt4.18s
Next.js5.63s
Median Warm Build Time
Median Warm Build Time data
FrameworkSeconds
Solid 2.00.61s
Pracht0.64s
Astro0.92s
SvelteKit1.69s
React Router1.69s
TanStack Start1.93s
Next.js2.40s
SolidStart3.01s
Nuxt3.95s

Methodology: Dev Server Startup.

Median Dev Server Startup Time
Median Dev Server Startup Time data
FrameworkSeconds
Solid 2.00.84s
Pracht0.90s
React Router1.10s
SvelteKit1.33s
Astro1.61s
Next.js2.03s
TanStack Start2.33s
Nuxt2.65s
SolidStart3.07s

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