diff --git a/packages/ui/src/components/foundation/index.ts b/packages/ui/src/components/foundation/index.ts index b82cd47..36ed868 100644 --- a/packages/ui/src/components/foundation/index.ts +++ b/packages/ui/src/components/foundation/index.ts @@ -1,8 +1,8 @@ -export * from "./Badge"; -export * from "./Button"; -export * from "./IconButton"; -export * from "./IconGlyph"; -export * from "./ProgressMeter"; -export * from "./Separator"; -export * from "./StatusBadge"; -export * from "./ThemeToggle"; +export { Badge } from "./Badge"; +export { Button } from "./Button"; +export { IconButton } from "./IconButton"; +export { IconGlyph } from "./IconGlyph"; +export { ProgressMeter } from "./ProgressMeter"; +export { Separator } from "./Separator"; +export { StatusBadge } from "./StatusBadge"; +export { ThemeToggle } from "./ThemeToggle"; diff --git a/packages/ui/src/components/frames/index.ts b/packages/ui/src/components/frames/index.ts index 80b093d..66a48c9 100644 --- a/packages/ui/src/components/frames/index.ts +++ b/packages/ui/src/components/frames/index.ts @@ -1,10 +1,10 @@ -export * from "./CornerBracketFrame"; -export * from "./DashboardFrame"; -export * from "./DashboardHeader"; -export * from "./DiagonalStripeField"; -export * from "./FooterCell"; -export * from "./FooterStatusCell"; -export * from "./GridFrame"; -export * from "./ModuleCard"; -export * from "./Panel"; -export * from "./ScanlineField"; +export { CornerBracketFrame } from "./CornerBracketFrame"; +export { DashboardFrame } from "./DashboardFrame"; +export { DashboardHeader } from "./DashboardHeader"; +export { DiagonalStripeField } from "./DiagonalStripeField"; +export { FooterCell } from "./FooterCell"; +export { FooterStatusCell } from "./FooterStatusCell"; +export { GridFrame } from "./GridFrame"; +export { ModuleCard } from "./ModuleCard"; +export { Panel } from "./Panel"; +export { ScanlineField } from "./ScanlineField"; diff --git a/packages/ui/src/components/operations/index.ts b/packages/ui/src/components/operations/index.ts index 127a1e0..27ab623 100644 --- a/packages/ui/src/components/operations/index.ts +++ b/packages/ui/src/components/operations/index.ts @@ -1,6 +1,6 @@ -export * from "./ServiceGroupPanel"; -export * from "./ServicePanel"; -export * from "./ServiceRow"; -export * from "./StatusStrip"; -export * from "./SystemState"; -export * from "./WeatherModule"; +export { ServiceGroupPanel } from "./ServiceGroupPanel"; +export { ServicePanel } from "./ServicePanel"; +export { ServiceRow } from "./ServiceRow"; +export { StatusStrip } from "./StatusStrip"; +export { SystemState } from "./SystemState"; +export { WeatherModule } from "./WeatherModule"; diff --git a/packages/ui/src/components/telemetry/index.ts b/packages/ui/src/components/telemetry/index.ts index a77693e..4ba32fa 100644 --- a/packages/ui/src/components/telemetry/index.ts +++ b/packages/ui/src/components/telemetry/index.ts @@ -1,6 +1,6 @@ -export * from "./LineChart"; -export * from "./SignalTrace"; -export * from "./Sparkline"; -export * from "./TelemetryCard"; -export * from "./TelemetryGrid"; -export * from "./TelemetryStrip"; +export { LineChart } from "./LineChart"; +export { SignalTrace } from "./SignalTrace"; +export { Sparkline } from "./Sparkline"; +export { TelemetryCard } from "./TelemetryCard"; +export { TelemetryGrid } from "./TelemetryGrid"; +export { TelemetryStrip } from "./TelemetryStrip"; diff --git a/packages/ui/src/storybook.test.ts b/packages/ui/src/storybook.test.ts index 9a18ecd..050170b 100644 --- a/packages/ui/src/storybook.test.ts +++ b/packages/ui/src/storybook.test.ts @@ -131,40 +131,12 @@ describe("Storybook inventory", () => { for (const componentName of componentsByDomain.get(domain) ?? []) { expect(domainIndexSource).toContain( - `export * from "./${componentName}";`, + `export { ${componentName} } from "./${componentName}";`, ); } } }); - test("exports component prop interfaces through grouped package entrypoints", () => { - let propInterfaceCount = 0; - - for (const component of componentInventory()) { - const source = readFileSync(component.path, "utf8"); - const propTypeName = `${component.name}Props`; - const propExportPattern = new RegExp( - `export\\s+(interface|type)\\s+${propTypeName}\\b`, - ); - - if (!propExportPattern.test(source)) { - continue; - } - - propInterfaceCount += 1; - const domainIndexSource = readFileSync( - join(componentsDir, component.domain, "index.ts"), - "utf8", - ); - - expect(domainIndexSource).toContain( - `export * from "./${component.name}";`, - ); - } - - expect(propInterfaceCount).toBeGreaterThan(0); - }); - test("keeps Storybook fixtures generic and content-free", () => { const storyText = readdirSync(storiesDir) .filter((filename) => filename.endsWith(".tsx") || filename.endsWith(".ts"))