Home / File/ migrate-icons.test.ts — ui Source File

migrate-icons.test.ts — ui Source File

Architecture documentation for migrate-icons.test.ts, a typescript file in the ui codebase. 3 imports, 0 dependents.

Entity Profile

Dependency Diagram

graph LR
  d0b69d17_39b9_2b7d_1694_86062d052f5e["migrate-icons.test.ts"]
  c417f44a_fbc3_0d59_2fa7_12379c8ead9a["migrate-icons.ts"]
  d0b69d17_39b9_2b7d_1694_86062d052f5e --> c417f44a_fbc3_0d59_2fa7_12379c8ead9a
  e61ab54c_2257_1948_6d37_baaeb3351aac["migrateIconsFile"]
  d0b69d17_39b9_2b7d_1694_86062d052f5e --> e61ab54c_2257_1948_6d37_baaeb3351aac
  c8d55bee_7008_1e1f_317b_8dc47b31b6a8["vitest"]
  d0b69d17_39b9_2b7d_1694_86062d052f5e --> c8d55bee_7008_1e1f_317b_8dc47b31b6a8
  style d0b69d17_39b9_2b7d_1694_86062d052f5e fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

import { describe, expect, it } from "vitest"

import { migrateIconsFile } from "./migrate-icons"

describe("migrateIconsFile", () => {
  it("should replace radix icons with lucide icons", async () => {
    const input = `
      import { CheckIcon, CloseIcon } from "@radix-ui/react-icons"
      import { Something } from "other-package"

      export function Component() {
        return (
          <div>
            <CheckIcon className="w-4 h-4" />
            <CloseIcon />
          </div>
        )
      }`

    expect(
      await migrateIconsFile(input, "radix", "lucide", {
        Check: {
          lucide: "Check",
          radix: "CheckIcon",
        },
        X: {
          lucide: "X",
          radix: "CloseIcon",
        },
      })
    ).toMatchInlineSnapshot(`
      "import { Something } from "other-package"
      import { Check, X } from "lucide-react";

            export function Component() {
              return (
                <div>
                  <Check className="w-4 h-4" />
                  <X />
                </div>
              )
            }"
    `)
  })

  it("should return null if no radix icons are found", async () => {
    const input = `
      import { Something } from "other-package"

      export function Component() {
        return <div>No icons here</div>
      }`

    expect(await migrateIconsFile(input, "lucide", "radix", {}))
      .toMatchInlineSnapshot(`
      "import { Something } from "other-package"

            export function Component() {
              return <div>No icons here</div>
            }"
// ... (99 more lines)

Frequently Asked Questions

What does migrate-icons.test.ts do?
migrate-icons.test.ts is a source file in the ui codebase, written in typescript. It belongs to the FrameworkTooling domain.
What does migrate-icons.test.ts depend on?
migrate-icons.test.ts imports 3 module(s): migrate-icons.ts, migrateIconsFile, vitest.
Where is migrate-icons.test.ts in the architecture?
migrate-icons.test.ts is located at packages/shadcn/src/migrations/migrate-icons.test.ts (domain: FrameworkTooling, directory: packages/shadcn/src/migrations).

Analyze Your Own Codebase

Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.

Try Supermodel Free