Home / File/ create-project.test.ts — ui Source File

create-project.test.ts — ui Source File

Architecture documentation for create-project.test.ts, a typescript file in the ui codebase. 8 imports, 0 dependents.

Entity Profile

Dependency Diagram

graph LR
  74dfec7c_a4d0_7cc3_4208_e3ebff9fa685["create-project.test.ts"]
  f570a109_148e_1b68_ffd0_6e7f2f8ca03d["create-project.ts"]
  74dfec7c_a4d0_7cc3_4208_e3ebff9fa685 --> f570a109_148e_1b68_ffd0_6e7f2f8ca03d
  ee4c31b0_cc12_35da_90d1_168cb9e6c7f0["createProject"]
  74dfec7c_a4d0_7cc3_4208_e3ebff9fa685 --> ee4c31b0_cc12_35da_90d1_168cb9e6c7f0
  8b63e39d_c91e_6de3_796b_cdd80586252f["fetcher"]
  74dfec7c_a4d0_7cc3_4208_e3ebff9fa685 --> 8b63e39d_c91e_6de3_796b_cdd80586252f
  a3e9bc4e_1faf_6261_a1db_396981c7761d["spinner"]
  74dfec7c_a4d0_7cc3_4208_e3ebff9fa685 --> a3e9bc4e_1faf_6261_a1db_396981c7761d
  8fa2a696_bed4_6bec_383f_7df160ded516["execa"]
  74dfec7c_a4d0_7cc3_4208_e3ebff9fa685 --> 8fa2a696_bed4_6bec_383f_7df160ded516
  f9f5e551_eb59_1a6b_8bf2_b97e73eb13de["fs-extra"]
  74dfec7c_a4d0_7cc3_4208_e3ebff9fa685 --> f9f5e551_eb59_1a6b_8bf2_b97e73eb13de
  e68f2c02_595f_e9c2_5917_7a8d47bcfc87["prompts"]
  74dfec7c_a4d0_7cc3_4208_e3ebff9fa685 --> e68f2c02_595f_e9c2_5917_7a8d47bcfc87
  c8d55bee_7008_1e1f_317b_8dc47b31b6a8["vitest"]
  74dfec7c_a4d0_7cc3_4208_e3ebff9fa685 --> c8d55bee_7008_1e1f_317b_8dc47b31b6a8
  style 74dfec7c_a4d0_7cc3_4208_e3ebff9fa685 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

import { fetchRegistry } from "@/src/registry/fetcher"
import { spinner } from "@/src/utils/spinner"
import { execa } from "execa"
import fs from "fs-extra"
import prompts from "prompts"
import {
  afterEach,
  beforeEach,
  describe,
  expect,
  it,
  vi,
  type MockInstance,
} from "vitest"

import { TEMPLATES, createProject } from "./create-project"

// Mock dependencies
vi.mock("fs-extra")
vi.mock("execa")
vi.mock("prompts")
vi.mock("@/src/registry/fetcher")
vi.mock("@/src/utils/get-package-manager", () => ({
  getPackageManager: vi.fn().mockResolvedValue("npm"),
}))
vi.mock("@/src/utils/spinner")
vi.mock("@/src/utils/logger", () => ({
  logger: {
    break: vi.fn(),
    error: vi.fn(),
    info: vi.fn(),
  },
}))

describe("createProject", () => {
  let mockExit: MockInstance

  beforeEach(() => {
    vi.clearAllMocks()

    // Reset all fs mocks
    vi.mocked(fs.access).mockResolvedValue(undefined)
    vi.mocked(fs.existsSync).mockReturnValue(false)
    vi.mocked(fs.ensureDir).mockResolvedValue(undefined)
    vi.mocked(fs.writeFile).mockResolvedValue(undefined)
    vi.mocked(fs.move).mockResolvedValue(undefined)
    vi.mocked(fs.remove).mockResolvedValue(undefined)

    // Mock execa to resolve immediately without actual execution
    vi.mocked(execa).mockResolvedValue({
      stdout: "",
      stderr: "",
      exitCode: 0,
      signal: undefined,
      signalDescription: undefined,
      command: "",
      escapedCommand: "",
      failed: false,
      timedOut: false,
      isCanceled: false,
// ... (155 more lines)

Dependencies

Frequently Asked Questions

What does create-project.test.ts do?
create-project.test.ts is a source file in the ui codebase, written in typescript. It belongs to the FrameworkTooling domain.
What does create-project.test.ts depend on?
create-project.test.ts imports 8 module(s): create-project.ts, createProject, execa, fetcher, fs-extra, prompts, spinner, vitest.
Where is create-project.test.ts in the architecture?
create-project.test.ts is located at packages/shadcn/src/utils/create-project.test.ts (domain: FrameworkTooling, directory: packages/shadcn/src/utils).

Analyze Your Own Codebase

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

Try Supermodel Free