Skip to content

Commit

Permalink
fix: Only empty the .temp directory at most once per run (fix #2254) (
Browse files Browse the repository at this point in the history
  • Loading branch information
dtinth authored Nov 1, 2020
1 parent 45b4ba6 commit 970b434
Showing 1 changed file with 12 additions and 1 deletion.
13 changes: 12 additions & 1 deletion packages/@vuepress/core/lib/node/createTemp.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,15 @@
const { fs, path, chalk, logger } = require('@vuepress/shared-utils')

// Only empty the `.temp` directory at most once per run to avoid
// compilation errors caused by removed files.
// See: https://github.com/vuejs/vuepress/issues/2254#issuecomment-689457157
//
// Known issue: This can cause the `.temp` directory to grow while the server
// is running, but the impact is limited because the `.temp` directory will
// be cleared when restarting the server.
// See discussion in https://github.com/vuejs/vuepress/pull/2612
let alreadyEmptied = false

/**
* Create a dynamic temp utility context that allow to lanuch
* multiple apps with isolated context at the same time.
Expand All @@ -19,8 +29,9 @@ module.exports = function createTemp (tempPath) {

if (!fs.existsSync(tempPath)) {
fs.ensureDirSync(tempPath)
} else {
} else if (!alreadyEmptied) {
fs.emptyDirSync(tempPath)
alreadyEmptied = true
}

logger.debug(`Temp directory: ${chalk.gray(tempPath)}`)
Expand Down

0 comments on commit 970b434

Please sign in to comment.