import { useState } from "react"; import { FadeIn } from "../home-shared/FadeIn"; import { SectionHeader, SectionSubtext } from "../home-shared/Headings"; import { BenchmarksGraph } from "./PackBenchmarksGraph"; import { PackBenchmarksPicker } from "./PackBenchmarksPicker"; import { PackBenchmarkTabs } from "./PackBenchmarkTabs"; export type BenchmarkNumberOfModules = "1000" | "5000" | "10000" | "30000"; export type BenchmarkCategory = | "cold" | "from_cache" | "file_change" | "code_build" | "build_from_cache"; export interface BenchmarkData { next13: number; next12: number; vite: number; next11: number; } export interface BenchmarkBar { label: string; key: keyof BenchmarkData; turbo?: true; swc?: true; } export const DEFAULT_BARS: BenchmarkBar[] = [ { key: "next13", label: "Next.js 13", turbo: true, }, { key: "next12", label: "Next.js 12", }, { key: "vite", label: "Vite", swc: true, }, { key: "next11", label: "Next.js 11", }, ]; export const HMR_BARS: BenchmarkBar[] = [ { key: "next13", label: "Next.js 13", turbo: true, }, { key: "vite", label: "Vite", swc: true, }, { key: "next12", label: "Next.js 12", }, { key: "next11", label: "Next.js 11", }, ]; export function PackBenchmarks() { const [numberOfModules, setNumberOfModules] = useState("1000"); const [category, setCategory] = useState("cold"); return (
Faster Than Fast Crafted by the creators of Webpack, Turbopack delivers unparalleled performance at scale.
); }