coc-git 2.4.0 → 2.4.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (3) hide show
  1. package/Readme.md +2 -0
  2. package/lib/index.js +63 -2221
  3. package/package.json +26 -5
package/lib/index.js CHANGED
@@ -884,2182 +884,6 @@ var require_safe = __commonJS((exports2, module2) => {
884
884
  module2["exports"] = colors4;
885
885
  });
886
886
 
887
- // node_modules/semver/internal/constants.js
888
- var require_constants = __commonJS((exports2, module2) => {
889
- var SEMVER_SPEC_VERSION = "2.0.0";
890
- var MAX_LENGTH = 256;
891
- var MAX_SAFE_INTEGER = Number.MAX_SAFE_INTEGER || 9007199254740991;
892
- var MAX_SAFE_COMPONENT_LENGTH = 16;
893
- module2.exports = {
894
- SEMVER_SPEC_VERSION,
895
- MAX_LENGTH,
896
- MAX_SAFE_INTEGER,
897
- MAX_SAFE_COMPONENT_LENGTH
898
- };
899
- });
900
-
901
- // node_modules/semver/internal/debug.js
902
- var require_debug = __commonJS((exports2, module2) => {
903
- var debug = typeof process === "object" && process.env && process.env.NODE_DEBUG && /\bsemver\b/i.test(process.env.NODE_DEBUG) ? (...args) => console.error("SEMVER", ...args) : () => {
904
- };
905
- module2.exports = debug;
906
- });
907
-
908
- // node_modules/semver/internal/re.js
909
- var require_re = __commonJS((exports2, module2) => {
910
- var {MAX_SAFE_COMPONENT_LENGTH} = require_constants();
911
- var debug = require_debug();
912
- exports2 = module2.exports = {};
913
- var re = exports2.re = [];
914
- var src = exports2.src = [];
915
- var t = exports2.t = {};
916
- var R = 0;
917
- var createToken = (name, value, isGlobal) => {
918
- const index = R++;
919
- debug(index, value);
920
- t[name] = index;
921
- src[index] = value;
922
- re[index] = new RegExp(value, isGlobal ? "g" : void 0);
923
- };
924
- createToken("NUMERICIDENTIFIER", "0|[1-9]\\d*");
925
- createToken("NUMERICIDENTIFIERLOOSE", "[0-9]+");
926
- createToken("NONNUMERICIDENTIFIER", "\\d*[a-zA-Z-][a-zA-Z0-9-]*");
927
- createToken("MAINVERSION", `(${src[t.NUMERICIDENTIFIER]})\\.(${src[t.NUMERICIDENTIFIER]})\\.(${src[t.NUMERICIDENTIFIER]})`);
928
- createToken("MAINVERSIONLOOSE", `(${src[t.NUMERICIDENTIFIERLOOSE]})\\.(${src[t.NUMERICIDENTIFIERLOOSE]})\\.(${src[t.NUMERICIDENTIFIERLOOSE]})`);
929
- createToken("PRERELEASEIDENTIFIER", `(?:${src[t.NUMERICIDENTIFIER]}|${src[t.NONNUMERICIDENTIFIER]})`);
930
- createToken("PRERELEASEIDENTIFIERLOOSE", `(?:${src[t.NUMERICIDENTIFIERLOOSE]}|${src[t.NONNUMERICIDENTIFIER]})`);
931
- createToken("PRERELEASE", `(?:-(${src[t.PRERELEASEIDENTIFIER]}(?:\\.${src[t.PRERELEASEIDENTIFIER]})*))`);
932
- createToken("PRERELEASELOOSE", `(?:-?(${src[t.PRERELEASEIDENTIFIERLOOSE]}(?:\\.${src[t.PRERELEASEIDENTIFIERLOOSE]})*))`);
933
- createToken("BUILDIDENTIFIER", "[0-9A-Za-z-]+");
934
- createToken("BUILD", `(?:\\+(${src[t.BUILDIDENTIFIER]}(?:\\.${src[t.BUILDIDENTIFIER]})*))`);
935
- createToken("FULLPLAIN", `v?${src[t.MAINVERSION]}${src[t.PRERELEASE]}?${src[t.BUILD]}?`);
936
- createToken("FULL", `^${src[t.FULLPLAIN]}$`);
937
- createToken("LOOSEPLAIN", `[v=\\s]*${src[t.MAINVERSIONLOOSE]}${src[t.PRERELEASELOOSE]}?${src[t.BUILD]}?`);
938
- createToken("LOOSE", `^${src[t.LOOSEPLAIN]}$`);
939
- createToken("GTLT", "((?:<|>)?=?)");
940
- createToken("XRANGEIDENTIFIERLOOSE", `${src[t.NUMERICIDENTIFIERLOOSE]}|x|X|\\*`);
941
- createToken("XRANGEIDENTIFIER", `${src[t.NUMERICIDENTIFIER]}|x|X|\\*`);
942
- createToken("XRANGEPLAIN", `[v=\\s]*(${src[t.XRANGEIDENTIFIER]})(?:\\.(${src[t.XRANGEIDENTIFIER]})(?:\\.(${src[t.XRANGEIDENTIFIER]})(?:${src[t.PRERELEASE]})?${src[t.BUILD]}?)?)?`);
943
- createToken("XRANGEPLAINLOOSE", `[v=\\s]*(${src[t.XRANGEIDENTIFIERLOOSE]})(?:\\.(${src[t.XRANGEIDENTIFIERLOOSE]})(?:\\.(${src[t.XRANGEIDENTIFIERLOOSE]})(?:${src[t.PRERELEASELOOSE]})?${src[t.BUILD]}?)?)?`);
944
- createToken("XRANGE", `^${src[t.GTLT]}\\s*${src[t.XRANGEPLAIN]}$`);
945
- createToken("XRANGELOOSE", `^${src[t.GTLT]}\\s*${src[t.XRANGEPLAINLOOSE]}$`);
946
- createToken("COERCE", `${"(^|[^\\d])(\\d{1,"}${MAX_SAFE_COMPONENT_LENGTH}})(?:\\.(\\d{1,${MAX_SAFE_COMPONENT_LENGTH}}))?(?:\\.(\\d{1,${MAX_SAFE_COMPONENT_LENGTH}}))?(?:$|[^\\d])`);
947
- createToken("COERCERTL", src[t.COERCE], true);
948
- createToken("LONETILDE", "(?:~>?)");
949
- createToken("TILDETRIM", `(\\s*)${src[t.LONETILDE]}\\s+`, true);
950
- exports2.tildeTrimReplace = "$1~";
951
- createToken("TILDE", `^${src[t.LONETILDE]}${src[t.XRANGEPLAIN]}$`);
952
- createToken("TILDELOOSE", `^${src[t.LONETILDE]}${src[t.XRANGEPLAINLOOSE]}$`);
953
- createToken("LONECARET", "(?:\\^)");
954
- createToken("CARETTRIM", `(\\s*)${src[t.LONECARET]}\\s+`, true);
955
- exports2.caretTrimReplace = "$1^";
956
- createToken("CARET", `^${src[t.LONECARET]}${src[t.XRANGEPLAIN]}$`);
957
- createToken("CARETLOOSE", `^${src[t.LONECARET]}${src[t.XRANGEPLAINLOOSE]}$`);
958
- createToken("COMPARATORLOOSE", `^${src[t.GTLT]}\\s*(${src[t.LOOSEPLAIN]})$|^$`);
959
- createToken("COMPARATOR", `^${src[t.GTLT]}\\s*(${src[t.FULLPLAIN]})$|^$`);
960
- createToken("COMPARATORTRIM", `(\\s*)${src[t.GTLT]}\\s*(${src[t.LOOSEPLAIN]}|${src[t.XRANGEPLAIN]})`, true);
961
- exports2.comparatorTrimReplace = "$1$2$3";
962
- createToken("HYPHENRANGE", `^\\s*(${src[t.XRANGEPLAIN]})\\s+-\\s+(${src[t.XRANGEPLAIN]})\\s*$`);
963
- createToken("HYPHENRANGELOOSE", `^\\s*(${src[t.XRANGEPLAINLOOSE]})\\s+-\\s+(${src[t.XRANGEPLAINLOOSE]})\\s*$`);
964
- createToken("STAR", "(<|>)?=?\\s*\\*");
965
- createToken("GTE0", "^\\s*>=\\s*0.0.0\\s*$");
966
- createToken("GTE0PRE", "^\\s*>=\\s*0.0.0-0\\s*$");
967
- });
968
-
969
- // node_modules/semver/internal/parse-options.js
970
- var require_parse_options = __commonJS((exports2, module2) => {
971
- var opts = ["includePrerelease", "loose", "rtl"];
972
- var parseOptions = (options) => !options ? {} : typeof options !== "object" ? {loose: true} : opts.filter((k) => options[k]).reduce((options2, k) => {
973
- options2[k] = true;
974
- return options2;
975
- }, {});
976
- module2.exports = parseOptions;
977
- });
978
-
979
- // node_modules/semver/internal/identifiers.js
980
- var require_identifiers = __commonJS((exports2, module2) => {
981
- var numeric = /^[0-9]+$/;
982
- var compareIdentifiers = (a, b) => {
983
- const anum = numeric.test(a);
984
- const bnum = numeric.test(b);
985
- if (anum && bnum) {
986
- a = +a;
987
- b = +b;
988
- }
989
- return a === b ? 0 : anum && !bnum ? -1 : bnum && !anum ? 1 : a < b ? -1 : 1;
990
- };
991
- var rcompareIdentifiers = (a, b) => compareIdentifiers(b, a);
992
- module2.exports = {
993
- compareIdentifiers,
994
- rcompareIdentifiers
995
- };
996
- });
997
-
998
- // node_modules/semver/classes/semver.js
999
- var require_semver = __commonJS((exports2, module2) => {
1000
- var debug = require_debug();
1001
- var {MAX_LENGTH, MAX_SAFE_INTEGER} = require_constants();
1002
- var {re, t} = require_re();
1003
- var parseOptions = require_parse_options();
1004
- var {compareIdentifiers} = require_identifiers();
1005
- var SemVer = class {
1006
- constructor(version, options) {
1007
- options = parseOptions(options);
1008
- if (version instanceof SemVer) {
1009
- if (version.loose === !!options.loose && version.includePrerelease === !!options.includePrerelease) {
1010
- return version;
1011
- } else {
1012
- version = version.version;
1013
- }
1014
- } else if (typeof version !== "string") {
1015
- throw new TypeError(`Invalid Version: ${version}`);
1016
- }
1017
- if (version.length > MAX_LENGTH) {
1018
- throw new TypeError(`version is longer than ${MAX_LENGTH} characters`);
1019
- }
1020
- debug("SemVer", version, options);
1021
- this.options = options;
1022
- this.loose = !!options.loose;
1023
- this.includePrerelease = !!options.includePrerelease;
1024
- const m = version.trim().match(options.loose ? re[t.LOOSE] : re[t.FULL]);
1025
- if (!m) {
1026
- throw new TypeError(`Invalid Version: ${version}`);
1027
- }
1028
- this.raw = version;
1029
- this.major = +m[1];
1030
- this.minor = +m[2];
1031
- this.patch = +m[3];
1032
- if (this.major > MAX_SAFE_INTEGER || this.major < 0) {
1033
- throw new TypeError("Invalid major version");
1034
- }
1035
- if (this.minor > MAX_SAFE_INTEGER || this.minor < 0) {
1036
- throw new TypeError("Invalid minor version");
1037
- }
1038
- if (this.patch > MAX_SAFE_INTEGER || this.patch < 0) {
1039
- throw new TypeError("Invalid patch version");
1040
- }
1041
- if (!m[4]) {
1042
- this.prerelease = [];
1043
- } else {
1044
- this.prerelease = m[4].split(".").map((id) => {
1045
- if (/^[0-9]+$/.test(id)) {
1046
- const num = +id;
1047
- if (num >= 0 && num < MAX_SAFE_INTEGER) {
1048
- return num;
1049
- }
1050
- }
1051
- return id;
1052
- });
1053
- }
1054
- this.build = m[5] ? m[5].split(".") : [];
1055
- this.format();
1056
- }
1057
- format() {
1058
- this.version = `${this.major}.${this.minor}.${this.patch}`;
1059
- if (this.prerelease.length) {
1060
- this.version += `-${this.prerelease.join(".")}`;
1061
- }
1062
- return this.version;
1063
- }
1064
- toString() {
1065
- return this.version;
1066
- }
1067
- compare(other) {
1068
- debug("SemVer.compare", this.version, this.options, other);
1069
- if (!(other instanceof SemVer)) {
1070
- if (typeof other === "string" && other === this.version) {
1071
- return 0;
1072
- }
1073
- other = new SemVer(other, this.options);
1074
- }
1075
- if (other.version === this.version) {
1076
- return 0;
1077
- }
1078
- return this.compareMain(other) || this.comparePre(other);
1079
- }
1080
- compareMain(other) {
1081
- if (!(other instanceof SemVer)) {
1082
- other = new SemVer(other, this.options);
1083
- }
1084
- return compareIdentifiers(this.major, other.major) || compareIdentifiers(this.minor, other.minor) || compareIdentifiers(this.patch, other.patch);
1085
- }
1086
- comparePre(other) {
1087
- if (!(other instanceof SemVer)) {
1088
- other = new SemVer(other, this.options);
1089
- }
1090
- if (this.prerelease.length && !other.prerelease.length) {
1091
- return -1;
1092
- } else if (!this.prerelease.length && other.prerelease.length) {
1093
- return 1;
1094
- } else if (!this.prerelease.length && !other.prerelease.length) {
1095
- return 0;
1096
- }
1097
- let i = 0;
1098
- do {
1099
- const a = this.prerelease[i];
1100
- const b = other.prerelease[i];
1101
- debug("prerelease compare", i, a, b);
1102
- if (a === void 0 && b === void 0) {
1103
- return 0;
1104
- } else if (b === void 0) {
1105
- return 1;
1106
- } else if (a === void 0) {
1107
- return -1;
1108
- } else if (a === b) {
1109
- continue;
1110
- } else {
1111
- return compareIdentifiers(a, b);
1112
- }
1113
- } while (++i);
1114
- }
1115
- compareBuild(other) {
1116
- if (!(other instanceof SemVer)) {
1117
- other = new SemVer(other, this.options);
1118
- }
1119
- let i = 0;
1120
- do {
1121
- const a = this.build[i];
1122
- const b = other.build[i];
1123
- debug("prerelease compare", i, a, b);
1124
- if (a === void 0 && b === void 0) {
1125
- return 0;
1126
- } else if (b === void 0) {
1127
- return 1;
1128
- } else if (a === void 0) {
1129
- return -1;
1130
- } else if (a === b) {
1131
- continue;
1132
- } else {
1133
- return compareIdentifiers(a, b);
1134
- }
1135
- } while (++i);
1136
- }
1137
- inc(release, identifier) {
1138
- switch (release) {
1139
- case "premajor":
1140
- this.prerelease.length = 0;
1141
- this.patch = 0;
1142
- this.minor = 0;
1143
- this.major++;
1144
- this.inc("pre", identifier);
1145
- break;
1146
- case "preminor":
1147
- this.prerelease.length = 0;
1148
- this.patch = 0;
1149
- this.minor++;
1150
- this.inc("pre", identifier);
1151
- break;
1152
- case "prepatch":
1153
- this.prerelease.length = 0;
1154
- this.inc("patch", identifier);
1155
- this.inc("pre", identifier);
1156
- break;
1157
- case "prerelease":
1158
- if (this.prerelease.length === 0) {
1159
- this.inc("patch", identifier);
1160
- }
1161
- this.inc("pre", identifier);
1162
- break;
1163
- case "major":
1164
- if (this.minor !== 0 || this.patch !== 0 || this.prerelease.length === 0) {
1165
- this.major++;
1166
- }
1167
- this.minor = 0;
1168
- this.patch = 0;
1169
- this.prerelease = [];
1170
- break;
1171
- case "minor":
1172
- if (this.patch !== 0 || this.prerelease.length === 0) {
1173
- this.minor++;
1174
- }
1175
- this.patch = 0;
1176
- this.prerelease = [];
1177
- break;
1178
- case "patch":
1179
- if (this.prerelease.length === 0) {
1180
- this.patch++;
1181
- }
1182
- this.prerelease = [];
1183
- break;
1184
- case "pre":
1185
- if (this.prerelease.length === 0) {
1186
- this.prerelease = [0];
1187
- } else {
1188
- let i = this.prerelease.length;
1189
- while (--i >= 0) {
1190
- if (typeof this.prerelease[i] === "number") {
1191
- this.prerelease[i]++;
1192
- i = -2;
1193
- }
1194
- }
1195
- if (i === -1) {
1196
- this.prerelease.push(0);
1197
- }
1198
- }
1199
- if (identifier) {
1200
- if (this.prerelease[0] === identifier) {
1201
- if (isNaN(this.prerelease[1])) {
1202
- this.prerelease = [identifier, 0];
1203
- }
1204
- } else {
1205
- this.prerelease = [identifier, 0];
1206
- }
1207
- }
1208
- break;
1209
- default:
1210
- throw new Error(`invalid increment argument: ${release}`);
1211
- }
1212
- this.format();
1213
- this.raw = this.version;
1214
- return this;
1215
- }
1216
- };
1217
- module2.exports = SemVer;
1218
- });
1219
-
1220
- // node_modules/semver/functions/parse.js
1221
- var require_parse = __commonJS((exports2, module2) => {
1222
- var {MAX_LENGTH} = require_constants();
1223
- var {re, t} = require_re();
1224
- var SemVer = require_semver();
1225
- var parseOptions = require_parse_options();
1226
- var parse = (version, options) => {
1227
- options = parseOptions(options);
1228
- if (version instanceof SemVer) {
1229
- return version;
1230
- }
1231
- if (typeof version !== "string") {
1232
- return null;
1233
- }
1234
- if (version.length > MAX_LENGTH) {
1235
- return null;
1236
- }
1237
- const r = options.loose ? re[t.LOOSE] : re[t.FULL];
1238
- if (!r.test(version)) {
1239
- return null;
1240
- }
1241
- try {
1242
- return new SemVer(version, options);
1243
- } catch (er) {
1244
- return null;
1245
- }
1246
- };
1247
- module2.exports = parse;
1248
- });
1249
-
1250
- // node_modules/semver/functions/valid.js
1251
- var require_valid = __commonJS((exports2, module2) => {
1252
- var parse = require_parse();
1253
- var valid = (version, options) => {
1254
- const v = parse(version, options);
1255
- return v ? v.version : null;
1256
- };
1257
- module2.exports = valid;
1258
- });
1259
-
1260
- // node_modules/semver/functions/clean.js
1261
- var require_clean = __commonJS((exports2, module2) => {
1262
- var parse = require_parse();
1263
- var clean = (version, options) => {
1264
- const s = parse(version.trim().replace(/^[=v]+/, ""), options);
1265
- return s ? s.version : null;
1266
- };
1267
- module2.exports = clean;
1268
- });
1269
-
1270
- // node_modules/semver/functions/inc.js
1271
- var require_inc = __commonJS((exports2, module2) => {
1272
- var SemVer = require_semver();
1273
- var inc = (version, release, options, identifier) => {
1274
- if (typeof options === "string") {
1275
- identifier = options;
1276
- options = void 0;
1277
- }
1278
- try {
1279
- return new SemVer(version, options).inc(release, identifier).version;
1280
- } catch (er) {
1281
- return null;
1282
- }
1283
- };
1284
- module2.exports = inc;
1285
- });
1286
-
1287
- // node_modules/semver/functions/compare.js
1288
- var require_compare = __commonJS((exports2, module2) => {
1289
- var SemVer = require_semver();
1290
- var compare = (a, b, loose) => new SemVer(a, loose).compare(new SemVer(b, loose));
1291
- module2.exports = compare;
1292
- });
1293
-
1294
- // node_modules/semver/functions/eq.js
1295
- var require_eq = __commonJS((exports2, module2) => {
1296
- var compare = require_compare();
1297
- var eq = (a, b, loose) => compare(a, b, loose) === 0;
1298
- module2.exports = eq;
1299
- });
1300
-
1301
- // node_modules/semver/functions/diff.js
1302
- var require_diff = __commonJS((exports2, module2) => {
1303
- var parse = require_parse();
1304
- var eq = require_eq();
1305
- var diff = (version1, version2) => {
1306
- if (eq(version1, version2)) {
1307
- return null;
1308
- } else {
1309
- const v1 = parse(version1);
1310
- const v2 = parse(version2);
1311
- const hasPre = v1.prerelease.length || v2.prerelease.length;
1312
- const prefix = hasPre ? "pre" : "";
1313
- const defaultResult = hasPre ? "prerelease" : "";
1314
- for (const key in v1) {
1315
- if (key === "major" || key === "minor" || key === "patch") {
1316
- if (v1[key] !== v2[key]) {
1317
- return prefix + key;
1318
- }
1319
- }
1320
- }
1321
- return defaultResult;
1322
- }
1323
- };
1324
- module2.exports = diff;
1325
- });
1326
-
1327
- // node_modules/semver/functions/major.js
1328
- var require_major = __commonJS((exports2, module2) => {
1329
- var SemVer = require_semver();
1330
- var major = (a, loose) => new SemVer(a, loose).major;
1331
- module2.exports = major;
1332
- });
1333
-
1334
- // node_modules/semver/functions/minor.js
1335
- var require_minor = __commonJS((exports2, module2) => {
1336
- var SemVer = require_semver();
1337
- var minor = (a, loose) => new SemVer(a, loose).minor;
1338
- module2.exports = minor;
1339
- });
1340
-
1341
- // node_modules/semver/functions/patch.js
1342
- var require_patch = __commonJS((exports2, module2) => {
1343
- var SemVer = require_semver();
1344
- var patch = (a, loose) => new SemVer(a, loose).patch;
1345
- module2.exports = patch;
1346
- });
1347
-
1348
- // node_modules/semver/functions/prerelease.js
1349
- var require_prerelease = __commonJS((exports2, module2) => {
1350
- var parse = require_parse();
1351
- var prerelease = (version, options) => {
1352
- const parsed = parse(version, options);
1353
- return parsed && parsed.prerelease.length ? parsed.prerelease : null;
1354
- };
1355
- module2.exports = prerelease;
1356
- });
1357
-
1358
- // node_modules/semver/functions/rcompare.js
1359
- var require_rcompare = __commonJS((exports2, module2) => {
1360
- var compare = require_compare();
1361
- var rcompare = (a, b, loose) => compare(b, a, loose);
1362
- module2.exports = rcompare;
1363
- });
1364
-
1365
- // node_modules/semver/functions/compare-loose.js
1366
- var require_compare_loose = __commonJS((exports2, module2) => {
1367
- var compare = require_compare();
1368
- var compareLoose = (a, b) => compare(a, b, true);
1369
- module2.exports = compareLoose;
1370
- });
1371
-
1372
- // node_modules/semver/functions/compare-build.js
1373
- var require_compare_build = __commonJS((exports2, module2) => {
1374
- var SemVer = require_semver();
1375
- var compareBuild = (a, b, loose) => {
1376
- const versionA = new SemVer(a, loose);
1377
- const versionB = new SemVer(b, loose);
1378
- return versionA.compare(versionB) || versionA.compareBuild(versionB);
1379
- };
1380
- module2.exports = compareBuild;
1381
- });
1382
-
1383
- // node_modules/semver/functions/sort.js
1384
- var require_sort = __commonJS((exports2, module2) => {
1385
- var compareBuild = require_compare_build();
1386
- var sort = (list, loose) => list.sort((a, b) => compareBuild(a, b, loose));
1387
- module2.exports = sort;
1388
- });
1389
-
1390
- // node_modules/semver/functions/rsort.js
1391
- var require_rsort = __commonJS((exports2, module2) => {
1392
- var compareBuild = require_compare_build();
1393
- var rsort = (list, loose) => list.sort((a, b) => compareBuild(b, a, loose));
1394
- module2.exports = rsort;
1395
- });
1396
-
1397
- // node_modules/semver/functions/gt.js
1398
- var require_gt = __commonJS((exports2, module2) => {
1399
- var compare = require_compare();
1400
- var gt = (a, b, loose) => compare(a, b, loose) > 0;
1401
- module2.exports = gt;
1402
- });
1403
-
1404
- // node_modules/semver/functions/lt.js
1405
- var require_lt = __commonJS((exports2, module2) => {
1406
- var compare = require_compare();
1407
- var lt = (a, b, loose) => compare(a, b, loose) < 0;
1408
- module2.exports = lt;
1409
- });
1410
-
1411
- // node_modules/semver/functions/neq.js
1412
- var require_neq = __commonJS((exports2, module2) => {
1413
- var compare = require_compare();
1414
- var neq = (a, b, loose) => compare(a, b, loose) !== 0;
1415
- module2.exports = neq;
1416
- });
1417
-
1418
- // node_modules/semver/functions/gte.js
1419
- var require_gte = __commonJS((exports2, module2) => {
1420
- var compare = require_compare();
1421
- var gte = (a, b, loose) => compare(a, b, loose) >= 0;
1422
- module2.exports = gte;
1423
- });
1424
-
1425
- // node_modules/semver/functions/lte.js
1426
- var require_lte = __commonJS((exports2, module2) => {
1427
- var compare = require_compare();
1428
- var lte = (a, b, loose) => compare(a, b, loose) <= 0;
1429
- module2.exports = lte;
1430
- });
1431
-
1432
- // node_modules/semver/functions/cmp.js
1433
- var require_cmp = __commonJS((exports2, module2) => {
1434
- var eq = require_eq();
1435
- var neq = require_neq();
1436
- var gt = require_gt();
1437
- var gte = require_gte();
1438
- var lt = require_lt();
1439
- var lte = require_lte();
1440
- var cmp = (a, op, b, loose) => {
1441
- switch (op) {
1442
- case "===":
1443
- if (typeof a === "object")
1444
- a = a.version;
1445
- if (typeof b === "object")
1446
- b = b.version;
1447
- return a === b;
1448
- case "!==":
1449
- if (typeof a === "object")
1450
- a = a.version;
1451
- if (typeof b === "object")
1452
- b = b.version;
1453
- return a !== b;
1454
- case "":
1455
- case "=":
1456
- case "==":
1457
- return eq(a, b, loose);
1458
- case "!=":
1459
- return neq(a, b, loose);
1460
- case ">":
1461
- return gt(a, b, loose);
1462
- case ">=":
1463
- return gte(a, b, loose);
1464
- case "<":
1465
- return lt(a, b, loose);
1466
- case "<=":
1467
- return lte(a, b, loose);
1468
- default:
1469
- throw new TypeError(`Invalid operator: ${op}`);
1470
- }
1471
- };
1472
- module2.exports = cmp;
1473
- });
1474
-
1475
- // node_modules/semver/functions/coerce.js
1476
- var require_coerce = __commonJS((exports2, module2) => {
1477
- var SemVer = require_semver();
1478
- var parse = require_parse();
1479
- var {re, t} = require_re();
1480
- var coerce = (version, options) => {
1481
- if (version instanceof SemVer) {
1482
- return version;
1483
- }
1484
- if (typeof version === "number") {
1485
- version = String(version);
1486
- }
1487
- if (typeof version !== "string") {
1488
- return null;
1489
- }
1490
- options = options || {};
1491
- let match = null;
1492
- if (!options.rtl) {
1493
- match = version.match(re[t.COERCE]);
1494
- } else {
1495
- let next;
1496
- while ((next = re[t.COERCERTL].exec(version)) && (!match || match.index + match[0].length !== version.length)) {
1497
- if (!match || next.index + next[0].length !== match.index + match[0].length) {
1498
- match = next;
1499
- }
1500
- re[t.COERCERTL].lastIndex = next.index + next[1].length + next[2].length;
1501
- }
1502
- re[t.COERCERTL].lastIndex = -1;
1503
- }
1504
- if (match === null)
1505
- return null;
1506
- return parse(`${match[2]}.${match[3] || "0"}.${match[4] || "0"}`, options);
1507
- };
1508
- module2.exports = coerce;
1509
- });
1510
-
1511
- // node_modules/yallist/iterator.js
1512
- var require_iterator = __commonJS((exports2, module2) => {
1513
- "use strict";
1514
- module2.exports = function(Yallist) {
1515
- Yallist.prototype[Symbol.iterator] = function* () {
1516
- for (let walker = this.head; walker; walker = walker.next) {
1517
- yield walker.value;
1518
- }
1519
- };
1520
- };
1521
- });
1522
-
1523
- // node_modules/yallist/yallist.js
1524
- var require_yallist = __commonJS((exports2, module2) => {
1525
- "use strict";
1526
- module2.exports = Yallist;
1527
- Yallist.Node = Node;
1528
- Yallist.create = Yallist;
1529
- function Yallist(list) {
1530
- var self = this;
1531
- if (!(self instanceof Yallist)) {
1532
- self = new Yallist();
1533
- }
1534
- self.tail = null;
1535
- self.head = null;
1536
- self.length = 0;
1537
- if (list && typeof list.forEach === "function") {
1538
- list.forEach(function(item) {
1539
- self.push(item);
1540
- });
1541
- } else if (arguments.length > 0) {
1542
- for (var i = 0, l = arguments.length; i < l; i++) {
1543
- self.push(arguments[i]);
1544
- }
1545
- }
1546
- return self;
1547
- }
1548
- Yallist.prototype.removeNode = function(node) {
1549
- if (node.list !== this) {
1550
- throw new Error("removing node which does not belong to this list");
1551
- }
1552
- var next = node.next;
1553
- var prev = node.prev;
1554
- if (next) {
1555
- next.prev = prev;
1556
- }
1557
- if (prev) {
1558
- prev.next = next;
1559
- }
1560
- if (node === this.head) {
1561
- this.head = next;
1562
- }
1563
- if (node === this.tail) {
1564
- this.tail = prev;
1565
- }
1566
- node.list.length--;
1567
- node.next = null;
1568
- node.prev = null;
1569
- node.list = null;
1570
- return next;
1571
- };
1572
- Yallist.prototype.unshiftNode = function(node) {
1573
- if (node === this.head) {
1574
- return;
1575
- }
1576
- if (node.list) {
1577
- node.list.removeNode(node);
1578
- }
1579
- var head = this.head;
1580
- node.list = this;
1581
- node.next = head;
1582
- if (head) {
1583
- head.prev = node;
1584
- }
1585
- this.head = node;
1586
- if (!this.tail) {
1587
- this.tail = node;
1588
- }
1589
- this.length++;
1590
- };
1591
- Yallist.prototype.pushNode = function(node) {
1592
- if (node === this.tail) {
1593
- return;
1594
- }
1595
- if (node.list) {
1596
- node.list.removeNode(node);
1597
- }
1598
- var tail = this.tail;
1599
- node.list = this;
1600
- node.prev = tail;
1601
- if (tail) {
1602
- tail.next = node;
1603
- }
1604
- this.tail = node;
1605
- if (!this.head) {
1606
- this.head = node;
1607
- }
1608
- this.length++;
1609
- };
1610
- Yallist.prototype.push = function() {
1611
- for (var i = 0, l = arguments.length; i < l; i++) {
1612
- push(this, arguments[i]);
1613
- }
1614
- return this.length;
1615
- };
1616
- Yallist.prototype.unshift = function() {
1617
- for (var i = 0, l = arguments.length; i < l; i++) {
1618
- unshift(this, arguments[i]);
1619
- }
1620
- return this.length;
1621
- };
1622
- Yallist.prototype.pop = function() {
1623
- if (!this.tail) {
1624
- return void 0;
1625
- }
1626
- var res = this.tail.value;
1627
- this.tail = this.tail.prev;
1628
- if (this.tail) {
1629
- this.tail.next = null;
1630
- } else {
1631
- this.head = null;
1632
- }
1633
- this.length--;
1634
- return res;
1635
- };
1636
- Yallist.prototype.shift = function() {
1637
- if (!this.head) {
1638
- return void 0;
1639
- }
1640
- var res = this.head.value;
1641
- this.head = this.head.next;
1642
- if (this.head) {
1643
- this.head.prev = null;
1644
- } else {
1645
- this.tail = null;
1646
- }
1647
- this.length--;
1648
- return res;
1649
- };
1650
- Yallist.prototype.forEach = function(fn, thisp) {
1651
- thisp = thisp || this;
1652
- for (var walker = this.head, i = 0; walker !== null; i++) {
1653
- fn.call(thisp, walker.value, i, this);
1654
- walker = walker.next;
1655
- }
1656
- };
1657
- Yallist.prototype.forEachReverse = function(fn, thisp) {
1658
- thisp = thisp || this;
1659
- for (var walker = this.tail, i = this.length - 1; walker !== null; i--) {
1660
- fn.call(thisp, walker.value, i, this);
1661
- walker = walker.prev;
1662
- }
1663
- };
1664
- Yallist.prototype.get = function(n) {
1665
- for (var i = 0, walker = this.head; walker !== null && i < n; i++) {
1666
- walker = walker.next;
1667
- }
1668
- if (i === n && walker !== null) {
1669
- return walker.value;
1670
- }
1671
- };
1672
- Yallist.prototype.getReverse = function(n) {
1673
- for (var i = 0, walker = this.tail; walker !== null && i < n; i++) {
1674
- walker = walker.prev;
1675
- }
1676
- if (i === n && walker !== null) {
1677
- return walker.value;
1678
- }
1679
- };
1680
- Yallist.prototype.map = function(fn, thisp) {
1681
- thisp = thisp || this;
1682
- var res = new Yallist();
1683
- for (var walker = this.head; walker !== null; ) {
1684
- res.push(fn.call(thisp, walker.value, this));
1685
- walker = walker.next;
1686
- }
1687
- return res;
1688
- };
1689
- Yallist.prototype.mapReverse = function(fn, thisp) {
1690
- thisp = thisp || this;
1691
- var res = new Yallist();
1692
- for (var walker = this.tail; walker !== null; ) {
1693
- res.push(fn.call(thisp, walker.value, this));
1694
- walker = walker.prev;
1695
- }
1696
- return res;
1697
- };
1698
- Yallist.prototype.reduce = function(fn, initial) {
1699
- var acc;
1700
- var walker = this.head;
1701
- if (arguments.length > 1) {
1702
- acc = initial;
1703
- } else if (this.head) {
1704
- walker = this.head.next;
1705
- acc = this.head.value;
1706
- } else {
1707
- throw new TypeError("Reduce of empty list with no initial value");
1708
- }
1709
- for (var i = 0; walker !== null; i++) {
1710
- acc = fn(acc, walker.value, i);
1711
- walker = walker.next;
1712
- }
1713
- return acc;
1714
- };
1715
- Yallist.prototype.reduceReverse = function(fn, initial) {
1716
- var acc;
1717
- var walker = this.tail;
1718
- if (arguments.length > 1) {
1719
- acc = initial;
1720
- } else if (this.tail) {
1721
- walker = this.tail.prev;
1722
- acc = this.tail.value;
1723
- } else {
1724
- throw new TypeError("Reduce of empty list with no initial value");
1725
- }
1726
- for (var i = this.length - 1; walker !== null; i--) {
1727
- acc = fn(acc, walker.value, i);
1728
- walker = walker.prev;
1729
- }
1730
- return acc;
1731
- };
1732
- Yallist.prototype.toArray = function() {
1733
- var arr = new Array(this.length);
1734
- for (var i = 0, walker = this.head; walker !== null; i++) {
1735
- arr[i] = walker.value;
1736
- walker = walker.next;
1737
- }
1738
- return arr;
1739
- };
1740
- Yallist.prototype.toArrayReverse = function() {
1741
- var arr = new Array(this.length);
1742
- for (var i = 0, walker = this.tail; walker !== null; i++) {
1743
- arr[i] = walker.value;
1744
- walker = walker.prev;
1745
- }
1746
- return arr;
1747
- };
1748
- Yallist.prototype.slice = function(from, to) {
1749
- to = to || this.length;
1750
- if (to < 0) {
1751
- to += this.length;
1752
- }
1753
- from = from || 0;
1754
- if (from < 0) {
1755
- from += this.length;
1756
- }
1757
- var ret = new Yallist();
1758
- if (to < from || to < 0) {
1759
- return ret;
1760
- }
1761
- if (from < 0) {
1762
- from = 0;
1763
- }
1764
- if (to > this.length) {
1765
- to = this.length;
1766
- }
1767
- for (var i = 0, walker = this.head; walker !== null && i < from; i++) {
1768
- walker = walker.next;
1769
- }
1770
- for (; walker !== null && i < to; i++, walker = walker.next) {
1771
- ret.push(walker.value);
1772
- }
1773
- return ret;
1774
- };
1775
- Yallist.prototype.sliceReverse = function(from, to) {
1776
- to = to || this.length;
1777
- if (to < 0) {
1778
- to += this.length;
1779
- }
1780
- from = from || 0;
1781
- if (from < 0) {
1782
- from += this.length;
1783
- }
1784
- var ret = new Yallist();
1785
- if (to < from || to < 0) {
1786
- return ret;
1787
- }
1788
- if (from < 0) {
1789
- from = 0;
1790
- }
1791
- if (to > this.length) {
1792
- to = this.length;
1793
- }
1794
- for (var i = this.length, walker = this.tail; walker !== null && i > to; i--) {
1795
- walker = walker.prev;
1796
- }
1797
- for (; walker !== null && i > from; i--, walker = walker.prev) {
1798
- ret.push(walker.value);
1799
- }
1800
- return ret;
1801
- };
1802
- Yallist.prototype.splice = function(start, deleteCount, ...nodes) {
1803
- if (start > this.length) {
1804
- start = this.length - 1;
1805
- }
1806
- if (start < 0) {
1807
- start = this.length + start;
1808
- }
1809
- for (var i = 0, walker = this.head; walker !== null && i < start; i++) {
1810
- walker = walker.next;
1811
- }
1812
- var ret = [];
1813
- for (var i = 0; walker && i < deleteCount; i++) {
1814
- ret.push(walker.value);
1815
- walker = this.removeNode(walker);
1816
- }
1817
- if (walker === null) {
1818
- walker = this.tail;
1819
- }
1820
- if (walker !== this.head && walker !== this.tail) {
1821
- walker = walker.prev;
1822
- }
1823
- for (var i = 0; i < nodes.length; i++) {
1824
- walker = insert(this, walker, nodes[i]);
1825
- }
1826
- return ret;
1827
- };
1828
- Yallist.prototype.reverse = function() {
1829
- var head = this.head;
1830
- var tail = this.tail;
1831
- for (var walker = head; walker !== null; walker = walker.prev) {
1832
- var p = walker.prev;
1833
- walker.prev = walker.next;
1834
- walker.next = p;
1835
- }
1836
- this.head = tail;
1837
- this.tail = head;
1838
- return this;
1839
- };
1840
- function insert(self, node, value) {
1841
- var inserted = node === self.head ? new Node(value, null, node, self) : new Node(value, node, node.next, self);
1842
- if (inserted.next === null) {
1843
- self.tail = inserted;
1844
- }
1845
- if (inserted.prev === null) {
1846
- self.head = inserted;
1847
- }
1848
- self.length++;
1849
- return inserted;
1850
- }
1851
- function push(self, item) {
1852
- self.tail = new Node(item, self.tail, null, self);
1853
- if (!self.head) {
1854
- self.head = self.tail;
1855
- }
1856
- self.length++;
1857
- }
1858
- function unshift(self, item) {
1859
- self.head = new Node(item, null, self.head, self);
1860
- if (!self.tail) {
1861
- self.tail = self.head;
1862
- }
1863
- self.length++;
1864
- }
1865
- function Node(value, prev, next, list) {
1866
- if (!(this instanceof Node)) {
1867
- return new Node(value, prev, next, list);
1868
- }
1869
- this.list = list;
1870
- this.value = value;
1871
- if (prev) {
1872
- prev.next = this;
1873
- this.prev = prev;
1874
- } else {
1875
- this.prev = null;
1876
- }
1877
- if (next) {
1878
- next.prev = this;
1879
- this.next = next;
1880
- } else {
1881
- this.next = null;
1882
- }
1883
- }
1884
- try {
1885
- require_iterator()(Yallist);
1886
- } catch (er) {
1887
- }
1888
- });
1889
-
1890
- // node_modules/lru-cache/index.js
1891
- var require_lru_cache = __commonJS((exports2, module2) => {
1892
- "use strict";
1893
- var Yallist = require_yallist();
1894
- var MAX = Symbol("max");
1895
- var LENGTH = Symbol("length");
1896
- var LENGTH_CALCULATOR = Symbol("lengthCalculator");
1897
- var ALLOW_STALE = Symbol("allowStale");
1898
- var MAX_AGE = Symbol("maxAge");
1899
- var DISPOSE = Symbol("dispose");
1900
- var NO_DISPOSE_ON_SET = Symbol("noDisposeOnSet");
1901
- var LRU_LIST = Symbol("lruList");
1902
- var CACHE = Symbol("cache");
1903
- var UPDATE_AGE_ON_GET = Symbol("updateAgeOnGet");
1904
- var naiveLength = () => 1;
1905
- var LRUCache = class {
1906
- constructor(options) {
1907
- if (typeof options === "number")
1908
- options = {max: options};
1909
- if (!options)
1910
- options = {};
1911
- if (options.max && (typeof options.max !== "number" || options.max < 0))
1912
- throw new TypeError("max must be a non-negative number");
1913
- const max = this[MAX] = options.max || Infinity;
1914
- const lc = options.length || naiveLength;
1915
- this[LENGTH_CALCULATOR] = typeof lc !== "function" ? naiveLength : lc;
1916
- this[ALLOW_STALE] = options.stale || false;
1917
- if (options.maxAge && typeof options.maxAge !== "number")
1918
- throw new TypeError("maxAge must be a number");
1919
- this[MAX_AGE] = options.maxAge || 0;
1920
- this[DISPOSE] = options.dispose;
1921
- this[NO_DISPOSE_ON_SET] = options.noDisposeOnSet || false;
1922
- this[UPDATE_AGE_ON_GET] = options.updateAgeOnGet || false;
1923
- this.reset();
1924
- }
1925
- set max(mL) {
1926
- if (typeof mL !== "number" || mL < 0)
1927
- throw new TypeError("max must be a non-negative number");
1928
- this[MAX] = mL || Infinity;
1929
- trim(this);
1930
- }
1931
- get max() {
1932
- return this[MAX];
1933
- }
1934
- set allowStale(allowStale) {
1935
- this[ALLOW_STALE] = !!allowStale;
1936
- }
1937
- get allowStale() {
1938
- return this[ALLOW_STALE];
1939
- }
1940
- set maxAge(mA) {
1941
- if (typeof mA !== "number")
1942
- throw new TypeError("maxAge must be a non-negative number");
1943
- this[MAX_AGE] = mA;
1944
- trim(this);
1945
- }
1946
- get maxAge() {
1947
- return this[MAX_AGE];
1948
- }
1949
- set lengthCalculator(lC) {
1950
- if (typeof lC !== "function")
1951
- lC = naiveLength;
1952
- if (lC !== this[LENGTH_CALCULATOR]) {
1953
- this[LENGTH_CALCULATOR] = lC;
1954
- this[LENGTH] = 0;
1955
- this[LRU_LIST].forEach((hit) => {
1956
- hit.length = this[LENGTH_CALCULATOR](hit.value, hit.key);
1957
- this[LENGTH] += hit.length;
1958
- });
1959
- }
1960
- trim(this);
1961
- }
1962
- get lengthCalculator() {
1963
- return this[LENGTH_CALCULATOR];
1964
- }
1965
- get length() {
1966
- return this[LENGTH];
1967
- }
1968
- get itemCount() {
1969
- return this[LRU_LIST].length;
1970
- }
1971
- rforEach(fn, thisp) {
1972
- thisp = thisp || this;
1973
- for (let walker = this[LRU_LIST].tail; walker !== null; ) {
1974
- const prev = walker.prev;
1975
- forEachStep(this, fn, walker, thisp);
1976
- walker = prev;
1977
- }
1978
- }
1979
- forEach(fn, thisp) {
1980
- thisp = thisp || this;
1981
- for (let walker = this[LRU_LIST].head; walker !== null; ) {
1982
- const next = walker.next;
1983
- forEachStep(this, fn, walker, thisp);
1984
- walker = next;
1985
- }
1986
- }
1987
- keys() {
1988
- return this[LRU_LIST].toArray().map((k) => k.key);
1989
- }
1990
- values() {
1991
- return this[LRU_LIST].toArray().map((k) => k.value);
1992
- }
1993
- reset() {
1994
- if (this[DISPOSE] && this[LRU_LIST] && this[LRU_LIST].length) {
1995
- this[LRU_LIST].forEach((hit) => this[DISPOSE](hit.key, hit.value));
1996
- }
1997
- this[CACHE] = new Map();
1998
- this[LRU_LIST] = new Yallist();
1999
- this[LENGTH] = 0;
2000
- }
2001
- dump() {
2002
- return this[LRU_LIST].map((hit) => isStale(this, hit) ? false : {
2003
- k: hit.key,
2004
- v: hit.value,
2005
- e: hit.now + (hit.maxAge || 0)
2006
- }).toArray().filter((h) => h);
2007
- }
2008
- dumpLru() {
2009
- return this[LRU_LIST];
2010
- }
2011
- set(key, value, maxAge) {
2012
- maxAge = maxAge || this[MAX_AGE];
2013
- if (maxAge && typeof maxAge !== "number")
2014
- throw new TypeError("maxAge must be a number");
2015
- const now = maxAge ? Date.now() : 0;
2016
- const len = this[LENGTH_CALCULATOR](value, key);
2017
- if (this[CACHE].has(key)) {
2018
- if (len > this[MAX]) {
2019
- del(this, this[CACHE].get(key));
2020
- return false;
2021
- }
2022
- const node = this[CACHE].get(key);
2023
- const item = node.value;
2024
- if (this[DISPOSE]) {
2025
- if (!this[NO_DISPOSE_ON_SET])
2026
- this[DISPOSE](key, item.value);
2027
- }
2028
- item.now = now;
2029
- item.maxAge = maxAge;
2030
- item.value = value;
2031
- this[LENGTH] += len - item.length;
2032
- item.length = len;
2033
- this.get(key);
2034
- trim(this);
2035
- return true;
2036
- }
2037
- const hit = new Entry(key, value, len, now, maxAge);
2038
- if (hit.length > this[MAX]) {
2039
- if (this[DISPOSE])
2040
- this[DISPOSE](key, value);
2041
- return false;
2042
- }
2043
- this[LENGTH] += hit.length;
2044
- this[LRU_LIST].unshift(hit);
2045
- this[CACHE].set(key, this[LRU_LIST].head);
2046
- trim(this);
2047
- return true;
2048
- }
2049
- has(key) {
2050
- if (!this[CACHE].has(key))
2051
- return false;
2052
- const hit = this[CACHE].get(key).value;
2053
- return !isStale(this, hit);
2054
- }
2055
- get(key) {
2056
- return get(this, key, true);
2057
- }
2058
- peek(key) {
2059
- return get(this, key, false);
2060
- }
2061
- pop() {
2062
- const node = this[LRU_LIST].tail;
2063
- if (!node)
2064
- return null;
2065
- del(this, node);
2066
- return node.value;
2067
- }
2068
- del(key) {
2069
- del(this, this[CACHE].get(key));
2070
- }
2071
- load(arr) {
2072
- this.reset();
2073
- const now = Date.now();
2074
- for (let l = arr.length - 1; l >= 0; l--) {
2075
- const hit = arr[l];
2076
- const expiresAt = hit.e || 0;
2077
- if (expiresAt === 0)
2078
- this.set(hit.k, hit.v);
2079
- else {
2080
- const maxAge = expiresAt - now;
2081
- if (maxAge > 0) {
2082
- this.set(hit.k, hit.v, maxAge);
2083
- }
2084
- }
2085
- }
2086
- }
2087
- prune() {
2088
- this[CACHE].forEach((value, key) => get(this, key, false));
2089
- }
2090
- };
2091
- var get = (self, key, doUse) => {
2092
- const node = self[CACHE].get(key);
2093
- if (node) {
2094
- const hit = node.value;
2095
- if (isStale(self, hit)) {
2096
- del(self, node);
2097
- if (!self[ALLOW_STALE])
2098
- return void 0;
2099
- } else {
2100
- if (doUse) {
2101
- if (self[UPDATE_AGE_ON_GET])
2102
- node.value.now = Date.now();
2103
- self[LRU_LIST].unshiftNode(node);
2104
- }
2105
- }
2106
- return hit.value;
2107
- }
2108
- };
2109
- var isStale = (self, hit) => {
2110
- if (!hit || !hit.maxAge && !self[MAX_AGE])
2111
- return false;
2112
- const diff = Date.now() - hit.now;
2113
- return hit.maxAge ? diff > hit.maxAge : self[MAX_AGE] && diff > self[MAX_AGE];
2114
- };
2115
- var trim = (self) => {
2116
- if (self[LENGTH] > self[MAX]) {
2117
- for (let walker = self[LRU_LIST].tail; self[LENGTH] > self[MAX] && walker !== null; ) {
2118
- const prev = walker.prev;
2119
- del(self, walker);
2120
- walker = prev;
2121
- }
2122
- }
2123
- };
2124
- var del = (self, node) => {
2125
- if (node) {
2126
- const hit = node.value;
2127
- if (self[DISPOSE])
2128
- self[DISPOSE](hit.key, hit.value);
2129
- self[LENGTH] -= hit.length;
2130
- self[CACHE].delete(hit.key);
2131
- self[LRU_LIST].removeNode(node);
2132
- }
2133
- };
2134
- var Entry = class {
2135
- constructor(key, value, length, now, maxAge) {
2136
- this.key = key;
2137
- this.value = value;
2138
- this.length = length;
2139
- this.now = now;
2140
- this.maxAge = maxAge || 0;
2141
- }
2142
- };
2143
- var forEachStep = (self, fn, node, thisp) => {
2144
- let hit = node.value;
2145
- if (isStale(self, hit)) {
2146
- del(self, node);
2147
- if (!self[ALLOW_STALE])
2148
- hit = void 0;
2149
- }
2150
- if (hit)
2151
- fn.call(thisp, hit.value, hit.key, self);
2152
- };
2153
- module2.exports = LRUCache;
2154
- });
2155
-
2156
- // node_modules/semver/classes/range.js
2157
- var require_range = __commonJS((exports2, module2) => {
2158
- var Range2 = class {
2159
- constructor(range, options) {
2160
- options = parseOptions(options);
2161
- if (range instanceof Range2) {
2162
- if (range.loose === !!options.loose && range.includePrerelease === !!options.includePrerelease) {
2163
- return range;
2164
- } else {
2165
- return new Range2(range.raw, options);
2166
- }
2167
- }
2168
- if (range instanceof Comparator) {
2169
- this.raw = range.value;
2170
- this.set = [[range]];
2171
- this.format();
2172
- return this;
2173
- }
2174
- this.options = options;
2175
- this.loose = !!options.loose;
2176
- this.includePrerelease = !!options.includePrerelease;
2177
- this.raw = range;
2178
- this.set = range.split(/\s*\|\|\s*/).map((range2) => this.parseRange(range2.trim())).filter((c) => c.length);
2179
- if (!this.set.length) {
2180
- throw new TypeError(`Invalid SemVer Range: ${range}`);
2181
- }
2182
- if (this.set.length > 1) {
2183
- const first = this.set[0];
2184
- this.set = this.set.filter((c) => !isNullSet(c[0]));
2185
- if (this.set.length === 0)
2186
- this.set = [first];
2187
- else if (this.set.length > 1) {
2188
- for (const c of this.set) {
2189
- if (c.length === 1 && isAny(c[0])) {
2190
- this.set = [c];
2191
- break;
2192
- }
2193
- }
2194
- }
2195
- }
2196
- this.format();
2197
- }
2198
- format() {
2199
- this.range = this.set.map((comps) => {
2200
- return comps.join(" ").trim();
2201
- }).join("||").trim();
2202
- return this.range;
2203
- }
2204
- toString() {
2205
- return this.range;
2206
- }
2207
- parseRange(range) {
2208
- range = range.trim();
2209
- const memoOpts = Object.keys(this.options).join(",");
2210
- const memoKey = `parseRange:${memoOpts}:${range}`;
2211
- const cached = cache.get(memoKey);
2212
- if (cached)
2213
- return cached;
2214
- const loose = this.options.loose;
2215
- const hr = loose ? re[t.HYPHENRANGELOOSE] : re[t.HYPHENRANGE];
2216
- range = range.replace(hr, hyphenReplace(this.options.includePrerelease));
2217
- debug("hyphen replace", range);
2218
- range = range.replace(re[t.COMPARATORTRIM], comparatorTrimReplace);
2219
- debug("comparator trim", range, re[t.COMPARATORTRIM]);
2220
- range = range.replace(re[t.TILDETRIM], tildeTrimReplace);
2221
- range = range.replace(re[t.CARETTRIM], caretTrimReplace);
2222
- range = range.split(/\s+/).join(" ");
2223
- const compRe = loose ? re[t.COMPARATORLOOSE] : re[t.COMPARATOR];
2224
- const rangeList = range.split(" ").map((comp) => parseComparator(comp, this.options)).join(" ").split(/\s+/).map((comp) => replaceGTE0(comp, this.options)).filter(this.options.loose ? (comp) => !!comp.match(compRe) : () => true).map((comp) => new Comparator(comp, this.options));
2225
- const l = rangeList.length;
2226
- const rangeMap = new Map();
2227
- for (const comp of rangeList) {
2228
- if (isNullSet(comp))
2229
- return [comp];
2230
- rangeMap.set(comp.value, comp);
2231
- }
2232
- if (rangeMap.size > 1 && rangeMap.has(""))
2233
- rangeMap.delete("");
2234
- const result = [...rangeMap.values()];
2235
- cache.set(memoKey, result);
2236
- return result;
2237
- }
2238
- intersects(range, options) {
2239
- if (!(range instanceof Range2)) {
2240
- throw new TypeError("a Range is required");
2241
- }
2242
- return this.set.some((thisComparators) => {
2243
- return isSatisfiable(thisComparators, options) && range.set.some((rangeComparators) => {
2244
- return isSatisfiable(rangeComparators, options) && thisComparators.every((thisComparator) => {
2245
- return rangeComparators.every((rangeComparator) => {
2246
- return thisComparator.intersects(rangeComparator, options);
2247
- });
2248
- });
2249
- });
2250
- });
2251
- }
2252
- test(version) {
2253
- if (!version) {
2254
- return false;
2255
- }
2256
- if (typeof version === "string") {
2257
- try {
2258
- version = new SemVer(version, this.options);
2259
- } catch (er) {
2260
- return false;
2261
- }
2262
- }
2263
- for (let i = 0; i < this.set.length; i++) {
2264
- if (testSet(this.set[i], version, this.options)) {
2265
- return true;
2266
- }
2267
- }
2268
- return false;
2269
- }
2270
- };
2271
- module2.exports = Range2;
2272
- var LRU = require_lru_cache();
2273
- var cache = new LRU({max: 1e3});
2274
- var parseOptions = require_parse_options();
2275
- var Comparator = require_comparator();
2276
- var debug = require_debug();
2277
- var SemVer = require_semver();
2278
- var {
2279
- re,
2280
- t,
2281
- comparatorTrimReplace,
2282
- tildeTrimReplace,
2283
- caretTrimReplace
2284
- } = require_re();
2285
- var isNullSet = (c) => c.value === "<0.0.0-0";
2286
- var isAny = (c) => c.value === "";
2287
- var isSatisfiable = (comparators, options) => {
2288
- let result = true;
2289
- const remainingComparators = comparators.slice();
2290
- let testComparator = remainingComparators.pop();
2291
- while (result && remainingComparators.length) {
2292
- result = remainingComparators.every((otherComparator) => {
2293
- return testComparator.intersects(otherComparator, options);
2294
- });
2295
- testComparator = remainingComparators.pop();
2296
- }
2297
- return result;
2298
- };
2299
- var parseComparator = (comp, options) => {
2300
- debug("comp", comp, options);
2301
- comp = replaceCarets(comp, options);
2302
- debug("caret", comp);
2303
- comp = replaceTildes(comp, options);
2304
- debug("tildes", comp);
2305
- comp = replaceXRanges(comp, options);
2306
- debug("xrange", comp);
2307
- comp = replaceStars(comp, options);
2308
- debug("stars", comp);
2309
- return comp;
2310
- };
2311
- var isX = (id) => !id || id.toLowerCase() === "x" || id === "*";
2312
- var replaceTildes = (comp, options) => comp.trim().split(/\s+/).map((comp2) => {
2313
- return replaceTilde(comp2, options);
2314
- }).join(" ");
2315
- var replaceTilde = (comp, options) => {
2316
- const r = options.loose ? re[t.TILDELOOSE] : re[t.TILDE];
2317
- return comp.replace(r, (_, M, m, p, pr) => {
2318
- debug("tilde", comp, _, M, m, p, pr);
2319
- let ret;
2320
- if (isX(M)) {
2321
- ret = "";
2322
- } else if (isX(m)) {
2323
- ret = `>=${M}.0.0 <${+M + 1}.0.0-0`;
2324
- } else if (isX(p)) {
2325
- ret = `>=${M}.${m}.0 <${M}.${+m + 1}.0-0`;
2326
- } else if (pr) {
2327
- debug("replaceTilde pr", pr);
2328
- ret = `>=${M}.${m}.${p}-${pr} <${M}.${+m + 1}.0-0`;
2329
- } else {
2330
- ret = `>=${M}.${m}.${p} <${M}.${+m + 1}.0-0`;
2331
- }
2332
- debug("tilde return", ret);
2333
- return ret;
2334
- });
2335
- };
2336
- var replaceCarets = (comp, options) => comp.trim().split(/\s+/).map((comp2) => {
2337
- return replaceCaret(comp2, options);
2338
- }).join(" ");
2339
- var replaceCaret = (comp, options) => {
2340
- debug("caret", comp, options);
2341
- const r = options.loose ? re[t.CARETLOOSE] : re[t.CARET];
2342
- const z = options.includePrerelease ? "-0" : "";
2343
- return comp.replace(r, (_, M, m, p, pr) => {
2344
- debug("caret", comp, _, M, m, p, pr);
2345
- let ret;
2346
- if (isX(M)) {
2347
- ret = "";
2348
- } else if (isX(m)) {
2349
- ret = `>=${M}.0.0${z} <${+M + 1}.0.0-0`;
2350
- } else if (isX(p)) {
2351
- if (M === "0") {
2352
- ret = `>=${M}.${m}.0${z} <${M}.${+m + 1}.0-0`;
2353
- } else {
2354
- ret = `>=${M}.${m}.0${z} <${+M + 1}.0.0-0`;
2355
- }
2356
- } else if (pr) {
2357
- debug("replaceCaret pr", pr);
2358
- if (M === "0") {
2359
- if (m === "0") {
2360
- ret = `>=${M}.${m}.${p}-${pr} <${M}.${m}.${+p + 1}-0`;
2361
- } else {
2362
- ret = `>=${M}.${m}.${p}-${pr} <${M}.${+m + 1}.0-0`;
2363
- }
2364
- } else {
2365
- ret = `>=${M}.${m}.${p}-${pr} <${+M + 1}.0.0-0`;
2366
- }
2367
- } else {
2368
- debug("no pr");
2369
- if (M === "0") {
2370
- if (m === "0") {
2371
- ret = `>=${M}.${m}.${p}${z} <${M}.${m}.${+p + 1}-0`;
2372
- } else {
2373
- ret = `>=${M}.${m}.${p}${z} <${M}.${+m + 1}.0-0`;
2374
- }
2375
- } else {
2376
- ret = `>=${M}.${m}.${p} <${+M + 1}.0.0-0`;
2377
- }
2378
- }
2379
- debug("caret return", ret);
2380
- return ret;
2381
- });
2382
- };
2383
- var replaceXRanges = (comp, options) => {
2384
- debug("replaceXRanges", comp, options);
2385
- return comp.split(/\s+/).map((comp2) => {
2386
- return replaceXRange(comp2, options);
2387
- }).join(" ");
2388
- };
2389
- var replaceXRange = (comp, options) => {
2390
- comp = comp.trim();
2391
- const r = options.loose ? re[t.XRANGELOOSE] : re[t.XRANGE];
2392
- return comp.replace(r, (ret, gtlt, M, m, p, pr) => {
2393
- debug("xRange", comp, ret, gtlt, M, m, p, pr);
2394
- const xM = isX(M);
2395
- const xm = xM || isX(m);
2396
- const xp = xm || isX(p);
2397
- const anyX = xp;
2398
- if (gtlt === "=" && anyX) {
2399
- gtlt = "";
2400
- }
2401
- pr = options.includePrerelease ? "-0" : "";
2402
- if (xM) {
2403
- if (gtlt === ">" || gtlt === "<") {
2404
- ret = "<0.0.0-0";
2405
- } else {
2406
- ret = "*";
2407
- }
2408
- } else if (gtlt && anyX) {
2409
- if (xm) {
2410
- m = 0;
2411
- }
2412
- p = 0;
2413
- if (gtlt === ">") {
2414
- gtlt = ">=";
2415
- if (xm) {
2416
- M = +M + 1;
2417
- m = 0;
2418
- p = 0;
2419
- } else {
2420
- m = +m + 1;
2421
- p = 0;
2422
- }
2423
- } else if (gtlt === "<=") {
2424
- gtlt = "<";
2425
- if (xm) {
2426
- M = +M + 1;
2427
- } else {
2428
- m = +m + 1;
2429
- }
2430
- }
2431
- if (gtlt === "<")
2432
- pr = "-0";
2433
- ret = `${gtlt + M}.${m}.${p}${pr}`;
2434
- } else if (xm) {
2435
- ret = `>=${M}.0.0${pr} <${+M + 1}.0.0-0`;
2436
- } else if (xp) {
2437
- ret = `>=${M}.${m}.0${pr} <${M}.${+m + 1}.0-0`;
2438
- }
2439
- debug("xRange return", ret);
2440
- return ret;
2441
- });
2442
- };
2443
- var replaceStars = (comp, options) => {
2444
- debug("replaceStars", comp, options);
2445
- return comp.trim().replace(re[t.STAR], "");
2446
- };
2447
- var replaceGTE0 = (comp, options) => {
2448
- debug("replaceGTE0", comp, options);
2449
- return comp.trim().replace(re[options.includePrerelease ? t.GTE0PRE : t.GTE0], "");
2450
- };
2451
- var hyphenReplace = (incPr) => ($0, from, fM, fm, fp, fpr, fb, to, tM, tm, tp, tpr, tb) => {
2452
- if (isX(fM)) {
2453
- from = "";
2454
- } else if (isX(fm)) {
2455
- from = `>=${fM}.0.0${incPr ? "-0" : ""}`;
2456
- } else if (isX(fp)) {
2457
- from = `>=${fM}.${fm}.0${incPr ? "-0" : ""}`;
2458
- } else if (fpr) {
2459
- from = `>=${from}`;
2460
- } else {
2461
- from = `>=${from}${incPr ? "-0" : ""}`;
2462
- }
2463
- if (isX(tM)) {
2464
- to = "";
2465
- } else if (isX(tm)) {
2466
- to = `<${+tM + 1}.0.0-0`;
2467
- } else if (isX(tp)) {
2468
- to = `<${tM}.${+tm + 1}.0-0`;
2469
- } else if (tpr) {
2470
- to = `<=${tM}.${tm}.${tp}-${tpr}`;
2471
- } else if (incPr) {
2472
- to = `<${tM}.${tm}.${+tp + 1}-0`;
2473
- } else {
2474
- to = `<=${to}`;
2475
- }
2476
- return `${from} ${to}`.trim();
2477
- };
2478
- var testSet = (set, version, options) => {
2479
- for (let i = 0; i < set.length; i++) {
2480
- if (!set[i].test(version)) {
2481
- return false;
2482
- }
2483
- }
2484
- if (version.prerelease.length && !options.includePrerelease) {
2485
- for (let i = 0; i < set.length; i++) {
2486
- debug(set[i].semver);
2487
- if (set[i].semver === Comparator.ANY) {
2488
- continue;
2489
- }
2490
- if (set[i].semver.prerelease.length > 0) {
2491
- const allowed = set[i].semver;
2492
- if (allowed.major === version.major && allowed.minor === version.minor && allowed.patch === version.patch) {
2493
- return true;
2494
- }
2495
- }
2496
- }
2497
- return false;
2498
- }
2499
- return true;
2500
- };
2501
- });
2502
-
2503
- // node_modules/semver/classes/comparator.js
2504
- var require_comparator = __commonJS((exports2, module2) => {
2505
- var ANY = Symbol("SemVer ANY");
2506
- var Comparator = class {
2507
- static get ANY() {
2508
- return ANY;
2509
- }
2510
- constructor(comp, options) {
2511
- options = parseOptions(options);
2512
- if (comp instanceof Comparator) {
2513
- if (comp.loose === !!options.loose) {
2514
- return comp;
2515
- } else {
2516
- comp = comp.value;
2517
- }
2518
- }
2519
- debug("comparator", comp, options);
2520
- this.options = options;
2521
- this.loose = !!options.loose;
2522
- this.parse(comp);
2523
- if (this.semver === ANY) {
2524
- this.value = "";
2525
- } else {
2526
- this.value = this.operator + this.semver.version;
2527
- }
2528
- debug("comp", this);
2529
- }
2530
- parse(comp) {
2531
- const r = this.options.loose ? re[t.COMPARATORLOOSE] : re[t.COMPARATOR];
2532
- const m = comp.match(r);
2533
- if (!m) {
2534
- throw new TypeError(`Invalid comparator: ${comp}`);
2535
- }
2536
- this.operator = m[1] !== void 0 ? m[1] : "";
2537
- if (this.operator === "=") {
2538
- this.operator = "";
2539
- }
2540
- if (!m[2]) {
2541
- this.semver = ANY;
2542
- } else {
2543
- this.semver = new SemVer(m[2], this.options.loose);
2544
- }
2545
- }
2546
- toString() {
2547
- return this.value;
2548
- }
2549
- test(version) {
2550
- debug("Comparator.test", version, this.options.loose);
2551
- if (this.semver === ANY || version === ANY) {
2552
- return true;
2553
- }
2554
- if (typeof version === "string") {
2555
- try {
2556
- version = new SemVer(version, this.options);
2557
- } catch (er) {
2558
- return false;
2559
- }
2560
- }
2561
- return cmp(version, this.operator, this.semver, this.options);
2562
- }
2563
- intersects(comp, options) {
2564
- if (!(comp instanceof Comparator)) {
2565
- throw new TypeError("a Comparator is required");
2566
- }
2567
- if (!options || typeof options !== "object") {
2568
- options = {
2569
- loose: !!options,
2570
- includePrerelease: false
2571
- };
2572
- }
2573
- if (this.operator === "") {
2574
- if (this.value === "") {
2575
- return true;
2576
- }
2577
- return new Range2(comp.value, options).test(this.value);
2578
- } else if (comp.operator === "") {
2579
- if (comp.value === "") {
2580
- return true;
2581
- }
2582
- return new Range2(this.value, options).test(comp.semver);
2583
- }
2584
- const sameDirectionIncreasing = (this.operator === ">=" || this.operator === ">") && (comp.operator === ">=" || comp.operator === ">");
2585
- const sameDirectionDecreasing = (this.operator === "<=" || this.operator === "<") && (comp.operator === "<=" || comp.operator === "<");
2586
- const sameSemVer = this.semver.version === comp.semver.version;
2587
- const differentDirectionsInclusive = (this.operator === ">=" || this.operator === "<=") && (comp.operator === ">=" || comp.operator === "<=");
2588
- const oppositeDirectionsLessThan = cmp(this.semver, "<", comp.semver, options) && (this.operator === ">=" || this.operator === ">") && (comp.operator === "<=" || comp.operator === "<");
2589
- const oppositeDirectionsGreaterThan = cmp(this.semver, ">", comp.semver, options) && (this.operator === "<=" || this.operator === "<") && (comp.operator === ">=" || comp.operator === ">");
2590
- return sameDirectionIncreasing || sameDirectionDecreasing || sameSemVer && differentDirectionsInclusive || oppositeDirectionsLessThan || oppositeDirectionsGreaterThan;
2591
- }
2592
- };
2593
- module2.exports = Comparator;
2594
- var parseOptions = require_parse_options();
2595
- var {re, t} = require_re();
2596
- var cmp = require_cmp();
2597
- var debug = require_debug();
2598
- var SemVer = require_semver();
2599
- var Range2 = require_range();
2600
- });
2601
-
2602
- // node_modules/semver/functions/satisfies.js
2603
- var require_satisfies = __commonJS((exports2, module2) => {
2604
- var Range2 = require_range();
2605
- var satisfies = (version, range, options) => {
2606
- try {
2607
- range = new Range2(range, options);
2608
- } catch (er) {
2609
- return false;
2610
- }
2611
- return range.test(version);
2612
- };
2613
- module2.exports = satisfies;
2614
- });
2615
-
2616
- // node_modules/semver/ranges/to-comparators.js
2617
- var require_to_comparators = __commonJS((exports2, module2) => {
2618
- var Range2 = require_range();
2619
- var toComparators = (range, options) => new Range2(range, options).set.map((comp) => comp.map((c) => c.value).join(" ").trim().split(" "));
2620
- module2.exports = toComparators;
2621
- });
2622
-
2623
- // node_modules/semver/ranges/max-satisfying.js
2624
- var require_max_satisfying = __commonJS((exports2, module2) => {
2625
- var SemVer = require_semver();
2626
- var Range2 = require_range();
2627
- var maxSatisfying = (versions, range, options) => {
2628
- let max = null;
2629
- let maxSV = null;
2630
- let rangeObj = null;
2631
- try {
2632
- rangeObj = new Range2(range, options);
2633
- } catch (er) {
2634
- return null;
2635
- }
2636
- versions.forEach((v) => {
2637
- if (rangeObj.test(v)) {
2638
- if (!max || maxSV.compare(v) === -1) {
2639
- max = v;
2640
- maxSV = new SemVer(max, options);
2641
- }
2642
- }
2643
- });
2644
- return max;
2645
- };
2646
- module2.exports = maxSatisfying;
2647
- });
2648
-
2649
- // node_modules/semver/ranges/min-satisfying.js
2650
- var require_min_satisfying = __commonJS((exports2, module2) => {
2651
- var SemVer = require_semver();
2652
- var Range2 = require_range();
2653
- var minSatisfying = (versions, range, options) => {
2654
- let min = null;
2655
- let minSV = null;
2656
- let rangeObj = null;
2657
- try {
2658
- rangeObj = new Range2(range, options);
2659
- } catch (er) {
2660
- return null;
2661
- }
2662
- versions.forEach((v) => {
2663
- if (rangeObj.test(v)) {
2664
- if (!min || minSV.compare(v) === 1) {
2665
- min = v;
2666
- minSV = new SemVer(min, options);
2667
- }
2668
- }
2669
- });
2670
- return min;
2671
- };
2672
- module2.exports = minSatisfying;
2673
- });
2674
-
2675
- // node_modules/semver/ranges/min-version.js
2676
- var require_min_version = __commonJS((exports2, module2) => {
2677
- var SemVer = require_semver();
2678
- var Range2 = require_range();
2679
- var gt = require_gt();
2680
- var minVersion = (range, loose) => {
2681
- range = new Range2(range, loose);
2682
- let minver = new SemVer("0.0.0");
2683
- if (range.test(minver)) {
2684
- return minver;
2685
- }
2686
- minver = new SemVer("0.0.0-0");
2687
- if (range.test(minver)) {
2688
- return minver;
2689
- }
2690
- minver = null;
2691
- for (let i = 0; i < range.set.length; ++i) {
2692
- const comparators = range.set[i];
2693
- let setMin = null;
2694
- comparators.forEach((comparator) => {
2695
- const compver = new SemVer(comparator.semver.version);
2696
- switch (comparator.operator) {
2697
- case ">":
2698
- if (compver.prerelease.length === 0) {
2699
- compver.patch++;
2700
- } else {
2701
- compver.prerelease.push(0);
2702
- }
2703
- compver.raw = compver.format();
2704
- case "":
2705
- case ">=":
2706
- if (!setMin || gt(compver, setMin)) {
2707
- setMin = compver;
2708
- }
2709
- break;
2710
- case "<":
2711
- case "<=":
2712
- break;
2713
- default:
2714
- throw new Error(`Unexpected operation: ${comparator.operator}`);
2715
- }
2716
- });
2717
- if (setMin && (!minver || gt(minver, setMin)))
2718
- minver = setMin;
2719
- }
2720
- if (minver && range.test(minver)) {
2721
- return minver;
2722
- }
2723
- return null;
2724
- };
2725
- module2.exports = minVersion;
2726
- });
2727
-
2728
- // node_modules/semver/ranges/valid.js
2729
- var require_valid2 = __commonJS((exports2, module2) => {
2730
- var Range2 = require_range();
2731
- var validRange = (range, options) => {
2732
- try {
2733
- return new Range2(range, options).range || "*";
2734
- } catch (er) {
2735
- return null;
2736
- }
2737
- };
2738
- module2.exports = validRange;
2739
- });
2740
-
2741
- // node_modules/semver/ranges/outside.js
2742
- var require_outside = __commonJS((exports2, module2) => {
2743
- var SemVer = require_semver();
2744
- var Comparator = require_comparator();
2745
- var {ANY} = Comparator;
2746
- var Range2 = require_range();
2747
- var satisfies = require_satisfies();
2748
- var gt = require_gt();
2749
- var lt = require_lt();
2750
- var lte = require_lte();
2751
- var gte = require_gte();
2752
- var outside = (version, range, hilo, options) => {
2753
- version = new SemVer(version, options);
2754
- range = new Range2(range, options);
2755
- let gtfn, ltefn, ltfn, comp, ecomp;
2756
- switch (hilo) {
2757
- case ">":
2758
- gtfn = gt;
2759
- ltefn = lte;
2760
- ltfn = lt;
2761
- comp = ">";
2762
- ecomp = ">=";
2763
- break;
2764
- case "<":
2765
- gtfn = lt;
2766
- ltefn = gte;
2767
- ltfn = gt;
2768
- comp = "<";
2769
- ecomp = "<=";
2770
- break;
2771
- default:
2772
- throw new TypeError('Must provide a hilo val of "<" or ">"');
2773
- }
2774
- if (satisfies(version, range, options)) {
2775
- return false;
2776
- }
2777
- for (let i = 0; i < range.set.length; ++i) {
2778
- const comparators = range.set[i];
2779
- let high = null;
2780
- let low = null;
2781
- comparators.forEach((comparator) => {
2782
- if (comparator.semver === ANY) {
2783
- comparator = new Comparator(">=0.0.0");
2784
- }
2785
- high = high || comparator;
2786
- low = low || comparator;
2787
- if (gtfn(comparator.semver, high.semver, options)) {
2788
- high = comparator;
2789
- } else if (ltfn(comparator.semver, low.semver, options)) {
2790
- low = comparator;
2791
- }
2792
- });
2793
- if (high.operator === comp || high.operator === ecomp) {
2794
- return false;
2795
- }
2796
- if ((!low.operator || low.operator === comp) && ltefn(version, low.semver)) {
2797
- return false;
2798
- } else if (low.operator === ecomp && ltfn(version, low.semver)) {
2799
- return false;
2800
- }
2801
- }
2802
- return true;
2803
- };
2804
- module2.exports = outside;
2805
- });
2806
-
2807
- // node_modules/semver/ranges/gtr.js
2808
- var require_gtr = __commonJS((exports2, module2) => {
2809
- var outside = require_outside();
2810
- var gtr = (version, range, options) => outside(version, range, ">", options);
2811
- module2.exports = gtr;
2812
- });
2813
-
2814
- // node_modules/semver/ranges/ltr.js
2815
- var require_ltr = __commonJS((exports2, module2) => {
2816
- var outside = require_outside();
2817
- var ltr = (version, range, options) => outside(version, range, "<", options);
2818
- module2.exports = ltr;
2819
- });
2820
-
2821
- // node_modules/semver/ranges/intersects.js
2822
- var require_intersects = __commonJS((exports2, module2) => {
2823
- var Range2 = require_range();
2824
- var intersects = (r1, r2, options) => {
2825
- r1 = new Range2(r1, options);
2826
- r2 = new Range2(r2, options);
2827
- return r1.intersects(r2);
2828
- };
2829
- module2.exports = intersects;
2830
- });
2831
-
2832
- // node_modules/semver/ranges/simplify.js
2833
- var require_simplify = __commonJS((exports2, module2) => {
2834
- var satisfies = require_satisfies();
2835
- var compare = require_compare();
2836
- module2.exports = (versions, range, options) => {
2837
- const set = [];
2838
- let min = null;
2839
- let prev = null;
2840
- const v = versions.sort((a, b) => compare(a, b, options));
2841
- for (const version of v) {
2842
- const included = satisfies(version, range, options);
2843
- if (included) {
2844
- prev = version;
2845
- if (!min)
2846
- min = version;
2847
- } else {
2848
- if (prev) {
2849
- set.push([min, prev]);
2850
- }
2851
- prev = null;
2852
- min = null;
2853
- }
2854
- }
2855
- if (min)
2856
- set.push([min, null]);
2857
- const ranges = [];
2858
- for (const [min2, max] of set) {
2859
- if (min2 === max)
2860
- ranges.push(min2);
2861
- else if (!max && min2 === v[0])
2862
- ranges.push("*");
2863
- else if (!max)
2864
- ranges.push(`>=${min2}`);
2865
- else if (min2 === v[0])
2866
- ranges.push(`<=${max}`);
2867
- else
2868
- ranges.push(`${min2} - ${max}`);
2869
- }
2870
- const simplified = ranges.join(" || ");
2871
- const original = typeof range.raw === "string" ? range.raw : String(range);
2872
- return simplified.length < original.length ? simplified : range;
2873
- };
2874
- });
2875
-
2876
- // node_modules/semver/ranges/subset.js
2877
- var require_subset = __commonJS((exports2, module2) => {
2878
- var Range2 = require_range();
2879
- var Comparator = require_comparator();
2880
- var {ANY} = Comparator;
2881
- var satisfies = require_satisfies();
2882
- var compare = require_compare();
2883
- var subset = (sub, dom, options = {}) => {
2884
- if (sub === dom)
2885
- return true;
2886
- sub = new Range2(sub, options);
2887
- dom = new Range2(dom, options);
2888
- let sawNonNull = false;
2889
- OUTER:
2890
- for (const simpleSub of sub.set) {
2891
- for (const simpleDom of dom.set) {
2892
- const isSub = simpleSubset(simpleSub, simpleDom, options);
2893
- sawNonNull = sawNonNull || isSub !== null;
2894
- if (isSub)
2895
- continue OUTER;
2896
- }
2897
- if (sawNonNull)
2898
- return false;
2899
- }
2900
- return true;
2901
- };
2902
- var simpleSubset = (sub, dom, options) => {
2903
- if (sub === dom)
2904
- return true;
2905
- if (sub.length === 1 && sub[0].semver === ANY) {
2906
- if (dom.length === 1 && dom[0].semver === ANY)
2907
- return true;
2908
- else if (options.includePrerelease)
2909
- sub = [new Comparator(">=0.0.0-0")];
2910
- else
2911
- sub = [new Comparator(">=0.0.0")];
2912
- }
2913
- if (dom.length === 1 && dom[0].semver === ANY) {
2914
- if (options.includePrerelease)
2915
- return true;
2916
- else
2917
- dom = [new Comparator(">=0.0.0")];
2918
- }
2919
- const eqSet = new Set();
2920
- let gt, lt;
2921
- for (const c of sub) {
2922
- if (c.operator === ">" || c.operator === ">=")
2923
- gt = higherGT(gt, c, options);
2924
- else if (c.operator === "<" || c.operator === "<=")
2925
- lt = lowerLT(lt, c, options);
2926
- else
2927
- eqSet.add(c.semver);
2928
- }
2929
- if (eqSet.size > 1)
2930
- return null;
2931
- let gtltComp;
2932
- if (gt && lt) {
2933
- gtltComp = compare(gt.semver, lt.semver, options);
2934
- if (gtltComp > 0)
2935
- return null;
2936
- else if (gtltComp === 0 && (gt.operator !== ">=" || lt.operator !== "<="))
2937
- return null;
2938
- }
2939
- for (const eq of eqSet) {
2940
- if (gt && !satisfies(eq, String(gt), options))
2941
- return null;
2942
- if (lt && !satisfies(eq, String(lt), options))
2943
- return null;
2944
- for (const c of dom) {
2945
- if (!satisfies(eq, String(c), options))
2946
- return false;
2947
- }
2948
- return true;
2949
- }
2950
- let higher, lower;
2951
- let hasDomLT, hasDomGT;
2952
- let needDomLTPre = lt && !options.includePrerelease && lt.semver.prerelease.length ? lt.semver : false;
2953
- let needDomGTPre = gt && !options.includePrerelease && gt.semver.prerelease.length ? gt.semver : false;
2954
- if (needDomLTPre && needDomLTPre.prerelease.length === 1 && lt.operator === "<" && needDomLTPre.prerelease[0] === 0) {
2955
- needDomLTPre = false;
2956
- }
2957
- for (const c of dom) {
2958
- hasDomGT = hasDomGT || c.operator === ">" || c.operator === ">=";
2959
- hasDomLT = hasDomLT || c.operator === "<" || c.operator === "<=";
2960
- if (gt) {
2961
- if (needDomGTPre) {
2962
- if (c.semver.prerelease && c.semver.prerelease.length && c.semver.major === needDomGTPre.major && c.semver.minor === needDomGTPre.minor && c.semver.patch === needDomGTPre.patch) {
2963
- needDomGTPre = false;
2964
- }
2965
- }
2966
- if (c.operator === ">" || c.operator === ">=") {
2967
- higher = higherGT(gt, c, options);
2968
- if (higher === c && higher !== gt)
2969
- return false;
2970
- } else if (gt.operator === ">=" && !satisfies(gt.semver, String(c), options))
2971
- return false;
2972
- }
2973
- if (lt) {
2974
- if (needDomLTPre) {
2975
- if (c.semver.prerelease && c.semver.prerelease.length && c.semver.major === needDomLTPre.major && c.semver.minor === needDomLTPre.minor && c.semver.patch === needDomLTPre.patch) {
2976
- needDomLTPre = false;
2977
- }
2978
- }
2979
- if (c.operator === "<" || c.operator === "<=") {
2980
- lower = lowerLT(lt, c, options);
2981
- if (lower === c && lower !== lt)
2982
- return false;
2983
- } else if (lt.operator === "<=" && !satisfies(lt.semver, String(c), options))
2984
- return false;
2985
- }
2986
- if (!c.operator && (lt || gt) && gtltComp !== 0)
2987
- return false;
2988
- }
2989
- if (gt && hasDomLT && !lt && gtltComp !== 0)
2990
- return false;
2991
- if (lt && hasDomGT && !gt && gtltComp !== 0)
2992
- return false;
2993
- if (needDomGTPre || needDomLTPre)
2994
- return false;
2995
- return true;
2996
- };
2997
- var higherGT = (a, b, options) => {
2998
- if (!a)
2999
- return b;
3000
- const comp = compare(a.semver, b.semver, options);
3001
- return comp > 0 ? a : comp < 0 ? b : b.operator === ">" && a.operator === ">=" ? b : a;
3002
- };
3003
- var lowerLT = (a, b, options) => {
3004
- if (!a)
3005
- return b;
3006
- const comp = compare(a.semver, b.semver, options);
3007
- return comp < 0 ? a : comp > 0 ? b : b.operator === "<" && a.operator === "<=" ? b : a;
3008
- };
3009
- module2.exports = subset;
3010
- });
3011
-
3012
- // node_modules/semver/index.js
3013
- var require_semver2 = __commonJS((exports2, module2) => {
3014
- var internalRe = require_re();
3015
- module2.exports = {
3016
- re: internalRe.re,
3017
- src: internalRe.src,
3018
- tokens: internalRe.t,
3019
- SEMVER_SPEC_VERSION: require_constants().SEMVER_SPEC_VERSION,
3020
- SemVer: require_semver(),
3021
- compareIdentifiers: require_identifiers().compareIdentifiers,
3022
- rcompareIdentifiers: require_identifiers().rcompareIdentifiers,
3023
- parse: require_parse(),
3024
- valid: require_valid(),
3025
- clean: require_clean(),
3026
- inc: require_inc(),
3027
- diff: require_diff(),
3028
- major: require_major(),
3029
- minor: require_minor(),
3030
- patch: require_patch(),
3031
- prerelease: require_prerelease(),
3032
- compare: require_compare(),
3033
- rcompare: require_rcompare(),
3034
- compareLoose: require_compare_loose(),
3035
- compareBuild: require_compare_build(),
3036
- sort: require_sort(),
3037
- rsort: require_rsort(),
3038
- gt: require_gt(),
3039
- lt: require_lt(),
3040
- eq: require_eq(),
3041
- neq: require_neq(),
3042
- gte: require_gte(),
3043
- lte: require_lte(),
3044
- cmp: require_cmp(),
3045
- coerce: require_coerce(),
3046
- Comparator: require_comparator(),
3047
- Range: require_range(),
3048
- satisfies: require_satisfies(),
3049
- toComparators: require_to_comparators(),
3050
- maxSatisfying: require_max_satisfying(),
3051
- minSatisfying: require_min_satisfying(),
3052
- minVersion: require_min_version(),
3053
- validRange: require_valid2(),
3054
- outside: require_outside(),
3055
- gtr: require_gtr(),
3056
- ltr: require_ltr(),
3057
- intersects: require_intersects(),
3058
- simplifyRange: require_simplify(),
3059
- subset: require_subset()
3060
- };
3061
- });
3062
-
3063
887
  // node_modules/debounce/index.js
