coc-java
Version:
Java language extension for coc.nvim
1,448 lines (1,433 loc) • 1.14 MB
JavaScript
"use strict";
var __create = Object.create;
var __defProp = Object.defineProperty;
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
var __getOwnPropNames = Object.getOwnPropertyNames;
var __getProtoOf = Object.getPrototypeOf;
var __hasOwnProp = Object.prototype.hasOwnProperty;
var __commonJS = (cb, mod) => function __require() {
return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;
};
var __export = (target, all) => {
for (var name in all)
__defProp(target, name, { get: all[name], enumerable: true });
};
var __copyProps = (to, from, except, desc) => {
if (from && typeof from === "object" || typeof from === "function") {
for (let key of __getOwnPropNames(from))
if (!__hasOwnProp.call(to, key) && key !== except)
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
}
return to;
};
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
// If the importer is in node compatibility mode or this is not an ESM
// file that has been converted to a CommonJS file using a Babel-
// compatible transform (i.e. "__esModule" has not been set), then set
// "default" to the CommonJS "module.exports" for node compatibility.
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
mod
));
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
// node_modules/universalify/index.js
var require_universalify = __commonJS({
"node_modules/universalify/index.js"(exports2) {
"use strict";
exports2.fromCallback = function(fn) {
return Object.defineProperty(function() {
if (typeof arguments[arguments.length - 1] === "function") fn.apply(this, arguments);
else {
return new Promise((resolve9, reject) => {
arguments[arguments.length] = (err, res) => {
if (err) return reject(err);
resolve9(res);
};
arguments.length++;
fn.apply(this, arguments);
});
}
}, "name", { value: fn.name });
};
exports2.fromPromise = function(fn) {
return Object.defineProperty(function() {
const cb = arguments[arguments.length - 1];
if (typeof cb !== "function") return fn.apply(this, arguments);
else fn.apply(this, arguments).then((r) => cb(null, r), cb);
}, "name", { value: fn.name });
};
}
});
// node_modules/graceful-fs/polyfills.js
var require_polyfills = __commonJS({
"node_modules/graceful-fs/polyfills.js"(exports2, module2) {
var constants = require("constants");
var origCwd = process.cwd;
var cwd = null;
var platform2 = process.env.GRACEFUL_FS_PLATFORM || process.platform;
process.cwd = function() {
if (!cwd)
cwd = origCwd.call(process);
return cwd;
};
try {
process.cwd();
} catch (er) {
}
if (typeof process.chdir === "function") {
chdir = process.chdir;
process.chdir = function(d) {
cwd = null;
chdir.call(process, d);
};
if (Object.setPrototypeOf) Object.setPrototypeOf(process.chdir, chdir);
}
var chdir;
module2.exports = patch;
function patch(fs7) {
if (constants.hasOwnProperty("O_SYMLINK") && process.version.match(/^v0\.6\.[0-2]|^v0\.5\./)) {
patchLchmod(fs7);
}
if (!fs7.lutimes) {
patchLutimes(fs7);
}
fs7.chown = chownFix(fs7.chown);
fs7.fchown = chownFix(fs7.fchown);
fs7.lchown = chownFix(fs7.lchown);
fs7.chmod = chmodFix(fs7.chmod);
fs7.fchmod = chmodFix(fs7.fchmod);
fs7.lchmod = chmodFix(fs7.lchmod);
fs7.chownSync = chownFixSync(fs7.chownSync);
fs7.fchownSync = chownFixSync(fs7.fchownSync);
fs7.lchownSync = chownFixSync(fs7.lchownSync);
fs7.chmodSync = chmodFixSync(fs7.chmodSync);
fs7.fchmodSync = chmodFixSync(fs7.fchmodSync);
fs7.lchmodSync = chmodFixSync(fs7.lchmodSync);
fs7.stat = statFix(fs7.stat);
fs7.fstat = statFix(fs7.fstat);
fs7.lstat = statFix(fs7.lstat);
fs7.statSync = statFixSync(fs7.statSync);
fs7.fstatSync = statFixSync(fs7.fstatSync);
fs7.lstatSync = statFixSync(fs7.lstatSync);
if (fs7.chmod && !fs7.lchmod) {
fs7.lchmod = function(path18, mode, cb) {
if (cb) process.nextTick(cb);
};
fs7.lchmodSync = function() {
};
}
if (fs7.chown && !fs7.lchown) {
fs7.lchown = function(path18, uid, gid, cb) {
if (cb) process.nextTick(cb);
};
fs7.lchownSync = function() {
};
}
if (platform2 === "win32") {
fs7.rename = typeof fs7.rename !== "function" ? fs7.rename : function(fs$rename) {
function rename2(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() {
fs7.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);
});
}
if (Object.setPrototypeOf) Object.setPrototypeOf(rename2, fs$rename);
return rename2;
}(fs7.rename);
}
fs7.read = typeof fs7.read !== "function" ? fs7.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(fs7, fd, buffer, offset, length, position, callback);
}
callback_.apply(this, arguments);
};
}
return fs$read.call(fs7, fd, buffer, offset, length, position, callback);
}
if (Object.setPrototypeOf) Object.setPrototypeOf(read, fs$read);
return read;
}(fs7.read);
fs7.readSync = typeof fs7.readSync !== "function" ? fs7.readSync : /* @__PURE__ */ function(fs$readSync) {
return function(fd, buffer, offset, length, position) {
var eagCounter = 0;
while (true) {
try {
return fs$readSync.call(fs7, fd, buffer, offset, length, position);
} catch (er) {
if (er.code === "EAGAIN" && eagCounter < 10) {
eagCounter++;
continue;
}
throw er;
}
}
};
}(fs7.readSync);
function patchLchmod(fs8) {
fs8.lchmod = function(path18, mode, callback) {
fs8.open(
path18,
constants.O_WRONLY | constants.O_SYMLINK,
mode,
function(err, fd) {
if (err) {
if (callback) callback(err);
return;
}
fs8.fchmod(fd, mode, function(err2) {
fs8.close(fd, function(err22) {
if (callback) callback(err2 || err22);
});
});
}
);
};
fs8.lchmodSync = function(path18, mode) {
var fd = fs8.openSync(path18, constants.O_WRONLY | constants.O_SYMLINK, mode);
var threw = true;
var ret;
try {
ret = fs8.fchmodSync(fd, mode);
threw = false;
} finally {
if (threw) {
try {
fs8.closeSync(fd);
} catch (er) {
}
} else {
fs8.closeSync(fd);
}
}
return ret;
};
}
function patchLutimes(fs8) {
if (constants.hasOwnProperty("O_SYMLINK") && fs8.futimes) {
fs8.lutimes = function(path18, at, mt, cb) {
fs8.open(path18, constants.O_SYMLINK, function(er, fd) {
if (er) {
if (cb) cb(er);
return;
}
fs8.futimes(fd, at, mt, function(er2) {
fs8.close(fd, function(er22) {
if (cb) cb(er2 || er22);
});
});
});
};
fs8.lutimesSync = function(path18, at, mt) {
var fd = fs8.openSync(path18, constants.O_SYMLINK);
var ret;
var threw = true;
try {
ret = fs8.futimesSync(fd, at, mt);
threw = false;
} finally {
if (threw) {
try {
fs8.closeSync(fd);
} catch (er) {
}
} else {
fs8.closeSync(fd);
}
}
return ret;
};
} else if (fs8.futimes) {
fs8.lutimes = function(_a, _b, _c, cb) {
if (cb) process.nextTick(cb);
};
fs8.lutimesSync = function() {
};
}
}
function chmodFix(orig) {
if (!orig) return orig;
return function(target, mode, cb) {
return orig.call(fs7, 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(fs7, 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(fs7, 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(fs7, target, uid, gid);
} catch (er) {
if (!chownErOk(er)) throw er;
}
};
}
function statFix(orig) {
if (!orig) return orig;
return function(target, options2, cb) {
if (typeof options2 === "function") {
cb = options2;
options2 = 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 options2 ? orig.call(fs7, target, options2, callback) : orig.call(fs7, target, callback);
};
}
function statFixSync(orig) {
if (!orig) return orig;
return function(target, options2) {
var stats = options2 ? orig.call(fs7, target, options2) : orig.call(fs7, target);
if (stats) {
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({
"node_modules/graceful-fs/legacy-streams.js"(exports2, module2) {
var Stream = require("stream").Stream;
module2.exports = legacy;
function legacy(fs7) {
return {
ReadStream,
WriteStream
};
function ReadStream(path18, options2) {
if (!(this instanceof ReadStream)) return new ReadStream(path18, options2);
Stream.call(this);
var self2 = this;
this.path = path18;
this.fd = null;
this.readable = true;
this.paused = false;
this.flags = "r";
this.mode = 438;
this.bufferSize = 64 * 1024;
options2 = options2 || {};
var keys = Object.keys(options2);
for (var index = 0, length = keys.length; index < length; index++) {
var key = keys[index];
this[key] = options2[key];
}
if (this.encoding) this.setEncoding(this.encoding);
if (this.start !== void 0) {
if ("number" !== typeof this.start) {
throw TypeError("start must be a Number");
}
if (this.end === void 0) {
this.end = Infinity;
} else if ("number" !== typeof this.end) {
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() {
self2._read();
});
return;
}
fs7.open(this.path, this.flags, this.mode, function(err, fd) {
if (err) {
self2.emit("error", err);
self2.readable = false;
return;
}
self2.fd = fd;
self2.emit("open", fd);
self2._read();
});
}
function WriteStream(path18, options2) {
if (!(this instanceof WriteStream)) return new WriteStream(path18, options2);
Stream.call(this);
this.path = path18;
this.fd = null;
this.writable = true;
this.flags = "w";
this.encoding = "binary";
this.mode = 438;
this.bytesWritten = 0;
options2 = options2 || {};
var keys = Object.keys(options2);
for (var index = 0, length = keys.length; index < length; index++) {
var key = keys[index];
this[key] = options2[key];
}
if (this.start !== void 0) {
if ("number" !== typeof this.start) {
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 = fs7.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({
"node_modules/graceful-fs/clone.js"(exports2, module2) {
"use strict";
module2.exports = clone;
var getPrototypeOf = Object.getPrototypeOf || function(obj) {
return obj.__proto__;
};
function clone(obj) {
if (obj === null || typeof obj !== "object")
return obj;
if (obj instanceof Object)
var copy = { __proto__: getPrototypeOf(obj) };
else
var copy = /* @__PURE__ */ 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({
"node_modules/graceful-fs/graceful-fs.js"(exports2, module2) {
var fs7 = 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 (!fs7[gracefulQueue]) {
queue = global[gracefulQueue] || [];
publishQueue(fs7, queue);
fs7.close = function(fs$close) {
function close(fd, cb) {
return fs$close.call(fs7, fd, function(err) {
if (!err) {
resetQueue();
}
if (typeof cb === "function")
cb.apply(this, arguments);
});
}
Object.defineProperty(close, previousSymbol, {
value: fs$close
});
return close;
}(fs7.close);
fs7.closeSync = function(fs$closeSync) {
function closeSync3(fd) {
fs$closeSync.apply(fs7, arguments);
resetQueue();
}
Object.defineProperty(closeSync3, previousSymbol, {
value: fs$closeSync
});
return closeSync3;
}(fs7.closeSync);
if (/\bgfs4\b/i.test(process.env.NODE_DEBUG || "")) {
process.on("exit", function() {
debug(fs7[gracefulQueue]);
require("assert").equal(fs7[gracefulQueue].length, 0);
});
}
}
var queue;
if (!global[gracefulQueue]) {
publishQueue(global, fs7[gracefulQueue]);
}
module2.exports = patch(clone(fs7));
if (process.env.TEST_GRACEFUL_FS_GLOBAL_PATCH && !fs7.__patched) {
module2.exports = patch(fs7);
fs7.__patched = true;
}
function patch(fs8) {
polyfills(fs8);
fs8.gracefulify = patch;
fs8.createReadStream = createReadStream2;
fs8.createWriteStream = createWriteStream2;
var fs$readFile = fs8.readFile;
fs8.readFile = readFile3;
function readFile3(path18, options2, cb) {
if (typeof options2 === "function")
cb = options2, options2 = null;
return go$readFile(path18, options2, cb);
function go$readFile(path19, options3, cb2, startTime) {
return fs$readFile(path19, options3, function(err) {
if (err && (err.code === "EMFILE" || err.code === "ENFILE"))
enqueue([go$readFile, [path19, options3, cb2], err, startTime || Date.now(), Date.now()]);
else {
if (typeof cb2 === "function")
cb2.apply(this, arguments);
}
});
}
}
var fs$writeFile = fs8.writeFile;
fs8.writeFile = writeFile2;
function writeFile2(path18, data, options2, cb) {
if (typeof options2 === "function")
cb = options2, options2 = null;
return go$writeFile(path18, data, options2, cb);
function go$writeFile(path19, data2, options3, cb2, startTime) {
return fs$writeFile(path19, data2, options3, function(err) {
if (err && (err.code === "EMFILE" || err.code === "ENFILE"))
enqueue([go$writeFile, [path19, data2, options3, cb2], err, startTime || Date.now(), Date.now()]);
else {
if (typeof cb2 === "function")
cb2.apply(this, arguments);
}
});
}
}
var fs$appendFile = fs8.appendFile;
if (fs$appendFile)
fs8.appendFile = appendFile2;
function appendFile2(path18, data, options2, cb) {
if (typeof options2 === "function")
cb = options2, options2 = null;
return go$appendFile(path18, data, options2, cb);
function go$appendFile(path19, data2, options3, cb2, startTime) {
return fs$appendFile(path19, data2, options3, function(err) {
if (err && (err.code === "EMFILE" || err.code === "ENFILE"))
enqueue([go$appendFile, [path19, data2, options3, cb2], err, startTime || Date.now(), Date.now()]);
else {
if (typeof cb2 === "function")
cb2.apply(this, arguments);
}
});
}
}
var fs$copyFile = fs8.copyFile;
if (fs$copyFile)
fs8.copyFile = copyFile;
function copyFile(src, dest, flags, cb) {
if (typeof flags === "function") {
cb = flags;
flags = 0;
}
return go$copyFile(src, dest, flags, cb);
function go$copyFile(src2, dest2, flags2, cb2, startTime) {
return fs$copyFile(src2, dest2, flags2, function(err) {
if (err && (err.code === "EMFILE" || err.code === "ENFILE"))
enqueue([go$copyFile, [src2, dest2, flags2, cb2], err, startTime || Date.now(), Date.now()]);
else {
if (typeof cb2 === "function")
cb2.apply(this, arguments);
}
});
}
}
var fs$readdir = fs8.readdir;
fs8.readdir = readdir;
var noReaddirOptionVersions = /^v[0-5]\./;
function readdir(path18, options2, cb) {
if (typeof options2 === "function")
cb = options2, options2 = null;
var go$readdir = noReaddirOptionVersions.test(process.version) ? function go$readdir2(path19, options3, cb2, startTime) {
return fs$readdir(path19, fs$readdirCallback(
path19,
options3,
cb2,
startTime
));
} : function go$readdir2(path19, options3, cb2, startTime) {
return fs$readdir(path19, options3, fs$readdirCallback(
path19,
options3,
cb2,
startTime
));
};
return go$readdir(path18, options2, cb);
function fs$readdirCallback(path19, options3, cb2, startTime) {
return function(err, files) {
if (err && (err.code === "EMFILE" || err.code === "ENFILE"))
enqueue([
go$readdir,
[path19, options3, cb2],
err,
startTime || Date.now(),
Date.now()
]);
else {
if (files && files.sort)
files.sort();
if (typeof cb2 === "function")
cb2.call(this, err, files);
}
};
}
}
if (process.version.substr(0, 4) === "v0.8") {
var legStreams = legacy(fs8);
ReadStream = legStreams.ReadStream;
WriteStream = legStreams.WriteStream;
}
var fs$ReadStream = fs8.ReadStream;
if (fs$ReadStream) {
ReadStream.prototype = Object.create(fs$ReadStream.prototype);
ReadStream.prototype.open = ReadStream$open;
}
var fs$WriteStream = fs8.WriteStream;
if (fs$WriteStream) {
WriteStream.prototype = Object.create(fs$WriteStream.prototype);
WriteStream.prototype.open = WriteStream$open;
}
Object.defineProperty(fs8, "ReadStream", {
get: function() {
return ReadStream;
},
set: function(val) {
ReadStream = val;
},
enumerable: true,
configurable: true
});
Object.defineProperty(fs8, "WriteStream", {
get: function() {
return WriteStream;
},
set: function(val) {
WriteStream = val;
},
enumerable: true,
configurable: true
});
var FileReadStream = ReadStream;
Object.defineProperty(fs8, "FileReadStream", {
get: function() {
return FileReadStream;
},
set: function(val) {
FileReadStream = val;
},
enumerable: true,
configurable: true
});
var FileWriteStream = WriteStream;
Object.defineProperty(fs8, "FileWriteStream", {
get: function() {
return FileWriteStream;
},
set: function(val) {
FileWriteStream = val;
},
enumerable: true,
configurable: true
});
function ReadStream(path18, options2) {
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(path18, options2) {
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 createReadStream2(path18, options2) {
return new fs8.ReadStream(path18, options2);
}
function createWriteStream2(path18, options2) {
return new fs8.WriteStream(path18, options2);
}
var fs$open = fs8.open;
fs8.open = open;
function open(path18, flags, mode, cb) {
if (typeof mode === "function")
cb = mode, mode = null;
return go$open(path18, flags, mode, cb);
function go$open(path19, flags2, mode2, cb2, startTime) {
return fs$open(path19, flags2, mode2, function(err, fd) {
if (err && (err.code === "EMFILE" || err.code === "ENFILE"))
enqueue([go$open, [path19, flags2, mode2, cb2], err, startTime || Date.now(), Date.now()]);
else {
if (typeof cb2 === "function")
cb2.apply(this, arguments);
}
});
}
}
return fs8;
}
function enqueue(elem) {
debug("ENQUEUE", elem[0].name, elem[1]);
fs7[gracefulQueue].push(elem);
retry();
}
var retryTimer;
function resetQueue() {
var now = Date.now();
for (var i = 0; i < fs7[gracefulQueue].length; ++i) {
if (fs7[gracefulQueue][i].length > 2) {
fs7[gracefulQueue][i][3] = now;
fs7[gracefulQueue][i][4] = now;
}
}
retry();
}
function retry() {
clearTimeout(retryTimer);
retryTimer = void 0;
if (fs7[gracefulQueue].length === 0)
return;
var elem = fs7[gracefulQueue].shift();
var fn = elem[0];
var args = elem[1];
var err = elem[2];
var startTime = elem[3];
var lastTime = elem[4];
if (startTime === void 0) {
debug("RETRY", fn.name, args);
fn.apply(null, args);
} else if (Date.now() - startTime >= 6e4) {
debug("TIMEOUT", fn.name, args);
var cb = args.pop();
if (typeof cb === "function")
cb.call(null, err);
} else {
var sinceAttempt = Date.now() - lastTime;
var sinceStart = Math.max(lastTime - startTime, 1);
var desiredDelay = Math.min(sinceStart * 1.2, 100);
if (sinceAttempt >= desiredDelay) {
debug("RETRY", fn.name, args);
fn.apply(null, args.concat([startTime]));
} else {
fs7[gracefulQueue].push(elem);
}
}
if (retryTimer === void 0) {
retryTimer = setTimeout(retry, 0);
}
}
}
});
// node_modules/fs-extra/lib/fs/index.js
var require_fs = __commonJS({
"node_modules/fs-extra/lib/fs/index.js"(exports2) {
"use strict";
var u = require_universalify().fromCallback;
var fs7 = require_graceful_fs();
var api = [
"access",
"appendFile",
"chmod",
"chown",
"close",
"copyFile",
"fchmod",
"fchown",
"fdatasync",
"fstat",
"fsync",
"ftruncate",
"futimes",
"lchown",
"lchmod",
"link",
"lstat",
"mkdir",
"mkdtemp",
"open",
"readFile",
"readdir",
"readlink",
"realpath",
"rename",
"rmdir",
"stat",
"symlink",
"truncate",
"unlink",
"utimes",
"writeFile"
].filter((key) => {
return typeof fs7[key] === "function";
});
Object.keys(fs7).forEach((key) => {
if (key === "promises") {
return;
}
exports2[key] = fs7[key];
});
api.forEach((method) => {
exports2[method] = u(fs7[method]);
});
exports2.exists = function(filename, callback) {
if (typeof callback === "function") {
return fs7.exists(filename, callback);
}
return new Promise((resolve9) => {
return fs7.exists(filename, resolve9);
});
};
exports2.read = function(fd, buffer, offset, length, position, callback) {
if (typeof callback === "function") {
return fs7.read(fd, buffer, offset, length, position, callback);
}
return new Promise((resolve9, reject) => {
fs7.read(fd, buffer, offset, length, position, (err, bytesRead, buffer2) => {
if (err) return reject(err);
resolve9({ bytesRead, buffer: buffer2 });
});
});
};
exports2.write = function(fd, buffer, ...args) {
if (typeof args[args.length - 1] === "function") {
return fs7.write(fd, buffer, ...args);
}
return new Promise((resolve9, reject) => {
fs7.write(fd, buffer, ...args, (err, bytesWritten, buffer2) => {
if (err) return reject(err);
resolve9({ bytesWritten, buffer: buffer2 });
});
});
};
if (typeof fs7.realpath.native === "function") {
exports2.realpath.native = u(fs7.realpath.native);
}
}
});
// node_modules/fs-extra/lib/mkdirs/win32.js
var require_win32 = __commonJS({
"node_modules/fs-extra/lib/mkdirs/win32.js"(exports2, module2) {
"use strict";
var path18 = require("path");
function getRootPath(p) {
p = path18.normalize(path18.resolve(p)).split(path18.sep);
if (p.length > 0) return p[0];
return null;
}
var INVALID_PATH_CHARS = /[<>:"|?*]/;
function invalidWin32Path(p) {
const rp = getRootPath(p);
p = p.replace(rp, "");
return INVALID_PATH_CHARS.test(p);
}
module2.exports = {
getRootPath,
invalidWin32Path
};
}
});
// node_modules/fs-extra/lib/mkdirs/mkdirs.js
var require_mkdirs = __commonJS({
"node_modules/fs-extra/lib/mkdirs/mkdirs.js"(exports2, module2) {
"use strict";
var fs7 = require_graceful_fs();
var path18 = require("path");
var invalidWin32Path = require_win32().invalidWin32Path;
var o777 = parseInt("0777", 8);
function mkdirs(p, opts, callback, made) {
if (typeof opts === "function") {
callback = opts;
opts = {};
} else if (!opts || typeof opts !== "object") {
opts = { mode: opts };
}
if (process.platform === "win32" && invalidWin32Path(p)) {
const errInval = new Error(p + " contains invalid WIN32 path characters.");
errInval.code = "EINVAL";
return callback(errInval);
}
let mode = opts.mode;
const xfs = opts.fs || fs7;
if (mode === void 0) {
mode = o777 & ~process.umask();
}
if (!made) made = null;
callback = callback || function() {
};
p = path18.resolve(p);
xfs.mkdir(p, mode, (er) => {
if (!er) {
made = made || p;
return callback(null, made);
}
switch (er.code) {
case "ENOENT":
if (path18.dirname(p) === p) return callback(er);
mkdirs(path18.dirname(p), opts, (er2, made2) => {
if (er2) callback(er2, made2);
else mkdirs(p, opts, callback, made2);
});
break;
// In the case of any other error, just see if there's a dir
// there already. If so, then hooray! If not, then something
// is borked.
default:
xfs.stat(p, (er2, stat2) => {
if (er2 || !stat2.isDirectory()) callback(er, made);
else callback(null, made);
});
break;
}
});
}
module2.exports = mkdirs;
}
});
// node_modules/fs-extra/lib/mkdirs/mkdirs-sync.js
var require_mkdirs_sync = __commonJS({
"node_modules/fs-extra/lib/mkdirs/mkdirs-sync.js"(exports2, module2) {
"use strict";
var fs7 = require_graceful_fs();
var path18 = require("path");
var invalidWin32Path = require_win32().invalidWin32Path;
var o777 = parseInt("0777", 8);
function mkdirsSync(p, opts, made) {
if (!opts || typeof opts !== "object") {
opts = { mode: opts };
}
let mode = opts.mode;
const xfs = opts.fs || fs7;
if (process.platform === "win32" && invalidWin32Path(p)) {
const errInval = new Error(p + " contains invalid WIN32 path characters.");
errInval.code = "EINVAL";
throw errInval;
}
if (mode === void 0) {
mode = o777 & ~process.umask();
}
if (!made) made = null;
p = path18.resolve(p);
try {
xfs.mkdirSync(p, mode);
made = made || p;
} catch (err0) {
if (err0.code === "ENOENT") {
if (path18.dirname(p) === p) throw err0;
made = mkdirsSync(path18.dirname(p), opts, made);
mkdirsSync(p, opts, made);
} else {
let stat2;
try {
stat2 = xfs.statSync(p);
} catch (err1) {
throw err0;
}
if (!stat2.isDirectory()) throw err0;
}
}
return made;
}
module2.exports = mkdirsSync;
}
});
// node_modules/fs-extra/lib/mkdirs/index.js
var require_mkdirs2 = __commonJS({
"node_modules/fs-extra/lib/mkdirs/index.js"(exports2, module2) {
"use strict";
var u = require_universalify().fromCallback;
var mkdirs = u(require_mkdirs());
var mkdirsSync = require_mkdirs_sync();
module2.exports = {
mkdirs,
mkdirsSync,
// alias
mkdirp: mkdirs,
mkdirpSync: mkdirsSync,
ensureDir: mkdirs,
ensureDirSync: mkdirsSync
};
}
});
// node_modules/fs-extra/lib/util/utimes.js
var require_utimes = __commonJS({
"node_modules/fs-extra/lib/util/utimes.js"(exports2, module2) {
"use strict";
var fs7 = require_graceful_fs();
var os5 = require("os");
var path18 = require("path");
function hasMillisResSync() {
let tmpfile = path18.join("millis-test-sync" + Date.now().toString() + Math.random().toString().slice(2));
tmpfile = path18.join(os5.tmpdir(), tmpfile);
const d = /* @__PURE__ */ new Date(1435410243862);
fs7.writeFileSync(tmpfile, "https://github.com/jprichardson/node-fs-extra/pull/141");
const fd = fs7.openSync(tmpfile, "r+");
fs7.futimesSync(fd, d, d);
fs7.closeSync(fd);
return fs7.statSync(tmpfile).mtime > 1435410243e3;
}
function hasMillisRes(callback) {
let tmpfile = path18.join("millis-test" + Date.now().toString() + Math.random().toString().slice(2));
tmpfile = path18.join(os5.tmpdir(), tmpfile);
const d = /* @__PURE__ */ new Date(1435410243862);
fs7.writeFile(tmpfile, "https://github.com/jprichardson/node-fs-extra/pull/141", (err) => {
if (err) return callback(err);
fs7.open(tmpfile, "r+", (err2, fd) => {
if (err2) return callback(err2);
fs7.futimes(fd, d, d, (err3) => {
if (err3) return callback(err3);
fs7.close(fd, (err4) => {
if (err4) return callback(err4);
fs7.stat(tmpfile, (err5, stats) => {
if (err5) return callback(err5);
callback(null, stats.mtime > 1435410243e3);
});
});
});
});
});
}
function timeRemoveMillis(timestamp) {
if (typeof timestamp === "number") {
return Math.floor(timestamp / 1e3) * 1e3;
} else if (timestamp instanceof Date) {
return new Date(Math.floor(timestamp.getTime() / 1e3) * 1e3);
} else {
throw new Error("fs-extra: timeRemoveMillis() unknown parameter type");
}
}
function utimesMillis(path19, atime, mtime, callback) {
fs7.open(path19, "r+", (err, fd) => {
if (err) return callback(err);
fs7.futimes(fd, atime, mtime, (futimesErr) => {
fs7.close(fd, (closeErr) => {
if (callback) callback(futimesErr || closeErr);
});
});
});
}
function utimesMillisSync(path19, atime, mtime) {
const fd = fs7.openSync(path19, "r+");
fs7.futimesSync(fd, atime, mtime);
return fs7.closeSync(fd);
}
module2.exports = {
hasMillisRes,
hasMillisResSync,
timeRemoveMillis,
utimesMillis,
utimesMillisSync
};
}
});
// node_modules/fs-extra/lib/util/stat.js
var require_stat = __commonJS({
"node_modules/fs-extra/lib/util/stat.js"(exports2, module2) {
"use strict";
var fs7 = require_graceful_fs();
var path18 = require("path");
var NODE_VERSION_MAJOR_WITH_BIGINT = 10;
var NODE_VERSION_MINOR_WITH_BIGINT = 5;
var NODE_VERSION_PATCH_WITH_BIGINT = 0;
var nodeVersion = process.versions.node.split(".");
var nodeVersionMajor = Number.parseInt(nodeVersion[0], 10);
var nodeVersionMinor = Number.parseInt(nodeVersion[1], 10);
var nodeVersionPatch = Number.parseInt(nodeVersion[2], 10);
function nodeSupportsBigInt() {
if (nodeVersionMajor > NODE_VERSION_MAJOR_WITH_BIGINT) {
return true;
} else if (nodeVersionMajor === NODE_VERSION_MAJOR_WITH_BIGINT) {
if (nodeVersionMinor > NODE_VERSION_MINOR_WITH_BIGINT) {
return true;
} else if (nodeVersionMinor === NODE_VERSION_MINOR_WITH_BIGINT) {
if (nodeVersionPatch >= NODE_VERSION_PATCH_WITH_BIGINT) {
return true;
}
}
}
return false;
}
function getStats(src, dest, cb) {
if (nodeSupportsBigInt()) {
fs7.stat(src, { bigint: true }, (err, srcStat) => {
if (err) return cb(err);
fs7.stat(dest, { bigint: true }, (err2, destStat) => {
if (err2) {
if (err2.code === "ENOENT") return cb(null, { srcStat, destStat: null });
return cb(err2);
}
return cb(null, { srcStat, destStat });
});
});
} else {
fs7.stat(src, (err, srcStat) => {
if (err) return cb(err);
fs7.stat(dest, (err2, destStat) => {
if (err2) {
if (err2.code === "ENOENT") return cb(null, { srcStat, destStat: null });
return cb(err2);
}
return cb(null, { srcStat, destStat });
});
});
}
}
function getStatsSync(src, dest) {
let srcStat, destStat;
if (nodeSupportsBigInt()) {
srcStat = fs7.statSync(src, { bigint: true });
} else {
srcStat = fs7.statSync(src);
}
try {
if (nodeSupportsBigInt()) {
destStat = fs7.statSync(dest, { bigint: true });
} else {
destStat = fs7.statSync(dest);
}
} catch (err) {
if (err.code === "ENOENT") return { srcStat, destStat: null };
throw err;
}
return { srcStat, destStat };
}
function checkPaths(src, dest, funcName, cb) {
getStats(src, dest, (err, stats) => {
if (err) return cb(err);
const { srcStat, destStat } = stats;
if (destStat && destStat.ino && destStat.dev && destStat.ino === srcStat.ino && destStat.dev === srcStat.dev) {
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 && destStat.ino && destStat.dev && destStat.ino === srcStat.ino && destStat.dev === srcStat.dev) {
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 = path18.resolve(path18.dirname(src));
const destParent = path18.resolve(path18.dirname(dest));
if (destParent === srcParent || destParent === path18.parse(destParent).root) return cb();
if (nodeSupportsBigInt()) {
fs7.stat(destParent, { bigint: true }, (err, destStat) => {
if (err) {
if (err.code === "ENOENT") return cb();
return cb(err);
}
if (destStat.ino && destStat.dev && destStat.ino === srcStat.ino && destStat.dev === srcStat.dev) {
return cb(new Error(errMsg(src, dest, funcName)));
}
return checkParentPaths(src, srcStat, destParent, funcName, cb);
});
} else {
fs7.stat(destParent, (err, destStat) => {
if (err) {
if (err.code === "ENOENT") return cb();
return cb(err);
}
if (destStat.ino && destStat.dev && destStat.ino === srcStat.ino && destStat.dev === srcStat.dev) {
return cb(new Error(errMsg(src, dest, funcName)));
}
return checkParentPaths(src, srcStat, destParent, funcName, cb);
});
}
}
function checkParentPathsSync(src, srcStat, dest, funcName) {
const srcParent = path18.resolve(path18.dirname(src));
const destParent = path18.resolve(path18.dirname(dest));
if (destParent === srcParent || destParent === path18.parse(destParent).root) return;
let destStat;
try {
if (nodeSupportsBigInt()) {
destStat = fs7.statSync(destParent, { bigint: true });
} else {
destStat = fs7.statSync(destParent);
}
} catch (err) {
if (err.code === "ENOENT") return;
throw err;
}
if (destStat.ino && destStat.dev && destStat.ino === srcStat.ino && destStat.dev === srcStat.dev) {
throw new Error(errMsg(src, dest, funcName));
}
return checkParentPathsSync(src, srcStat, destParent, funcName);
}
function isSrcSubdir(src, dest) {
const srcArr = path18.resolve(src).split(path18.sep).filter((i) => i);
const destArr = path18.resolve(dest).split(path18.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/util/buffer.js
var require_buffer = __commonJS({
"node_modules/fs-extra/lib/util/buffer.js"(exports2, module2) {
"use strict";
module2.exports = function(size) {
if (typeof Buffer.allocUnsafe === "function") {
try {
return Buffer.allocUnsafe(size);
} catch (e) {
return new Buffer(size);
}
}
return new Buffer(size);
};
}
});
// node_modules/fs-extra/lib/copy-sync/copy-sync.js
var require_copy_sync = __commonJS({
"node_modules/fs-extra/lib/copy-sync/copy-sync.js"(exports2, module2) {
"use strict";
var fs7 = require_graceful_fs();
var path18 = require("path");
var mkdirpSync = require_mkdirs2().mkdirsSync;
var utimesSync = require_utimes().utimesMillisSync;
var stat2 = 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 } = stat2.checkPathsSync(src, dest, "copy");
stat2.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 = path18.dirname(dest);
if (!fs7.existsSync(destParent)) mkdirpSync(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 statSync3 = opts.dereference ? fs7.statSync : fs7.lstatSync;
const srcStat = statSync3(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) {
fs7.unlinkSync(dest);
return copyFile(srcStat, src, dest, opts);
} else if (opts.errorOnExist) {
throw new Error(`'${dest}' already exists`);
}
}
function copyFile(srcStat, src, dest, opts) {
if (typeof fs7.copyFileSync === "function") {
fs7.copyFileSync(src, dest);
fs7.chmodSync(dest, srcStat.mode);
if (opts.preserveTimestamps) {
return utimesSync(dest, srcStat.atime, srcStat.mtime);
}
return;
}
return copyFileFallback(srcStat, src, dest, opts);
}
function copyFileFallback(srcStat, src, dest, opts) {
const BUF_LENGTH = 64 * 1024;
const _buff = require_buffer()(BUF_LENGTH);
const fdr = fs7.openSync(src, "r");
const fdw = fs7.openSync(dest, "w", srcStat.mode);
let pos = 0;
while (pos < srcStat.size) {
const bytesRead = fs7.readSync(fdr, _buff, 0, BUF_LENGTH, pos);
fs7.writeSync(fdw, _buff, 0, bytesRead);
pos += bytesRead;
}
if (opts.preserveTimestamps) fs7.futimesSync(fdw, srcStat.atime, srcStat.mtime);
fs7.closeSync(fdr);
fs7.closeSync(fdw);
}
function onDir(srcStat, destStat, src, dest, opts) {
if (!destStat) return mkDirAndCopy(srcStat, 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(srcStat, src, dest, opts) {
fs7.mkdirSync(dest);
copyDir(src, dest, opts);
return fs7.chmodSync(dest, srcStat.mode);
}
function copyDir(src, dest, opts) {
fs7.readdirSync(src).forEach((item) => copyDirItem(item, src, dest, opts));
}
function copyDirItem(item, src, dest, opts) {
const srcItem = path18.join(src, item);
const destItem = path18.join(dest, item);
const { destStat } = stat2.checkPathsSync(srcItem, destItem, "copy");
return startCopy(destStat, srcItem, destItem, opts);
}
function onLink(destStat, src, dest, opts) {
let resolvedSrc = fs7.readlinkSync(src);
if (opts.dereference) {
resolvedSrc = path18.resolve(process.cwd(), resolvedSrc);
}
if (!destStat) {
return fs7.symlinkSync(resolvedSrc, dest);
} else {
let resolvedDest;
try {
resolvedDest = fs7.readlinkSync(dest);
} catch (err) {
if (err.code === "EINVAL" || err.code === "UNKNOWN") return fs7.symlinkSync(resolvedSrc, dest);
throw err;
}
if (opts.dereference) {
resolvedDest = path18.resolve(process.cwd(), resolvedDest);
}
if (stat2.isSrcSubdir(resolvedSrc, resolvedDest)) {
throw new Error(`Cannot copy '${resolvedSrc}' to a subdirectory of itself, '${resolvedDest}'.`);
}
if (fs7.statSync(dest).isDirectory() && stat2.isSrcSubdir(resolvedDest, resolvedSrc)) {
throw new Error(`Cannot overwrite '${resolvedDest}' with '${resolvedSrc}'.`);
}
re