Home / Function/ runnerImport() — vite Function Reference

runnerImport() — vite Function Reference

Architecture documentation for the runnerImport() function in runnerImport.ts from the vite codebase.

Entity Profile

Dependency Diagram

graph TD
  585bf922_8932_bdb0_98d0_ee522538cb6d["runnerImport()"]
  b5e1db85_5394_4902_e419_6145447db3eb["runnerImport.ts"]
  585bf922_8932_bdb0_98d0_ee522538cb6d -->|defined in| b5e1db85_5394_4902_e419_6145447db3eb
  58c4a210_68fe_1b4d_ed49_d59203f97ef1["resolveConfig()"]
  585bf922_8932_bdb0_98d0_ee522538cb6d -->|calls| 58c4a210_68fe_1b4d_ed49_d59203f97ef1
  657661b0_3b17_9113_8464_fda5dfafd706["mergeConfig()"]
  585bf922_8932_bdb0_98d0_ee522538cb6d -->|calls| 657661b0_3b17_9113_8464_fda5dfafd706
  197f4a26_efd8_e49d_88ae_a9f5707d4b33["createRunnableDevEnvironment()"]
  585bf922_8932_bdb0_98d0_ee522538cb6d -->|calls| 197f4a26_efd8_e49d_88ae_a9f5707d4b33
  20a6c33d_fca7_195b_3baa_d6c09fd1b850["close()"]
  585bf922_8932_bdb0_98d0_ee522538cb6d -->|calls| 20a6c33d_fca7_195b_3baa_d6c09fd1b850
  style 585bf922_8932_bdb0_98d0_ee522538cb6d fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

packages/vite/src/node/ssr/runnerImport.ts lines 15–76

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

Frequently Asked Questions

What does runnerImport() do?
runnerImport() is a function in the vite codebase, defined in packages/vite/src/node/ssr/runnerImport.ts.
Where is runnerImport() defined?
runnerImport() is defined in packages/vite/src/node/ssr/runnerImport.ts at line 15.
What does runnerImport() call?
runnerImport() calls 4 function(s): close, createRunnableDevEnvironment, mergeConfig, resolveConfig.

Analyze Your Own Codebase

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

Try Supermodel Free