diff --git a/packages/ui/package.json b/packages/ui/package.json index a30db52..897043c 100644 --- a/packages/ui/package.json +++ b/packages/ui/package.json @@ -10,26 +10,6 @@ "development": "./src/index.ts", "default": "./dist/index.js" }, - "./foundation": { - "types": "./dist/components/foundation/index.d.ts", - "development": "./src/components/foundation/index.ts", - "default": "./dist/components/foundation/index.js" - }, - "./frames": { - "types": "./dist/components/frames/index.d.ts", - "development": "./src/components/frames/index.ts", - "default": "./dist/components/frames/index.js" - }, - "./operations": { - "types": "./dist/components/operations/index.d.ts", - "development": "./src/components/operations/index.ts", - "default": "./dist/components/operations/index.js" - }, - "./telemetry": { - "types": "./dist/components/telemetry/index.d.ts", - "development": "./src/components/telemetry/index.ts", - "default": "./dist/components/telemetry/index.js" - }, "./styles.css": { "development": "./src/styles.css", "default": "./dist/styles.css" diff --git a/packages/ui/src/components/foundation/index.ts b/packages/ui/src/components/foundation/index.ts deleted file mode 100644 index 36ed868..0000000 --- a/packages/ui/src/components/foundation/index.ts +++ /dev/null @@ -1,8 +0,0 @@ -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 deleted file mode 100644 index 66a48c9..0000000 --- a/packages/ui/src/components/frames/index.ts +++ /dev/null @@ -1,10 +0,0 @@ -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 deleted file mode 100644 index 27ab623..0000000 --- a/packages/ui/src/components/operations/index.ts +++ /dev/null @@ -1,6 +0,0 @@ -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 deleted file mode 100644 index 4ba32fa..0000000 --- a/packages/ui/src/components/telemetry/index.ts +++ /dev/null @@ -1,6 +0,0 @@ -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/index.ts b/packages/ui/src/index.ts index e1fe97e..bc506c0 100644 --- a/packages/ui/src/index.ts +++ b/packages/ui/src/index.ts @@ -1,7 +1,3 @@ -export * from "./components/foundation"; -export * from "./components/frames"; -export * from "./components/operations"; -export * from "./components/telemetry"; export { Badge } from "./components/foundation/Badge"; export { Button } from "./components/foundation/Button"; export { IconGlyph } from "./components/foundation/IconGlyph"; diff --git a/packages/ui/src/storybook.test.ts b/packages/ui/src/storybook.test.ts index 050170b..83f51c7 100644 --- a/packages/ui/src/storybook.test.ts +++ b/packages/ui/src/storybook.test.ts @@ -100,43 +100,6 @@ describe("Storybook inventory", () => { } }); - test("exposes grouped package entrypoints for each component domain", () => { - const packageJson = JSON.parse(readFileSync(join(packageRoot, "package.json"), "utf8")) as { - exports?: Record; - }; - const rootIndexSource = readFileSync(join(packageRoot, "src/index.ts"), "utf8"); - const componentsByDomain = new Map<(typeof allowedComponentDomains)[number], string[]>(); - - for (const domain of allowedComponentDomains) { - componentsByDomain.set(domain, []); - } - - for (const component of componentInventory()) { - componentsByDomain.get(component.domain)?.push(component.name); - } - - for (const domain of allowedComponentDomains) { - const domainIndexPath = join(componentsDir, domain, "index.ts"); - const domainIndexSource = existsSync(domainIndexPath) - ? readFileSync(domainIndexPath, "utf8") - : ""; - - expect(existsSync(domainIndexPath), `${domain} index is missing`).toBe(true); - expect(rootIndexSource).toContain(`export * from "./components/${domain}";`); - expect(packageJson.exports?.[`./${domain}`]).toMatchObject({ - types: `./dist/components/${domain}/index.d.ts`, - development: `./src/components/${domain}/index.ts`, - default: `./dist/components/${domain}/index.js`, - }); - - for (const componentName of componentsByDomain.get(domain) ?? []) { - expect(domainIndexSource).toContain( - `export { ${componentName} } from "./${componentName}";`, - ); - } - } - }); - test("keeps Storybook fixtures generic and content-free", () => { const storyText = readdirSync(storiesDir) .filter((filename) => filename.endsWith(".tsx") || filename.endsWith(".ts")) @@ -211,21 +174,12 @@ function requiredComponentPath(component: string): string { } interface ComponentInventoryItem { - domain: (typeof allowedComponentDomains)[number]; name: string; path: string; relativeExportPath: string; storyFile: string; } -type WorkspacePackageExport = - | string - | { - types?: string; - development?: string; - default?: string; - }; - function componentInventory(): ComponentInventoryItem[] { const components = allowedComponentDomains .flatMap((domain) => collectComponentFiles(join(componentsDir, domain))) @@ -254,17 +208,12 @@ function collectComponentFiles(directory: string): ComponentInventoryItem[] { } const name = basename(entry.name, ".tsx"); - const relativeComponentPath = relative(componentsDir, entryPath).replace(/\\/g, "/"); - const domain = relativeComponentPath.split( - "/", - )[0] as (typeof allowedComponentDomains)[number]; const relativeExportPath = `./${relative(join(packageRoot, "src"), entryPath) .replace(/\\/g, "/") .replace(/\.tsx$/, "")}`; return [ { - domain, name, path: entryPath, relativeExportPath,