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

migrate-rtl.test.ts — ui Source File

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

File typescript 2 imports

Entity Profile

Dependency Diagram

graph LR
  07032326_6a4d_3e49_99f9_0497b2781f16["migrate-rtl.test.ts"]
  2b36fbd1_ef95_343f_56c5_56b1411a9c9b["transform-rtl"]
  07032326_6a4d_3e49_99f9_0497b2781f16 --> 2b36fbd1_ef95_343f_56c5_56b1411a9c9b
  c8d55bee_7008_1e1f_317b_8dc47b31b6a8["vitest"]
  07032326_6a4d_3e49_99f9_0497b2781f16 --> c8d55bee_7008_1e1f_317b_8dc47b31b6a8
  style 07032326_6a4d_3e49_99f9_0497b2781f16 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

import { transformDirection } from "@/src/utils/transformers/transform-rtl"
import { describe, expect, it } from "vitest"

describe("migrateRtl", () => {
  describe("transformDirection", () => {
    it("should transform className string literals", async () => {
      const input = `
import * as React from "react"

export function Component() {
  return <div className="ml-2 mr-4 text-left">content</div>
}`

      const result = await transformDirection(input, true)
      expect(result).toContain("ms-2")
      expect(result).toContain("me-4")
      expect(result).toContain("text-start")
    })

    it("should transform cn() function arguments", async () => {
      const input = `
import * as React from "react"

export function Component() {
  return <div className={cn("ml-2 mr-4", true && "pl-2")}>content</div>
}`

      const result = await transformDirection(input, true)
      expect(result).toContain("ms-2")
      expect(result).toContain("me-4")
      expect(result).toContain("ps-2")
    })

    it("should transform cva base classes and variants", async () => {
      const input = `
import { cva } from "class-variance-authority"

const buttonVariants = cva("ml-2 mr-4", {
  variants: {
    size: {
      default: "pl-4 pr-4",
      sm: "pl-2 pr-2",
    },
  },
})`

      const result = await transformDirection(input, true)
      expect(result).toContain("ms-2")
      expect(result).toContain("me-4")
      expect(result).toContain("ps-4")
      expect(result).toContain("pe-4")
      expect(result).toContain("ps-2")
      expect(result).toContain("pe-2")
    })

    it("should not transform when rtl is false", async () => {
      const input = `
import * as React from "react"

export function Component() {
// ... (66 more lines)

Dependencies

  • transform-rtl
  • vitest

Frequently Asked Questions

What does migrate-rtl.test.ts do?
migrate-rtl.test.ts is a source file in the ui codebase, written in typescript.
What does migrate-rtl.test.ts depend on?
migrate-rtl.test.ts imports 2 module(s): transform-rtl, vitest.
Where is migrate-rtl.test.ts in the architecture?
migrate-rtl.test.ts is located at packages/shadcn/src/migrations/migrate-rtl.test.ts (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