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.42s
SvelteKit1.45s
Solid 2.01.60s
SolidStart1.80s
Pracht2.01s
Astro4.14s
TanStack Start5.47s
Nuxt6.07s
Next.js6.49s
Median Cold Build Time
Median Cold Build Time data
FrameworkSeconds
Solid 2.00.59s
Pracht0.69s
Astro0.96s
React Router1.88s
SvelteKit1.96s
TanStack Start2.18s
SolidStart3.25s
Nuxt4.19s
Next.js5.73s
Median Warm Build Time
Median Warm Build Time data
FrameworkSeconds
Solid 2.00.55s
Pracht0.69s
Astro0.92s
React Router1.77s
SvelteKit1.82s
TanStack Start2.06s
Next.js2.44s
SolidStart3.23s
Nuxt4.05s

Methodology: Dev Server Startup.

Median Dev Server Startup Time
Median Dev Server Startup Time data
FrameworkSeconds
Solid 2.00.86s
Pracht0.91s
React Router1.00s
Astro1.52s
SvelteKit1.53s
Next.js1.86s
TanStack Start1.95s
Nuxt2.81s
SolidStart2.82s

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