Home / Function/ prepareOutDir() — vite Function Reference

prepareOutDir() — vite Function Reference

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

Entity Profile

Dependency Diagram

graph TD
  3751e751_4133_da1f_af25_4267e85adc15["prepareOutDir()"]
  4c658b37_85c2_95c4_7b25_9e1e2258e2a4["prepareOutDir.ts"]
  3751e751_4133_da1f_af25_4267e85adc15 -->|defined in| 4c658b37_85c2_95c4_7b25_9e1e2258e2a4
  7e906fcf_994b_bbf0_41a0_ed109ab73503["prepareOutDirPlugin()"]
  7e906fcf_994b_bbf0_41a0_ed109ab73503 -->|calls| 3751e751_4133_da1f_af25_4267e85adc15
  3fbde17a_4cd2_7c18_fa87_ea844479d120["emptyDir()"]
  3751e751_4133_da1f_af25_4267e85adc15 -->|calls| 3fbde17a_4cd2_7c18_fa87_ea844479d120
  6c8076cd_ccbd_1423_ce70_db93911678f5["areSeparateFolders()"]
  3751e751_4133_da1f_af25_4267e85adc15 -->|calls| 6c8076cd_ccbd_1423_ce70_db93911678f5
  f90acca0_7045_11b1_e750_7498f272812e["copyDir()"]
  3751e751_4133_da1f_af25_4267e85adc15 -->|calls| f90acca0_7045_11b1_e750_7498f272812e
  style 3751e751_4133_da1f_af25_4267e85adc15 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

packages/vite/src/node/plugins/prepareOutDir.ts lines 46–92

function prepareOutDir(
  outDirs: Set<string>,
  emptyOutDir: boolean | null,
  environment: Environment,
) {
  const { publicDir } = environment.config
  const outDirsArray = [...outDirs]
  for (const outDir of outDirs) {
    if (emptyOutDir !== false && fs.existsSync(outDir)) {
      // skip those other outDirs which are nested in current outDir
      const skipDirs = outDirsArray
        .map((dir) => {
          const relative = path.relative(outDir, dir)
          if (
            relative &&
            !relative.startsWith('..') &&
            !path.isAbsolute(relative)
          ) {
            return relative
          }
          return ''
        })
        .filter(Boolean)
      emptyDir(outDir, [...skipDirs, '.git'])
    }
    if (
      environment.config.build.copyPublicDir &&
      publicDir &&
      fs.existsSync(publicDir)
    ) {
      if (!areSeparateFolders(outDir, publicDir)) {
        environment.logger.warn(
          colors.yellow(
            `\n${colors.bold(
              `(!)`,
            )} The public directory feature may not work correctly. outDir ${colors.white(
              colors.dim(outDir),
            )} and publicDir ${colors.white(
              colors.dim(publicDir),
            )} are not separate folders.\n`,
          ),
        )
      }
      copyDir(publicDir, outDir)
    }
  }
}

Domain

Subdomains

Frequently Asked Questions

What does prepareOutDir() do?
prepareOutDir() is a function in the vite codebase, defined in packages/vite/src/node/plugins/prepareOutDir.ts.
Where is prepareOutDir() defined?
prepareOutDir() is defined in packages/vite/src/node/plugins/prepareOutDir.ts at line 46.
What does prepareOutDir() call?
prepareOutDir() calls 3 function(s): areSeparateFolders, copyDir, emptyDir.
What calls prepareOutDir()?
prepareOutDir() is called by 1 function(s): prepareOutDirPlugin.

Analyze Your Own Codebase

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

Try Supermodel Free