runnerImport.ts — vite Source File
Architecture documentation for runnerImport.ts, a typescript file in the vite codebase. 7 imports, 2 dependents.
Entity Profile
Dependency Diagram
graph LR b5e1db85_5394_4902_e419_6145447db3eb["runnerImport.ts"] 7da774f9_eca5_d54e_6e01_6bee7d460a2b["config.ts"] b5e1db85_5394_4902_e419_6145447db3eb --> 7da774f9_eca5_d54e_6e01_6bee7d460a2b 6729b047_29e8_ba18_f1ca_c87655a130d3["InlineConfig"] b5e1db85_5394_4902_e419_6145447db3eb --> 6729b047_29e8_ba18_f1ca_c87655a130d3 58c4a210_68fe_1b4d_ed49_d59203f97ef1["resolveConfig"] b5e1db85_5394_4902_e419_6145447db3eb --> 58c4a210_68fe_1b4d_ed49_d59203f97ef1 e21da89c_08b2_d4be_4023_7ef3ad334bdb["runnableEnvironment.ts"] b5e1db85_5394_4902_e419_6145447db3eb --> e21da89c_08b2_d4be_4023_7ef3ad334bdb 197f4a26_efd8_e49d_88ae_a9f5707d4b33["createRunnableDevEnvironment"] b5e1db85_5394_4902_e419_6145447db3eb --> 197f4a26_efd8_e49d_88ae_a9f5707d4b33 031bc221_67a8_c579_f2bf_bb30a08beeb2["utils.ts"] b5e1db85_5394_4902_e419_6145447db3eb --> 031bc221_67a8_c579_f2bf_bb30a08beeb2 657661b0_3b17_9113_8464_fda5dfafd706["mergeConfig"] b5e1db85_5394_4902_e419_6145447db3eb --> 657661b0_3b17_9113_8464_fda5dfafd706 8e5be4f8_47ed_25d2_b54a_787696793bf1["runnerImport.spec.ts"] 8e5be4f8_47ed_25d2_b54a_787696793bf1 --> b5e1db85_5394_4902_e419_6145447db3eb 7da774f9_eca5_d54e_6e01_6bee7d460a2b["config.ts"] 7da774f9_eca5_d54e_6e01_6bee7d460a2b --> b5e1db85_5394_4902_e419_6145447db3eb style b5e1db85_5394_4902_e419_6145447db3eb fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
import type { InlineConfig } from '../config'
import { resolveConfig } from '../config'
import { createRunnableDevEnvironment } from '../server/environments/runnableEnvironment'
import { mergeConfig } from '../utils'
interface RunnerImportResult<T> {
module: T
dependencies: string[]
}
/**
* Import any file using the default Vite environment.
* @experimental
*/
export async function runnerImport<T>(
moduleId: string,
inlineConfig?: InlineConfig,
): Promise<RunnerImportResult<T>> {
const isModuleSyncConditionEnabled = (await import('#module-sync-enabled'))
.default
const config = await resolveConfig(
mergeConfig(inlineConfig || {}, {
configFile: false,
envDir: false,
cacheDir: process.cwd(),
environments: {
inline: {
consumer: 'server',
dev: {
moduleRunnerTransform: true,
},
resolve: {
external: true,
mainFields: [],
conditions: [
'node',
...(isModuleSyncConditionEnabled ? ['module-sync'] : []),
],
},
},
},
} satisfies InlineConfig),
'serve',
)
const environment = createRunnableDevEnvironment('inline', config, {
runnerOptions: {
hmr: {
logger: false,
},
},
hot: false,
})
await environment.init()
try {
const module = await environment.runner.import(moduleId)
const modules = [
...environment.runner.evaluatedModules.urlToIdModuleMap.values(),
]
const dependencies = modules
.filter((m) => {
// ignore all externalized modules
if (!m.meta || 'externalize' in m.meta) {
return false
}
// ignore the current module
return m.exports !== module
})
.map((m) => m.file)
return {
module,
dependencies,
}
} finally {
await environment.close()
}
}
Domain
Subdomains
Functions
Types
Dependencies
Source
Frequently Asked Questions
What does runnerImport.ts do?
runnerImport.ts is a source file in the vite codebase, written in typescript. It belongs to the ViteCore domain, ConfigEngine subdomain.
What functions are defined in runnerImport.ts?
runnerImport.ts defines 1 function(s): runnerImport.
What does runnerImport.ts depend on?
runnerImport.ts imports 7 module(s): InlineConfig, config.ts, createRunnableDevEnvironment, mergeConfig, resolveConfig, runnableEnvironment.ts, utils.ts.
What files import runnerImport.ts?
runnerImport.ts is imported by 2 file(s): config.ts, runnerImport.spec.ts.
Where is runnerImport.ts in the architecture?
runnerImport.ts is located at packages/vite/src/node/ssr/runnerImport.ts (domain: ViteCore, subdomain: ConfigEngine, directory: packages/vite/src/node/ssr).
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free