import { Bar, BarChart, CartesianGrid, Cell, Pie, PieChart, XAxis, YAxis, } from "recharts"; import { ChartContainer, ChartLegend, ChartLegendContent, ChartTooltip, ChartTooltipContent, } from "@/components/ui/chart"; import { getCLIVersionData, getGitData, getInstallData, getNodeVersionData, getPackageManagerData, } from "./data-utils"; import type { AggregatedAnalyticsData } from "./types"; import { cliVersionConfig, gitConfig, installConfig, nodeVersionConfig, packageManagerConfig, } from "./types"; interface DevEnvironmentChartsProps { data: AggregatedAnalyticsData | null; } export function DevEnvironmentCharts({ data }: DevEnvironmentChartsProps) { const gitData = getGitData(data); const packageManagerData = getPackageManagerData(data); const installData = getInstallData(data); const nodeVersionData = getNodeVersionData(data); const cliVersionData = getCLIVersionData(data); return (
DEV_ENVIRONMENT.CONFIG
GIT_INITIALIZATION.PIE

Git repository initialization rate

} /> `${name} ${(percent * 100).toFixed(0)}%` } > {gitData.map((entry) => ( ))} } />
PACKAGE_MANAGER.BAR

Package manager usage distribution

} /> {packageManagerData.map((entry) => ( ))}
INSTALL_PREFERENCE.PIE

Automatic dependency installation preference

} /> `${name} ${(percent * 100).toFixed(0)}%` } > {installData.map((entry) => ( ))} } />
NODE_VERSIONS.BAR

Node.js version distribution (major versions)

} />
CLI_VERSIONS.BAR

CLI version distribution across project creations

} />
); }