Home / File/ handle-error.ts — ui Source File

handle-error.ts — ui Source File

Architecture documentation for handle-error.ts, a typescript file in the ui codebase. 4 imports, 0 dependents.

Entity Profile

Dependency Diagram

graph LR
  26143490_fb1b_287e_0466_4383acdd7a32["handle-error.ts"]
  0ec72e6a_72c2_0fcf_92e9_0b0612e46d40["errors"]
  26143490_fb1b_287e_0466_4383acdd7a32 --> 0ec72e6a_72c2_0fcf_92e9_0b0612e46d40
  15e8bad0_00cc_3d96_8e33_2f062120ea7f["highlighter"]
  26143490_fb1b_287e_0466_4383acdd7a32 --> 15e8bad0_00cc_3d96_8e33_2f062120ea7f
  1df8bbed_5110_29f0_12f0_996fc7a1eda1["logger"]
  26143490_fb1b_287e_0466_4383acdd7a32 --> 1df8bbed_5110_29f0_12f0_996fc7a1eda1
  6802ce19_522d_e5fb_e458_8826d9f6952e["zod"]
  26143490_fb1b_287e_0466_4383acdd7a32 --> 6802ce19_522d_e5fb_e458_8826d9f6952e
  style 26143490_fb1b_287e_0466_4383acdd7a32 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

import { RegistryError } from "@/src/registry/errors"
import { highlighter } from "@/src/utils/highlighter"
import { logger } from "@/src/utils/logger"
import { z } from "zod"

export function handleError(error: unknown) {
  logger.break()
  logger.error(
    `Something went wrong. Please check the error below for more details.`
  )
  logger.error(`If the problem persists, please open an issue on GitHub.`)
  logger.error("")
  if (typeof error === "string") {
    logger.error(error)
    logger.break()
    process.exit(1)
  }

  if (error instanceof RegistryError) {
    if (error.message) {
      logger.error(error.cause ? "Error:" : "Message:")
      logger.error(error.message)
    }

    if (error.cause) {
      logger.error("\nMessage:")
      logger.error(error.cause)
    }

    if (error.suggestion) {
      logger.error("\nSuggestion:")
      logger.error(error.suggestion)
    }
    logger.break()
    process.exit(1)
  }

  if (error instanceof z.ZodError) {
    logger.error("Validation failed:")
    for (const [key, value] of Object.entries(error.flatten().fieldErrors)) {
      logger.error(`- ${highlighter.info(key)}: ${value}`)
    }
    logger.break()
    process.exit(1)
  }

  if (error instanceof Error) {
    logger.error(error.message)
    logger.break()
    process.exit(1)
  }

  logger.break()
  process.exit(1)
}

Subdomains

Functions

Dependencies

  • errors
  • highlighter
  • logger
  • zod

Frequently Asked Questions

What does handle-error.ts do?
handle-error.ts is a source file in the ui codebase, written in typescript. It belongs to the FrameworkTooling domain, TemplateSync subdomain.
What functions are defined in handle-error.ts?
handle-error.ts defines 1 function(s): handleError.
What does handle-error.ts depend on?
handle-error.ts imports 4 module(s): errors, highlighter, logger, zod.
Where is handle-error.ts in the architecture?
handle-error.ts is located at packages/shadcn/src/utils/handle-error.ts (domain: FrameworkTooling, subdomain: TemplateSync, 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