@bugsplat/symbol-upload
Version:
Cross platform symbol upload tool
28 lines • 1.18 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.tmpDir = void 0;
exports.safeRemoveTmp = safeRemoveTmp;
const crypto_1 = require("crypto");
const promises_1 = require("fs/promises");
const path_1 = require("path");
const promise_retry_1 = __importDefault(require("promise-retry"));
const currentDirectory = process ? process.cwd() : __dirname;
const uuid = (0, crypto_1.randomUUID)();
exports.tmpDir = (0, path_1.join)(currentDirectory, `tmp-${uuid}`);
async function safeRemoveTmp(remover = promises_1.rm) {
try {
await (0, promise_retry_1.default)((retry) => remover(exports.tmpDir, { recursive: true, force: true }).catch(retry), {
minTimeout: 0, // First retry immediately
maxTimeout: 2000, // Subsequent retries delay by 2 seconds
factor: 2, // Exponential backoff
retries: 4, // Try 4 times
});
}
catch (error) {
console.error(`Could not delete ${exports.tmpDir}!`, error);
}
}
//# sourceMappingURL=tmp.js.map