summaryrefslogtreecommitdiff
path: root/node_modules/cacache/lib/util/tmp.js
diff options
context:
space:
mode:
Diffstat (limited to 'node_modules/cacache/lib/util/tmp.js')
-rw-r--r--node_modules/cacache/lib/util/tmp.js26
1 files changed, 26 insertions, 0 deletions
diff --git a/node_modules/cacache/lib/util/tmp.js b/node_modules/cacache/lib/util/tmp.js
new file mode 100644
index 0000000..0bf5302
--- /dev/null
+++ b/node_modules/cacache/lib/util/tmp.js
@@ -0,0 +1,26 @@
+'use strict'
+
+const { withTempDir } = require('@npmcli/fs')
+const fs = require('fs/promises')
+const path = require('path')
+
+module.exports.mkdir = mktmpdir
+
+async function mktmpdir (cache, opts = {}) {
+ const { tmpPrefix } = opts
+ const tmpDir = path.join(cache, 'tmp')
+ await fs.mkdir(tmpDir, { recursive: true, owner: 'inherit' })
+ // do not use path.join(), it drops the trailing / if tmpPrefix is unset
+ const target = `${tmpDir}${path.sep}${tmpPrefix || ''}`
+ return fs.mkdtemp(target, { owner: 'inherit' })
+}
+
+module.exports.withTmp = withTmp
+
+function withTmp (cache, opts, cb) {
+ if (!cb) {
+ cb = opts
+ opts = {}
+ }
+ return withTempDir(path.join(cache, 'tmp'), cb, opts)
+}