transformImport() — ui Function Reference
Architecture documentation for the transformImport() function in transform-import.ts from the ui codebase.
Entity Profile
Dependency Diagram
graph TD 2e9bd87a_5383_5ae6_89f9_ce540bd7c4eb["transformImport()"] 6c4a93e4_8d33_9fe5_4fc1_f8231ddf41b5["transform-import.ts"] 2e9bd87a_5383_5ae6_89f9_ce540bd7c4eb -->|defined in| 6c4a93e4_8d33_9fe5_4fc1_f8231ddf41b5 9f6621f8_fa96_aec7_8cfb_b0e740ef34cd["updateImportAliases()"] 2e9bd87a_5383_5ae6_89f9_ce540bd7c4eb -->|calls| 9f6621f8_fa96_aec7_8cfb_b0e740ef34cd style 2e9bd87a_5383_5ae6_89f9_ce540bd7c4eb fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
packages/shadcn/src/utils/transformers/transform-import.ts lines 5–51
export const transformImport: Transformer = async ({
sourceFile,
config,
isRemote,
}) => {
const utilsAlias = config.aliases?.utils
const workspaceAlias =
typeof utilsAlias === "string" && utilsAlias.includes("/")
? utilsAlias.split("/")[0]
: "@"
const utilsImport = `${workspaceAlias}/lib/utils`
if (![".tsx", ".ts", ".jsx", ".js"].includes(sourceFile.getExtension())) {
return sourceFile
}
for (const specifier of sourceFile.getImportStringLiterals()) {
const updated = updateImportAliases(
specifier.getLiteralValue(),
config,
isRemote
)
specifier.setLiteralValue(updated)
// Replace `import { cn } from "@/lib/utils"`
if (utilsImport === updated || updated === "@/lib/utils") {
const importDeclaration = specifier.getFirstAncestorByKind(
SyntaxKind.ImportDeclaration
)
const isCnImport = importDeclaration
?.getNamedImports()
.some((namedImport) => namedImport.getName() === "cn")
if (!isCnImport || !config.aliases.utils) {
continue
}
specifier.setLiteralValue(
utilsImport === updated
? updated.replace(utilsImport, config.aliases.utils)
: config.aliases.utils
)
}
}
return sourceFile
}
Domain
Subdomains
Calls
Source
Frequently Asked Questions
What does transformImport() do?
transformImport() is a function in the ui codebase, defined in packages/shadcn/src/utils/transformers/transform-import.ts.
Where is transformImport() defined?
transformImport() is defined in packages/shadcn/src/utils/transformers/transform-import.ts at line 5.
What does transformImport() call?
transformImport() calls 1 function(s): updateImportAliases.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free