diff --git a/packages/docs/src/components/DependencyStats.astro b/packages/docs/src/components/DependencyStats.astro
index 2c0eda5..7299524 100644
--- a/packages/docs/src/components/DependencyStats.astro
+++ b/packages/docs/src/components/DependencyStats.astro
@@ -35,6 +35,7 @@ const stats = statsEntries.map((entry) => entry.data)
Framework |
Prod Deps |
Dev Deps |
+ Graph |
@@ -44,37 +45,21 @@ const stats = statsEntries.map((entry) => entry.data)
{framework.name} |
{framework.prodDependencies} |
{framework.devDependencies} |
-
- ))
- }
-
-
-
-
@@ -181,21 +166,6 @@ const stats = statsEntries.map((entry) => entry.data)
margin-bottom: 2em;
}
- .details-section {
- margin-bottom: 2em;
- }
-
- .framework-links {
- list-style: none;
- padding: 0;
- margin: 0;
- }
-
- .framework-links li {
- padding: 8px 0;
- color: #213547;
- }
-
.coming-soon {
color: #6b7280;
font-style: italic;
diff --git a/packages/docs/src/content/config.ts b/packages/docs/src/content/config.ts
index ea386c9..fef75e7 100644
--- a/packages/docs/src/content/config.ts
+++ b/packages/docs/src/content/config.ts
@@ -7,7 +7,7 @@ const statsCollection = defineCollection({
type: z.string(),
prodDependencies: z.number(),
devDependencies: z.number(),
- npmGraphUrl: z.string().url().optional(),
+ package: z.string(),
installTimeMs: z.number(),
coldBuildTimeMs: z.number(),
warmBuildTimeMs: z.number(),
diff --git a/packages/docs/src/content/stats/starter-next-js.json b/packages/docs/src/content/stats/starter-next-js.json
index 4a80cbc..faa61f5 100644
--- a/packages/docs/src/content/stats/starter-next-js.json
+++ b/packages/docs/src/content/stats/starter-next-js.json
@@ -3,10 +3,10 @@
"type": "starter-kit",
"prodDependencies": 3,
"devDependencies": 6,
- "npmGraphUrl": "https://npmgraph.js.org/?q=https://github.com/e18e/framework-tracker/blob/main/packages/starter-next-js/package.json",
- "installTimeMs": 7284,
- "coldBuildTimeMs": 7461,
- "warmBuildTimeMs": 6719,
- "timingMeasuredAt": "2026-01-24T09:33:34Z",
+ "package": "starter-next-js",
+ "installTimeMs": 7307,
+ "coldBuildTimeMs": 8293,
+ "warmBuildTimeMs": 7593,
+ "timingMeasuredAt": "2026-01-22T22:54:52Z",
"runner": "ubuntu-latest"
}
diff --git a/packages/docs/src/content/stats/starter-nuxt.json b/packages/docs/src/content/stats/starter-nuxt.json
index 67e2983..9c0c08e 100644
--- a/packages/docs/src/content/stats/starter-nuxt.json
+++ b/packages/docs/src/content/stats/starter-nuxt.json
@@ -3,10 +3,10 @@
"type": "starter-kit",
"prodDependencies": 3,
"devDependencies": 2,
- "npmGraphUrl": "https://npmgraph.js.org/?q=https://github.com/e18e/framework-tracker/blob/main/packages/starter-nuxt/package.json",
- "installTimeMs": 30422,
- "coldBuildTimeMs": 5884,
- "warmBuildTimeMs": 5707,
- "timingMeasuredAt": "2026-01-24T09:33:34Z",
+ "package": "starter-nuxt",
+ "installTimeMs": 7369,
+ "coldBuildTimeMs": 6721,
+ "warmBuildTimeMs": 6627,
+ "timingMeasuredAt": "2026-01-22T22:54:52Z",
"runner": "ubuntu-latest"
}
diff --git a/packages/docs/src/content/stats/starter-react-router.json b/packages/docs/src/content/stats/starter-react-router.json
index 241deb1..4075fed 100644
--- a/packages/docs/src/content/stats/starter-react-router.json
+++ b/packages/docs/src/content/stats/starter-react-router.json
@@ -3,10 +3,10 @@
"type": "starter-kit",
"prodDependencies": 6,
"devDependencies": 8,
- "npmGraphUrl": "https://npmgraph.js.org/?q=https://github.com/e18e/framework-tracker/blob/main/packages/starter-react-router/package.json",
- "installTimeMs": 2912,
- "coldBuildTimeMs": 2671,
- "warmBuildTimeMs": 2673,
- "timingMeasuredAt": "2026-01-24T09:33:34Z",
+ "package": "starter-react-router",
+ "installTimeMs": 2960,
+ "coldBuildTimeMs": 3017,
+ "warmBuildTimeMs": 3053,
+ "timingMeasuredAt": "2026-01-22T22:54:52Z",
"runner": "ubuntu-latest"
}
diff --git a/packages/docs/src/content/stats/starter-sveltekit.json b/packages/docs/src/content/stats/starter-sveltekit.json
index f821ccb..d91ea5a 100644
--- a/packages/docs/src/content/stats/starter-sveltekit.json
+++ b/packages/docs/src/content/stats/starter-sveltekit.json
@@ -3,10 +3,10 @@
"type": "starter-kit",
"prodDependencies": 0,
"devDependencies": 7,
- "npmGraphUrl": "https://npmgraph.js.org/?q=https://github.com/e18e/framework-tracker/blob/main/packages/starter-sveltekit/package.json",
- "installTimeMs": 2912,
- "coldBuildTimeMs": 3937,
- "warmBuildTimeMs": 3659,
- "timingMeasuredAt": "2026-01-24T09:33:34Z",
+ "package": "starter-sveltekit",
+ "installTimeMs": 2410,
+ "coldBuildTimeMs": 4552,
+ "warmBuildTimeMs": 4230,
+ "timingMeasuredAt": "2026-01-22T22:54:52Z",
"runner": "ubuntu-latest"
}
diff --git a/packages/docs/src/content/stats/starter-tanstack-start-react.json b/packages/docs/src/content/stats/starter-tanstack-start-react.json
index 813dbda..f5510af 100644
--- a/packages/docs/src/content/stats/starter-tanstack-start-react.json
+++ b/packages/docs/src/content/stats/starter-tanstack-start-react.json
@@ -3,10 +3,10 @@
"type": "starter-kit",
"prodDependencies": 13,
"devDependencies": 11,
- "npmGraphUrl": "https://npmgraph.js.org/?q=https://github.com/e18e/framework-tracker/blob/main/packages/starter-tanstack-start-react/package.json",
- "installTimeMs": 4445,
- "coldBuildTimeMs": 8517,
- "warmBuildTimeMs": 8376,
- "timingMeasuredAt": "2026-01-24T09:33:34Z",
+ "package": "starter-tanstack-start-react",
+ "installTimeMs": 4545,
+ "coldBuildTimeMs": 10014,
+ "warmBuildTimeMs": 9559,
+ "timingMeasuredAt": "2026-01-22T22:54:52Z",
"runner": "ubuntu-latest"
}
diff --git a/packages/stats-generator/src/create-stats.ts b/packages/stats-generator/src/create-stats.ts
index 2c3d345..4ca9ee1 100644
--- a/packages/stats-generator/src/create-stats.ts
+++ b/packages/stats-generator/src/create-stats.ts
@@ -26,7 +26,13 @@ async function processFramework(framework: FrameworkConfig) {
const ciStats = (await getCIStats(pkgDir)) ?? {}
- const stats: FrameworkStats = { ...dependencyStats, ...ciStats }
+ const stats: FrameworkStats = {
+ name: displayName,
+ package: pkgDir,
+ type: 'starter-kit',
+ ...dependencyStats,
+ ...ciStats,
+ }
await saveStats(pkgDir, stats)
console.log(`✓ Processed ${displayName} (${pkgDir})`)
diff --git a/packages/stats-generator/src/save-stats.ts b/packages/stats-generator/src/save-stats.ts
index 474a225..893dd03 100644
--- a/packages/stats-generator/src/save-stats.ts
+++ b/packages/stats-generator/src/save-stats.ts
@@ -24,11 +24,12 @@ export async function saveStats(packageName: string, stats: FrameworkStats) {
mergedStats = { ...existingStats, ...stats }
} catch (error) {
if (error instanceof Error && 'code' in error && error.code === 'ENOENT') {
- throw new Error(`Initial stats file does not exist: ${filePath}`)
+ // File doesn't exist yet, will create it with the new stats
+ } else {
+ throw new Error(
+ `Failed to read/parse stats for ${packageName}: ${error instanceof Error ? error.message : String(error)}`,
+ )
}
- throw new Error(
- `Failed to read/parse stats for ${packageName}: ${error instanceof Error ? error.message : String(error)}`,
- )
}
await writeFile(filePath, JSON.stringify(mergedStats, null, 2), 'utf-8')
diff --git a/packages/stats-generator/src/types.ts b/packages/stats-generator/src/types.ts
index b494080..966d73c 100644
--- a/packages/stats-generator/src/types.ts
+++ b/packages/stats-generator/src/types.ts
@@ -19,6 +19,9 @@ export interface CIStats {
}
export interface FrameworkStats extends CIStats {
+ name?: string
+ package?: string
+ type?: string
prodDependencies?: number
devDependencies?: number
}