Home / Function/ ensureCnImport() — ui Function Reference

ensureCnImport() — ui Function Reference

Architecture documentation for the ensureCnImport() function in update-fonts.ts from the ui codebase.

Entity Profile

Dependency Diagram

graph TD
  9fb1fec8_3fb3_6827_21d6_834692552dea["ensureCnImport()"]
  b169f1bf_76c5_e7c9_f493_15fe0f296591["update-fonts.ts"]
  9fb1fec8_3fb3_6827_21d6_834692552dea -->|defined in| b169f1bf_76c5_e7c9_f493_15fe0f296591
  97bdf019_6ec8_1cbd_1fbb_ed4acd2cc973["updateHtmlClassName()"]
  97bdf019_6ec8_1cbd_1fbb_ed4acd2cc973 -->|calls| 9fb1fec8_3fb3_6827_21d6_834692552dea
  style 9fb1fec8_3fb3_6827_21d6_834692552dea fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

packages/shadcn/src/utils/updaters/update-fonts.ts lines 452–478

function ensureCnImport(sourceFile: ReturnType<Project["createSourceFile"]>) {
  const existingImport = sourceFile.getImportDeclaration((decl) => {
    const namedImports = decl.getNamedImports()
    return namedImports.some((imp) => imp.getName() === "cn")
  })

  if (!existingImport) {
    // Try to find the lib/utils import pattern.
    const utilsImport = sourceFile.getImportDeclaration((decl) => {
      const moduleSpecifier = decl.getModuleSpecifierValue()
      return moduleSpecifier.includes("/lib/utils")
    })

    if (utilsImport) {
      const namedImports = utilsImport.getNamedImports()
      if (!namedImports.some((imp) => imp.getName() === "cn")) {
        utilsImport.addNamedImport("cn")
      }
    } else {
      // Add a new import for cn.
      sourceFile.addImportDeclaration({
        moduleSpecifier: "@/lib/utils",
        namedImports: ["cn"],
      })
    }
  }
}

Subdomains

Frequently Asked Questions

What does ensureCnImport() do?
ensureCnImport() is a function in the ui codebase, defined in packages/shadcn/src/utils/updaters/update-fonts.ts.
Where is ensureCnImport() defined?
ensureCnImport() is defined in packages/shadcn/src/utils/updaters/update-fonts.ts at line 452.
What calls ensureCnImport()?
ensureCnImport() is called by 1 function(s): updateHtmlClassName.

Analyze Your Own Codebase

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

Try Supermodel Free