diff --git a/packages/docs/src/components/FrameworkDependencyCharts.astro b/packages/docs/src/components/CorePackageDependencyCharts.astro similarity index 88% rename from packages/docs/src/components/FrameworkDependencyCharts.astro rename to packages/docs/src/components/CorePackageDependencyCharts.astro index 68f95465..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 73d40ac4..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/DependencyCharts.astro b/packages/docs/src/components/StarterDependencyCharts.astro similarity index 100% rename from packages/docs/src/components/DependencyCharts.astro rename to packages/docs/src/components/StarterDependencyCharts.astro diff --git a/packages/docs/src/components/DependencyStatsTable.astro b/packages/docs/src/components/StarterDependencyStatsTable.astro similarity index 95% rename from packages/docs/src/components/DependencyStatsTable.astro rename to packages/docs/src/components/StarterDependencyStatsTable.astro index b0a17163..6e7a9a77 100644 --- a/packages/docs/src/components/DependencyStatsTable.astro +++ b/packages/docs/src/components/StarterDependencyStatsTable.astro @@ -26,7 +26,7 @@ const depsColumns = [ --- diff --git a/packages/docs/src/components/benchmarks/dependency-counts/Description.mdx b/packages/docs/src/components/benchmarks/dependency-counts/Description.mdx index 802878fb..a821ff73 100644 --- a/packages/docs/src/components/benchmarks/dependency-counts/Description.mdx +++ b/packages/docs/src/components/benchmarks/dependency-counts/Description.mdx @@ -1,4 +1,14 @@ 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 setup + +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 dependencies for the entire `starter-*` project. Their CLI or documentation recommends this setup 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..fc4db70c 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 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`. diff --git a/packages/docs/src/components/benchmarks/dependency-counts/FrameworkDescription.mdx b/packages/docs/src/components/benchmarks/dependency-counts/FrameworkDescription.mdx index 012768fa..6b362951 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`. diff --git a/packages/docs/src/components/benchmarks/dependency-counts/FrameworkResults.astro b/packages/docs/src/components/benchmarks/dependency-counts/FrameworkResults.astro index 930438bf..1189a0da 100644 --- a/packages/docs/src/components/benchmarks/dependency-counts/FrameworkResults.astro +++ b/packages/docs/src/components/benchmarks/dependency-counts/FrameworkResults.astro @@ -1,9 +1,9 @@ --- import { Content as Description } from './FrameworkDescription.mdx' -import FrameworkDependencyStatsTable from '../../FrameworkDependencyStatsTable.astro' -import FrameworkDependencyCharts from '../../FrameworkDependencyCharts.astro' +import CorePackageDependencyStatsTable from '../../CorePackageDependencyStatsTable.astro' +import CorePackageDependencyCharts from '../../CorePackageDependencyCharts.astro' --- - - + + 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 94f3ca43..9e1ee49a 100644 --- a/packages/docs/src/components/setup/DevTimeSetup.mdx +++ b/packages/docs/src/components/setup/DevTimeSetup.mdx @@ -1,4 +1,5 @@ -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. +Dev Time benchmarks use each meta-framework’s `starter-*` package. + +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 f259831f..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 -#### Meta-framework Direct Package Counts +#### Core Package Dependencies -#### Meta-framework Direct 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 85ebfe7c..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- -### Meta-framework Direct Package Counts +### Core Package Dependencies -### Meta-framework Direct 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', },