From 6453d366c108c58ef075d41029094858176a12a3 Mon Sep 17 00:00:00 2001 From: Alexander Karan <47707063+AlexanderKaran@users.noreply.github.com> Date: Wed, 28 Oct 2026 13:26:35 +0800 Subject: [PATCH 1/3] DevTime Set Up Copy --- packages/docs/src/components/setup/DevTimeSetup.mdx | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/packages/docs/src/components/setup/DevTimeSetup.mdx b/packages/docs/src/components/setup/DevTimeSetup.mdx index 94f3ca43..68c4f341 100644 --- a/packages/docs/src/components/setup/DevTimeSetup.mdx +++ b/packages/docs/src/components/setup/DevTimeSetup.mdx @@ -1,4 +1,8 @@ -Each starter project follows its framework's recommended CLI or documented setup. -See [Default Benchmark Setup](/methodology/#default-benchmark-setup) for the -shared environment, build tools, and adapters, and [Project -Setups](/methodology/#project-setups) for the starter configuration details. +DevTime benchmarks run using each meta-frameworks starter-* package. + +Each starter project is set up using a meta-frameworks CLI using all default or recommended options. If no CLI is available, we follow the official documentation for the recommended setup. + +You can find more details on the [setups in the methodology](http:///methodology/#project-setups). + +For the base setup benchmarks themselves in the DevTime section, see the [default setup](http:///methodology/#default-benchmark-setup) on the methodology page. + From bdf1e3b3ee675e9acb93e1082f3dcea640039b3f Mon Sep 17 00:00:00 2001 From: Alexander Karan <47707063+AlexanderKaran@users.noreply.github.com> Date: Wed, 28 Oct 2026 13:49:04 +0800 Subject: [PATCH 2/3] Wording Update --- .../src/components/DependencyStatsTable.astro | 2 +- .../FirstPartyDependencyCharts.astro | 8 ++++---- .../FirstPartyDependencyStatsTable.astro | 2 +- .../FrameworkDependencyCharts.astro | 6 +++--- .../FrameworkDependencyStatsTable.astro | 2 +- .../dependency-counts/Description.mdx | 19 +++++++++++++++++-- .../FirstPartyDescription.mdx | 3 +-- .../FrameworkDescription.mdx | 3 +-- .../docs/src/content/docs/all-frameworks.mdx | 4 ++-- packages/docs/src/content/docs/dev-time.mdx | 4 ++-- 10 files changed, 33 insertions(+), 20 deletions(-) diff --git a/packages/docs/src/components/DependencyStatsTable.astro b/packages/docs/src/components/DependencyStatsTable.astro index b0a17163..6e7a9a77 100644 --- a/packages/docs/src/components/DependencyStatsTable.astro +++ b/packages/docs/src/components/DependencyStatsTable.astro @@ -26,7 +26,7 @@ const depsColumns = [ --- diff --git a/packages/docs/src/components/FirstPartyDependencyCharts.astro b/packages/docs/src/components/FirstPartyDependencyCharts.astro index 73d40ac4..ed192fb4 100644 --- a/packages/docs/src/components/FirstPartyDependencyCharts.astro +++ b/packages/docs/src/components/FirstPartyDependencyCharts.astro @@ -28,25 +28,25 @@ function getDependencyChartData(metric: DependencyMetric) { --- diff --git a/packages/docs/src/components/FrameworkDependencyCharts.astro b/packages/docs/src/components/FrameworkDependencyCharts.astro index 68f95465..8ec58e8e 100644 --- a/packages/docs/src/components/FrameworkDependencyCharts.astro +++ b/packages/docs/src/components/FrameworkDependencyCharts.astro @@ -25,19 +25,19 @@ function getChartData(metric: DependencyMetric) { --- diff --git a/packages/docs/src/components/benchmarks/dependency-counts/Description.mdx b/packages/docs/src/components/benchmarks/dependency-counts/Description.mdx index 802878fb..18f51cca 100644 --- a/packages/docs/src/components/benchmarks/dependency-counts/Description.mdx +++ b/packages/docs/src/components/benchmarks/dependency-counts/Description.mdx @@ -1,4 +1,19 @@ Methodology: [Dependency Counts](/methodology/#dependency-counts). -These views separate a framework's core package, the direct packages maintained by -its ecosystem, and the complete default starter configuration. +Measuring a meta-framework's dependencies isn't as straightforward as you might think. You could: + +- Measure just the meta-framework package itself +- Maybe a full project set-up + +Both approaches have flaws. Some meta-frameworks need many other packages to work. A full project setup can include more packages than necessary. + +To provide a clearer picture, we run the dependency-count tests three times, starting small and expanding in scope. In this order, we: + +1. Start with the meta-framework package itself, for example, `@sveltejs/kit` +2. We then expand this to the meta-framework and its first party packages. Looking at `@sveltejs/kit` again, this means any package maintained by the meta-framework authors that's needed to run a project, for example, the `svelte` package. +3. Finally we count the deps for the entire `starter-*` project. Their CLI or documentation recommends this set-up by default, so this is the default most people will start with + + + + + diff --git a/packages/docs/src/components/benchmarks/dependency-counts/FirstPartyDescription.mdx b/packages/docs/src/components/benchmarks/dependency-counts/FirstPartyDescription.mdx index e8601618..63c7b78a 100644 --- a/packages/docs/src/components/benchmarks/dependency-counts/FirstPartyDescription.mdx +++ b/packages/docs/src/components/benchmarks/dependency-counts/FirstPartyDescription.mdx @@ -1,2 +1 @@ -Next, we look at the direct framework-maintained packages that each starter -declares. This excludes the starter's third-party setup packages. +Looking a meta-frameworks first party packages. Looking at `@sveltejs/kit` again, this means any package maintained by the meta-framework authors that’s needed to run a project, for example, the `svelte` package. \ No newline at end of file diff --git a/packages/docs/src/components/benchmarks/dependency-counts/FrameworkDescription.mdx b/packages/docs/src/components/benchmarks/dependency-counts/FrameworkDescription.mdx index 012768fa..6fa2eb32 100644 --- a/packages/docs/src/components/benchmarks/dependency-counts/FrameworkDescription.mdx +++ b/packages/docs/src/components/benchmarks/dependency-counts/FrameworkDescription.mdx @@ -1,2 +1 @@ -First, we look at the direct dependency counts of the meta-framework package -itself. +The meta-framework package itself, for example, @sveltejs/kit \ No newline at end of file diff --git a/packages/docs/src/content/docs/all-frameworks.mdx b/packages/docs/src/content/docs/all-frameworks.mdx index f259831f..05ddd8b2 100644 --- a/packages/docs/src/content/docs/all-frameworks.mdx +++ b/packages/docs/src/content/docs/all-frameworks.mdx @@ -41,11 +41,11 @@ import CoreWebVitalsResults from '../../components/benchmarks/core-web-vitals/Re -#### Meta-framework Direct Package Counts +#### Direct Meta-framework Dependency Counts -#### Meta-framework Direct Packages +#### Meta-framework First Party Packages diff --git a/packages/docs/src/content/docs/dev-time.mdx b/packages/docs/src/content/docs/dev-time.mdx index 85ebfe7c..ddd59a03 100644 --- a/packages/docs/src/content/docs/dev-time.mdx +++ b/packages/docs/src/content/docs/dev-time.mdx @@ -25,11 +25,11 @@ import MinimumNodeVersionCompare from '../../components/benchmarks/minimum-node- -### Meta-framework Direct Package Counts +### Direct Meta-framework Dependency Counts -### Meta-framework Direct Packages +### Meta-framework First Party Packages From b697e3626ed30510b39299ca2f076cf5317f6d5d Mon Sep 17 00:00:00 2001 From: Alexander Karan <47707063+AlexanderKaran@users.noreply.github.com> Date: Wed, 28 Oct 2026 13:53:37 +0800 Subject: [PATCH 3/3] Wording and Component Tweaks --- ...arts.astro => CorePackageDependencyCharts.astro} | 6 +++--- ....astro => CorePackageDependencyStatsTable.astro} | 2 +- .../src/components/FirstPartyDependencyCharts.astro | 8 ++++---- ...cyCharts.astro => StarterDependencyCharts.astro} | 0 ...able.astro => StarterDependencyStatsTable.astro} | 0 .../benchmarks/dependency-counts/Description.mdx | 13 ++++--------- .../dependency-counts/FirstPartyDescription.mdx | 2 +- .../dependency-counts/FrameworkDescription.mdx | 2 +- .../dependency-counts/FrameworkResults.astro | 8 ++++---- .../dependency-counts/StarterResults.astro | 8 ++++---- packages/docs/src/components/setup/DevTimeSetup.mdx | 9 +++------ packages/docs/src/content/docs/all-frameworks.mdx | 6 +++--- packages/docs/src/content/docs/dev-time.mdx | 6 +++--- packages/docs/src/content/docs/index.mdx | 10 +++++----- packages/docs/src/content/docs/methodology.md | 5 ++++- packages/docs/src/lib/metrics.ts | 6 +++--- 16 files changed, 43 insertions(+), 48 deletions(-) rename packages/docs/src/components/{FrameworkDependencyCharts.astro => CorePackageDependencyCharts.astro} (87%) rename packages/docs/src/components/{FrameworkDependencyStatsTable.astro => CorePackageDependencyStatsTable.astro} (93%) rename packages/docs/src/components/{DependencyCharts.astro => StarterDependencyCharts.astro} (100%) rename packages/docs/src/components/{DependencyStatsTable.astro => StarterDependencyStatsTable.astro} (100%) diff --git a/packages/docs/src/components/FrameworkDependencyCharts.astro b/packages/docs/src/components/CorePackageDependencyCharts.astro similarity index 87% rename from packages/docs/src/components/FrameworkDependencyCharts.astro rename to packages/docs/src/components/CorePackageDependencyCharts.astro index 8ec58e8e..076e86e1 100644 --- a/packages/docs/src/components/FrameworkDependencyCharts.astro +++ b/packages/docs/src/components/CorePackageDependencyCharts.astro @@ -25,19 +25,19 @@ function getChartData(metric: DependencyMetric) { --- diff --git a/packages/docs/src/components/FirstPartyDependencyCharts.astro b/packages/docs/src/components/FirstPartyDependencyCharts.astro index ed192fb4..4a4bd69c 100644 --- a/packages/docs/src/components/FirstPartyDependencyCharts.astro +++ b/packages/docs/src/components/FirstPartyDependencyCharts.astro @@ -28,25 +28,25 @@ function getDependencyChartData(metric: DependencyMetric) { --- - - + + diff --git a/packages/docs/src/components/benchmarks/dependency-counts/StarterResults.astro b/packages/docs/src/components/benchmarks/dependency-counts/StarterResults.astro index 66eb023c..1ba62260 100644 --- a/packages/docs/src/components/benchmarks/dependency-counts/StarterResults.astro +++ b/packages/docs/src/components/benchmarks/dependency-counts/StarterResults.astro @@ -1,9 +1,9 @@ --- import { Content as Description } from './StarterDescription.mdx' -import DependencyStatsTable from '../../DependencyStatsTable.astro' -import DependencyCharts from '../../DependencyCharts.astro' +import StarterDependencyStatsTable from '../../StarterDependencyStatsTable.astro' +import StarterDependencyCharts from '../../StarterDependencyCharts.astro' --- - - + + diff --git a/packages/docs/src/components/setup/DevTimeSetup.mdx b/packages/docs/src/components/setup/DevTimeSetup.mdx index 68c4f341..9e1ee49a 100644 --- a/packages/docs/src/components/setup/DevTimeSetup.mdx +++ b/packages/docs/src/components/setup/DevTimeSetup.mdx @@ -1,8 +1,5 @@ -DevTime benchmarks run using each meta-frameworks starter-* package. +Dev Time benchmarks use each meta-framework’s `starter-*` package. -Each starter project is set up using a meta-frameworks CLI using all default or recommended options. If no CLI is available, we follow the official documentation for the recommended setup. - -You can find more details on the [setups in the methodology](http:///methodology/#project-setups). - -For the base setup benchmarks themselves in the DevTime section, see the [default setup](http:///methodology/#default-benchmark-setup) on the methodology page. +Each starter follows its framework’s CLI or documented setup, with the selected options and adjustments recorded in the [methodology](/methodology/#project-setups). +See [Default Benchmark Setup](/methodology/#default-benchmark-setup) for the shared benchmark environment. diff --git a/packages/docs/src/content/docs/all-frameworks.mdx b/packages/docs/src/content/docs/all-frameworks.mdx index 05ddd8b2..d12119f9 100644 --- a/packages/docs/src/content/docs/all-frameworks.mdx +++ b/packages/docs/src/content/docs/all-frameworks.mdx @@ -41,15 +41,15 @@ import CoreWebVitalsResults from '../../components/benchmarks/core-web-vitals/Re -#### Direct Meta-framework Dependency Counts +#### Core Package Dependencies -#### Meta-framework First Party Packages +#### First-Party Package Dependencies -#### Starter Projects +#### Starter Project Dependencies diff --git a/packages/docs/src/content/docs/dev-time.mdx b/packages/docs/src/content/docs/dev-time.mdx index ddd59a03..838a7b29 100644 --- a/packages/docs/src/content/docs/dev-time.mdx +++ b/packages/docs/src/content/docs/dev-time.mdx @@ -25,15 +25,15 @@ import MinimumNodeVersionCompare from '../../components/benchmarks/minimum-node- -### Direct Meta-framework Dependency Counts +### Core Package Dependencies -### Meta-framework First Party Packages +### First-Party Package Dependencies -### Starter Projects +### Starter Project Dependencies diff --git a/packages/docs/src/content/docs/index.mdx b/packages/docs/src/content/docs/index.mdx index c2e809e2..3994f301 100644 --- a/packages/docs/src/content/docs/index.mdx +++ b/packages/docs/src/content/docs/index.mdx @@ -15,11 +15,11 @@ If you find an issue with a test or have an idea for new ones, please open an is ## What we measure and how -We currently split our tests into two sections: Dev Time and Run Time. Dev Time tests use a starter project set up with the Metaframeworks CLI or Docs, following the default or recommended setup. Runtime tests use a small app project set up for the measurements. We currently measure: +We currently split our tests into two sections: Dev Time and Run Time. Dev Time tests use a starter project set up with the meta-framework’s CLI or documentation, following the default or recommended setup. Runtime tests use a small app project set up for the measurements. We currently measure: -### DevTime +### Dev Time -- Dependancy counts +- Dependency counts - Node Modules Size - Build and Install Times - Dev Server Startup @@ -27,7 +27,7 @@ We currently split our tests into two sections: Dev Time and Run Time. Dev Time - Browser Baseline - Minimum Node Version -### RunTime +### Run Time - Lighthouse Client-Side Rendered - Lighthouse Server-Side Rendered @@ -64,6 +64,6 @@ We measure the following frameworks using the versions listed below. ## Additional frameworks -We also track the frameworks below. Their results appear on the All Tests page, but are excluded from the DevTime and RunTime stats. +We also track the frameworks below. Their results appear on the All Tests page, but are excluded from the Dev Time and Run Time stats. diff --git a/packages/docs/src/content/docs/methodology.md b/packages/docs/src/content/docs/methodology.md index f008127f..6d57edbe 100644 --- a/packages/docs/src/content/docs/methodology.md +++ b/packages/docs/src/content/docs/methodology.md @@ -220,10 +220,13 @@ Installed using the CLI with the following setup: ### Dependency Counts +- The core package view counts the direct production and development dependencies + declared by the meta-framework package itself. + - The starter project view counts every direct production and development dependency in the starter's `package.json`, then reports its resolved graph, duplicates, and install size. -- The meta-framework direct packages view uses the starter's +- The first-party package view uses the starter's `first-party-dependencies.json`. It keeps only the direct packages maintained by the framework's ecosystem, preserving their production/development section and version from the starter's `package.json`. Its resolved graph and duplicate diff --git a/packages/docs/src/lib/metrics.ts b/packages/docs/src/lib/metrics.ts index 371296b8..93ab00ca 100644 --- a/packages/docs/src/lib/metrics.ts +++ b/packages/docs/src/lib/metrics.ts @@ -10,19 +10,19 @@ export const metricCatalogue = { }, 'frameworkDependencies.prodDependencies': { id: 'frameworkDependencies.prodDependencies', - title: 'Metaframework \u00b7 Production Dependencies', + title: 'Core Package \u00b7 Production Dependencies', valueFormat: 'count', yAxisLabel: 'Dependencies', }, 'frameworkDependencies.devDependencies': { id: 'frameworkDependencies.devDependencies', - title: 'Metaframework \u00b7 Development Dependencies', + title: 'Core Package \u00b7 Development Dependencies', valueFormat: 'count', yAxisLabel: 'Dependencies', }, 'frameworkDependencies.allDependencies': { id: 'frameworkDependencies.allDependencies', - title: 'Metaframework \u00b7 All Dependencies', + title: 'Core Package \u00b7 All Dependencies', valueFormat: 'count', yAxisLabel: 'Dependencies', },