UNPKG

nginx-testing

Version:

Support for integration/acceptance testing of nginx configuration.

43 lines 1.24 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.createTempDir = void 0; const OS = require("node:os"); const path = require("node:path"); const process = require("node:process"); const FS = require("./fs"); function createTempDir(name) { const nodeModules = findPkgNodeModules(process.cwd()); const tempDir = nodeModules ? path.join(nodeModules, '.cache') : OS.tmpdir(); if (nodeModules) { FS.mkdirSync(tempDir, { recursive: true }); } return FS.mkdtempSync(path.join(tempDir, `${name}-`)); } exports.createTempDir = createTempDir; function findPkgNodeModules(cwd) { let dir = path.resolve(cwd); const rootDir = path.parse(dir).root; while (dir !== rootDir) { const nodeModules = path.join(dir, 'node_modules'); if (isWritableDir(nodeModules)) { return nodeModules; } dir = path.dirname(dir); } return null; } function isWritableDir(path) { try { if (!FS.statSync(path).isDirectory()) { return false; } FS.accessSync(path, FS.constants.W_OK); return true; } catch (_a) { return false; } } //# sourceMappingURL=tempDir.js.map