UNPKG

install-module-linked

Version:
32 lines 1.33 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); Object.defineProperty(exports, "default", { enumerable: true, get: function() { return renameWithFallback; } }); var _fs = /*#__PURE__*/ _interop_require_default(require("fs")); function _interop_require_default(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function renameWithFallback(src, dest, callback) { _fs.default.rename(src, dest, function(err) { if (!err) return callback(); // Another process may have already created dest - check if it exists // On Windows, concurrent renames to the same destination throw EPERM if (err.code === 'EEXIST' || err.code === 'ENOTEMPTY' || err.code === 'EPERM') { _fs.default.stat(dest, function(statErr) { if (!statErr) return callback(); // dest exists, race was won by another process callback(err); // dest doesn't exist, actual error }); return; } callback(err); }); } /* CJS INTEROP */ if (exports.__esModule && exports.default) { try { Object.defineProperty(exports.default, '__esModule', { value: true }); for (var key in exports) { exports.default[key] = exports[key]; } } catch (_) {}; module.exports = exports.default; }