Skip to content

Commit 2611ddc

Browse files
committed
fix: build issues
1 parent 5c842a4 commit 2611ddc

File tree

4 files changed

+28
-14
lines changed

4 files changed

+28
-14
lines changed

app/src/components/leaderboard.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -69,10 +69,10 @@ export const Leaderboard = ({ chartData }: LeaderboardProps) => {
6969
</div>
7070

7171
{/* Package manager logo - right aligned for balance */}
72-
{getPackageManagerLogo(item.packageManager, theme) && (
72+
{getPackageManagerLogo(item.packageManager, theme === 'system' ? 'light' : theme) && (
7373
<div className="flex-shrink-0">
7474
<img
75-
src={getPackageManagerLogo(item.packageManager, theme)}
75+
src={getPackageManagerLogo(item.packageManager, theme === 'system' ? 'light' : theme)}
7676
alt={`${item.packageManager} logo`}
7777
className={cn(
7878
"w-6 h-6",

app/src/components/variation/chart.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -423,7 +423,7 @@ export const VariationChart = ({
423423
<CartesianGrid strokeDasharray="3 3" />
424424
<XAxis
425425
dataKey="name"
426-
tick={<CustomXAxisTick />}
426+
tick={<CustomXAxisTick x={0} y={0} payload={{ value: "" }} />}
427427
height={70}
428428
interval={0}
429429
/>

app/src/contexts/package-manager-filter-context.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { createContext, useContext, useState, ReactNode } from "react";
1+
import { createContext, useContext, useState, type ReactNode } from "react";
22
import type { PackageManager } from "@/types/chart-data";
33

44
interface PackageManagerFilterContextType {

app/src/lib/utils.ts

Lines changed: 24 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import { clsx, type ClassValue } from "clsx"
22
import { twMerge } from "tailwind-merge"
3-
import type { Variation, Fixture, PackageManager, PackageManagerVersions, BenchmarkChartData, FixtureResult } from "@/types/chart-data"
3+
import type { Variation, Fixture, PackageManager, PackageManagerVersions, BenchmarkChartData, FixtureResult, PackageCountData } from "@/types/chart-data"
44

55
interface VariationCategory {
66
title: string;
@@ -14,7 +14,7 @@ export const isTaskExecutionVariation = (variation: string): boolean => {
1414
};
1515

1616
export const getVariationCategories = (variations: Variation[]): VariationCategory[] => {
17-
const packageManagementVariations: Variation[] = [
17+
const packageManagementVariations = [
1818
"clean",
1919
"node_modules",
2020
"cache",
@@ -23,11 +23,11 @@ export const getVariationCategories = (variations: Variation[]): VariationCatego
2323
"cache+lockfile+node_modules",
2424
"lockfile",
2525
"lockfile+node_modules"
26-
].filter(v => variations.includes(v as Variation));
26+
].filter(v => variations.includes(v as Variation)) as Variation[];
2727

28-
const taskExecutionVariations: Variation[] = [
28+
const taskExecutionVariations = [
2929
"run"
30-
].filter(v => variations.includes(v as Variation));
30+
].filter(v => variations.includes(v as Variation)) as Variation[];
3131

3232
const categories: VariationCategory[] = [];
3333

@@ -89,8 +89,11 @@ export const calculateLeaderboard = (chartData: BenchmarkChartData): RankingData
8989
if (typeof time === 'number' && time > 0) {
9090
times.push({ pm, time });
9191
// Add to total time and count
92-
packageManagerStats[pm].totalTime += time;
93-
packageManagerStats[pm].testCount++;
92+
const stats = packageManagerStats[pm];
93+
if (stats) {
94+
stats.totalTime += time;
95+
stats.testCount++;
96+
}
9497
}
9598
});
9699

@@ -99,14 +102,25 @@ export const calculateLeaderboard = (chartData: BenchmarkChartData): RankingData
99102

100103
// Award win to fastest
101104
if (times.length > 0) {
102-
packageManagerStats[times[0].pm].wins++;
105+
const winnerStats = packageManagerStats[times[0].pm];
106+
if (winnerStats) {
107+
winnerStats.wins++;
108+
}
103109
}
104110
});
105111
});
106112

107113
// Calculate final rankings based on average performance
108114
const leaderboard: RankingData[] = availablePackageManagers.map(pm => {
109115
const stats = packageManagerStats[pm];
116+
if (!stats) {
117+
return {
118+
packageManager: pm,
119+
wins: 0,
120+
averageTime: Number.MAX_SAFE_INTEGER,
121+
totalTests: 0
122+
};
123+
}
110124
const averageTime = stats.testCount > 0 ? stats.totalTime / stats.testCount : Number.MAX_SAFE_INTEGER;
111125

112126
return {
@@ -354,15 +368,15 @@ export const getAvailablePackageManagers = (
354368
};
355369

356370
export const getAvailablePackageManagersFromPackageCount = (
357-
packageCountData: Array<{ packageCounts?: Record<string, { count: number }> }>,
371+
packageCountData: Array<{ packageCounts?: PackageCountData }>,
358372
allPackageManagers: PackageManager[]
359373
): PackageManager[] => {
360374
const availablePackageManagers = new Set<PackageManager>();
361375

362376
packageCountData.forEach(item => {
363377
if (item.packageCounts) {
364378
allPackageManagers.forEach(pm => {
365-
const entry = item.packageCounts[pm];
379+
const entry = item.packageCounts?.[pm as keyof PackageCountData];
366380
// Check if the package manager has valid data (entry exists and has count > 0)
367381
if (entry && typeof entry === 'object' && entry.count && entry.count > 0) {
368382
availablePackageManagers.add(pm);

0 commit comments

Comments
 (0)