diff --git a/.github/frameworks.json b/.github/frameworks.json index 5958821..1128247 100644 --- a/.github/frameworks.json +++ b/.github/frameworks.json @@ -4,6 +4,7 @@ "displayName": "Next.js", "package": "starter-next-js", "buildScript": "build:next", + "buildOutputDir": ".next", "measurements": ["install", "build", "dependencies"] }, { @@ -11,6 +12,7 @@ "displayName": "React Router", "package": "starter-react-router", "buildScript": "build:react-router", + "buildOutputDir": "build", "measurements": ["install", "build", "dependencies"] }, { @@ -18,6 +20,7 @@ "displayName": "TanStack Start", "package": "starter-tanstack-start-react", "buildScript": "build:tanstack", + "buildOutputDir": ".output", "measurements": ["install", "build", "dependencies"] }, { @@ -25,6 +28,7 @@ "displayName": "Nuxt", "package": "starter-nuxt", "buildScript": "build:nuxt", + "buildOutputDir": ".output", "measurements": ["install", "build", "dependencies"] }, { @@ -32,6 +36,7 @@ "displayName": "SvelteKit", "package": "starter-sveltekit", "buildScript": "build:sveltekit", + "buildOutputDir": "build", "measurements": ["install", "build", "dependencies"] }, { @@ -39,6 +44,7 @@ "displayName": "Astro", "package": "starter-astro", "buildScript": "build:astro", + "buildOutputDir": "dist", "measurements": ["install", "build", "dependencies"] }, { @@ -46,6 +52,7 @@ "displayName": "SolidStart", "package": "starter-solid-start", "buildScript": "build:solid-start", + "buildOutputDir": ".output", "measurements": ["install", "build", "dependencies"] } ] diff --git a/.github/workflows/generate-stats.yml b/.github/workflows/generate-stats.yml index 8d584ea..fb237ae 100644 --- a/.github/workflows/generate-stats.yml +++ b/.github/workflows/generate-stats.yml @@ -120,8 +120,11 @@ jobs: END=$(date +%s%N) WARM=$((($END - $START) / 1000000)) - echo "${{ matrix.framework.displayName }} - Cold: ${COLD}ms, Warm: ${WARM}ms" - echo "{\"cold\": $COLD, \"warm\": $WARM}" > build-time.json + # Calculate build output size + BUILD_OUTPUT_SIZE=$(du -sb ${{ matrix.framework.buildOutputDir }} | cut -f1) + + echo "${{ matrix.framework.displayName }} - Cold: ${COLD}ms, Warm: ${WARM}ms, Build Output: ${BUILD_OUTPUT_SIZE} bytes" + echo "{\"cold\": $COLD, \"warm\": $WARM, \"buildOutputSize\": $BUILD_OUTPUT_SIZE}" > build-time.json - name: Upload build time result uses: actions/upload-artifact@v4 @@ -178,7 +181,7 @@ jobs: BUILD_FILE="artifacts/build-time-$NAME/build-time.json" if [[ -f "$BUILD_FILE" ]]; then - STATS=$(echo "$STATS" | jq --slurpfile build "$BUILD_FILE" '. + {coldBuildTimeMs: $build[0].cold, warmBuildTimeMs: $build[0].warm}') + STATS=$(echo "$STATS" | jq --slurpfile build "$BUILD_FILE" '. + {coldBuildTimeMs: $build[0].cold, warmBuildTimeMs: $build[0].warm, buildOutputSize: $build[0].buildOutputSize}') fi echo "$DISPLAY_NAME stats: $STATS" diff --git a/.gitignore b/.gitignore index 68ff45c..e9abc58 100644 --- a/.gitignore +++ b/.gitignore @@ -65,6 +65,9 @@ Thumbs.db coverage/ .nyc_output/ +# CI artifacts +/artifacts + # Misc *.tmp *.temp diff --git a/artifacts/install-time-next/install-time.txt b/artifacts/install-time-next/install-time.txt deleted file mode 100644 index add4431..0000000 --- a/artifacts/install-time-next/install-time.txt +++ /dev/null @@ -1 +0,0 @@ -6814 diff --git a/artifacts/install-time-nuxt/install-time.txt b/artifacts/install-time-nuxt/install-time.txt deleted file mode 100644 index b172970..0000000 --- a/artifacts/install-time-nuxt/install-time.txt +++ /dev/null @@ -1 +0,0 @@ -8061 diff --git a/artifacts/install-time-react-router/install-time.txt b/artifacts/install-time-react-router/install-time.txt deleted file mode 100644 index 91931d1..0000000 --- a/artifacts/install-time-react-router/install-time.txt +++ /dev/null @@ -1 +0,0 @@ -3031 diff --git a/artifacts/install-time-sveltekit/install-time.txt b/artifacts/install-time-sveltekit/install-time.txt deleted file mode 100644 index 8ee7f93..0000000 --- a/artifacts/install-time-sveltekit/install-time.txt +++ /dev/null @@ -1 +0,0 @@ -2606 diff --git a/artifacts/install-time-tanstack/install-time.txt b/artifacts/install-time-tanstack/install-time.txt deleted file mode 100644 index bed8263..0000000 --- a/artifacts/install-time-tanstack/install-time.txt +++ /dev/null @@ -1 +0,0 @@ -4255 diff --git a/packages/docs/src/components/DependencyStats.astro b/packages/docs/src/components/DependencyStats.astro index 495070f..37d5300 100644 --- a/packages/docs/src/components/DependencyStats.astro +++ b/packages/docs/src/components/DependencyStats.astro @@ -30,14 +30,15 @@ function formatBytesToMB(bytes: number): string {
- All stats are taken from the basic starter kits each meta-framework - provides based on their current docs. + Stats are currently in active development and may change as we refine + our methodology and testing process.
- Measured using pnpm on GitHub Actions (ubuntu-latest, Node 24). + Measured using pnpm on GitHub Actions (ubuntu-latest, Node 24) based on + the starter project set up by each frameworks CLI.