transformGlobImport() — vite Function Reference
Architecture documentation for the transformGlobImport() function in importMetaGlob.ts from the vite codebase.
Entity Profile
Dependency Diagram
graph TD a6007673_0baa_9293_6af0_ff74ed056981["transformGlobImport()"] b68d9c02_4026_8cfa_8eb1_35ec4a8f23cb["importMetaGlob.ts"] a6007673_0baa_9293_6af0_ff74ed056981 -->|defined in| b68d9c02_4026_8cfa_8eb1_35ec4a8f23cb 01ea698c_723c_af06_e469_c7d7c469b6bb["rolldownScanPlugin()"] 01ea698c_723c_af06_e469_c7d7c469b6bb -->|calls| a6007673_0baa_9293_6af0_ff74ed056981 c5cada27_b602_8e85_58cc_b778b0c71441["importGlobPlugin()"] c5cada27_b602_8e85_58cc_b778b0c71441 -->|calls| a6007673_0baa_9293_6af0_ff74ed056981 f094d39d_cd97_2548_86c3_38902c2f3301["slash()"] a6007673_0baa_9293_6af0_ff74ed056981 -->|calls| f094d39d_cd97_2548_86c3_38902c2f3301 fc2f4c59_b983_3dec_cceb_38cdd7d53c60["isVirtualModule()"] a6007673_0baa_9293_6af0_ff74ed056981 -->|calls| fc2f4c59_b983_3dec_cceb_38cdd7d53c60 e4ded9fb_6262_73a6_ae73_068c08e2b994["parseImportGlob()"] a6007673_0baa_9293_6af0_ff74ed056981 -->|calls| e4ded9fb_6262_73a6_ae73_068c08e2b994 b2546add_ed59_4395_9214_0c3fc0d07b41["getCommonBase()"] a6007673_0baa_9293_6af0_ff74ed056981 -->|calls| b2546add_ed59_4395_9214_0c3fc0d07b41 style a6007673_0baa_9293_6af0_ff74ed056981 fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
packages/vite/src/node/plugins/importMetaGlob.ts lines 412–599
export async function transformGlobImport(
code: string,
id: string,
root: string,
resolveId: IdResolver,
restoreQueryExtension = false,
logger?: Logger,
): Promise<TransformGlobImportResult | null> {
id = slash(id)
root = slash(root)
const isVirtual = isVirtualModule(id)
const dir = isVirtual ? undefined : dirname(id)
const matches = await parseImportGlob(
code,
isVirtual ? undefined : id,
root,
resolveId,
logger,
)
const matchedFiles = new Set<string>()
if (!matches.length) return null
const s = new MagicString(code)
const staticImports = (
await Promise.all(
matches.map(
async ({
globsResolved,
isRelative,
options,
index,
start,
end,
onlyKeys,
onlyValues,
}) => {
const cwd = getCommonBase(globsResolved) ?? root
const files = (
await glob(globsResolved, {
absolute: true,
cwd,
dot: !!options.exhaustive,
expandDirectories: false,
ignore: options.exhaustive ? [] : ['**/node_modules/**'],
})
)
.filter((file) => file !== id)
.sort()
const objectProps: string[] = []
const staticImports: string[] = []
const resolvePaths = (file: string) => {
if (!dir) {
if (!options.base && isRelative)
throw new Error(
"In virtual modules, all globs must start with '/'",
)
const importPath = `/${relative(root, file)}`
let filePath = options.base
? `${relative(posix.join(root, options.base), file)}`
: importPath
if (
options.base &&
!filePath.startsWith('./') &&
!filePath.startsWith('../')
) {
filePath = `./${filePath}`
}
return { filePath, importPath }
}
let importPath = relative(dir, file)
if (!importPath.startsWith('./') && !importPath.startsWith('../')) {
importPath = `./${importPath}`
}
let filePath: string
if (options.base) {
Domain
Subdomains
Called By
Source
Frequently Asked Questions
What does transformGlobImport() do?
transformGlobImport() is a function in the vite codebase, defined in packages/vite/src/node/plugins/importMetaGlob.ts.
Where is transformGlobImport() defined?
transformGlobImport() is defined in packages/vite/src/node/plugins/importMetaGlob.ts at line 412.
What does transformGlobImport() call?
transformGlobImport() calls 4 function(s): getCommonBase, isVirtualModule, parseImportGlob, slash.
What calls transformGlobImport()?
transformGlobImport() is called by 2 function(s): importGlobPlugin, rolldownScanPlugin.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free