Home / Function/ prepareRolldownScanner() — vite Function Reference

prepareRolldownScanner() — vite Function Reference

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

Entity Profile

Dependency Diagram

graph TD
  24024bc8_5434_bc2f_7acb_d02914457eae["prepareRolldownScanner()"]
  6c7a7f5e_5d30_3576_49bf_9041362fd3fd["scan.ts"]
  24024bc8_5434_bc2f_7acb_d02914457eae -->|defined in| 6c7a7f5e_5d30_3576_49bf_9041362fd3fd
  ca966b07_32a3_9d37_9eca_d2ebd25f7f76["scanImports()"]
  ca966b07_32a3_9d37_9eca_d2ebd25f7f76 -->|calls| 24024bc8_5434_bc2f_7acb_d02914457eae
  40f91c1f_e515_2c03_9628_3e4ba2691b70["asyncFlatten()"]
  24024bc8_5434_bc2f_7acb_d02914457eae -->|calls| 40f91c1f_e515_2c03_9628_3e4ba2691b70
  19ce2051_6a74_4b8b_104d_ec006cd7075f["arraify()"]
  24024bc8_5434_bc2f_7acb_d02914457eae -->|calls| 19ce2051_6a74_4b8b_104d_ec006cd7075f
  01ea698c_723c_af06_e469_c7d7c469b6bb["rolldownScanPlugin()"]
  24024bc8_5434_bc2f_7acb_d02914457eae -->|calls| 01ea698c_723c_af06_e469_c7d7c469b6bb
  b6280368_17dd_ad13_70a4_cedf3c942394["deepClone()"]
  24024bc8_5434_bc2f_7acb_d02914457eae -->|calls| b6280368_17dd_ad13_70a4_cedf3c942394
  94666cd5_e67a_3d30_2f8f_b7e582b5684f["getRollupJsxPresets()"]
  24024bc8_5434_bc2f_7acb_d02914457eae -->|calls| 94666cd5_e67a_3d30_2f8f_b7e582b5684f
  style 24024bc8_5434_bc2f_7acb_d02914457eae fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

packages/vite/src/node/optimizer/scan.ts lines 245–281

async function prepareRolldownScanner(
  environment: ScanEnvironment,
  entries: string[],
  deps: Record<string, string>,
  missing: Record<string, string>,
): Promise<{ build: () => Promise<void> }> {
  const { plugins: pluginsFromConfig = [], ...rolldownOptions } =
    environment.config.optimizeDeps.rolldownOptions ?? {}

  const plugins = await asyncFlatten(arraify(pluginsFromConfig))
  plugins.push(...rolldownScanPlugin(environment, deps, missing, entries))

  const transformOptions = deepClone(rolldownOptions.transform) ?? {}
  if (transformOptions.jsx === undefined) {
    transformOptions.jsx = {}
  } else if (
    transformOptions.jsx === 'react' ||
    transformOptions.jsx === 'react-jsx'
  ) {
    transformOptions.jsx = getRollupJsxPresets(transformOptions.jsx)
  }
  if (typeof transformOptions.jsx === 'object') {
    transformOptions.jsx.development ??= !environment.config.isProduction
  }

  async function build() {
    await scan({
      ...rolldownOptions,
      transform: transformOptions,
      input: entries,
      logLevel: 'silent',
      plugins,
    })
  }

  return { build }
}

Subdomains

Called By

Frequently Asked Questions

What does prepareRolldownScanner() do?
prepareRolldownScanner() is a function in the vite codebase, defined in packages/vite/src/node/optimizer/scan.ts.
Where is prepareRolldownScanner() defined?
prepareRolldownScanner() is defined in packages/vite/src/node/optimizer/scan.ts at line 245.
What does prepareRolldownScanner() call?
prepareRolldownScanner() calls 5 function(s): arraify, asyncFlatten, deepClone, getRollupJsxPresets, rolldownScanPlugin.
What calls prepareRolldownScanner()?
prepareRolldownScanner() is called by 1 function(s): scanImports.

Analyze Your Own Codebase

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

Try Supermodel Free