createImportMeta.ts — vite Source File
Architecture documentation for createImportMeta.ts, a typescript file in the vite codebase. 8 imports, 1 dependents.
Entity Profile
Dependency Diagram
graph LR d957f785_adef_de7a_92dc_045f724e6d34["createImportMeta.ts"] abfc9e70_3c15_b3f0_a595_3cf27afb7e64["utils.ts"] d957f785_adef_de7a_92dc_045f724e6d34 --> abfc9e70_3c15_b3f0_a595_3cf27afb7e64 87fdb861_d26b_9010_7a55_34478977224c["importMetaResolver.ts"] d957f785_adef_de7a_92dc_045f724e6d34 --> 87fdb861_d26b_9010_7a55_34478977224c 10f1d8d4_c841_b248_e3e8_0c71d1233d7b["createImportMetaResolver"] d957f785_adef_de7a_92dc_045f724e6d34 --> 10f1d8d4_c841_b248_e3e8_0c71d1233d7b bf48f7e9_65f6_54c3_7dce_f44769180bd7["types.ts"] d957f785_adef_de7a_92dc_045f724e6d34 --> bf48f7e9_65f6_54c3_7dce_f44769180bd7 1d083602_27ca_5b45_20d0_0afaaa6b4de2["ModuleRunnerImportMeta"] d957f785_adef_de7a_92dc_045f724e6d34 --> 1d083602_27ca_5b45_20d0_0afaaa6b4de2 81939ddb_795d_a69b_d1ea_fb1af459ccc2["utils.ts"] d957f785_adef_de7a_92dc_045f724e6d34 --> 81939ddb_795d_a69b_d1ea_fb1af459ccc2 b4ab10d7_7a96_e400_2c45_786b44953214["posixPathToFileHref"] d957f785_adef_de7a_92dc_045f724e6d34 --> b4ab10d7_7a96_e400_2c45_786b44953214 be41a372_59cc_62a2_ac0d_eb893105eb81["toWindowsPath"] d957f785_adef_de7a_92dc_045f724e6d34 --> be41a372_59cc_62a2_ac0d_eb893105eb81 29e248d2_9983_1037_00e6_8bcd9ee87840["runner.ts"] 29e248d2_9983_1037_00e6_8bcd9ee87840 --> d957f785_adef_de7a_92dc_045f724e6d34 style d957f785_adef_de7a_92dc_045f724e6d34 fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
import { isWindows } from '../shared/utils'
import { createImportMetaResolver } from './importMetaResolver'
import type { ModuleRunnerImportMeta } from './types'
import { posixDirname, posixPathToFileHref, toWindowsPath } from './utils'
const envProxy = new Proxy({} as any, {
get(_, p) {
throw new Error(
`[module runner] Dynamic access of "import.meta.env" is not supported. Please, use "import.meta.env.${String(p)}" instead.`,
)
},
})
export function createDefaultImportMeta(
modulePath: string,
): ModuleRunnerImportMeta {
const href = posixPathToFileHref(modulePath)
const filename = modulePath
const dirname = posixDirname(modulePath)
return {
filename: isWindows ? toWindowsPath(filename) : filename,
dirname: isWindows ? toWindowsPath(dirname) : dirname,
url: href,
env: envProxy,
resolve(_id: string, _parent?: string) {
throw new Error('[module runner] "import.meta.resolve" is not supported.')
},
// should be replaced during transformation
glob() {
throw new Error(
`[module runner] "import.meta.glob" is statically replaced during ` +
`file transformation. Make sure to reference it by the full name.`,
)
},
// @types/node adds `main` to `import.meta`, but we don't add that for the defaultImportMeta
} satisfies Omit<ModuleRunnerImportMeta, 'main'> as any
}
/**
* Create import.meta object for Node.js.
*/
export function createNodeImportMeta(
modulePath: string,
): ModuleRunnerImportMeta {
const defaultMeta = createDefaultImportMeta(modulePath)
const href = defaultMeta.url
const importMetaResolver = createImportMetaResolver()
return {
...defaultMeta,
main: false,
resolve(id: string, parent?: string) {
const resolver = importMetaResolver ?? defaultMeta.resolve
return resolver(id, parent ?? href)
},
}
}
Domain
Subdomains
Dependencies
Imported By
Source
Frequently Asked Questions
What does createImportMeta.ts do?
createImportMeta.ts is a source file in the vite codebase, written in typescript. It belongs to the ModuleRunner domain, SSRRuntime subdomain.
What functions are defined in createImportMeta.ts?
createImportMeta.ts defines 3 function(s): createDefaultImportMeta, createNodeImportMeta, envProxy.get.
What does createImportMeta.ts depend on?
createImportMeta.ts imports 8 module(s): ModuleRunnerImportMeta, createImportMetaResolver, importMetaResolver.ts, posixPathToFileHref, toWindowsPath, types.ts, utils.ts, utils.ts.
What files import createImportMeta.ts?
createImportMeta.ts is imported by 1 file(s): runner.ts.
Where is createImportMeta.ts in the architecture?
createImportMeta.ts is located at packages/vite/src/module-runner/createImportMeta.ts (domain: ModuleRunner, subdomain: SSRRuntime, directory: packages/vite/src/module-runner).
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free