Home / Function/ patchTypes() — vite Function Reference

patchTypes() — vite Function Reference

Architecture documentation for the patchTypes() function in rolldown.dts.config.ts from the vite codebase.

Entity Profile

Dependency Diagram

graph TD
  aabc1827_7354_5411_3a0d_63e4e16fd805["patchTypes()"]
  c2239521_b59e_589c_03c3_99028d5442bd["rolldown.dts.config.ts"]
  aabc1827_7354_5411_3a0d_63e4e16fd805 -->|defined in| c2239521_b59e_589c_03c3_99028d5442bd
  c95eddef_3bfe_b2eb_a638_ac6578c67700["getAllImportBindings()"]
  aabc1827_7354_5411_3a0d_63e4e16fd805 -->|calls| c95eddef_3bfe_b2eb_a638_ac6578c67700
  0fe4209a_fc08_faeb_40d3_56f0240104b0["cleanUnnecessaryComments()"]
  aabc1827_7354_5411_3a0d_63e4e16fd805 -->|calls| 0fe4209a_fc08_faeb_40d3_56f0240104b0
  style aabc1827_7354_5411_3a0d_63e4e16fd805 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

packages/vite/rolldown.dts.config.ts lines 133–161

function patchTypes(): Plugin {
  return {
    name: 'patch-types',
    generateBundle: {
      order: 'post',
      handler(_opts, bundle) {
        for (const chunk of Object.values(bundle)) {
          if (chunk.type !== 'chunk') continue

          const ast = parseAst(chunk.code, { lang: 'ts', sourceType: 'module' })
          const importBindings = getAllImportBindings(ast)
          if (
            chunk.fileName.startsWith('module-runner') ||
            // index and moduleRunner have a common chunk
            chunk.fileName.startsWith('chunks/') ||
            chunk.fileName.startsWith('types.d-')
          ) {
            validateRunnerChunk.call(this, chunk, importBindings)
          } else {
            validateChunkImports.call(this, chunk, importBindings)
            replaceConfusingTypeNames.call(this, chunk, importBindings)
            stripInternalTypes.call(this, chunk)
            cleanUnnecessaryComments(chunk)
          }
        }
      },
    },
  }
}

Domain

Subdomains

Frequently Asked Questions

What does patchTypes() do?
patchTypes() is a function in the vite codebase, defined in packages/vite/rolldown.dts.config.ts.
Where is patchTypes() defined?
patchTypes() is defined in packages/vite/rolldown.dts.config.ts at line 133.
What does patchTypes() call?
patchTypes() calls 2 function(s): cleanUnnecessaryComments, getAllImportBindings.

Analyze Your Own Codebase

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

Try Supermodel Free