3064
888
  var require_debounce = __commonJS((exports2, module2) => {
3065
889
  function debounce3(func, wait2, immediate) {
@@ -6881,20 +4705,26 @@ function equals(one, other) {
6881
4705
  }
6882
4706
  return true;
6883
4707
  }
6884
- function getUrl(remote, branch, filepath, lines) {
6885
- let uri = remote.replace(/\.git$/, "");
6886
- if (uri.startsWith("git@")) {
6887
- let str = uri.slice(4);
4708
+ function getRepoUrl(remote) {
4709
+ let url = remote.replace(/\s+$/, "").replace(/\.git$/, "");
4710
+ if (url.startsWith("git@")) {
4711
+ let str = url.slice(4);
6888
4712
  let parts = str.split(":", 2);
6889
- uri = `https://${parts[0]}/${parts[1]}`;
4713
+ url = `https://${parts[0]}/${parts[1]}`;
6890
4714
  }
4715
+ return url;
4716
+ }
4717
+ function getUrl(fix, repoURL, name, filepath, lines) {
6891
4718
  let anchor = "";
6892
4719
  if (lines && Array.isArray(lines)) {
6893
4720
  anchor = lines ? lines.map((l) => `L${l}`).join("-") : "";
6894
4721
  } else if (typeof lines == "string") {
6895
4722
  anchor = lines;
6896
4723
  }
6897
- return uri + "/blob/" + branch + "/" + filepath + (anchor ? "#" + anchor : "");
4724
+ let url = repoURL + "/blob/" + name + "/" + filepath + (anchor ? "#" + anchor : "");
4725
+ let parts = fix.split("|");
4726
+ let match = RegExp(parts[0]), result = parts[1];
4727
+ return url.replace(match, result);
6898
4728
  }
6899
4729
  function parseVersion(raw) {
6900
4730
  return raw.replace(/^git version /, "");
@@ -7597,9 +5427,9 @@ var GStatus = class extends import_coc6.BasicList {
7597
5427
  await nvim.command(`exe "lcd ".fnameescape('${root}')`);
7598
5428
  let filesArg = await nvim.eval(`join(map([${items.map((s) => "'" + s.data.relative + "'").join(",")}],'fnameescape(v:val)'),' ')`);
7599
5429
  try {
7600
- await nvim.command(`Gcommit -v ${filesArg}`);
5430
+ await nvim.command(`G commit -v ${filesArg}`);
7601
5431
  } catch (e) {
7602
- import_coc6.window.showMessage(`Gcommit command failed, make sure fugitive installed.`, "error");
5432
+ import_coc6.window.showMessage(`G commit command failed, make sure fugitive installed.`, "error");
7603
5433
  }
7604
5434
  });
7605
5435
  this.addAction("reset", async (item) => {
@@ -7634,8 +5464,8 @@ var GStatus = class extends import_coc6.BasicList {
7634
5464
  await wait(100);
7635
5465
  }, {reload: true, persist: true});
7636
5466
  this.addAction("preview", async (item, context) => {
7637
- let {tree_symbol, root, relative} = item.data;
7638
- if (tree_symbol != "M") {
5467
+ let {tree_symbol, index_symbol, root, relative} = item.data;
5468
+ if (tree_symbol != "M" && index_symbol != "M") {
7639
5469
  await this.previewLocation({
7640
5470
  uri: import_coc6.Uri.file(import_path3.default.join(root, relative)).toString(),
7641
5471
  range: {
@@ -7646,6 +5476,9 @@ var GStatus = class extends import_coc6.BasicList {
7646
5476
  return;
7647
5477
  }
7648
5478
  let args = ["--no-pager", "diff"];
5479
+ if (index_symbol == "M" && tree_symbol != "M") {
5480
+ args.push("--cached");
5481
+ }
7649
5482
  let cmd = `git ${args.join(" ")} ${relative}`;
7650
5483
  let content = await runCommand(cmd, {cwd: root});
7651
5484
  let lines = content.trim().split("\n");
@@ -7700,7 +5533,6 @@ var gstatus_default = GStatus;
7700
5533
 
7701
5534
  // src/manager.ts
7702
5535
  var import_coc8 = __toModule(require("coc.nvim"));
7703
- var import_semver = __toModule(require_semver2());
7704
5536
  var import_debounce = __toModule(require_debounce());
7705
5537
 
7706
5538
  // src/model/status.ts
@@ -7860,8 +5692,6 @@ var DocumentManager = class {
7860
5692
  }
7861
5693
  async defineSigns() {
7862
5694
  let {nvim} = this;
7863
- let signcolumn = await nvim.eval("&signcolumn");
7864
- let numhl = signcolumn == "number" && import_coc8.workspace.isNvim && import_semver.default.gte(import_coc8.workspace.env.version, "v0.3.2");
7865
5695
  const config = import_coc8.workspace.getConfiguration("git");
7866
5696
  let items = ["Changed", "Added", "Removed", "TopRemoved", "ChangeRemoved"];
7867
5697
  nvim.pauseNotification();
@@ -7869,8 +5699,7 @@ var DocumentManager = class {
7869
5699
  let section = item[0].toLowerCase() + item.slice(1) + "Sign";
7870
5700
  let text = config.get(`${section}.text`, "");
7871
5701
  let hlGroup = config.get(`${section}.hlGroup`, "");
7872
- let extra = numhl ? `numhl=CocGit${item}Sign` : `texthl=CocGit${item}Sign`;
7873
- nvim.command(`sign define CocGit${item} text=${text} ${extra}`, true);
5702
+ nvim.command(`sign define CocGit${item} text=${text} texthl=CocGit${item}Sign`, true);
7874
5703
  nvim.command(`hi default link CocGit${item}Sign ${hlGroup}`, true);
7875
5704
  }
7876
5705
  await nvim.resumeNotification();
@@ -8228,11 +6057,16 @@ var Repo = class {
8228
6057
  return res.stdout && res.stdout.trim().length > 0;
8229
6058
  }
8230
6059
  async getUsername() {
8231
- if (this.userName)
6060
+ if (typeof this.userName === "string")
6061
+ return this.userName;
6062
+ try {
6063
+ let res = await this.exec(["config", "user.name"]);
6064
+ this.userName = res.stdout.trim();
8232
6065
  return this.userName;
8233
- let res = await this.exec(["config", "user.name"]);
8234
- this.userName = res.stdout.trim();
8235
- return this.userName;
6066
+ } catch (e) {
6067
+ this.userName = "";
6068
+ return "";
6069
+ }
8236
6070
  }
8237
6071
  async exec(args, options = {}) {
8238
6072
  return await this.git.exec(this.root, args, options);
@@ -8606,6 +6440,7 @@ register("zh_CN", zh_CN_default);
8606
6440
 
8607
6441
  // src/model/buffer.ts
8608
6442
  var import_debounce2 = __toModule(require_debounce());
6443
+ var import_url = __toModule(require("url"));
8609
6444
  var signGroup = "CocGit";
8610
6445
  var GitBuffer = class {
8611
6446
  constructor(doc, config, relpath, repo, git, channel, floatFactory) {
@@ -8779,16 +6614,22 @@ var GitBuffer = class {
8779
6614
  }
8780
6615
  }
8781
6616
  let buffer = nvim.createBuffer(this.doc.bufnr);
8782
- if (this.config.addGBlameToBufferVar) {
8783
- nvim.pauseNotification();
8784
- buffer.setVar("coc_git_blame", blameText, true);
8785
- nvim.call("coc#util#do_autocmd", ["CocGitStatusChange"], true);
8786
- nvim.resumeNotification(false, true);
8787
- }
8788
- if (this.config.addGBlameToVirtualText) {
6617
+ let hide_blame = await nvim.getVar("coc_git_hide_blame_virtual_text");
6618
+ if (hide_blame) {
8789
6619
  const prefix = this.config.virtualTextPrefix;
8790
6620
  await buffer.request("nvim_buf_clear_namespace", [virtualTextSrcId, 0, -1]);
8791
- await buffer.setVirtualText(virtualTextSrcId, lnum - 1, [[prefix + blameText, "CocCodeLens"]]);
6621
+ } else {
6622
+ if (this.config.addGBlameToBufferVar) {
6623
+ nvim.pauseNotification();
6624
+ buffer.setVar("coc_git_blame", blameText, true);
6625
+ nvim.call("coc#util#do_autocmd", ["CocGitStatusChange"], true);
6626
+ nvim.resumeNotification(false, true);
6627
+ }
6628
+ if (this.config.addGBlameToVirtualText) {
6629
+ const prefix = this.config.virtualTextPrefix;
6630
+ await buffer.request("nvim_buf_clear_namespace", [virtualTextSrcId, 0, -1]);
6631
+ await buffer.setVirtualText(virtualTextSrcId, lnum - 1, [[prefix + blameText, "CocCodeLens"]]);
6632
+ }
8792
6633
  }
8793
6634
  }
8794
6635
  async diffDocument(force = false) {
@@ -9024,19 +6865,8 @@ var GitBuffer = class {
9024
6865
  let mode = config.get("urlMode", "normal").trim();
9025
6866
  let head = (await this.repo.safeRun(["rev-parse", "HEAD"])).trim();
9026
6867
  let branch = config.get("browserBranchName", "").trim();
9027
- if (mode == "permalink") {
9028
- if (!head.length) {
9029
- import_coc11.window.showMessage(`Failed on git rev-parse`, "warning");
9030
- return;
9031
- }
9032
- branch = head;
9033
- } else if (!branch.length) {
9034
- head = (await this.repo.safeRun(["symbolic-ref", "--short", "-q", "HEAD"])).trim();
9035
- if (!head.length) {
9036
- import_coc11.window.showMessage(`Failed on git symbolic-ref`, "warning");
9037
- return;
9038
- }
9039
- branch = head;
6868
+ if (!branch.length) {
6869
+ branch = (await this.repo.safeRun(["symbolic-ref", "--short", "-q", "HEAD"])).trim();
9040
6870
  }
9041
6871
  let lines = range && range.length == 2 ? [
9042
6872
  range[0],
@@ -9067,10 +6897,17 @@ var GitBuffer = class {
9067
6897
  let urls = [];
9068
6898
  for (let name of names) {
9069
6899
  let uri = await this.repo.safeRun(["remote", "get-url", name]);
9070
- uri = uri.replace(/\s+$/, "");
9071
6900
  if (!uri.length)
9072
6901
  continue;
9073
- let url = getUrl(uri, branch, this.relpath.replace(/\\\\/g, "/"), lines);
6902
+ let repoURL = getRepoUrl(uri);
6903
+ let tmp = new import_url.URL(repoURL);
6904
+ let hostname = tmp.hostname;
6905
+ let fix = "|";
6906
+ try {
6907
+ fix = config.get("urlFix")[hostname][mode == "permalink" ? 1 : 0];
6908
+ } catch (e) {
6909
+ }
6910
+ let url = getUrl(fix, repoURL, mode == "permalink" ? head : branch, this.relpath.replace(/\\\\/g, "/"), lines);
9074
6911
  if (url)
9075
6912
  urls.push(url);
9076
6913
  }
@@ -9438,6 +7275,10 @@ var service_default = GitService;
9438
7275
  // src/source.ts
9439
7276
  var import_coc13 = __toModule(require("coc.nvim"));
9440
7277
  var import_safe3 = __toModule(require_safe());
7278
+ function byteSlice(content, start, end) {
7279
+ let buf = Buffer.from(content, "utf8");
7280
+ return buf.slice(start, end).toString("utf8");
7281
+ }
9441
7282
  var issuesMap = new Map();
9442
7283
  function issuesFiletypes() {
9443
7284
  return import_coc13.workspace.getConfiguration().get("coc.source.issues.filetypes");
@@ -9641,9 +7482,10 @@ function addSource(context, resolver) {
9641
7482
  let source = {
9642
7483
  name: "issues",
9643
7484
  async doComplete(opt) {
9644
- const config = import_coc13.workspace.getConfiguration("git");
9645
- const issueFormat = config.get("issueFormat", "#%i");
9646
- if (opt.triggerCharacter && opt.triggerCharacter == "#") {
7485
+ let pre = byteSlice(opt.line, 0, opt.colnr - 1);
7486
+ if (pre && pre.endsWith("#")) {
7487
+ const config = import_coc13.workspace.getConfiguration("git");
7488
+ const issueFormat = config.get("issueFormat", "#%i");
9647
7489
  let issues = issuesMap.get(opt.bufnr);
9648
7490
  if (!issues || issues.length == 0)
9649
7491
  return null;