Sha256: ac9f4531c06b8b90ff1bccf2c7397f58850461332e4388a25a6f604992be7f7e

Contents?: true

Size: 800 Bytes

Versions: 8

Compression:

Stored size: 800 Bytes

Contents

'use strict'

const util = require('util')

const fixOwner = require('./fix-owner')
const path = require('path')
const rimraf = util.promisify(require('rimraf'))
const uniqueFilename = require('unique-filename')
const { disposer } = require('./disposer')

module.exports.mkdir = mktmpdir

function mktmpdir (cache, opts = {}) {
  const { tmpPrefix } = opts
  const tmpTarget = uniqueFilename(path.join(cache, 'tmp'), tmpPrefix)
  return fixOwner.mkdirfix(cache, tmpTarget).then(() => {
    return tmpTarget
  })
}

module.exports.withTmp = withTmp

function withTmp (cache, opts, cb) {
  if (!cb) {
    cb = opts
    opts = {}
  }
  return disposer(mktmpdir(cache, opts), rimraf, cb)
}

module.exports.fix = fixtmpdir

function fixtmpdir (cache) {
  return fixOwner(cache, path.join(cache, 'tmp'))
}

Version data entries

8 entries across 7 versions & 3 rubygems

Version Path
tang-0.2.1 spec/tang_app/node_modules/cacache/lib/util/tmp.js
groonga-client-model-6.0.0 test/apps/rails6.1.3/node_modules/cacache/lib/util/tmp.js
groonga-client-model-6.0.0 test/apps/rails6.0.3.5/node_modules/compression-webpack-plugin/node_modules/cacache/lib/util/tmp.js
ruby2js-4.0.4 lib/tasks/testrails/node_modules/cacache/lib/util/tmp.js
ruby2js-4.0.3 lib/tasks/testrails/node_modules/cacache/lib/util/tmp.js
tang-0.2.0 spec/tang_app/node_modules/cacache/lib/util/tmp.js
tang-0.1.0 spec/tang_app/node_modules/cacache/lib/util/tmp.js
tang-0.0.9 spec/tang_app/node_modules/cacache/lib/util/tmp.js