core/api/tailwindcss-master/jest/runInTempDirectory.js

24 lines
535 B
JavaScript

import fs from 'fs'
import path from 'path'
import rimraf from 'rimraf'
let id = 0
export default function (callback) {
return new Promise((resolve) => {
const workerId = `${process.env.JEST_WORKER_ID}-${id++}`
const tmpPath = path.resolve(__dirname, `../__tmp_${workerId}`)
const currentPath = process.cwd()
rimraf.sync(tmpPath)
fs.mkdirSync(tmpPath)
process.chdir(tmpPath)
callback().then(() => {
process.chdir(currentPath)
rimraf(tmpPath, resolve)
})
})
}