import assert from "node:assert/strict"; import { findTypeOnlyJsxImports } from "../tools/checks/check-jsx-value-imports.mjs"; const findings = (source) => findTypeOnlyJsxImports([{ path: "/fixture.tsx", source }]).map((item) => item.component); assert.deepEqual(findings('import type { FormGrid, AuthInfo } from "@govoplan/core-webui"; const page = ;'), ["FormGrid"]); assert.deepEqual(findings('import { type FormGrid as Layout } from "ui"; const page = Content;'), ["Layout"]); assert.deepEqual(findings('import type Layout from "ui"; const page = ;'), ["Layout"]); assert.deepEqual(findings('import type * as ui from "ui"; const page = ;'), ["ui.Layout"]); assert.deepEqual(findings('import type { FormGrid } from "ui"; const page =
} />;'), ["FormGrid"]); assert.deepEqual(findings('import { FormGrid, type AuthInfo } from "ui"; const page = ;'), []); assert.deepEqual(findings('import type { FormGrid } from "ui"; function Page({ FormGrid }: Props) { return ; }'), []); assert.deepEqual(findings('import type * as ui from "ui"; function Page(ui: RuntimeControls) { return ; }'), []); assert.deepEqual(findings('import type { Layout } from "ui"; const page: Layout = {};'), []); assert.deepEqual(findings('import type { input } from "ui"; const page = ;'), []); console.log("JSX runtime-import AST regression tests passed (10 cases).");