Home / Function/ findInteropMismatches() — vite Function Reference

findInteropMismatches() — vite Function Reference

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

Entity Profile

Dependency Diagram

graph TD
  490ec847_fc3f_ca20_0617_6022fb92df3f["findInteropMismatches()"]
  1e9c451c_672c_39cf_7b97_f46e41e7b47d["optimizer.ts"]
  490ec847_fc3f_ca20_0617_6022fb92df3f -->|defined in| 1e9c451c_672c_39cf_7b97_f46e41e7b47d
  d40c38f0_b6c1_b93f_a735_b3f1e17bea5b["createDepsOptimizer()"]
  d40c38f0_b6c1_b93f_a735_b3f1e17bea5b -->|calls| 490ec847_fc3f_ca20_0617_6022fb92df3f
  style 490ec847_fc3f_ca20_0617_6022fb92df3f fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

packages/vite/src/node/optimizer/optimizer.ts lines 783–803

function findInteropMismatches(
  discovered: Record<string, OptimizedDepInfo>,
  optimized: Record<string, OptimizedDepInfo>,
) {
  const needsInteropMismatch = []
  for (const dep in discovered) {
    const discoveredDepInfo = discovered[dep]
    if (discoveredDepInfo.needsInterop === undefined) continue

    const depInfo = optimized[dep]
    if (!depInfo) continue

    if (depInfo.needsInterop !== discoveredDepInfo.needsInterop) {
      // This only happens when a discovered dependency has mixed ESM and CJS syntax
      // and it hasn't been manually added to optimizeDeps.needsInterop
      needsInteropMismatch.push(dep)
      debug?.(colors.cyan(`✨ needsInterop mismatch detected for ${dep}`))
    }
  }
  return needsInteropMismatch
}

Subdomains

Frequently Asked Questions

What does findInteropMismatches() do?
findInteropMismatches() is a function in the vite codebase, defined in packages/vite/src/node/optimizer/optimizer.ts.
Where is findInteropMismatches() defined?
findInteropMismatches() is defined in packages/vite/src/node/optimizer/optimizer.ts at line 783.
What calls findInteropMismatches()?
findInteropMismatches() is called by 1 function(s): createDepsOptimizer.

Analyze Your Own Codebase

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

Try Supermodel Free