Home / Function/ safeRename() — vite Function Reference

safeRename() — vite Function Reference

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

Entity Profile

Dependency Diagram

graph TD
  a001ac60_921b_cd0e_e2f0_cd371881facf["safeRename()"]
  2f328851_91ee_fb05_63f0_4f466b9d6250["index.ts"]
  a001ac60_921b_cd0e_e2f0_cd371881facf -->|defined in| 2f328851_91ee_fb05_63f0_4f466b9d6250
  b53437fa_d2e4_a560_0d14_dfc84f740176["runOptimizeDeps()"]
  b53437fa_d2e4_a560_0d14_dfc84f740176 -->|calls| a001ac60_921b_cd0e_e2f0_cd371881facf
  style a001ac60_921b_cd0e_e2f0_cd371881facf fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

packages/vite/src/node/optimizer/index.ts lines 1443–1467

const safeRename = promisify(function gracefulRename(
  from: string,
  to: string,
  cb: (error: NodeJS.ErrnoException | null) => void,
) {
  const start = Date.now()
  let backoff = 0
  fs.rename(from, to, function CB(er) {
    if (
      er &&
      (er.code === 'EACCES' || er.code === 'EPERM') &&
      Date.now() - start < GRACEFUL_RENAME_TIMEOUT
    ) {
      setTimeout(function () {
        fs.stat(to, function (stater, _st) {
          if (stater && stater.code === 'ENOENT') fs.rename(from, to, CB)
          else CB(er)
        })
      }, backoff)
      if (backoff < 100) backoff += 10
      return
    }
    cb(er)
  })
})

Subdomains

Called By

Frequently Asked Questions

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

Analyze Your Own Codebase

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

Try Supermodel Free