UNPKG

coc-tabnine

Version:

tabnine extension for coc.nvim

1,615 lines (1,594 loc) 129 kB
var __create = Object.create; var __defProp = Object.defineProperty; var __getProtoOf = Object.getPrototypeOf; var __hasOwnProp = Object.prototype.hasOwnProperty; var __getOwnPropNames = Object.getOwnPropertyNames; var __getOwnPropDesc = Object.getOwnPropertyDescriptor; var __markAsModule = (target) => __defProp(target, "__esModule", {value: true}); var __commonJS = (callback, module2) => () => { if (!module2) { module2 = {exports: {}}; callback(module2.exports, module2); } return module2.exports; }; var __export = (target, all) => { __markAsModule(target); for (var name in all) __defProp(target, name, {get: all[name], enumerable: true}); }; var __exportStar = (target, module2, desc) => { __markAsModule(target); if (module2 && typeof module2 === "object" || typeof module2 === "function") { for (let key of __getOwnPropNames(module2)) if (!__hasOwnProp.call(target, key) && key !== "default") __defProp(target, key, {get: () => module2[key], enumerable: !(desc = __getOwnPropDesc(module2, key)) || desc.enumerable}); } return target; }; var __toModule = (module2) => { if (module2 && module2.__esModule) return module2; return __exportStar(__defProp(module2 != null ? __create(__getProtoOf(module2)) : {}, "default", {value: module2, enumerable: true}), module2); }; // node_modules/await-semaphore/index.js var require_await_semaphore = __commonJS((exports2) => { "use strict"; var Semaphore = class { constructor(count) { this.tasks = []; this.count = count; } sched() { if (this.count > 0 && this.tasks.length > 0) { this.count--; let next = this.tasks.shift(); if (next === void 0) { throw "Unexpected undefined value in tasks list"; } next(); } } acquire() { return new Promise((res, rej) => { var task = () => { var released = false; res(() => { if (!released) { released = true; this.count++; this.sched(); } }); }; this.tasks.push(task); if (process && process.nextTick) { process.nextTick(this.sched.bind(this)); } else { setImmediate(this.sched.bind(this)); } }); } use(f) { return this.acquire().then((release) => { return f().then((res) => { release(); return res; }).catch((err) => { release(); throw err; }); }); } }; exports2.Semaphore = Semaphore; var Mutex2 = class extends Semaphore { constructor() { super(1); } }; exports2.Mutex = Mutex2; }); // node_modules/universalify/index.js var require_universalify = __commonJS((exports2) => { "use strict"; exports2.fromCallback = function(fn) { return Object.defineProperty(function(...args) { if (typeof args[args.length - 1] === "function") fn.apply(this, args); else { return new Promise((resolve, reject) => { fn.apply(this, args.concat([(err, res) => err ? reject(err) : resolve(res)])); }); } }, "name", {value: fn.name}); }; exports2.fromPromise = function(fn) { return Object.defineProperty(function(...args) { const cb = args[args.length - 1]; if (typeof cb !== "function") return fn.apply(this, args); else fn.apply(this, args.slice(0, -1)).then((r) => cb(null, r), cb); }, "name", {value: fn.name}); }; }); // node_modules/graceful-fs/polyfills.js var require_polyfills = __commonJS((exports2, module2) => { var constants = require("constants"); var origCwd = process.cwd; var cwd = null; var platform = process.env.GRACEFUL_FS_PLATFORM || process.platform; process.cwd = function() { if (!cwd) cwd = origCwd.call(process); return cwd; }; try { process.cwd(); } catch (er) { } var chdir = process.chdir; process.chdir = function(d) { cwd = null; chdir.call(process, d); }; module2.exports = patch; function patch(fs4) { if (constants.hasOwnProperty("O_SYMLINK") && process.version.match(/^v0\.6\.[0-2]|^v0\.5\./)) { patchLchmod(fs4); } if (!fs4.lutimes) { patchLutimes(fs4); } fs4.chown = chownFix(fs4.chown); fs4.fchown = chownFix(fs4.fchown); fs4.lchown = chownFix(fs4.lchown); fs4.chmod = chmodFix(fs4.chmod); fs4.fchmod = chmodFix(fs4.fchmod); fs4.lchmod = chmodFix(fs4.lchmod); fs4.chownSync = chownFixSync(fs4.chownSync); fs4.fchownSync = chownFixSync(fs4.fchownSync); fs4.lchownSync = chownFixSync(fs4.lchownSync); fs4.chmodSync = chmodFixSync(fs4.chmodSync); fs4.fchmodSync = chmodFixSync(fs4.fchmodSync); fs4.lchmodSync = chmodFixSync(fs4.lchmodSync); fs4.stat = statFix(fs4.stat); fs4.fstat = statFix(fs4.fstat); fs4.lstat = statFix(fs4.lstat); fs4.statSync = statFixSync(fs4.statSync); fs4.fstatSync = statFixSync(fs4.fstatSync); fs4.lstatSync = statFixSync(fs4.lstatSync); if (!fs4.lchmod) { fs4.lchmod = function(path4, mode, cb) { if (cb) process.nextTick(cb); }; fs4.lchmodSync = function() { }; } if (!fs4.lchown) { fs4.lchown = function(path4, uid, gid, cb) { if (cb) process.nextTick(cb); }; fs4.lchownSync = function() { }; } if (platform === "win32") { fs4.rename = function(fs$rename) { return function(from, to, cb) { var start = Date.now(); var backoff = 0; fs$rename(from, to, function CB(er) { if (er && (er.code === "EACCES" || er.code === "EPERM") && Date.now() - start < 6e4) { setTimeout(function() { fs4.stat(to, function(stater, st) { if (stater && stater.code === "ENOENT") fs$rename(from, to, CB); else cb(er); }); }, backoff); if (backoff < 100) backoff += 10; return; } if (cb) cb(er); }); }; }(fs4.rename); } fs4.read = function(fs$read) { function read(fd, buffer, offset, length, position, callback_) { var callback; if (callback_ && typeof callback_ === "function") { var eagCounter = 0; callback = function(er, _, __) { if (er && er.code === "EAGAIN" && eagCounter < 10) { eagCounter++; return fs$read.call(fs4, fd, buffer, offset, length, position, callback); } callback_.apply(this, arguments); }; } return fs$read.call(fs4, fd, buffer, offset, length, position, callback); } read.__proto__ = fs$read; return read; }(fs4.read); fs4.readSync = function(fs$readSync) { return function(fd, buffer, offset, length, position) { var eagCounter = 0; while (true) { try { return fs$readSync.call(fs4, fd, buffer, offset, length, position); } catch (er) { if (er.code === "EAGAIN" && eagCounter < 10) { eagCounter++; continue; } throw er; } } }; }(fs4.readSync); function patchLchmod(fs5) { fs5.lchmod = function(path4, mode, callback) { fs5.open(path4, constants.O_WRONLY | constants.O_SYMLINK, mode, function(err, fd) { if (err) { if (callback) callback(err); return; } fs5.fchmod(fd, mode, function(err2) { fs5.close(fd, function(err22) { if (callback) callback(err2 || err22); }); }); }); }; fs5.lchmodSync = function(path4, mode) { var fd = fs5.openSync(path4, constants.O_WRONLY | constants.O_SYMLINK, mode); var threw = true; var ret; try { ret = fs5.fchmodSync(fd, mode); threw = false; } finally { if (threw) { try { fs5.closeSync(fd); } catch (er) { } } else { fs5.closeSync(fd); } } return ret; }; } function patchLutimes(fs5) { if (constants.hasOwnProperty("O_SYMLINK")) { fs5.lutimes = function(path4, at, mt, cb) { fs5.open(path4, constants.O_SYMLINK, function(er, fd) { if (er) { if (cb) cb(er); return; } fs5.futimes(fd, at, mt, function(er2) { fs5.close(fd, function(er22) { if (cb) cb(er2 || er22); }); }); }); }; fs5.lutimesSync = function(path4, at, mt) { var fd = fs5.openSync(path4, constants.O_SYMLINK); var ret; var threw = true; try { ret = fs5.futimesSync(fd, at, mt); threw = false; } finally { if (threw) { try { fs5.closeSync(fd); } catch (er) { } } else { fs5.closeSync(fd); } } return ret; }; } else { fs5.lutimes = function(_a, _b, _c, cb) { if (cb) process.nextTick(cb); }; fs5.lutimesSync = function() { }; } } function chmodFix(orig) { if (!orig) return orig; return function(target, mode, cb) { return orig.call(fs4, target, mode, function(er) { if (chownErOk(er)) er = null; if (cb) cb.apply(this, arguments); }); }; } function chmodFixSync(orig) { if (!orig) return orig; return function(target, mode) { try { return orig.call(fs4, target, mode); } catch (er) { if (!chownErOk(er)) throw er; } }; } function chownFix(orig) { if (!orig) return orig; return function(target, uid, gid, cb) { return orig.call(fs4, target, uid, gid, function(er) { if (chownErOk(er)) er = null; if (cb) cb.apply(this, arguments); }); }; } function chownFixSync(orig) { if (!orig) return orig; return function(target, uid, gid) { try { return orig.call(fs4, target, uid, gid); } catch (er) { if (!chownErOk(er)) throw er; } }; } function statFix(orig) { if (!orig) return orig; return function(target, options, cb) { if (typeof options === "function") { cb = options; options = null; } function callback(er, stats) { if (stats) { if (stats.uid < 0) stats.uid += 4294967296; if (stats.gid < 0) stats.gid += 4294967296; } if (cb) cb.apply(this, arguments); } return options ? orig.call(fs4, target, options, callback) : orig.call(fs4, target, callback); }; } function statFixSync(orig) { if (!orig) return orig; return function(target, options) { var stats = options ? orig.call(fs4, target, options) : orig.call(fs4, target); if (stats.uid < 0) stats.uid += 4294967296; if (stats.gid < 0) stats.gid += 4294967296; return stats; }; } function chownErOk(er) { if (!er) return true; if (er.code === "ENOSYS") return true; var nonroot = !process.getuid || process.getuid() !== 0; if (nonroot) { if (er.code === "EINVAL" || er.code === "EPERM") return true; } return false; } } }); // node_modules/graceful-fs/legacy-streams.js var require_legacy_streams = __commonJS((exports2, module2) => { var Stream = require("stream").Stream; module2.exports = legacy; function legacy(fs4) { return { ReadStream, WriteStream }; function ReadStream(path4, options) { if (!(this instanceof ReadStream)) return new ReadStream(path4, options); Stream.call(this); var self = this; this.path = path4; this.fd = null; this.readable = true; this.paused = false; this.flags = "r"; this.mode = 438; this.bufferSize = 64 * 1024; options = options || {}; var keys = Object.keys(options); for (var index = 0, length = keys.length; index < length; index++) { var key = keys[index]; this[key] = options[key]; } if (this.encoding) this.setEncoding(this.encoding); if (this.start !== void 0) { if (typeof this.start !== "number") { throw TypeError("start must be a Number"); } if (this.end === void 0) { this.end = Infinity; } else if (typeof this.end !== "number") { throw TypeError("end must be a Number"); } if (this.start > this.end) { throw new Error("start must be <= end"); } this.pos = this.start; } if (this.fd !== null) { process.nextTick(function() { self._read(); }); return; } fs4.open(this.path, this.flags, this.mode, function(err, fd) { if (err) { self.emit("error", err); self.readable = false; return; } self.fd = fd; self.emit("open", fd); self._read(); }); } function WriteStream(path4, options) { if (!(this instanceof WriteStream)) return new WriteStream(path4, options); Stream.call(this); this.path = path4; this.fd = null; this.writable = true; this.flags = "w"; this.encoding = "binary"; this.mode = 438; this.bytesWritten = 0; options = options || {}; var keys = Object.keys(options); for (var index = 0, length = keys.length; index < length; index++) { var key = keys[index]; this[key] = options[key]; } if (this.start !== void 0) { if (typeof this.start !== "number") { throw TypeError("start must be a Number"); } if (this.start < 0) { throw new Error("start must be >= zero"); } this.pos = this.start; } this.busy = false; this._queue = []; if (this.fd === null) { this._open = fs4.open; this._queue.push([this._open, this.path, this.flags, this.mode, void 0]); this.flush(); } } } }); // node_modules/graceful-fs/clone.js var require_clone = __commonJS((exports2, module2) => { "use strict"; module2.exports = clone; function clone(obj) { if (obj === null || typeof obj !== "object") return obj; if (obj instanceof Object) var copy = {__proto__: obj.__proto__}; else var copy = Object.create(null); Object.getOwnPropertyNames(obj).forEach(function(key) { Object.defineProperty(copy, key, Object.getOwnPropertyDescriptor(obj, key)); }); return copy; } }); // node_modules/graceful-fs/graceful-fs.js var require_graceful_fs = __commonJS((exports2, module2) => { var fs4 = require("fs"); var polyfills = require_polyfills(); var legacy = require_legacy_streams(); var clone = require_clone(); var util = require("util"); var gracefulQueue; var previousSymbol; if (typeof Symbol === "function" && typeof Symbol.for === "function") { gracefulQueue = Symbol.for("graceful-fs.queue"); previousSymbol = Symbol.for("graceful-fs.previous"); } else { gracefulQueue = "___graceful-fs.queue"; previousSymbol = "___graceful-fs.previous"; } function noop() { } function publishQueue(context, queue2) { Object.defineProperty(context, gracefulQueue, { get: function() { return queue2; } }); } var debug = noop; if (util.debuglog) debug = util.debuglog("gfs4"); else if (/\bgfs4\b/i.test(process.env.NODE_DEBUG || "")) debug = function() { var m = util.format.apply(util, arguments); m = "GFS4: " + m.split(/\n/).join("\nGFS4: "); console.error(m); }; if (!fs4[gracefulQueue]) { queue = global[gracefulQueue] || []; publishQueue(fs4, queue); fs4.close = function(fs$close) { function close(fd, cb) { return fs$close.call(fs4, fd, function(err) { if (!err) { retry(); } if (typeof cb === "function") cb.apply(this, arguments); }); } Object.defineProperty(close, previousSymbol, { value: fs$close }); return close; }(fs4.close); fs4.closeSync = function(fs$closeSync) { function closeSync(fd) { fs$closeSync.apply(fs4, arguments); retry(); } Object.defineProperty(closeSync, previousSymbol, { value: fs$closeSync }); return closeSync; }(fs4.closeSync); if (/\bgfs4\b/i.test(process.env.NODE_DEBUG || "")) { process.on("exit", function() { debug(fs4[gracefulQueue]); require("assert").equal(fs4[gracefulQueue].length, 0); }); } } var queue; if (!global[gracefulQueue]) { publishQueue(global, fs4[gracefulQueue]); } module2.exports = patch(clone(fs4)); if (process.env.TEST_GRACEFUL_FS_GLOBAL_PATCH && !fs4.__patched) { module2.exports = patch(fs4); fs4.__patched = true; } function patch(fs5) { polyfills(fs5); fs5.gracefulify = patch; fs5.createReadStream = createReadStream; fs5.createWriteStream = createWriteStream; var fs$readFile = fs5.readFile; fs5.readFile = readFile; function readFile(path4, options, cb) { if (typeof options === "function") cb = options, options = null; return go$readFile(path4, options, cb); function go$readFile(path5, options2, cb2) { return fs$readFile(path5, options2, function(err) { if (err && (err.code === "EMFILE" || err.code === "ENFILE")) enqueue([go$readFile, [path5, options2, cb2]]); else { if (typeof cb2 === "function") cb2.apply(this, arguments); retry(); } }); } } var fs$writeFile = fs5.writeFile; fs5.writeFile = writeFile; function writeFile(path4, data, options, cb) { if (typeof options === "function") cb = options, options = null; return go$writeFile(path4, data, options, cb); function go$writeFile(path5, data2, options2, cb2) { return fs$writeFile(path5, data2, options2, function(err) { if (err && (err.code === "EMFILE" || err.code === "ENFILE")) enqueue([go$writeFile, [path5, data2, options2, cb2]]); else { if (typeof cb2 === "function") cb2.apply(this, arguments); retry(); } }); } } var fs$appendFile = fs5.appendFile; if (fs$appendFile) fs5.appendFile = appendFile; function appendFile(path4, data, options, cb) { if (typeof options === "function") cb = options, options = null; return go$appendFile(path4, data, options, cb); function go$appendFile(path5, data2, options2, cb2) { return fs$appendFile(path5, data2, options2, function(err) { if (err && (err.code === "EMFILE" || err.code === "ENFILE")) enqueue([go$appendFile, [path5, data2, options2, cb2]]); else { if (typeof cb2 === "function") cb2.apply(this, arguments); retry(); } }); } } var fs$readdir = fs5.readdir; fs5.readdir = readdir; function readdir(path4, options, cb) { var args = [path4]; if (typeof options !== "function") { args.push(options); } else { cb = options; } args.push(go$readdir$cb); return go$readdir(args); function go$readdir$cb(err, files) { if (files && files.sort) files.sort(); if (err && (err.code === "EMFILE" || err.code === "ENFILE")) enqueue([go$readdir, [args]]); else { if (typeof cb === "function") cb.apply(this, arguments); retry(); } } } function go$readdir(args) { return fs$readdir.apply(fs5, args); } if (process.version.substr(0, 4) === "v0.8") { var legStreams = legacy(fs5); ReadStream = legStreams.ReadStream; WriteStream = legStreams.WriteStream; } var fs$ReadStream = fs5.ReadStream; if (fs$ReadStream) { ReadStream.prototype = Object.create(fs$ReadStream.prototype); ReadStream.prototype.open = ReadStream$open; } var fs$WriteStream = fs5.WriteStream; if (fs$WriteStream) { WriteStream.prototype = Object.create(fs$WriteStream.prototype); WriteStream.prototype.open = WriteStream$open; } Object.defineProperty(fs5, "ReadStream", { get: function() { return ReadStream; }, set: function(val) { ReadStream = val; }, enumerable: true, configurable: true }); Object.defineProperty(fs5, "WriteStream", { get: function() { return WriteStream; }, set: function(val) { WriteStream = val; }, enumerable: true, configurable: true }); var FileReadStream = ReadStream; Object.defineProperty(fs5, "FileReadStream", { get: function() { return FileReadStream; }, set: function(val) { FileReadStream = val; }, enumerable: true, configurable: true }); var FileWriteStream = WriteStream; Object.defineProperty(fs5, "FileWriteStream", { get: function() { return FileWriteStream; }, set: function(val) { FileWriteStream = val; }, enumerable: true, configurable: true }); function ReadStream(path4, options) { if (this instanceof ReadStream) return fs$ReadStream.apply(this, arguments), this; else return ReadStream.apply(Object.create(ReadStream.prototype), arguments); } function ReadStream$open() { var that = this; open(that.path, that.flags, that.mode, function(err, fd) { if (err) { if (that.autoClose) that.destroy(); that.emit("error", err); } else { that.fd = fd; that.emit("open", fd); that.read(); } }); } function WriteStream(path4, options) { if (this instanceof WriteStream) return fs$WriteStream.apply(this, arguments), this; else return WriteStream.apply(Object.create(WriteStream.prototype), arguments); } function WriteStream$open() { var that = this; open(that.path, that.flags, that.mode, function(err, fd) { if (err) { that.destroy(); that.emit("error", err); } else { that.fd = fd; that.emit("open", fd); } }); } function createReadStream(path4, options) { return new fs5.ReadStream(path4, options); } function createWriteStream(path4, options) { return new fs5.WriteStream(path4, options); } var fs$open = fs5.open; fs5.open = open; function open(path4, flags, mode, cb) { if (typeof mode === "function") cb = mode, mode = null; return go$open(path4, flags, mode, cb); function go$open(path5, flags2, mode2, cb2) { return fs$open(path5, flags2, mode2, function(err, fd) { if (err && (err.code === "EMFILE" || err.code === "ENFILE")) enqueue([go$open, [path5, flags2, mode2, cb2]]); else { if (typeof cb2 === "function") cb2.apply(this, arguments); retry(); } }); } } return fs5; } function enqueue(elem) { debug("ENQUEUE", elem[0].name, elem[1]); fs4[gracefulQueue].push(elem); } function retry() { var elem = fs4[gracefulQueue].shift(); if (elem) { debug("RETRY", elem[0].name, elem[1]); elem[0].apply(null, elem[1]); } } }); // node_modules/fs-extra/lib/fs/index.js var require_fs = __commonJS((exports2) => { "use strict"; var u = require_universalify().fromCallback; var fs4 = require_graceful_fs(); var api = [ "access", "appendFile", "chmod", "chown", "close", "copyFile", "fchmod", "fchown", "fdatasync", "fstat", "fsync", "ftruncate", "futimes", "lchmod", "lchown", "link", "lstat", "mkdir", "mkdtemp", "open", "opendir", "readdir", "readFile", "readlink", "realpath", "rename", "rmdir", "stat", "symlink", "truncate", "unlink", "utimes", "writeFile" ].filter((key) => { return typeof fs4[key] === "function"; }); Object.keys(fs4).forEach((key) => { if (key === "promises") { return; } exports2[key] = fs4[key]; }); api.forEach((method) => { exports2[method] = u(fs4[method]); }); exports2.exists = function(filename, callback) { if (typeof callback === "function") { return fs4.exists(filename, callback); } return new Promise((resolve) => { return fs4.exists(filename, resolve); }); }; exports2.read = function(fd, buffer, offset, length, position, callback) { if (typeof callback === "function") { return fs4.read(fd, buffer, offset, length, position, callback); } return new Promise((resolve, reject) => { fs4.read(fd, buffer, offset, length, position, (err, bytesRead, buffer2) => { if (err) return reject(err); resolve({bytesRead, buffer: buffer2}); }); }); }; exports2.write = function(fd, buffer, ...args) { if (typeof args[args.length - 1] === "function") { return fs4.write(fd, buffer, ...args); } return new Promise((resolve, reject) => { fs4.write(fd, buffer, ...args, (err, bytesWritten, buffer2) => { if (err) return reject(err); resolve({bytesWritten, buffer: buffer2}); }); }); }; if (typeof fs4.writev === "function") { exports2.writev = function(fd, buffers, ...args) { if (typeof args[args.length - 1] === "function") { return fs4.writev(fd, buffers, ...args); } return new Promise((resolve, reject) => { fs4.writev(fd, buffers, ...args, (err, bytesWritten, buffers2) => { if (err) return reject(err); resolve({bytesWritten, buffers: buffers2}); }); }); }; } if (typeof fs4.realpath.native === "function") { exports2.realpath.native = u(fs4.realpath.native); } }); // node_modules/at-least-node/index.js var require_at_least_node = __commonJS((exports2, module2) => { module2.exports = (r) => { const n = process.versions.node.split(".").map((x) => parseInt(x, 10)); r = r.split(".").map((x) => parseInt(x, 10)); return n[0] > r[0] || n[0] === r[0] && (n[1] > r[1] || n[1] === r[1] && n[2] >= r[2]); }; }); // node_modules/fs-extra/lib/mkdirs/make-dir.js var require_make_dir = __commonJS((exports2, module2) => { "use strict"; var fs4 = require_fs(); var path4 = require("path"); var atLeastNode = require_at_least_node(); var useNativeRecursiveOption = atLeastNode("10.12.0"); var checkPath = (pth) => { if (process.platform === "win32") { const pathHasInvalidWinCharacters = /[<>:"|?*]/.test(pth.replace(path4.parse(pth).root, "")); if (pathHasInvalidWinCharacters) { const error = new Error(`Path contains invalid characters: ${pth}`); error.code = "EINVAL"; throw error; } } }; var processOptions = (options) => { const defaults = {mode: 511}; if (typeof options === "number") options = {mode: options}; return {...defaults, ...options}; }; var permissionError = (pth) => { const error = new Error(`operation not permitted, mkdir '${pth}'`); error.code = "EPERM"; error.errno = -4048; error.path = pth; error.syscall = "mkdir"; return error; }; module2.exports.makeDir = async (input, options) => { checkPath(input); options = processOptions(options); if (useNativeRecursiveOption) { const pth = path4.resolve(input); return fs4.mkdir(pth, { mode: options.mode, recursive: true }); } const make = async (pth) => { try { await fs4.mkdir(pth, options.mode); } catch (error) { if (error.code === "EPERM") { throw error; } if (error.code === "ENOENT") { if (path4.dirname(pth) === pth) { throw permissionError(pth); } if (error.message.includes("null bytes")) { throw error; } await make(path4.dirname(pth)); return make(pth); } try { const stats = await fs4.stat(pth); if (!stats.isDirectory()) { throw new Error("The path is not a directory"); } } catch { throw error; } } }; return make(path4.resolve(input)); }; module2.exports.makeDirSync = (input, options) => { checkPath(input); options = processOptions(options); if (useNativeRecursiveOption) { const pth = path4.resolve(input); return fs4.mkdirSync(pth, { mode: options.mode, recursive: true }); } const make = (pth) => { try { fs4.mkdirSync(pth, options.mode); } catch (error) { if (error.code === "EPERM") { throw error; } if (error.code === "ENOENT") { if (path4.dirname(pth) === pth) { throw permissionError(pth); } if (error.message.includes("null bytes")) { throw error; } make(path4.dirname(pth)); return make(pth); } try { if (!fs4.statSync(pth).isDirectory()) { throw new Error("The path is not a directory"); } } catch { throw error; } } }; return make(path4.resolve(input)); }; }); // node_modules/fs-extra/lib/mkdirs/index.js var require_mkdirs = __commonJS((exports2, module2) => { "use strict"; var u = require_universalify().fromPromise; var {makeDir: _makeDir, makeDirSync} = require_make_dir(); var makeDir = u(_makeDir); module2.exports = { mkdirs: makeDir, mkdirsSync: makeDirSync, mkdirp: makeDir, mkdirpSync: makeDirSync, ensureDir: makeDir, ensureDirSync: makeDirSync }; }); // node_modules/fs-extra/lib/util/utimes.js var require_utimes = __commonJS((exports2, module2) => { "use strict"; var fs4 = require_graceful_fs(); function utimesMillis(path4, atime, mtime, callback) { fs4.open(path4, "r+", (err, fd) => { if (err) return callback(err); fs4.futimes(fd, atime, mtime, (futimesErr) => { fs4.close(fd, (closeErr) => { if (callback) callback(futimesErr || closeErr); }); }); }); } function utimesMillisSync(path4, atime, mtime) { const fd = fs4.openSync(path4, "r+"); fs4.futimesSync(fd, atime, mtime); return fs4.closeSync(fd); } module2.exports = { utimesMillis, utimesMillisSync }; }); // node_modules/fs-extra/lib/util/stat.js var require_stat = __commonJS((exports2, module2) => { "use strict"; var fs4 = require_fs(); var path4 = require("path"); var util = require("util"); var atLeastNode = require_at_least_node(); var nodeSupportsBigInt = atLeastNode("10.5.0"); var stat = (file) => nodeSupportsBigInt ? fs4.stat(file, {bigint: true}) : fs4.stat(file); var statSync = (file) => nodeSupportsBigInt ? fs4.statSync(file, {bigint: true}) : fs4.statSync(file); function getStats(src, dest) { return Promise.all([ stat(src), stat(dest).catch((err) => { if (err.code === "ENOENT") return null; throw err; }) ]).then(([srcStat, destStat]) => ({srcStat, destStat})); } function getStatsSync(src, dest) { let destStat; const srcStat = statSync(src); try { destStat = statSync(dest); } catch (err) { if (err.code === "ENOENT") return {srcStat, destStat: null}; throw err; } return {srcStat, destStat}; } function checkPaths(src, dest, funcName, cb) { util.callbackify(getStats)(src, dest, (err, stats) => { if (err) return cb(err); const {srcStat, destStat} = stats; if (destStat && areIdentical(srcStat, destStat)) { return cb(new Error("Source and destination must not be the same.")); } if (srcStat.isDirectory() && isSrcSubdir(src, dest)) { return cb(new Error(errMsg(src, dest, funcName))); } return cb(null, {srcStat, destStat}); }); } function checkPathsSync(src, dest, funcName) { const {srcStat, destStat} = getStatsSync(src, dest); if (destStat && areIdentical(srcStat, destStat)) { throw new Error("Source and destination must not be the same."); } if (srcStat.isDirectory() && isSrcSubdir(src, dest)) { throw new Error(errMsg(src, dest, funcName)); } return {srcStat, destStat}; } function checkParentPaths(src, srcStat, dest, funcName, cb) { const srcParent = path4.resolve(path4.dirname(src)); const destParent = path4.resolve(path4.dirname(dest)); if (destParent === srcParent || destParent === path4.parse(destParent).root) return cb(); const callback = (err, destStat) => { if (err) { if (err.code === "ENOENT") return cb(); return cb(err); } if (areIdentical(srcStat, destStat)) { return cb(new Error(errMsg(src, dest, funcName))); } return checkParentPaths(src, srcStat, destParent, funcName, cb); }; if (nodeSupportsBigInt) fs4.stat(destParent, {bigint: true}, callback); else fs4.stat(destParent, callback); } function checkParentPathsSync(src, srcStat, dest, funcName) { const srcParent = path4.resolve(path4.dirname(src)); const destParent = path4.resolve(path4.dirname(dest)); if (destParent === srcParent || destParent === path4.parse(destParent).root) return; let destStat; try { destStat = statSync(destParent); } catch (err) { if (err.code === "ENOENT") return; throw err; } if (areIdentical(srcStat, destStat)) { throw new Error(errMsg(src, dest, funcName)); } return checkParentPathsSync(src, srcStat, destParent, funcName); } function areIdentical(srcStat, destStat) { if (destStat.ino && destStat.dev && destStat.ino === srcStat.ino && destStat.dev === srcStat.dev) { if (nodeSupportsBigInt || destStat.ino < Number.MAX_SAFE_INTEGER) { return true; } if (destStat.size === srcStat.size && destStat.mode === srcStat.mode && destStat.nlink === srcStat.nlink && destStat.atimeMs === srcStat.atimeMs && destStat.mtimeMs === srcStat.mtimeMs && destStat.ctimeMs === srcStat.ctimeMs && destStat.birthtimeMs === srcStat.birthtimeMs) { return true; } } return false; } function isSrcSubdir(src, dest) { const srcArr = path4.resolve(src).split(path4.sep).filter((i) => i); const destArr = path4.resolve(dest).split(path4.sep).filter((i) => i); return srcArr.reduce((acc, cur, i) => acc && destArr[i] === cur, true); } function errMsg(src, dest, funcName) { return `Cannot ${funcName} '${src}' to a subdirectory of itself, '${dest}'.`; } module2.exports = { checkPaths, checkPathsSync, checkParentPaths, checkParentPathsSync, isSrcSubdir }; }); // node_modules/fs-extra/lib/copy-sync/copy-sync.js var require_copy_sync = __commonJS((exports2, module2) => { "use strict"; var fs4 = require_graceful_fs(); var path4 = require("path"); var mkdirsSync = require_mkdirs().mkdirsSync; var utimesMillisSync = require_utimes().utimesMillisSync; var stat = require_stat(); function copySync(src, dest, opts) { if (typeof opts === "function") { opts = {filter: opts}; } opts = opts || {}; opts.clobber = "clobber" in opts ? !!opts.clobber : true; opts.overwrite = "overwrite" in opts ? !!opts.overwrite : opts.clobber; if (opts.preserveTimestamps && process.arch === "ia32") { console.warn(`fs-extra: Using the preserveTimestamps option in 32-bit node is not recommended; see https://github.com/jprichardson/node-fs-extra/issues/269`); } const {srcStat, destStat} = stat.checkPathsSync(src, dest, "copy"); stat.checkParentPathsSync(src, srcStat, dest, "copy"); return handleFilterAndCopy(destStat, src, dest, opts); } function handleFilterAndCopy(destStat, src, dest, opts) { if (opts.filter && !opts.filter(src, dest)) return; const destParent = path4.dirname(dest); if (!fs4.existsSync(destParent)) mkdirsSync(destParent); return startCopy(destStat, src, dest, opts); } function startCopy(destStat, src, dest, opts) { if (opts.filter && !opts.filter(src, dest)) return; return getStats(destStat, src, dest, opts); } function getStats(destStat, src, dest, opts) { const statSync = opts.dereference ? fs4.statSync : fs4.lstatSync; const srcStat = statSync(src); if (srcStat.isDirectory()) return onDir(srcStat, destStat, src, dest, opts); else if (srcStat.isFile() || srcStat.isCharacterDevice() || srcStat.isBlockDevice()) return onFile(srcStat, destStat, src, dest, opts); else if (srcStat.isSymbolicLink()) return onLink(destStat, src, dest, opts); } function onFile(srcStat, destStat, src, dest, opts) { if (!destStat) return copyFile(srcStat, src, dest, opts); return mayCopyFile(srcStat, src, dest, opts); } function mayCopyFile(srcStat, src, dest, opts) { if (opts.overwrite) { fs4.unlinkSync(dest); return copyFile(srcStat, src, dest, opts); } else if (opts.errorOnExist) { throw new Error(`'${dest}' already exists`); } } function copyFile(srcStat, src, dest, opts) { fs4.copyFileSync(src, dest); if (opts.preserveTimestamps) handleTimestamps(srcStat.mode, src, dest); return setDestMode(dest, srcStat.mode); } function handleTimestamps(srcMode, src, dest) { if (fileIsNotWritable(srcMode)) makeFileWritable(dest, srcMode); return setDestTimestamps(src, dest); } function fileIsNotWritable(srcMode) { return (srcMode & 128) === 0; } function makeFileWritable(dest, srcMode) { return setDestMode(dest, srcMode | 128); } function setDestMode(dest, srcMode) { return fs4.chmodSync(dest, srcMode); } function setDestTimestamps(src, dest) { const updatedSrcStat = fs4.statSync(src); return utimesMillisSync(dest, updatedSrcStat.atime, updatedSrcStat.mtime); } function onDir(srcStat, destStat, src, dest, opts) { if (!destStat) return mkDirAndCopy(srcStat.mode, src, dest, opts); if (destStat && !destStat.isDirectory()) { throw new Error(`Cannot overwrite non-directory '${dest}' with directory '${src}'.`); } return copyDir(src, dest, opts); } function mkDirAndCopy(srcMode, src, dest, opts) { fs4.mkdirSync(dest); copyDir(src, dest, opts); return setDestMode(dest, srcMode); } function copyDir(src, dest, opts) { fs4.readdirSync(src).forEach((item) => copyDirItem(item, src, dest, opts)); } function copyDirItem(item, src, dest, opts) { const srcItem = path4.join(src, item); const destItem = path4.join(dest, item); const {destStat} = stat.checkPathsSync(srcItem, destItem, "copy"); return startCopy(destStat, srcItem, destItem, opts); } function onLink(destStat, src, dest, opts) { let resolvedSrc = fs4.readlinkSync(src); if (opts.dereference) { resolvedSrc = path4.resolve(process.cwd(), resolvedSrc); } if (!destStat) { return fs4.symlinkSync(resolvedSrc, dest); } else { let resolvedDest; try { resolvedDest = fs4.readlinkSync(dest); } catch (err) { if (err.code === "EINVAL" || err.code === "UNKNOWN") return fs4.symlinkSync(resolvedSrc, dest); throw err; } if (opts.dereference) { resolvedDest = path4.resolve(process.cwd(), resolvedDest); } if (stat.isSrcSubdir(resolvedSrc, resolvedDest)) { throw new Error(`Cannot copy '${resolvedSrc}' to a subdirectory of itself, '${resolvedDest}'.`); } if (fs4.statSync(dest).isDirectory() && stat.isSrcSubdir(resolvedDest, resolvedSrc)) { throw new Error(`Cannot overwrite '${resolvedDest}' with '${resolvedSrc}'.`); } return copyLink(resolvedSrc, dest); } } function copyLink(resolvedSrc, dest) { fs4.unlinkSync(dest); return fs4.symlinkSync(resolvedSrc, dest); } module2.exports = copySync; }); // node_modules/fs-extra/lib/copy-sync/index.js var require_copy_sync2 = __commonJS((exports2, module2) => { "use strict"; module2.exports = { copySync: require_copy_sync() }; }); // node_modules/fs-extra/lib/path-exists/index.js var require_path_exists = __commonJS((exports2, module2) => { "use strict"; var u = require_universalify().fromPromise; var fs4 = require_fs(); function pathExists(path4) { return fs4.access(path4).then(() => true).catch(() => false); } module2.exports = { pathExists: u(pathExists), pathExistsSync: fs4.existsSync }; }); // node_modules/fs-extra/lib/copy/copy.js var require_copy = __commonJS((exports2, module2) => { "use strict"; var fs4 = require_graceful_fs(); var path4 = require("path"); var mkdirs = require_mkdirs().mkdirs; var pathExists = require_path_exists().pathExists; var utimesMillis = require_utimes().utimesMillis; var stat = require_stat(); function copy(src, dest, opts, cb) { if (typeof opts === "function" && !cb) { cb = opts; opts = {}; } else if (typeof opts === "function") { opts = {filter: opts}; } cb = cb || function() { }; opts = opts || {}; opts.clobber = "clobber" in opts ? !!opts.clobber : true; opts.overwrite = "overwrite" in opts ? !!opts.overwrite : opts.clobber; if (opts.preserveTimestamps && process.arch === "ia32") { console.warn(`fs-extra: Using the preserveTimestamps option in 32-bit node is not recommended; see https://github.com/jprichardson/node-fs-extra/issues/269`); } stat.checkPaths(src, dest, "copy", (err, stats) => { if (err) return cb(err); const {srcStat, destStat} = stats; stat.checkParentPaths(src, srcStat, dest, "copy", (err2) => { if (err2) return cb(err2); if (opts.filter) return handleFilter(checkParentDir, destStat, src, dest, opts, cb); return checkParentDir(destStat, src, dest, opts, cb); }); }); } function checkParentDir(destStat, src, dest, opts, cb) { const destParent = path4.dirname(dest); pathExists(destParent, (err, dirExists) => { if (err) return cb(err); if (dirExists) return startCopy(destStat, src, dest, opts, cb); mkdirs(destParent, (err2) => { if (err2) return cb(err2); return startCopy(destStat, src, dest, opts, cb); }); }); } function handleFilter(onInclude, destStat, src, dest, opts, cb) { Promise.resolve(opts.filter(src, dest)).then((include) => { if (include) return onInclude(destStat, src, dest, opts, cb); return cb(); }, (error) => cb(error)); } function startCopy(destStat, src, dest, opts, cb) { if (opts.filter) return handleFilter(getStats, destStat, src, dest, opts, cb); return getStats(destStat, src, dest, opts, cb); } function getStats(destStat, src, dest, opts, cb) { const stat2 = opts.dereference ? fs4.stat : fs4.lstat; stat2(src, (err, srcStat) => { if (err) return cb(err); if (srcStat.isDirectory()) return onDir(srcStat, destStat, src, dest, opts, cb); else if (srcStat.isFile() || srcStat.isCharacterDevice() || srcStat.isBlockDevice()) return onFile(srcStat, destStat, src, dest, opts, cb); else if (srcStat.isSymbolicLink()) return onLink(destStat, src, dest, opts, cb); }); } function onFile(srcStat, destStat, src, dest, opts, cb) { if (!destStat) return copyFile(srcStat, src, dest, opts, cb); return mayCopyFile(srcStat, src, dest, opts, cb); } function mayCopyFile(srcStat, src, dest, opts, cb) { if (opts.overwrite) { fs4.unlink(dest, (err) => { if (err) return cb(err); return copyFile(srcStat, src, dest, opts, cb); }); } else if (opts.errorOnExist) { return cb(new Error(`'${dest}' already exists`)); } else return cb(); } function copyFile(srcStat, src, dest, opts, cb) { fs4.copyFile(src, dest, (err) => { if (err) return cb(err); if (opts.preserveTimestamps) return handleTimestampsAndMode(srcStat.mode, src, dest, cb); return setDestMode(dest, srcStat.mode, cb); }); } function handleTimestampsAndMode(srcMode, src, dest, cb) { if (fileIsNotWritable(srcMode)) { return makeFileWritable(dest, srcMode, (err) => { if (err) return cb(err); return setDestTimestampsAndMode(srcMode, src, dest, cb); }); } return setDestTimestampsAndMode(srcMode, src, dest, cb); } function fileIsNotWritable(srcMode) { return (srcMode & 128) === 0; } function makeFileWritable(dest, srcMode, cb) { return setDestMode(dest, srcMode | 128, cb); } function setDestTimestampsAndMode(srcMode, src, dest, cb) { setDestTimestamps(src, dest, (err) => { if (err) return cb(err); return setDestMode(dest, srcMode, cb); }); } function setDestMode(dest, srcMode, cb) { return fs4.chmod(dest, srcMode, cb); } function setDestTimestamps(src, dest, cb) { fs4.stat(src, (err, updatedSrcStat) => { if (err) return cb(err); return utimesMillis(dest, updatedSrcStat.atime, updatedSrcStat.mtime, cb); }); } function onDir(srcStat, destStat, src, dest, opts, cb) { if (!destStat) return mkDirAndCopy(srcStat.mode, src, dest, opts, cb); if (destStat && !destStat.isDirectory()) { return cb(new Error(`Cannot overwrite non-directory '${dest}' with directory '${src}'.`)); } return copyDir(src, dest, opts, cb); } function mkDirAndCopy(srcMode, src, dest, opts, cb) { fs4.mkdir(dest, (err) => { if (err) return cb(err); copyDir(src, dest, opts, (err2) => { if (err2) return cb(err2); return setDestMode(dest, srcMode, cb); }); }); } function copyDir(src, dest, opts, cb) { fs4.readdir(src, (err, items) => { if (err) return cb(err); return copyDirItems(items, src, dest, opts, cb); }); } function copyDirItems(items, src, dest, opts, cb) { const item = items.pop(); if (!item) return cb(); return copyDirItem(items, item, src, dest, opts, cb); } function copyDirItem(items, item, src, dest, opts, cb) { const srcItem = path4.join(src, item); const destItem = path4.join(dest, item); stat.checkPaths(srcItem, destItem, "copy", (err, stats) => { if (err) return cb(err); const {destStat} = stats; startCopy(destStat, srcItem, destItem, opts, (err2) => { if (err2) return cb(err2); return copyDirItems(items, src, dest, opts, cb); }); }); } function onLink(destStat, src, dest, opts, cb) { fs4.readlink(src, (err, resolvedSrc) => { if (err) return cb(err); if (opts.dereference) { resolvedSrc = path4.resolve(process.cwd(), resolvedSrc); } if (!destStat) { return fs4.symlink(resolvedSrc, dest, cb); } else { fs4.readlink(dest, (err2, resolvedDest) => { if (err2) { if (err2.code === "EINVAL" || err2.code === "UNKNOWN") return fs4.symlink(resolvedSrc, dest, cb); return cb(err2); } if (opts.dereference) { resolvedDest = path4.resolve(process.cwd(), resolvedDest); } if (stat.isSrcSubdir(resolvedSrc, resolvedDest)) { return cb(new Error(`Cannot copy '${resolvedSrc}' to a subdirectory of itself, '${resolvedDest}'.`)); } if (destStat.isDirectory() && stat.isSrcSubdir(resolvedDest, resolvedSrc)) { return cb(new Error(`Cannot overwrite '${resolvedDest}' with '${resolvedSrc}'.`)); } return copyLink(resolvedSrc, dest, cb); }); } }); } function copyLink(resolvedSrc, dest, cb) { fs4.unlink(dest, (err) => { if (err) return cb(err); return fs4.symlink(resolvedSrc, dest, cb); }); } module2.exports = copy; }); // node_modules/fs-extra/lib/copy/index.js var require_copy2 = __commonJS((exports2, module2) => { "use strict"; var u = require_universalify().fromCallback; module2.exports = { copy: u(require_copy()) }; }); // node_modules/fs-extra/lib/remove/rimraf.js var require_rimraf = __commonJS((exports2, module2) => { "use strict";