fyn 2.1.0 → 2.1.2
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.
package/dist/fyn.js
CHANGED
|
@@ -125,14 +125,13 @@ const Promise = __webpack_require__("./node_modules/.f/_/aveazul/1.1.0/aveazul/c
|
|
|
125
125
|
const Fyn = __webpack_require__("./lib/fyn.ts");
|
|
126
126
|
const _ = __webpack_require__("./node_modules/.f/_/lodash/4.17.21/lodash/lodash.min.js");
|
|
127
127
|
const PkgInstaller = __webpack_require__("./lib/pkg-installer.ts");
|
|
128
|
-
const semver = __webpack_require__("./node_modules/.f/_/semver/7.
|
|
128
|
+
const semver = __webpack_require__("./node_modules/.f/_/semver/7.8.0/semver/index.js");
|
|
129
129
|
const chalk = __webpack_require__("./node_modules/.f/_/chalk/4.1.2/chalk/source/index.js");
|
|
130
130
|
const logger = __webpack_require__("./lib/logger.ts");
|
|
131
131
|
const PromiseQueue = __webpack_require__("./lib/util/promise-queue.ts");
|
|
132
132
|
const sortObjKeys = __webpack_require__("./lib/util/sort-obj-keys.ts");
|
|
133
133
|
const fyntil = __webpack_require__("./lib/util/fyntil.ts");
|
|
134
134
|
const showStat = __webpack_require__("./cli/show-stat.ts");
|
|
135
|
-
const showAudit = __webpack_require__("./cli/show-audit.ts");
|
|
136
135
|
const { runNpmScript, addNpmLifecycle } = __webpack_require__("./lib/util/run-npm-script.ts");
|
|
137
136
|
const { initEnv, makeNpmEnv } = __webpack_require__("./lib/util/make-npm-env.ts");
|
|
138
137
|
const runScript = __webpack_require__("./node_modules/.f/_/@npmcli/run-script/10.0.2/@npmcli/run-script/lib/run-script.js");
|
|
@@ -144,7 +143,7 @@ const myPkg = __webpack_require__("./cli/mypkg.ts");
|
|
|
144
143
|
const { cleanErrorStack } = __webpack_require__("./node_modules/.f/_/@jchip/error/1.0.3/@jchip/error/dist/index.js");
|
|
145
144
|
const { setupNodeGypEnv } = __webpack_require__("./lib/util/setup-node-gyp.ts");
|
|
146
145
|
const hardLinkDir = __webpack_require__("./lib/util/hard-link-dir.ts");
|
|
147
|
-
const xsh = __webpack_require__("./node_modules/.f/_/xsh/0.4.6
|
|
146
|
+
const xsh = __webpack_require__("./node_modules/.f/_/xsh/0.4.6/xsh/lib/index.js");
|
|
148
147
|
function checkNewVersion(npmConfig) {
|
|
149
148
|
checkPkgNewVersionEngine({
|
|
150
149
|
pkg: _.pick(myPkg, ["name", "version"]),
|
|
@@ -438,11 +437,10 @@ class FynCli {
|
|
|
438
437
|
* 3. postinstall
|
|
439
438
|
* 4. prepare
|
|
440
439
|
*/
|
|
441
|
-
install(
|
|
440
|
+
install() {
|
|
442
441
|
let failure;
|
|
443
442
|
let installLocked;
|
|
444
443
|
const start = Date.now();
|
|
445
|
-
const runAudit = argv.opts?.audit !== false;
|
|
446
444
|
return Promise.try(() => this.fyn._initializePkg()).then(async () => {
|
|
447
445
|
checkNewVersion(this.fyn._options);
|
|
448
446
|
if (!this.fyn._changeProdMode && !this.fyn._options.forceInstall && this.fyn._installConfig.time) {
|
|
@@ -530,17 +528,6 @@ class FynCli {
|
|
|
530
528
|
chalk.green("complete in total"),
|
|
531
529
|
chalk.magenta(`${(end - start) / 1e3}`) + "secs"
|
|
532
530
|
);
|
|
533
|
-
if (runAudit) {
|
|
534
|
-
try {
|
|
535
|
-
await showAudit(this.fyn, {
|
|
536
|
-
colors: this.fyn._options.colors !== false,
|
|
537
|
-
summary: true
|
|
538
|
-
// Show brief summary, not full report
|
|
539
|
-
});
|
|
540
|
-
} catch (err) {
|
|
541
|
-
logger.warn("Security audit failed:", err.message);
|
|
542
|
-
}
|
|
543
|
-
}
|
|
544
531
|
}).catch((err) => {
|
|
545
532
|
if (err.message === "No Change") {
|
|
546
533
|
logger.info(`No changes detected since last fyn install - nothing to be done.
|
|
@@ -568,17 +555,6 @@ class FynCli {
|
|
|
568
555
|
return this._opts.saveLogs && this.saveLogs(this._opts.saveLogs);
|
|
569
556
|
});
|
|
570
557
|
}
|
|
571
|
-
audit(argv) {
|
|
572
|
-
const opts = {
|
|
573
|
-
json: argv.opts?.json || false,
|
|
574
|
-
omit: argv.opts?.omit || [],
|
|
575
|
-
auditLevel: argv.opts?.auditLevel || "info",
|
|
576
|
-
noCache: argv.opts?.noCache || false
|
|
577
|
-
};
|
|
578
|
-
return showAudit(this.fyn, opts).finally(() => {
|
|
579
|
-
return this._opts.saveLogs && this.saveLogs(this._opts.saveLogs);
|
|
580
|
-
});
|
|
581
|
-
}
|
|
582
558
|
async runScript(pkg, script, env, scriptArgs = []) {
|
|
583
559
|
const config = (x) => this.fyn.allrc[x];
|
|
584
560
|
const options = {
|
|
@@ -1029,7 +1005,7 @@ const commands = {
|
|
|
1029
1005
|
desc: "Install modules",
|
|
1030
1006
|
async exec(cmd) {
|
|
1031
1007
|
const cli = new FynCli(await pickOptions(cmd));
|
|
1032
|
-
return cli.install(
|
|
1008
|
+
return cli.install();
|
|
1033
1009
|
},
|
|
1034
1010
|
options: {
|
|
1035
1011
|
"run-npm": {
|
|
@@ -1040,11 +1016,6 @@ const commands = {
|
|
|
1040
1016
|
alias: "fi",
|
|
1041
1017
|
desc: "force install even if no files changed since last install",
|
|
1042
1018
|
args: "<flag boolean>"
|
|
1043
|
-
},
|
|
1044
|
-
audit: {
|
|
1045
|
-
desc: "run security audit after install (use --no-audit to skip)",
|
|
1046
|
-
args: "<flag boolean>",
|
|
1047
|
-
default: true
|
|
1048
1019
|
}
|
|
1049
1020
|
}
|
|
1050
1021
|
},
|
|
@@ -1069,7 +1040,7 @@ const commands = {
|
|
|
1069
1040
|
config.noStartupInfo = true;
|
|
1070
1041
|
logger.info("installing...");
|
|
1071
1042
|
fynTil.resetFynpo();
|
|
1072
|
-
return new FynCli(config).install(
|
|
1043
|
+
return new FynCli(config).install();
|
|
1073
1044
|
});
|
|
1074
1045
|
},
|
|
1075
1046
|
options: {
|
|
@@ -1139,32 +1110,6 @@ const commands = {
|
|
|
1139
1110
|
return new FynCli(await pickOptions(cmd)).stat(cmd.jsonMeta);
|
|
1140
1111
|
}
|
|
1141
1112
|
},
|
|
1142
|
-
audit: {
|
|
1143
|
-
desc: "Check for known security vulnerabilities",
|
|
1144
|
-
exec: async (cmd) => {
|
|
1145
|
-
return new FynCli(await pickOptions(cmd)).audit(cmd.jsonMeta);
|
|
1146
|
-
},
|
|
1147
|
-
options: {
|
|
1148
|
-
json: {
|
|
1149
|
-
alias: "j",
|
|
1150
|
-
args: "<flag boolean>",
|
|
1151
|
-
desc: "Output audit report as JSON"
|
|
1152
|
-
},
|
|
1153
|
-
omit: {
|
|
1154
|
-
args: "[types string..]",
|
|
1155
|
-
desc: "Dependency types to omit (dev, optional, peer)"
|
|
1156
|
-
},
|
|
1157
|
-
"audit-level": {
|
|
1158
|
-
args: "<level string>",
|
|
1159
|
-
desc: "Minimum severity level to report (info, low, moderate, high, critical)",
|
|
1160
|
-
default: "info"
|
|
1161
|
-
},
|
|
1162
|
-
"no-cache": {
|
|
1163
|
-
args: "<flag boolean>",
|
|
1164
|
-
desc: "Bypass the audit cache and fetch fresh data"
|
|
1165
|
-
}
|
|
1166
|
-
}
|
|
1167
|
-
},
|
|
1168
1113
|
run: {
|
|
1169
1114
|
desc: "Run a npm script",
|
|
1170
1115
|
args: "[script string] [args...]",
|
|
@@ -1492,95 +1437,6 @@ const myPkg = JSON.parse(Fs.readFileSync(Path.join(__dirname, "../package.json")
|
|
|
1492
1437
|
module.exports = myPkg;
|
|
1493
1438
|
|
|
1494
1439
|
|
|
1495
|
-
/***/ }),
|
|
1496
|
-
|
|
1497
|
-
/***/ "./cli/show-audit.ts":
|
|
1498
|
-
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
|
|
1499
|
-
|
|
1500
|
-
"use strict";
|
|
1501
|
-
|
|
1502
|
-
const Promise = __webpack_require__("./node_modules/.f/_/aveazul/1.1.0/aveazul/cjs-entry.cjs");
|
|
1503
|
-
const CliLogger = __webpack_require__("./lib/cli-logger.ts");
|
|
1504
|
-
const logger = __webpack_require__("./lib/logger.ts");
|
|
1505
|
-
const AuditReport = __webpack_require__("./lib/audit/audit-report.ts");
|
|
1506
|
-
const AuditFormatter = __webpack_require__("./lib/audit/audit-formatter.ts");
|
|
1507
|
-
const PkgStatProvider = __webpack_require__("./lib/pkg-stat-provider.ts");
|
|
1508
|
-
const { FETCH_META } = __webpack_require__("./lib/log-items.ts");
|
|
1509
|
-
class ShowAudit {
|
|
1510
|
-
/**
|
|
1511
|
-
* @param {Object} options
|
|
1512
|
-
* @param {Object} options.fyn - Fyn instance
|
|
1513
|
-
* @param {Object} options.opts - CLI options
|
|
1514
|
-
*/
|
|
1515
|
-
constructor({ fyn, opts }) {
|
|
1516
|
-
this._fyn = fyn;
|
|
1517
|
-
this._opts = opts || {};
|
|
1518
|
-
this._fyn._options.buildLocal = false;
|
|
1519
|
-
}
|
|
1520
|
-
/**
|
|
1521
|
-
* Run the audit workflow.
|
|
1522
|
-
*
|
|
1523
|
-
* @returns {Promise<void>}
|
|
1524
|
-
*/
|
|
1525
|
-
async runAudit() {
|
|
1526
|
-
const spinner = CliLogger.spinners[1];
|
|
1527
|
-
try {
|
|
1528
|
-
let depData = this._fyn._data;
|
|
1529
|
-
if (!depData || Object.keys(depData.pkgs || {}).length === 0) {
|
|
1530
|
-
logger.addItem({ name: FETCH_META, color: "green", spinner });
|
|
1531
|
-
logger.updateItem(FETCH_META, "resolving dependencies...");
|
|
1532
|
-
await this._fyn.resolveDependencies();
|
|
1533
|
-
logger.removeItem(FETCH_META);
|
|
1534
|
-
depData = this._fyn._data;
|
|
1535
|
-
}
|
|
1536
|
-
const pkgCount = Object.keys(depData.pkgs).length;
|
|
1537
|
-
if (pkgCount === 0) {
|
|
1538
|
-
logger.info("No dependencies to audit");
|
|
1539
|
-
return;
|
|
1540
|
-
}
|
|
1541
|
-
logger.addItem({ name: FETCH_META, color: "green", spinner });
|
|
1542
|
-
logger.updateItem(FETCH_META, "fetching security advisories...");
|
|
1543
|
-
const auditReport = new AuditReport({
|
|
1544
|
-
fyn: this._fyn,
|
|
1545
|
-
depData,
|
|
1546
|
-
noCache: this._opts.noCache || false,
|
|
1547
|
-
omit: this._opts.omit || []
|
|
1548
|
-
});
|
|
1549
|
-
const auditResult = await auditReport.fetchAdvisories();
|
|
1550
|
-
logger.removeItem(FETCH_META);
|
|
1551
|
-
const vulnerabilities = auditReport.matchVulnerabilities(auditResult);
|
|
1552
|
-
let statProvider = null;
|
|
1553
|
-
if (!this._opts.summary && !this._opts.json) {
|
|
1554
|
-
statProvider = new PkgStatProvider({ fyn: this._fyn });
|
|
1555
|
-
}
|
|
1556
|
-
const formatter = new AuditFormatter({
|
|
1557
|
-
json: this._opts.json || false,
|
|
1558
|
-
colors: this._fyn._options.colors !== false,
|
|
1559
|
-
auditLevel: this._opts.auditLevel || "info",
|
|
1560
|
-
summary: this._opts.summary || false,
|
|
1561
|
-
statProvider
|
|
1562
|
-
});
|
|
1563
|
-
if (statProvider) {
|
|
1564
|
-
await formatter.precomputeStats(vulnerabilities);
|
|
1565
|
-
}
|
|
1566
|
-
const { output } = formatter.format(auditResult, vulnerabilities);
|
|
1567
|
-
if (output) {
|
|
1568
|
-
console.log(output);
|
|
1569
|
-
}
|
|
1570
|
-
} catch (err) {
|
|
1571
|
-
logger.removeItem(FETCH_META);
|
|
1572
|
-
logger.error("Audit failed:", err.message);
|
|
1573
|
-
if (process.env.FYN_DEBUG) {
|
|
1574
|
-
logger.error(err.stack);
|
|
1575
|
-
}
|
|
1576
|
-
}
|
|
1577
|
-
}
|
|
1578
|
-
}
|
|
1579
|
-
module.exports = (fyn, opts) => {
|
|
1580
|
-
return new ShowAudit({ fyn, opts }).runAudit();
|
|
1581
|
-
};
|
|
1582
|
-
|
|
1583
|
-
|
|
1584
1440
|
/***/ }),
|
|
1585
1441
|
|
|
1586
1442
|
/***/ "./cli/show-stat.ts":
|
|
@@ -1591,10 +1447,13 @@ module.exports = (fyn, opts) => {
|
|
|
1591
1447
|
const chalk = __webpack_require__("./node_modules/.f/_/chalk/4.1.2/chalk/source/index.js");
|
|
1592
1448
|
const CliLogger = __webpack_require__("./lib/cli-logger.ts");
|
|
1593
1449
|
const logger = __webpack_require__("./lib/logger.ts");
|
|
1450
|
+
const _ = __webpack_require__("./node_modules/.f/_/lodash/4.17.21/lodash/lodash.min.js");
|
|
1451
|
+
const semverUtil = __webpack_require__("./lib/util/semver.ts");
|
|
1594
1452
|
const Promise = __webpack_require__("./node_modules/.f/_/aveazul/1.1.0/aveazul/cjs-entry.cjs");
|
|
1595
1453
|
const logFormat = __webpack_require__("./lib/util/log-format.ts");
|
|
1596
|
-
const
|
|
1454
|
+
const PkgDepLinker = __webpack_require__("./lib/pkg-dep-linker.ts");
|
|
1597
1455
|
const { FETCH_META } = __webpack_require__("./lib/log-items.ts");
|
|
1456
|
+
const { SEMVER } = __webpack_require__("./lib/symbols.ts");
|
|
1598
1457
|
const PACKAGE_JSON = "~package.json";
|
|
1599
1458
|
const formatPkgId = (pkg) => {
|
|
1600
1459
|
if (pkg.name === PACKAGE_JSON) {
|
|
@@ -1603,52 +1462,220 @@ const formatPkgId = (pkg) => {
|
|
|
1603
1462
|
const top = pkg.promoted ? "" : "\u2B07";
|
|
1604
1463
|
return `${logFormat.pkgId(pkg)}${top}`;
|
|
1605
1464
|
};
|
|
1465
|
+
const getPkgId = (pkg) => {
|
|
1466
|
+
if (pkg.name === PACKAGE_JSON) {
|
|
1467
|
+
return pkg.name;
|
|
1468
|
+
}
|
|
1469
|
+
return `${pkg.name}@${pkg.version}`;
|
|
1470
|
+
};
|
|
1606
1471
|
class ShowStat {
|
|
1607
1472
|
constructor({ fyn }) {
|
|
1608
1473
|
this._fyn = fyn;
|
|
1609
1474
|
this._fyn._options.buildLocal = false;
|
|
1610
|
-
|
|
1475
|
+
}
|
|
1476
|
+
// returns array of packages match id
|
|
1477
|
+
findPkgsById(pkgs, id) {
|
|
1478
|
+
const ix = id.indexOf("@", 1);
|
|
1479
|
+
const sx = ix > 0 ? ix : id.length;
|
|
1480
|
+
const name = id.substr(0, sx);
|
|
1481
|
+
const semver = id.substr(sx + 1);
|
|
1482
|
+
return _(pkgs[name]).map((vpkg, version) => {
|
|
1483
|
+
if (!semver || semverUtil.satisfies(version, semver)) {
|
|
1484
|
+
return vpkg;
|
|
1485
|
+
}
|
|
1486
|
+
}).filter((x) => x).value();
|
|
1487
|
+
}
|
|
1488
|
+
findDependents(pkgs, ask) {
|
|
1489
|
+
const dependents = [];
|
|
1490
|
+
if (!this._fynRes) {
|
|
1491
|
+
const depLinker = new PkgDepLinker({ fyn: this._fyn });
|
|
1492
|
+
this._fynRes = depLinker.makeAppFynRes(this._fyn._data.res, {});
|
|
1493
|
+
}
|
|
1494
|
+
const check = (res, vpkg) => {
|
|
1495
|
+
const semv = ask.local ? semverUtil.unlocalify(ask.version) : ask.version;
|
|
1496
|
+
if (res && semverUtil.satisfies(res.resolved, semv)) {
|
|
1497
|
+
dependents.push(vpkg);
|
|
1498
|
+
}
|
|
1499
|
+
};
|
|
1500
|
+
for (const name in pkgs) {
|
|
1501
|
+
const pkg = pkgs[name];
|
|
1502
|
+
for (const version in pkg) {
|
|
1503
|
+
const vpkg = pkg[version];
|
|
1504
|
+
["dep", "opt", "per"].forEach((s) => {
|
|
1505
|
+
const x = vpkg.res[s];
|
|
1506
|
+
check(x && x[ask.name], vpkg);
|
|
1507
|
+
});
|
|
1508
|
+
}
|
|
1509
|
+
}
|
|
1510
|
+
check(this._fynRes[ask.name], { name: PACKAGE_JSON, promoted: true });
|
|
1511
|
+
return dependents;
|
|
1512
|
+
}
|
|
1513
|
+
showPkgDependents(pkgs, ask) {
|
|
1514
|
+
const dependents = this.findDependents(pkgs, ask).sort((a, b) => {
|
|
1515
|
+
if (a.name === b.name) {
|
|
1516
|
+
return semverUtil.simpleCompare(a.version, b.version);
|
|
1517
|
+
}
|
|
1518
|
+
return a.name > b.name ? 1 : -1;
|
|
1519
|
+
});
|
|
1520
|
+
if (dependents.length > 0) {
|
|
1521
|
+
logger.prefix("").info(
|
|
1522
|
+
"=>",
|
|
1523
|
+
logFormat.pkgId(ask),
|
|
1524
|
+
`has ${dependents.length} dependents:`,
|
|
1525
|
+
dependents.map(formatPkgId).join(" ")
|
|
1526
|
+
);
|
|
1527
|
+
}
|
|
1528
|
+
return dependents;
|
|
1611
1529
|
}
|
|
1612
1530
|
_show(pkgIds) {
|
|
1613
|
-
|
|
1614
|
-
|
|
1615
|
-
|
|
1531
|
+
const data = this._fyn._data;
|
|
1532
|
+
this._dependentsCache = {};
|
|
1533
|
+
let groups = {};
|
|
1534
|
+
return Promise.each(pkgIds, (pkgId) => {
|
|
1535
|
+
const askPkgs = this.findPkgsById(data.pkgs, pkgId).sort(
|
|
1536
|
+
(a, b) => semverUtil.simpleCompare(a.version, b.version)
|
|
1537
|
+
);
|
|
1538
|
+
if (askPkgs.length === 0) {
|
|
1616
1539
|
logger.prefix("").info(chalk.yellow(pkgId), "is not installed");
|
|
1617
1540
|
} else {
|
|
1618
1541
|
logger.prefix("").info(
|
|
1619
1542
|
chalk.green.bgRed(pkgId),
|
|
1620
1543
|
"matched these installed versions",
|
|
1621
|
-
|
|
1544
|
+
askPkgs.map(formatPkgId).join(" ")
|
|
1622
1545
|
);
|
|
1623
|
-
|
|
1624
|
-
const
|
|
1625
|
-
|
|
1626
|
-
|
|
1627
|
-
|
|
1628
|
-
|
|
1629
|
-
|
|
1630
|
-
|
|
1631
|
-
|
|
1546
|
+
return Promise.each(askPkgs, (ask) => {
|
|
1547
|
+
const specificId = getPkgId(ask);
|
|
1548
|
+
const deps = this.showPkgDependents(data.pkgs, ask);
|
|
1549
|
+
this._allPaths = [];
|
|
1550
|
+
return this._findDepPaths(deps.map(getPkgId), [specificId], ask.name).then(() => {
|
|
1551
|
+
const newGroups = _.groupBy(this._allPaths, (x) => x[x.length - 1]);
|
|
1552
|
+
groups = { ...groups, ...newGroups };
|
|
1553
|
+
const paths = groups[specificId];
|
|
1554
|
+
if (paths && paths.length > 0) {
|
|
1555
|
+
this._displayPaths(specificId, paths);
|
|
1556
|
+
}
|
|
1557
|
+
});
|
|
1558
|
+
});
|
|
1559
|
+
}
|
|
1560
|
+
}).then(() => {
|
|
1561
|
+
logger.info(chalk.green(`stat completed for ${pkgIds.join(" ")}`));
|
|
1562
|
+
});
|
|
1563
|
+
}
|
|
1564
|
+
_findDepPaths(pkgIds, output = [], askName = "") {
|
|
1565
|
+
const data = this._fyn._data;
|
|
1566
|
+
return Promise.each(pkgIds, (pkgId) => {
|
|
1567
|
+
const askPkgs = this.findPkgsById(data.pkgs, pkgId).sort(
|
|
1568
|
+
(a, b) => semverUtil.simpleCompare(a.version, b.version)
|
|
1569
|
+
);
|
|
1570
|
+
if (askPkgs.length < 1) {
|
|
1571
|
+
if (pkgId === PACKAGE_JSON) {
|
|
1572
|
+
const newOutput = [].concat(output);
|
|
1573
|
+
["dependencies", "optionalDependencies", "peerDependencies", "devDependencies"].find(
|
|
1574
|
+
(s) => {
|
|
1575
|
+
const semver = _.get(this._fyn, ["_pkg", s, askName]);
|
|
1576
|
+
if (semver) {
|
|
1577
|
+
newOutput[SEMVER] = semver;
|
|
1578
|
+
}
|
|
1579
|
+
return semver;
|
|
1580
|
+
}
|
|
1581
|
+
);
|
|
1582
|
+
this._allPaths.push(newOutput);
|
|
1583
|
+
} else {
|
|
1584
|
+
this._allPaths.push([pkgId]);
|
|
1585
|
+
}
|
|
1586
|
+
return void 0;
|
|
1587
|
+
}
|
|
1588
|
+
return Promise.map(
|
|
1589
|
+
askPkgs,
|
|
1590
|
+
(pkg) => {
|
|
1591
|
+
const pkgId2 = getPkgId(pkg);
|
|
1592
|
+
if (output.indexOf(pkgId2) >= 0) {
|
|
1593
|
+
logger.debug("stat detected circular dependency:", pkgId2, output.join(" "));
|
|
1594
|
+
return;
|
|
1595
|
+
}
|
|
1596
|
+
let dependents = this._dependentsCache[pkgId2];
|
|
1597
|
+
if (!dependents) {
|
|
1598
|
+
this._dependentsCache[pkgId2] = dependents = this.findDependents(data.pkgs, pkg).sort(
|
|
1599
|
+
(a, b) => {
|
|
1600
|
+
if (a.name === b.name) {
|
|
1601
|
+
return semverUtil.simpleCompare(a.version, b.version);
|
|
1602
|
+
}
|
|
1603
|
+
return a.name > b.name ? 1 : -1;
|
|
1604
|
+
}
|
|
1632
1605
|
);
|
|
1633
1606
|
}
|
|
1634
|
-
|
|
1635
|
-
|
|
1636
|
-
|
|
1607
|
+
const followIds = dependents.filter((x) => x.name !== PACKAGE_JSON).map((x) => `${x.name}@${x.version.replace("-fynlocal_h", "")}`);
|
|
1608
|
+
if (dependents.length > 0) {
|
|
1609
|
+
const newOutput = [pkgId2].concat(output);
|
|
1610
|
+
if (output.length === 1) {
|
|
1611
|
+
["dep", "opt", "per", "dev"].find((s) => {
|
|
1612
|
+
const sv = _.get(pkg, ["res", s, askName]);
|
|
1613
|
+
if (sv) {
|
|
1614
|
+
newOutput[SEMVER] = sv.semver;
|
|
1615
|
+
}
|
|
1616
|
+
return sv;
|
|
1617
|
+
});
|
|
1618
|
+
} else {
|
|
1619
|
+
newOutput[SEMVER] = output[SEMVER];
|
|
1637
1620
|
}
|
|
1621
|
+
if (followIds.length > 0) {
|
|
1622
|
+
return this._findDepPaths(followIds, newOutput, askName);
|
|
1623
|
+
} else if (output) {
|
|
1624
|
+
this._allPaths.push(newOutput);
|
|
1625
|
+
}
|
|
1626
|
+
} else {
|
|
1627
|
+
logger.prefix("").info("no dependents for", pkgId2);
|
|
1638
1628
|
}
|
|
1639
|
-
|
|
1640
|
-
|
|
1641
|
-
|
|
1642
|
-
|
|
1643
|
-
|
|
1644
|
-
|
|
1645
|
-
|
|
1646
|
-
|
|
1629
|
+
},
|
|
1630
|
+
{ concurrency: 1 }
|
|
1631
|
+
);
|
|
1632
|
+
});
|
|
1633
|
+
}
|
|
1634
|
+
_displayPaths(pkgId, paths) {
|
|
1635
|
+
const cmpDepPath = (a, b) => {
|
|
1636
|
+
for (let ixA = 0; ixA < a.length; ixA++) {
|
|
1637
|
+
if (b.length <= ixA) {
|
|
1638
|
+
return 1;
|
|
1639
|
+
}
|
|
1640
|
+
const aId = a[ixA];
|
|
1641
|
+
const bId = b[ixA];
|
|
1642
|
+
if (aId !== bId) {
|
|
1643
|
+
return aId > bId ? 1 : -1;
|
|
1647
1644
|
}
|
|
1648
1645
|
}
|
|
1649
|
-
|
|
1650
|
-
|
|
1651
|
-
|
|
1646
|
+
return 0;
|
|
1647
|
+
};
|
|
1648
|
+
paths = paths.sort((a, b) => a.length - b.length);
|
|
1649
|
+
let minDetails = 5;
|
|
1650
|
+
let briefPaths = paths;
|
|
1651
|
+
while (briefPaths.length > 10 && minDetails > 0) {
|
|
1652
|
+
const occurLevels = {};
|
|
1653
|
+
briefPaths = paths.filter((dp) => {
|
|
1654
|
+
const last = dp.length - 1;
|
|
1655
|
+
for (let ix = 0; ix < last; ix++) {
|
|
1656
|
+
const pkgId2 = dp[ix];
|
|
1657
|
+
const occur = occurLevels[pkgId2];
|
|
1658
|
+
if (occur && occur.level < ix && occur.leaf === dp[last] && dp.length - ix > minDetails) {
|
|
1659
|
+
return false;
|
|
1660
|
+
}
|
|
1661
|
+
occurLevels[pkgId2] = {
|
|
1662
|
+
level: ix,
|
|
1663
|
+
leaf: dp[last]
|
|
1664
|
+
};
|
|
1665
|
+
}
|
|
1666
|
+
return true;
|
|
1667
|
+
});
|
|
1668
|
+
minDetails--;
|
|
1669
|
+
}
|
|
1670
|
+
briefPaths = briefPaths.sort(cmpDepPath);
|
|
1671
|
+
const msg = paths.length === briefPaths.length ? `these dependency paths:` : `${paths.length} dependency paths, showing the ${briefPaths.length} most significant ones below:`;
|
|
1672
|
+
logger.prefix("").info(`=> ${pkgId} has ${msg}`);
|
|
1673
|
+
logger.prefix("").info(
|
|
1674
|
+
briefPaths.map((x) => {
|
|
1675
|
+
const semver = x[SEMVER];
|
|
1676
|
+
return ` > ` + x.join(" > ") + (semver ? ` (${semver})` : "");
|
|
1677
|
+
}).join("\n")
|
|
1678
|
+
);
|
|
1652
1679
|
}
|
|
1653
1680
|
showStat(pkgIds) {
|
|
1654
1681
|
const spinner = CliLogger.spinners[1];
|
|
@@ -1945,474 +1972,6 @@ module.exports.__TEST__ = {
|
|
|
1945
1972
|
};
|
|
1946
1973
|
|
|
1947
1974
|
|
|
1948
|
-
/***/ }),
|
|
1949
|
-
|
|
1950
|
-
/***/ "./lib/audit/audit-cache.ts":
|
|
1951
|
-
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
|
|
1952
|
-
|
|
1953
|
-
"use strict";
|
|
1954
|
-
|
|
1955
|
-
const cacache = __webpack_require__("./node_modules/.f/_/cacache/20.0.1/cacache/lib/index.js");
|
|
1956
|
-
const crypto = __webpack_require__("crypto");
|
|
1957
|
-
const Path = __webpack_require__("path");
|
|
1958
|
-
const AUDIT_CACHE_PREFIX = "fyn-audit-";
|
|
1959
|
-
function generateCacheKey(payload) {
|
|
1960
|
-
const sorted = Object.keys(payload).sort().reduce((acc, name) => {
|
|
1961
|
-
acc[name] = [...payload[name]].sort();
|
|
1962
|
-
return acc;
|
|
1963
|
-
}, {});
|
|
1964
|
-
const hash = crypto.createHash("sha256").update(JSON.stringify(sorted)).digest("hex");
|
|
1965
|
-
return `${AUDIT_CACHE_PREFIX}${hash}`;
|
|
1966
|
-
}
|
|
1967
|
-
async function cacheAuditResult(cacheDir, key, result) {
|
|
1968
|
-
const auditCacheDir = Path.join(cacheDir, "audit");
|
|
1969
|
-
const data = JSON.stringify(result);
|
|
1970
|
-
await cacache.put(auditCacheDir, key, data);
|
|
1971
|
-
}
|
|
1972
|
-
async function getCachedAuditResult(cacheDir, key) {
|
|
1973
|
-
const auditCacheDir = Path.join(cacheDir, "audit");
|
|
1974
|
-
try {
|
|
1975
|
-
const { data } = await cacache.get(auditCacheDir, key);
|
|
1976
|
-
return JSON.parse(data.toString());
|
|
1977
|
-
} catch (err) {
|
|
1978
|
-
if (err.code === "ENOENT" || err.code === "ENOTCACHED") {
|
|
1979
|
-
return null;
|
|
1980
|
-
}
|
|
1981
|
-
throw err;
|
|
1982
|
-
}
|
|
1983
|
-
}
|
|
1984
|
-
async function hasAuditCache(cacheDir, key) {
|
|
1985
|
-
const auditCacheDir = Path.join(cacheDir, "audit");
|
|
1986
|
-
try {
|
|
1987
|
-
const info = await cacache.get.info(auditCacheDir, key);
|
|
1988
|
-
return info !== null;
|
|
1989
|
-
} catch (err) {
|
|
1990
|
-
return false;
|
|
1991
|
-
}
|
|
1992
|
-
}
|
|
1993
|
-
module.exports = {
|
|
1994
|
-
AUDIT_CACHE_PREFIX,
|
|
1995
|
-
generateCacheKey,
|
|
1996
|
-
cacheAuditResult,
|
|
1997
|
-
getCachedAuditResult,
|
|
1998
|
-
hasAuditCache
|
|
1999
|
-
};
|
|
2000
|
-
|
|
2001
|
-
|
|
2002
|
-
/***/ }),
|
|
2003
|
-
|
|
2004
|
-
/***/ "./lib/audit/audit-formatter.ts":
|
|
2005
|
-
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
|
|
2006
|
-
|
|
2007
|
-
"use strict";
|
|
2008
|
-
|
|
2009
|
-
const chalk = __webpack_require__("./node_modules/.f/_/chalk/4.1.2/chalk/source/index.js");
|
|
2010
|
-
const { SEMVER } = __webpack_require__("./lib/symbols.ts");
|
|
2011
|
-
const SEVERITY_COLORS = {
|
|
2012
|
-
critical: chalk.red.bold,
|
|
2013
|
-
high: chalk.red,
|
|
2014
|
-
moderate: chalk.yellow,
|
|
2015
|
-
low: chalk.cyan,
|
|
2016
|
-
info: chalk.blue
|
|
2017
|
-
};
|
|
2018
|
-
const SEVERITY_ORDER = ["critical", "high", "moderate", "low", "info"];
|
|
2019
|
-
class AuditFormatter {
|
|
2020
|
-
/**
|
|
2021
|
-
* @param {Object} options
|
|
2022
|
-
* @param {boolean} options.json - Output as JSON
|
|
2023
|
-
* @param {boolean} options.colors - Use colors in output
|
|
2024
|
-
* @param {string} options.auditLevel - Minimum severity to report
|
|
2025
|
-
* @param {boolean} options.summary - Output brief summary only (like npm after install)
|
|
2026
|
-
* @param {Object} options.statProvider - PkgStatProvider instance for dependency path info
|
|
2027
|
-
* @param {Object} options.statCache - Pre-computed stat results keyed by "name@version"
|
|
2028
|
-
*/
|
|
2029
|
-
constructor(options = {}) {
|
|
2030
|
-
this._json = options.json || false;
|
|
2031
|
-
this._colors = options.colors !== false;
|
|
2032
|
-
this._auditLevel = options.auditLevel || "info";
|
|
2033
|
-
this._summary = options.summary || false;
|
|
2034
|
-
this._statProvider = options.statProvider || null;
|
|
2035
|
-
this._statCache = options.statCache || {};
|
|
2036
|
-
}
|
|
2037
|
-
/**
|
|
2038
|
-
* Get severity level as number for comparison.
|
|
2039
|
-
*/
|
|
2040
|
-
getSeverityLevel(severity) {
|
|
2041
|
-
const levels = { critical: 5, high: 4, moderate: 3, low: 2, info: 1 };
|
|
2042
|
-
return levels[severity] || 0;
|
|
2043
|
-
}
|
|
2044
|
-
/**
|
|
2045
|
-
* Check if severity meets minimum audit level.
|
|
2046
|
-
*/
|
|
2047
|
-
meetsAuditLevel(severity) {
|
|
2048
|
-
return this.getSeverityLevel(severity) >= this.getSeverityLevel(this._auditLevel);
|
|
2049
|
-
}
|
|
2050
|
-
/**
|
|
2051
|
-
* Colorize text based on severity.
|
|
2052
|
-
*/
|
|
2053
|
-
colorize(text, severity) {
|
|
2054
|
-
if (!this._colors) return text;
|
|
2055
|
-
const colorFn = SEVERITY_COLORS[severity] || ((t) => t);
|
|
2056
|
-
return colorFn(text);
|
|
2057
|
-
}
|
|
2058
|
-
/**
|
|
2059
|
-
* Format audit result for output.
|
|
2060
|
-
*
|
|
2061
|
-
* @param {Object} auditResult - Result from AuditReport.fetchAdvisories()
|
|
2062
|
-
* @param {Array} vulnerabilities - Matched vulnerabilities from matchVulnerabilities()
|
|
2063
|
-
* @returns {Object} { output: string, exitCode: number }
|
|
2064
|
-
*/
|
|
2065
|
-
format(auditResult, vulnerabilities) {
|
|
2066
|
-
if (this._json) {
|
|
2067
|
-
return this.formatJson(auditResult, vulnerabilities);
|
|
2068
|
-
}
|
|
2069
|
-
if (this._summary) {
|
|
2070
|
-
return this.formatSummary(auditResult, vulnerabilities);
|
|
2071
|
-
}
|
|
2072
|
-
return this.formatHuman(auditResult, vulnerabilities);
|
|
2073
|
-
}
|
|
2074
|
-
/**
|
|
2075
|
-
* Format as brief summary (like npm shows after install).
|
|
2076
|
-
* Example: "audited 745 packages\n3 vulnerabilities (1 moderate, 1 high, 1 critical)"
|
|
2077
|
-
*/
|
|
2078
|
-
formatSummary(auditResult, vulnerabilities) {
|
|
2079
|
-
const filtered = vulnerabilities.filter((v) => this.meetsAuditLevel(v.advisory.severity));
|
|
2080
|
-
const pkgCount = auditResult.metadata?.totalDependencies || 0;
|
|
2081
|
-
if (filtered.length === 0) {
|
|
2082
|
-
return { output: `audited ${pkgCount} packages`, exitCode: 0 };
|
|
2083
|
-
}
|
|
2084
|
-
const counts = {};
|
|
2085
|
-
filtered.forEach((v) => {
|
|
2086
|
-
const sev = v.advisory.severity;
|
|
2087
|
-
counts[sev] = (counts[sev] || 0) + 1;
|
|
2088
|
-
});
|
|
2089
|
-
const parts = SEVERITY_ORDER.filter((sev) => counts[sev]).map((sev) => {
|
|
2090
|
-
const count = counts[sev];
|
|
2091
|
-
return this.colorize(`${count} ${sev}`, sev);
|
|
2092
|
-
});
|
|
2093
|
-
const total = filtered.length;
|
|
2094
|
-
const output = `audited ${pkgCount} packages
|
|
2095
|
-
|
|
2096
|
-
${total} ${total === 1 ? "vulnerability" : "vulnerabilities"} (${parts.join(", ")})
|
|
2097
|
-
|
|
2098
|
-
Run \`fyn audit\` for details.`;
|
|
2099
|
-
return { output, exitCode: 0 };
|
|
2100
|
-
}
|
|
2101
|
-
/**
|
|
2102
|
-
* Format as JSON.
|
|
2103
|
-
*/
|
|
2104
|
-
formatJson(auditResult, vulnerabilities) {
|
|
2105
|
-
const filtered = vulnerabilities.filter((v) => this.meetsAuditLevel(v.advisory.severity));
|
|
2106
|
-
const output = JSON.stringify(
|
|
2107
|
-
{
|
|
2108
|
-
vulnerabilities: filtered,
|
|
2109
|
-
metadata: auditResult.metadata,
|
|
2110
|
-
advisories: auditResult.advisories
|
|
2111
|
-
},
|
|
2112
|
-
null,
|
|
2113
|
-
2
|
|
2114
|
-
);
|
|
2115
|
-
return { output, exitCode: 0 };
|
|
2116
|
-
}
|
|
2117
|
-
/**
|
|
2118
|
-
* Format as human-readable table.
|
|
2119
|
-
*/
|
|
2120
|
-
formatHuman(auditResult, vulnerabilities) {
|
|
2121
|
-
const lines = [];
|
|
2122
|
-
const { metadata } = auditResult;
|
|
2123
|
-
const filtered = vulnerabilities.filter((v) => this.meetsAuditLevel(v.advisory.severity));
|
|
2124
|
-
const bySeverity = {};
|
|
2125
|
-
SEVERITY_ORDER.forEach((s) => bySeverity[s] = []);
|
|
2126
|
-
filtered.forEach((vuln) => {
|
|
2127
|
-
const sev = vuln.advisory.severity;
|
|
2128
|
-
if (bySeverity[sev]) {
|
|
2129
|
-
bySeverity[sev].push(vuln);
|
|
2130
|
-
}
|
|
2131
|
-
});
|
|
2132
|
-
lines.push("");
|
|
2133
|
-
if (filtered.length === 0) {
|
|
2134
|
-
lines.push(this._colors ? chalk.green("No vulnerabilities found!") : "No vulnerabilities found!");
|
|
2135
|
-
lines.push("");
|
|
2136
|
-
lines.push(`Scanned ${metadata.totalDependencies} packages`);
|
|
2137
|
-
} else {
|
|
2138
|
-
const counts = SEVERITY_ORDER.map((sev) => {
|
|
2139
|
-
const count = bySeverity[sev].length;
|
|
2140
|
-
if (count === 0) return null;
|
|
2141
|
-
return this.colorize(`${count} ${sev}`, sev);
|
|
2142
|
-
}).filter(Boolean);
|
|
2143
|
-
lines.push(`Found ${filtered.length} vulnerabilities (${counts.join(", ")})`);
|
|
2144
|
-
lines.push("");
|
|
2145
|
-
SEVERITY_ORDER.forEach((severity) => {
|
|
2146
|
-
const vulns = bySeverity[severity];
|
|
2147
|
-
if (vulns.length === 0) return;
|
|
2148
|
-
vulns.forEach((vuln) => {
|
|
2149
|
-
const { advisory } = vuln;
|
|
2150
|
-
lines.push(this.formatVulnerability(vuln));
|
|
2151
|
-
lines.push("");
|
|
2152
|
-
});
|
|
2153
|
-
});
|
|
2154
|
-
lines.push(`Scanned ${metadata.totalDependencies} packages`);
|
|
2155
|
-
}
|
|
2156
|
-
lines.push("");
|
|
2157
|
-
return { output: lines.join("\n"), exitCode: 0 };
|
|
2158
|
-
}
|
|
2159
|
-
/**
|
|
2160
|
-
* Format a single vulnerability entry.
|
|
2161
|
-
*/
|
|
2162
|
-
formatVulnerability(vuln) {
|
|
2163
|
-
const { advisory, name, version } = vuln;
|
|
2164
|
-
const lines = [];
|
|
2165
|
-
const sevLabel = this.colorize(advisory.severity.toUpperCase().padEnd(10), advisory.severity);
|
|
2166
|
-
lines.push(`${sevLabel} ${advisory.title}`);
|
|
2167
|
-
const pkgId = this._colors ? chalk.yellow(`${name}@${version}`) : `${name}@${version}`;
|
|
2168
|
-
const vulnRange = this._colors ? chalk.red(`Vulnerable: ${advisory.vulnerable_versions}`) : `Vulnerable: ${advisory.vulnerable_versions}`;
|
|
2169
|
-
const infoUrl = advisory.url ? this._colors ? chalk.cyan(`info: ${advisory.url}`) : `info: ${advisory.url}` : "";
|
|
2170
|
-
let details = ` ${pkgId} - ${vulnRange}`;
|
|
2171
|
-
if (infoUrl) {
|
|
2172
|
-
details += ` - ${infoUrl}`;
|
|
2173
|
-
}
|
|
2174
|
-
lines.push(details);
|
|
2175
|
-
const cacheKey = `${name}@${version}`;
|
|
2176
|
-
const stat = this._statCache[cacheKey];
|
|
2177
|
-
if (stat && stat.significantPaths && stat.significantPaths.length > 0) {
|
|
2178
|
-
const seenFirstLegs = /* @__PURE__ */ new Set();
|
|
2179
|
-
const uniquePaths = [];
|
|
2180
|
-
for (const path of stat.significantPaths) {
|
|
2181
|
-
const firstLeg = path[0];
|
|
2182
|
-
if (!seenFirstLegs.has(firstLeg)) {
|
|
2183
|
-
seenFirstLegs.add(firstLeg);
|
|
2184
|
-
uniquePaths.push(path);
|
|
2185
|
-
if (uniquePaths.length >= 5) break;
|
|
2186
|
-
}
|
|
2187
|
-
}
|
|
2188
|
-
for (const path of uniquePaths) {
|
|
2189
|
-
const semver = path[SEMVER];
|
|
2190
|
-
const pathStr = path.join(" > ");
|
|
2191
|
-
const fullPath = semver ? `${pathStr} (${semver})` : pathStr;
|
|
2192
|
-
lines.push(` > ${fullPath}`);
|
|
2193
|
-
}
|
|
2194
|
-
}
|
|
2195
|
-
return lines.join("\n");
|
|
2196
|
-
}
|
|
2197
|
-
/**
|
|
2198
|
-
* Pre-compute stat info for all vulnerabilities.
|
|
2199
|
-
* Call this before format() when using a stat provider.
|
|
2200
|
-
*
|
|
2201
|
-
* @param {Array} vulnerabilities - List of vulnerabilities from matchVulnerabilities()
|
|
2202
|
-
* @returns {Promise<void>}
|
|
2203
|
-
*/
|
|
2204
|
-
async precomputeStats(vulnerabilities) {
|
|
2205
|
-
if (!this._statProvider) return;
|
|
2206
|
-
const filtered = vulnerabilities.filter((v) => this.meetsAuditLevel(v.advisory.severity));
|
|
2207
|
-
for (const vuln of filtered) {
|
|
2208
|
-
const cacheKey = `${vuln.name}@${vuln.version}`;
|
|
2209
|
-
if (!this._statCache[cacheKey]) {
|
|
2210
|
-
const stat = await this._statProvider.getPackageStat(vuln.name, vuln.version);
|
|
2211
|
-
if (stat) {
|
|
2212
|
-
this._statCache[cacheKey] = stat;
|
|
2213
|
-
}
|
|
2214
|
-
}
|
|
2215
|
-
}
|
|
2216
|
-
}
|
|
2217
|
-
}
|
|
2218
|
-
module.exports = AuditFormatter;
|
|
2219
|
-
|
|
2220
|
-
|
|
2221
|
-
/***/ }),
|
|
2222
|
-
|
|
2223
|
-
/***/ "./lib/audit/audit-report.ts":
|
|
2224
|
-
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
|
|
2225
|
-
|
|
2226
|
-
"use strict";
|
|
2227
|
-
|
|
2228
|
-
const npmFetch = __webpack_require__("./node_modules/.f/_/npm-registry-fetch/19.1.0/npm-registry-fetch/lib/index.js");
|
|
2229
|
-
const logger = __webpack_require__("./lib/logger.ts");
|
|
2230
|
-
const {
|
|
2231
|
-
generateCacheKey,
|
|
2232
|
-
cacheAuditResult,
|
|
2233
|
-
getCachedAuditResult
|
|
2234
|
-
} = __webpack_require__("./lib/audit/audit-cache.ts");
|
|
2235
|
-
class AuditReport {
|
|
2236
|
-
/**
|
|
2237
|
-
* @param {Object} options
|
|
2238
|
-
* @param {Object} options.fyn - Fyn instance with resolved data
|
|
2239
|
-
* @param {Object} options.depData - DepData with resolved packages
|
|
2240
|
-
* @param {boolean} options.noCache - Skip cache lookup
|
|
2241
|
-
* @param {string[]} options.omit - Dependency types to omit (dev, optional, peer)
|
|
2242
|
-
*/
|
|
2243
|
-
constructor(options) {
|
|
2244
|
-
this._fyn = options.fyn;
|
|
2245
|
-
this._depData = options.depData;
|
|
2246
|
-
this._noCache = options.noCache || false;
|
|
2247
|
-
this._omit = options.omit || [];
|
|
2248
|
-
this._cacheDir = options.fyn.fynDir;
|
|
2249
|
-
}
|
|
2250
|
-
/**
|
|
2251
|
-
* Build bulk request payload from resolved packages.
|
|
2252
|
-
* Format: { "packageName": ["version1", "version2"], ... }
|
|
2253
|
-
*
|
|
2254
|
-
* @returns {Object} Bulk payload for npm security API
|
|
2255
|
-
*/
|
|
2256
|
-
buildBulkPayload() {
|
|
2257
|
-
const payload = {};
|
|
2258
|
-
const pkgs = this._depData.pkgs;
|
|
2259
|
-
const omitDev = this._omit.includes("dev");
|
|
2260
|
-
const omitOptional = this._omit.includes("optional");
|
|
2261
|
-
const omitPeer = this._omit.includes("peer");
|
|
2262
|
-
Object.keys(pkgs).forEach((name) => {
|
|
2263
|
-
const versions = pkgs[name];
|
|
2264
|
-
Object.keys(versions).forEach((version) => {
|
|
2265
|
-
const pkgInfo = versions[version];
|
|
2266
|
-
if (omitDev && pkgInfo.src === "dev") return;
|
|
2267
|
-
if (omitOptional && pkgInfo.src === "opt") return;
|
|
2268
|
-
if (omitPeer && pkgInfo.src === "per") return;
|
|
2269
|
-
if (pkgInfo.local || pkgInfo.localType) return;
|
|
2270
|
-
if (!payload[name]) {
|
|
2271
|
-
payload[name] = [];
|
|
2272
|
-
}
|
|
2273
|
-
if (!payload[name].includes(version)) {
|
|
2274
|
-
payload[name].push(version);
|
|
2275
|
-
}
|
|
2276
|
-
});
|
|
2277
|
-
});
|
|
2278
|
-
return payload;
|
|
2279
|
-
}
|
|
2280
|
-
/**
|
|
2281
|
-
* Get registry URL for audit API.
|
|
2282
|
-
* Uses the main registry (not scoped registries since audit is global).
|
|
2283
|
-
*
|
|
2284
|
-
* @returns {string} Registry URL with trailing slash
|
|
2285
|
-
*/
|
|
2286
|
-
getAuditRegistryUrl() {
|
|
2287
|
-
const registry = this._fyn._options.registry || "https://registry.npmjs.org";
|
|
2288
|
-
return registry.endsWith("/") ? registry : `${registry}/`;
|
|
2289
|
-
}
|
|
2290
|
-
/**
|
|
2291
|
-
* Get npm-registry-fetch options with auth.
|
|
2292
|
-
*
|
|
2293
|
-
* @returns {Object} Options for npm-registry-fetch
|
|
2294
|
-
*/
|
|
2295
|
-
getFetchOptions() {
|
|
2296
|
-
const opts = this._fyn._options;
|
|
2297
|
-
const fetchOpts = {
|
|
2298
|
-
registry: this.getAuditRegistryUrl()
|
|
2299
|
-
};
|
|
2300
|
-
if (opts.username) fetchOpts.username = opts.username;
|
|
2301
|
-
if (opts.password) fetchOpts.password = opts.password;
|
|
2302
|
-
if (opts.email) fetchOpts.email = opts.email;
|
|
2303
|
-
if (opts["always-auth"]) fetchOpts.alwaysAuth = opts["always-auth"];
|
|
2304
|
-
Object.keys(opts).forEach((key) => {
|
|
2305
|
-
if (key.endsWith(":_authToken")) {
|
|
2306
|
-
fetchOpts[key] = opts[key];
|
|
2307
|
-
}
|
|
2308
|
-
});
|
|
2309
|
-
return fetchOpts;
|
|
2310
|
-
}
|
|
2311
|
-
/**
|
|
2312
|
-
* Fetch advisories from npm security API.
|
|
2313
|
-
* Uses cache if available and noCache is false.
|
|
2314
|
-
*
|
|
2315
|
-
* @returns {Promise<Object>} Audit result with advisories
|
|
2316
|
-
*/
|
|
2317
|
-
async fetchAdvisories() {
|
|
2318
|
-
const payload = this.buildBulkPayload();
|
|
2319
|
-
const packageCount = Object.keys(payload).length;
|
|
2320
|
-
if (packageCount === 0) {
|
|
2321
|
-
logger.info("No packages to audit");
|
|
2322
|
-
return { advisories: {}, metadata: { totalDependencies: 0 } };
|
|
2323
|
-
}
|
|
2324
|
-
const cacheKey = generateCacheKey(payload);
|
|
2325
|
-
if (!this._noCache) {
|
|
2326
|
-
const cached = await getCachedAuditResult(this._cacheDir, cacheKey);
|
|
2327
|
-
if (cached) {
|
|
2328
|
-
logger.debug("Using cached audit result");
|
|
2329
|
-
return cached;
|
|
2330
|
-
}
|
|
2331
|
-
}
|
|
2332
|
-
const registryUrl = this.getAuditRegistryUrl();
|
|
2333
|
-
const auditUrl = `${registryUrl}-/npm/v1/security/advisories/bulk`;
|
|
2334
|
-
logger.info(`Auditing ${packageCount} packages...`);
|
|
2335
|
-
try {
|
|
2336
|
-
const fetchOpts = this.getFetchOptions();
|
|
2337
|
-
const response = await npmFetch(auditUrl, {
|
|
2338
|
-
...fetchOpts,
|
|
2339
|
-
method: "POST",
|
|
2340
|
-
body: payload,
|
|
2341
|
-
gzip: true
|
|
2342
|
-
});
|
|
2343
|
-
const advisories = await response.json();
|
|
2344
|
-
const result = {
|
|
2345
|
-
advisories,
|
|
2346
|
-
metadata: {
|
|
2347
|
-
totalDependencies: packageCount,
|
|
2348
|
-
vulnerabilities: Object.keys(advisories).length
|
|
2349
|
-
}
|
|
2350
|
-
};
|
|
2351
|
-
await cacheAuditResult(this._cacheDir, cacheKey, result);
|
|
2352
|
-
return result;
|
|
2353
|
-
} catch (err) {
|
|
2354
|
-
if (!this._noCache) {
|
|
2355
|
-
const cached = await getCachedAuditResult(this._cacheDir, cacheKey);
|
|
2356
|
-
if (cached) {
|
|
2357
|
-
logger.warn("Network error, using cached audit data");
|
|
2358
|
-
return cached;
|
|
2359
|
-
}
|
|
2360
|
-
}
|
|
2361
|
-
if (err.code === "ENOTFOUND" || err.code === "ECONNREFUSED") {
|
|
2362
|
-
throw new Error(`Unable to reach npm registry for audit: ${err.message}`);
|
|
2363
|
-
}
|
|
2364
|
-
if (err.statusCode === 401 || err.statusCode === 403) {
|
|
2365
|
-
throw new Error("Authentication required for security audit");
|
|
2366
|
-
}
|
|
2367
|
-
throw err;
|
|
2368
|
-
}
|
|
2369
|
-
}
|
|
2370
|
-
/**
|
|
2371
|
-
* Match advisories to resolved packages.
|
|
2372
|
-
* Returns list of affected packages with advisory details.
|
|
2373
|
-
*
|
|
2374
|
-
* The bulk API returns advisories grouped by package name:
|
|
2375
|
-
* { "package-name": [{ id, vulnerable_versions, ... }, ...] }
|
|
2376
|
-
*
|
|
2377
|
-
* @param {Object} auditResult - Result from fetchAdvisories()
|
|
2378
|
-
* @returns {Array} List of vulnerabilities with package info
|
|
2379
|
-
*/
|
|
2380
|
-
matchVulnerabilities(auditResult) {
|
|
2381
|
-
const vulnerabilities = [];
|
|
2382
|
-
const { advisories } = auditResult;
|
|
2383
|
-
const pkgs = this._depData.pkgs;
|
|
2384
|
-
const semver = __webpack_require__("./node_modules/.f/_/semver/7.7.3/semver/index.js");
|
|
2385
|
-
Object.keys(advisories).forEach((pkgName) => {
|
|
2386
|
-
const pkgAdvisories = advisories[pkgName];
|
|
2387
|
-
if (!pkgs[pkgName]) return;
|
|
2388
|
-
pkgAdvisories.forEach((advisory) => {
|
|
2389
|
-
const vulnVersions = advisory.vulnerable_versions;
|
|
2390
|
-
Object.keys(pkgs[pkgName]).forEach((version) => {
|
|
2391
|
-
if (semver.satisfies(version, vulnVersions)) {
|
|
2392
|
-
vulnerabilities.push({
|
|
2393
|
-
name: pkgName,
|
|
2394
|
-
version,
|
|
2395
|
-
advisory: {
|
|
2396
|
-
id: advisory.id,
|
|
2397
|
-
title: advisory.title,
|
|
2398
|
-
severity: advisory.severity,
|
|
2399
|
-
url: advisory.url,
|
|
2400
|
-
vulnerable_versions: vulnVersions,
|
|
2401
|
-
patched_versions: advisory.patched_versions,
|
|
2402
|
-
recommendation: advisory.recommendation
|
|
2403
|
-
},
|
|
2404
|
-
paths: pkgs[pkgName][version].requests || []
|
|
2405
|
-
});
|
|
2406
|
-
}
|
|
2407
|
-
});
|
|
2408
|
-
});
|
|
2409
|
-
});
|
|
2410
|
-
return vulnerabilities;
|
|
2411
|
-
}
|
|
2412
|
-
}
|
|
2413
|
-
module.exports = AuditReport;
|
|
2414
|
-
|
|
2415
|
-
|
|
2416
1975
|
/***/ }),
|
|
2417
1976
|
|
|
2418
1977
|
/***/ "./lib/cacache-util.ts":
|
|
@@ -3169,11 +2728,12 @@ const Os = __webpack_require__("os");
|
|
|
3169
2728
|
const Fs = __webpack_require__("./lib/util/file-ops.ts");
|
|
3170
2729
|
const Fyn = __webpack_require__("./lib/fyn.ts");
|
|
3171
2730
|
const PkgInstaller = __webpack_require__("./lib/pkg-installer.ts");
|
|
2731
|
+
const PkgBinLinker = __webpack_require__("./lib/pkg-bin-linker.ts");
|
|
3172
2732
|
const logger = __webpack_require__("./lib/logger.ts");
|
|
3173
2733
|
const fynTil = __webpack_require__("./lib/util/fyntil.ts");
|
|
3174
2734
|
const lockfile = __webpack_require__("./node_modules/.f/_/lockfile/1.0.4/lockfile/lockfile.js");
|
|
3175
2735
|
const util = __webpack_require__("util");
|
|
3176
|
-
const semver = __webpack_require__("./node_modules/.f/_/semver/7.
|
|
2736
|
+
const semver = __webpack_require__("./node_modules/.f/_/semver/7.8.0/semver/index.js");
|
|
3177
2737
|
const readline = __webpack_require__("readline");
|
|
3178
2738
|
const createLock = util.promisify(lockfile.lock);
|
|
3179
2739
|
const unlock = util.promisify(lockfile.unlock);
|
|
@@ -3225,6 +2785,20 @@ class FynGlobal {
|
|
|
3225
2785
|
_fynpo: false
|
|
3226
2786
|
});
|
|
3227
2787
|
}
|
|
2788
|
+
_getBinLinker() {
|
|
2789
|
+
if (!this._binLinker) {
|
|
2790
|
+
this._binLinker = new PkgBinLinker({ binDir: this.globalBinDir });
|
|
2791
|
+
}
|
|
2792
|
+
return this._binLinker;
|
|
2793
|
+
}
|
|
2794
|
+
_getVersionBinTargets(versionInfo) {
|
|
2795
|
+
const binDir = Path.join(this.packagesDir, versionInfo.dir, "node_modules", ".bin");
|
|
2796
|
+
const bins = {};
|
|
2797
|
+
for (const binName of versionInfo.bins || []) {
|
|
2798
|
+
bins[binName] = Path.join(binDir, binName);
|
|
2799
|
+
}
|
|
2800
|
+
return bins;
|
|
2801
|
+
}
|
|
3228
2802
|
/**
|
|
3229
2803
|
* Read the installed.json registry
|
|
3230
2804
|
* @returns {Object} Registry object with packages info
|
|
@@ -3556,20 +3130,14 @@ class FynGlobal {
|
|
|
3556
3130
|
* @param {boolean} force - If true, overwrite existing bins
|
|
3557
3131
|
*/
|
|
3558
3132
|
async linkBins(gId, bins, force = false) {
|
|
3559
|
-
|
|
3133
|
+
const binLinker = this._getBinLinker();
|
|
3560
3134
|
for (const [binName, binPath] of Object.entries(bins)) {
|
|
3561
|
-
|
|
3562
|
-
|
|
3563
|
-
|
|
3564
|
-
|
|
3565
|
-
} else {
|
|
3566
|
-
const owner = await this.findBinOwner(binName);
|
|
3567
|
-
logger.warn(`${binName} already exists (from ${owner || "unknown"}), skipping`);
|
|
3568
|
-
continue;
|
|
3569
|
-
}
|
|
3135
|
+
if (!force && await binLinker.hasBinLink(binName)) {
|
|
3136
|
+
const owner = await this.findBinOwner(binName);
|
|
3137
|
+
logger.warn(`${binName} already exists (from ${owner || "unknown"}), skipping`);
|
|
3138
|
+
continue;
|
|
3570
3139
|
}
|
|
3571
|
-
|
|
3572
|
-
await Fs.symlink(relativePath, globalBinPath);
|
|
3140
|
+
await binLinker.linkBinPath(binPath, binName, { overwrite: force });
|
|
3573
3141
|
}
|
|
3574
3142
|
}
|
|
3575
3143
|
/**
|
|
@@ -3751,12 +3319,12 @@ class FynGlobal {
|
|
|
3751
3319
|
const versions = await this.getPackageVersions(packageName);
|
|
3752
3320
|
const versionInfo = versions.find((v) => v.version === version);
|
|
3753
3321
|
if (!versionInfo) return;
|
|
3754
|
-
|
|
3755
|
-
|
|
3322
|
+
const binLinker = this._getBinLinker();
|
|
3323
|
+
const bins = this._getVersionBinTargets(versionInfo);
|
|
3324
|
+
for (const [binName, binPath] of Object.entries(bins)) {
|
|
3756
3325
|
try {
|
|
3757
|
-
|
|
3758
|
-
|
|
3759
|
-
await Fs.unlink(binPath);
|
|
3326
|
+
if (await binLinker.matchesBinPath(binName, binPath)) {
|
|
3327
|
+
await binLinker.removeBinLink(binName);
|
|
3760
3328
|
}
|
|
3761
3329
|
} catch (err) {
|
|
3762
3330
|
}
|
|
@@ -4199,7 +3767,7 @@ module.exports = FynGlobal;
|
|
|
4199
3767
|
const Path = __webpack_require__("path");
|
|
4200
3768
|
const util = __webpack_require__("util");
|
|
4201
3769
|
const assert = __webpack_require__("assert");
|
|
4202
|
-
const semver = __webpack_require__("./node_modules/.f/_/semver/7.
|
|
3770
|
+
const semver = __webpack_require__("./node_modules/.f/_/semver/7.8.0/semver/index.js");
|
|
4203
3771
|
const _ = __webpack_require__("./node_modules/.f/_/lodash/4.17.21/lodash/lodash.min.js");
|
|
4204
3772
|
const logger = __webpack_require__("./lib/logger.ts");
|
|
4205
3773
|
const PkgDepResolver = __webpack_require__("./lib/pkg-dep-resolver.ts");
|
|
@@ -4221,7 +3789,7 @@ const ck = __webpack_require__("./node_modules/.f/_/chalker/1.2.0/chalker/lib/in
|
|
|
4221
3789
|
const { PACKAGE_RAW_INFO, DEP_ITEM } = __webpack_require__("./lib/symbols.ts");
|
|
4222
3790
|
const { FYN_LOCK_FILE, FYN_INSTALL_CONFIG_FILE, FV_DIR, PACKAGE_FYN_JSON } = __webpack_require__("./lib/constants.ts");
|
|
4223
3791
|
const { parseYarnLock } = __webpack_require__("./yarn/index.js");
|
|
4224
|
-
const mm = __webpack_require__("./node_modules/.f/_/minimatch/3.1.
|
|
3792
|
+
const mm = __webpack_require__("./node_modules/.f/_/minimatch/3.1.5/minimatch/minimatch.js");
|
|
4225
3793
|
const npmConfigEnv = __webpack_require__("./lib/util/npm-config-env.ts");
|
|
4226
3794
|
const PkgOptResolver = __webpack_require__("./lib/pkg-opt-resolver.ts");
|
|
4227
3795
|
const { LocalPkgBuilder } = __webpack_require__("./lib/local-pkg-builder.ts");
|
|
@@ -4239,7 +3807,7 @@ class Fyn {
|
|
|
4239
3807
|
logger.info("dep lock time set to", this._lockTime.toString());
|
|
4240
3808
|
}
|
|
4241
3809
|
this._installConfig = { time: 0 };
|
|
4242
|
-
this.
|
|
3810
|
+
this._shortPkgDir = Boolean(process.env.FYN_SHORT_PKG_DIR);
|
|
4243
3811
|
if (!_fynpo) {
|
|
4244
3812
|
this._fynpo = {};
|
|
4245
3813
|
}
|
|
@@ -4419,6 +3987,15 @@ class Fyn {
|
|
|
4419
3987
|
}
|
|
4420
3988
|
this._layout = layout;
|
|
4421
3989
|
}
|
|
3990
|
+
const recordedShort = fynInstallConfig.shortPkgDir === void 0 ? true : fynInstallConfig.shortPkgDir;
|
|
3991
|
+
if (recordedShort !== this._shortPkgDir) {
|
|
3992
|
+
if (process.env.FYN_SHORT_PKG_DIR !== void 0) {
|
|
3993
|
+
logger.warn(
|
|
3994
|
+
`Forcing pkg-dir to ${recordedShort ? "short" : "long"} form because your existing node_modules uses that. To change it, please remove node_modules first.`
|
|
3995
|
+
);
|
|
3996
|
+
}
|
|
3997
|
+
this._shortPkgDir = recordedShort;
|
|
3998
|
+
}
|
|
4422
3999
|
this._installConfig = { ...this._installConfig, ...fynInstallConfig, layout };
|
|
4423
4000
|
} catch (err) {
|
|
4424
4001
|
const msgKey = `fynInstallConfig:${filename}`;
|
|
@@ -4633,7 +4210,8 @@ class Fyn {
|
|
|
4633
4210
|
time: Date.now() + 5,
|
|
4634
4211
|
centralDir,
|
|
4635
4212
|
production: this.production,
|
|
4636
|
-
layout: this._layout
|
|
4213
|
+
layout: this._layout,
|
|
4214
|
+
shortPkgDir: this._shortPkgDir
|
|
4637
4215
|
// not a good idea to save --run-npm options to install config because
|
|
4638
4216
|
// future fyn install will automatically run them and would be unexpected.
|
|
4639
4217
|
// if fynpo bootstrap should run certain npm scripts, user should set those
|
|
@@ -4923,11 +4501,10 @@ class Fyn {
|
|
|
4923
4501
|
return Path.join(this.getOutputDir(), name);
|
|
4924
4502
|
}
|
|
4925
4503
|
if (version) {
|
|
4926
|
-
if (this.
|
|
4927
|
-
return Path.join(this.getOutputDir(), FV_DIR, "_", name, version);
|
|
4928
|
-
} else {
|
|
4504
|
+
if (this._shortPkgDir) {
|
|
4929
4505
|
return Path.join(this.getOutputDir(), FV_DIR, "_", name, version, name);
|
|
4930
4506
|
}
|
|
4507
|
+
return Path.join(this.getOutputDir(), FV_DIR, "_", name, version, "node_modules", name);
|
|
4931
4508
|
}
|
|
4932
4509
|
return Path.join(this.getOutputDir(), FV_DIR, "_", name);
|
|
4933
4510
|
}
|
|
@@ -5130,12 +4707,12 @@ module.exports = Fyn;
|
|
|
5130
4707
|
const Path = __webpack_require__("path");
|
|
5131
4708
|
const optionalRequire = __webpack_require__("./node_modules/.f/_/optional-require/1.1.10/optional-require/index.js")(eval("require"));
|
|
5132
4709
|
const assert = __webpack_require__("assert");
|
|
5133
|
-
const xsh = __webpack_require__("./node_modules/.f/_/xsh/0.4.6
|
|
4710
|
+
const xsh = __webpack_require__("./node_modules/.f/_/xsh/0.4.6/xsh/lib/index.js");
|
|
5134
4711
|
const chalk = __webpack_require__("./node_modules/.f/_/chalk/4.1.2/chalk/source/index.js");
|
|
5135
4712
|
const _ = __webpack_require__("./node_modules/.f/_/lodash/4.17.21/lodash/lodash.min.js");
|
|
5136
4713
|
const logger = __webpack_require__("./lib/logger.ts");
|
|
5137
4714
|
const logFormat = __webpack_require__("./lib/util/log-format.ts");
|
|
5138
|
-
const
|
|
4715
|
+
const VisualExec = __webpack_require__("./node_modules/.f/_/visual-exec/0.1.14/visual-exec/lib/visual-exec.js");
|
|
5139
4716
|
const fyntil = __webpack_require__("./lib/util/fyntil.ts");
|
|
5140
4717
|
const requireAt = __webpack_require__("./node_modules/.f/_/require-at/1.0.6/require-at/require-at.js");
|
|
5141
4718
|
const { setupNodeGypEnv } = __webpack_require__("./lib/util/setup-node-gyp.ts");
|
|
@@ -5256,7 +4833,7 @@ module.exports = LifecycleScripts;
|
|
|
5256
4833
|
const Path = __webpack_require__("path");
|
|
5257
4834
|
const logger = __webpack_require__("./lib/logger.ts");
|
|
5258
4835
|
const PromiseQueue = __webpack_require__("./lib/util/promise-queue.ts");
|
|
5259
|
-
const VisualExec = __webpack_require__("./node_modules/.f/_/visual-exec/0.
|
|
4836
|
+
const VisualExec = __webpack_require__("./node_modules/.f/_/visual-exec/0.1.14/visual-exec/lib/visual-exec.js");
|
|
5260
4837
|
const xaa = __webpack_require__("./node_modules/.f/_/xaa/2.0.0/xaa/dist-cjs/index.cjs");
|
|
5261
4838
|
const Fs = __webpack_require__("./lib/util/file-ops.ts");
|
|
5262
4839
|
const _ = __webpack_require__("./node_modules/.f/_/lodash/4.17.21/lodash/lodash.min.js");
|
|
@@ -5287,15 +4864,12 @@ class LocalPkgBuilder {
|
|
|
5287
4864
|
this._waitItems[data.item.fullPath].resolve({});
|
|
5288
4865
|
});
|
|
5289
4866
|
this._promiseQ.on("failItem", (data) => {
|
|
5290
|
-
const debugLog = Path.join(data.item.fullPath, "fyn-debug.log");
|
|
5291
4867
|
const itemRes = {
|
|
5292
4868
|
error: new AggregateError(
|
|
5293
4869
|
[data.error],
|
|
5294
|
-
`failed build local package at ${data.item.fullPath}
|
|
4870
|
+
`failed build local package at ${data.item.fullPath}`
|
|
5295
4871
|
)
|
|
5296
4872
|
};
|
|
5297
|
-
logger.error(`Failed to build local package at ${data.item.fullPath}`);
|
|
5298
|
-
logger.error(`Check debug log for details: ${debugLog}`);
|
|
5299
4873
|
this._waitItems[data.item.fullPath].resolve(itemRes);
|
|
5300
4874
|
this._failedItems[data.item.fullPath] = itemRes;
|
|
5301
4875
|
});
|
|
@@ -5379,9 +4953,8 @@ class LocalPkgBuilder {
|
|
|
5379
4953
|
process.argv[0],
|
|
5380
4954
|
this._fynJs,
|
|
5381
4955
|
this._fyn._options.registry && `--reg=${this._fyn._options.registry}`,
|
|
5382
|
-
"-q=d --pg=simple --no-build-local
|
|
5383
|
-
!this._fyn._options.sourceMaps && "--no-source-maps"
|
|
5384
|
-
"install --no-audit"
|
|
4956
|
+
"-q=d --pg=simple --no-build-local",
|
|
4957
|
+
!this._fyn._options.sourceMaps && "--no-source-maps"
|
|
5385
4958
|
].filter((x) => x).join(" ");
|
|
5386
4959
|
const displayTitle = `building local pkg at ${dispPath}`;
|
|
5387
4960
|
logger.verbose(displayTitle);
|
|
@@ -5556,10 +5129,34 @@ const _ = __webpack_require__("./node_modules/.f/_/lodash/4.17.21/lodash/lodash.
|
|
|
5556
5129
|
const logger = __webpack_require__("./lib/logger.ts");
|
|
5557
5130
|
class PkgBinLinkerBase {
|
|
5558
5131
|
constructor(options) {
|
|
5559
|
-
this._binDir = Path.join(options.outputDir, ".bin");
|
|
5132
|
+
this._binDir = options.binDir || Path.join(options.outputDir, ".bin");
|
|
5560
5133
|
this._fyn = options.fyn;
|
|
5561
5134
|
this._linked = {};
|
|
5562
5135
|
}
|
|
5136
|
+
async hasBinLink(sym) {
|
|
5137
|
+
return Fs.exists(Path.join(this._binDir, sym));
|
|
5138
|
+
}
|
|
5139
|
+
async matchesBinPath(sym, target) {
|
|
5140
|
+
const symlink = Path.join(this._binDir, sym);
|
|
5141
|
+
const relTarget = Path.relative(this._binDir, target);
|
|
5142
|
+
return this._isBinLinkTarget(symlink, relTarget);
|
|
5143
|
+
}
|
|
5144
|
+
async linkBinPath(target, sym, options = {}) {
|
|
5145
|
+
const relTarget = Path.relative(this._binDir, target);
|
|
5146
|
+
const symlink = Path.join(this._binDir, sym);
|
|
5147
|
+
await this._mkBinDir();
|
|
5148
|
+
if (options.overwrite) {
|
|
5149
|
+
await this._rmBinLink(symlink);
|
|
5150
|
+
}
|
|
5151
|
+
if (!await this._ensureGoodLink(symlink, relTarget)) {
|
|
5152
|
+
await this._generateBinLink(relTarget, symlink);
|
|
5153
|
+
}
|
|
5154
|
+
await this._chmod(target);
|
|
5155
|
+
return relTarget;
|
|
5156
|
+
}
|
|
5157
|
+
async removeBinLink(sym) {
|
|
5158
|
+
await this._rmBinLink(Path.join(this._binDir, sym));
|
|
5159
|
+
}
|
|
5563
5160
|
async clearExtras() {
|
|
5564
5161
|
try {
|
|
5565
5162
|
const bins = await this._readBinLinks();
|
|
@@ -5742,13 +5339,16 @@ class PkgBinLinker extends PkgBinLinkerBase {
|
|
|
5742
5339
|
//
|
|
5743
5340
|
// Platform specific
|
|
5744
5341
|
//
|
|
5745
|
-
async
|
|
5342
|
+
async _isBinLinkTarget(symlink, target) {
|
|
5746
5343
|
try {
|
|
5747
|
-
|
|
5748
|
-
if (existTarget === target) {
|
|
5749
|
-
return true;
|
|
5750
|
-
}
|
|
5344
|
+
return await Fs.readlink(symlink) === target;
|
|
5751
5345
|
} catch (err) {
|
|
5346
|
+
return false;
|
|
5347
|
+
}
|
|
5348
|
+
}
|
|
5349
|
+
async _ensureGoodLink(symlink, target) {
|
|
5350
|
+
if (await this._isBinLinkTarget(symlink, target)) {
|
|
5351
|
+
return true;
|
|
5752
5352
|
}
|
|
5753
5353
|
await this._rmBinLink(symlink);
|
|
5754
5354
|
return false;
|
|
@@ -5818,13 +5418,17 @@ class PkgBinLinkerWin32 extends PkgBinLinkerBase {
|
|
|
5818
5418
|
//
|
|
5819
5419
|
// Platform specific
|
|
5820
5420
|
//
|
|
5821
|
-
async
|
|
5421
|
+
async _isBinLinkTarget(symlink, target) {
|
|
5822
5422
|
try {
|
|
5823
5423
|
const existTarget = (await Fs.readFile(symlink)).toString();
|
|
5824
|
-
|
|
5825
|
-
return true;
|
|
5826
|
-
}
|
|
5424
|
+
return existTarget.indexOf(target) >= 0;
|
|
5827
5425
|
} catch (err) {
|
|
5426
|
+
return false;
|
|
5427
|
+
}
|
|
5428
|
+
}
|
|
5429
|
+
async _ensureGoodLink(symlink, target) {
|
|
5430
|
+
if (await this._isBinLinkTarget(symlink, target)) {
|
|
5431
|
+
return true;
|
|
5828
5432
|
}
|
|
5829
5433
|
await this._rmBinLink(symlink);
|
|
5830
5434
|
return false;
|
|
@@ -6179,6 +5783,39 @@ class PkgDepLocker {
|
|
|
6179
5783
|
hasLock(item) {
|
|
6180
5784
|
return Boolean(this._enable && this._lockData[item.name]);
|
|
6181
5785
|
}
|
|
5786
|
+
normalizeTarballUrl(item, tarballUrl) {
|
|
5787
|
+
if (!tarballUrl || !this._fyn || !this._fyn._pkgSrcMgr) {
|
|
5788
|
+
return tarballUrl;
|
|
5789
|
+
}
|
|
5790
|
+
const currentRegistry = this._fyn._pkgSrcMgr.getRegistryUrl(item.name);
|
|
5791
|
+
if (!currentRegistry || tarballUrl.startsWith(currentRegistry)) {
|
|
5792
|
+
return tarballUrl;
|
|
5793
|
+
}
|
|
5794
|
+
try {
|
|
5795
|
+
const currentUrl = new URL(currentRegistry);
|
|
5796
|
+
const lockedUrl = new URL(tarballUrl);
|
|
5797
|
+
const currentPath = decodeURIComponent(currentUrl.pathname);
|
|
5798
|
+
const lockedPath = decodeURIComponent(lockedUrl.pathname);
|
|
5799
|
+
if (lockedPath.startsWith(currentPath)) {
|
|
5800
|
+
lockedUrl.protocol = currentUrl.protocol;
|
|
5801
|
+
lockedUrl.username = currentUrl.username;
|
|
5802
|
+
lockedUrl.password = currentUrl.password;
|
|
5803
|
+
lockedUrl.host = currentUrl.host;
|
|
5804
|
+
return lockedUrl.toString();
|
|
5805
|
+
}
|
|
5806
|
+
const tarballMarker = `/${item.name}/-/`;
|
|
5807
|
+
const markerIndex = lockedPath.indexOf(tarballMarker);
|
|
5808
|
+
if (markerIndex >= 0) {
|
|
5809
|
+
const rebuiltUrl = new URL(lockedPath.slice(markerIndex + 1), currentRegistry);
|
|
5810
|
+
rebuiltUrl.search = lockedUrl.search;
|
|
5811
|
+
rebuiltUrl.hash = lockedUrl.hash;
|
|
5812
|
+
return rebuiltUrl.toString();
|
|
5813
|
+
}
|
|
5814
|
+
} catch (err) {
|
|
5815
|
+
return tarballUrl;
|
|
5816
|
+
}
|
|
5817
|
+
return tarballUrl;
|
|
5818
|
+
}
|
|
6182
5819
|
//
|
|
6183
5820
|
// convert from fyn lock format to npm meta format
|
|
6184
5821
|
//
|
|
@@ -6201,18 +5838,7 @@ class PkgDepLocker {
|
|
|
6201
5838
|
fullPath: vpkg._
|
|
6202
5839
|
};
|
|
6203
5840
|
} else {
|
|
6204
|
-
|
|
6205
|
-
if (tarballUrl && this._fyn && this._fyn._pkgSrcMgr) {
|
|
6206
|
-
const currentRegistry = this._fyn._pkgSrcMgr.getRegistryUrl(item.name);
|
|
6207
|
-
const urlMatch = tarballUrl.match(/^(https?:\/\/[^\/]+)(\/.*)/);
|
|
6208
|
-
if (urlMatch && currentRegistry) {
|
|
6209
|
-
const lockRegistry = urlMatch[1] + "/";
|
|
6210
|
-
const tarballPath = urlMatch[2];
|
|
6211
|
-
if (lockRegistry !== currentRegistry) {
|
|
6212
|
-
tarballUrl = currentRegistry.replace(/\/$/, "") + tarballPath;
|
|
6213
|
-
}
|
|
6214
|
-
}
|
|
6215
|
-
}
|
|
5841
|
+
const tarballUrl = this.normalizeTarballUrl(item, vpkg._);
|
|
6216
5842
|
vpkg.dist = {
|
|
6217
5843
|
integrity: fyntil.shaToIntegrity(vpkg.$),
|
|
6218
5844
|
tarball: tarballUrl
|
|
@@ -6466,7 +6092,7 @@ const _ = __webpack_require__("./node_modules/.f/_/lodash/4.17.21/lodash/lodash.
|
|
|
6466
6092
|
const Fs = __webpack_require__("./lib/util/file-ops.ts");
|
|
6467
6093
|
const Path = __webpack_require__("path");
|
|
6468
6094
|
const semverUtil = __webpack_require__("./lib/util/semver.ts");
|
|
6469
|
-
const Semver = __webpack_require__("./node_modules/.f/_/semver/7.
|
|
6095
|
+
const Semver = __webpack_require__("./node_modules/.f/_/semver/7.8.0/semver/index.js");
|
|
6470
6096
|
const chalk = __webpack_require__("./node_modules/.f/_/chalk/4.1.2/chalk/source/index.js");
|
|
6471
6097
|
const logger = __webpack_require__("./lib/logger.ts");
|
|
6472
6098
|
const DepItem = __webpack_require__("./lib/dep-item.ts");
|
|
@@ -7482,7 +7108,25 @@ ${item.depPath.join(" > ")}`
|
|
|
7482
7108
|
throw new Error(failMetaMsg(item.name));
|
|
7483
7109
|
}
|
|
7484
7110
|
const updated = this._fyn.depLocker.update(item, meta);
|
|
7485
|
-
|
|
7111
|
+
const r2 = this._resolveWithMeta({ item, meta: updated, force: false, noLocal: true });
|
|
7112
|
+
if (r2) {
|
|
7113
|
+
return r2;
|
|
7114
|
+
}
|
|
7115
|
+
logger.debug(
|
|
7116
|
+
`cached meta for ${item.name} has no version satisfying ${item.semver}; refetching from registry`
|
|
7117
|
+
);
|
|
7118
|
+
return this._pkgSrcMgr.fetchMeta(item, true).then((freshMeta) => {
|
|
7119
|
+
if (!freshMeta) {
|
|
7120
|
+
throw new Error(failMetaMsg(item.name));
|
|
7121
|
+
}
|
|
7122
|
+
const freshUpdated = this._fyn.depLocker.update(item, freshMeta);
|
|
7123
|
+
return this._resolveWithMeta({
|
|
7124
|
+
item,
|
|
7125
|
+
meta: freshUpdated,
|
|
7126
|
+
force: true,
|
|
7127
|
+
noLocal: true
|
|
7128
|
+
});
|
|
7129
|
+
});
|
|
7486
7130
|
}).catch((err) => {
|
|
7487
7131
|
if (item.dsrc !== "opt") {
|
|
7488
7132
|
if (err.message.includes("Unable to retrieve meta")) {
|
|
@@ -8346,6 +7990,10 @@ class PkgInstaller {
|
|
|
8346
7990
|
for (const pkgDir of removed) {
|
|
8347
7991
|
let dir = pkgDir;
|
|
8348
7992
|
try {
|
|
7993
|
+
if (!this._fyn._shortPkgDir) {
|
|
7994
|
+
dir = Path.dirname(dir);
|
|
7995
|
+
await Fs.rmdir(dir);
|
|
7996
|
+
}
|
|
8349
7997
|
if (pkgName.startsWith("@")) {
|
|
8350
7998
|
dir = Path.dirname(dir);
|
|
8351
7999
|
await Fs.rmdir(dir);
|
|
@@ -8405,7 +8053,7 @@ module.exports = PkgInstaller;
|
|
|
8405
8053
|
"use strict";
|
|
8406
8054
|
|
|
8407
8055
|
const assert = __webpack_require__("assert");
|
|
8408
|
-
const xsh = __webpack_require__("./node_modules/.f/_/xsh/0.4.6
|
|
8056
|
+
const xsh = __webpack_require__("./node_modules/.f/_/xsh/0.4.6/xsh/lib/index.js");
|
|
8409
8057
|
const _ = __webpack_require__("./node_modules/.f/_/lodash/4.17.21/lodash/lodash.min.js");
|
|
8410
8058
|
const Promise = __webpack_require__("./lib/util/aveazul.ts");
|
|
8411
8059
|
const PromiseQueue = __webpack_require__("./lib/util/promise-queue.ts");
|
|
@@ -8687,8 +8335,8 @@ const semverUtil = __webpack_require__("./lib/util/semver.ts");
|
|
|
8687
8335
|
const longPending = __webpack_require__("./lib/long-pending.ts");
|
|
8688
8336
|
const { LOCAL_VERSION_MAPS, PACKAGE_RAW_INFO, DEP_ITEM } = __webpack_require__("./lib/symbols.ts");
|
|
8689
8337
|
const { LONG_WAIT_META, FETCH_META, FETCH_PACKAGE } = __webpack_require__("./lib/log-items.ts");
|
|
8690
|
-
const PkgPreper = __webpack_require__("./node_modules/.f/_/pkg-preper/0.1.
|
|
8691
|
-
const VisualExec = __webpack_require__("./node_modules/.f/_/visual-exec/0.
|
|
8338
|
+
const PkgPreper = __webpack_require__("./node_modules/.f/_/pkg-preper/0.1.8-fynlocal_h/pkg-preper/lib/pkg-preper.js");
|
|
8339
|
+
const VisualExec = __webpack_require__("./node_modules/.f/_/visual-exec/0.1.14/visual-exec/lib/visual-exec.js");
|
|
8692
8340
|
const { readPkgJson, missPipe } = __webpack_require__("./lib/util/fyntil.ts");
|
|
8693
8341
|
const { MARK_URL_SPEC } = __webpack_require__("./lib/constants.ts");
|
|
8694
8342
|
const nodeFetch = __webpack_require__("./node_modules/.f/_/node-fetch-npm/2.0.4/node-fetch-npm/src/index.js");
|
|
@@ -9196,18 +8844,54 @@ class PkgSrcManager {
|
|
|
9196
8844
|
}
|
|
9197
8845
|
};
|
|
9198
8846
|
}
|
|
9199
|
-
fetchMeta(item) {
|
|
8847
|
+
fetchMeta(item, forceRefresh = false) {
|
|
9200
8848
|
const pkgName = item.name;
|
|
9201
8849
|
const pkgKey = `${pkgName}@${item.urlType ? item.urlType : "semver"}`;
|
|
9202
|
-
if (
|
|
9203
|
-
|
|
9204
|
-
|
|
9205
|
-
|
|
9206
|
-
|
|
9207
|
-
|
|
8850
|
+
if (!forceRefresh) {
|
|
8851
|
+
if (this._meta[pkgKey]) {
|
|
8852
|
+
return Promise.resolve(this._meta[pkgKey]);
|
|
8853
|
+
}
|
|
8854
|
+
const inflight = this._inflights.meta.get(pkgKey);
|
|
8855
|
+
if (inflight) {
|
|
8856
|
+
return inflight;
|
|
8857
|
+
}
|
|
9208
8858
|
}
|
|
9209
8859
|
const packumentUrl = this.makePackumentUrl(pkgName);
|
|
9210
|
-
const cacheKey = `make-fetch-happen:request-cache
|
|
8860
|
+
const cacheKey = `make-fetch-happen:request-cache:${packumentUrl}`;
|
|
8861
|
+
const legacyCacheKey = `make-fetch-happen:request-cache:full:${packumentUrl}`;
|
|
8862
|
+
const cacheKeys = [cacheKey, legacyCacheKey];
|
|
8863
|
+
const loadCachedPackument = async (key, memoize = true) => {
|
|
8864
|
+
try {
|
|
8865
|
+
const cached = await cacache.get(this._cacheDir, key, { memoize });
|
|
8866
|
+
const info = await getCacheInfoWithRefreshTime(this._cacheDir, key);
|
|
8867
|
+
return Object.assign(cached, {
|
|
8868
|
+
refreshTime: info && info.refreshTime,
|
|
8869
|
+
cacheKey: key
|
|
8870
|
+
});
|
|
8871
|
+
} catch (err) {
|
|
8872
|
+
if (err.code === "ENOENT") {
|
|
8873
|
+
return void 0;
|
|
8874
|
+
}
|
|
8875
|
+
throw err;
|
|
8876
|
+
}
|
|
8877
|
+
};
|
|
8878
|
+
const loadBestCachedPackument = async (memoize = true) => {
|
|
8879
|
+
const cachedEntries = (await Promise.all(cacheKeys.map((key) => loadCachedPackument(key, memoize)))).filter(Boolean);
|
|
8880
|
+
if (cachedEntries.length === 0) {
|
|
8881
|
+
return void 0;
|
|
8882
|
+
}
|
|
8883
|
+
return _.maxBy(cachedEntries, (cached) => cached.refreshTime || 0) || cachedEntries[0];
|
|
8884
|
+
};
|
|
8885
|
+
const readMemoizedPackument = async () => {
|
|
8886
|
+
const memoized = await loadBestCachedPackument(false);
|
|
8887
|
+
if (!(memoized && memoized.data)) {
|
|
8888
|
+
return void 0;
|
|
8889
|
+
}
|
|
8890
|
+
logger.debug(`using memoized packument cache for '${pkgName}'`);
|
|
8891
|
+
cacheMemoized = true;
|
|
8892
|
+
this._metaStat.wait--;
|
|
8893
|
+
return JSON.parse(memoized.data.toString());
|
|
8894
|
+
};
|
|
9211
8895
|
const queueMetaFetchRequest = (cached) => {
|
|
9212
8896
|
const offline = this._fyn.remoteMetaDisabled;
|
|
9213
8897
|
if (cached && this._fyn.forceCache) {
|
|
@@ -9236,19 +8920,13 @@ class PkgSrcManager {
|
|
|
9236
8920
|
let foundCache;
|
|
9237
8921
|
let cacheMemoized = false;
|
|
9238
8922
|
const metaMemoizeUrl = this._fyn._options.metaMemoize;
|
|
9239
|
-
const promise = (item.urlType ? (
|
|
8923
|
+
const promise = (item.urlType || forceRefresh ? (
|
|
9240
8924
|
// when the semver is a url then the meta is not from npm registry and
|
|
9241
|
-
// we can't use the cache for registry
|
|
8925
|
+
// we can't use the cache for registry.
|
|
8926
|
+
// when forceRefresh, skip the local cacache + meta-mem path so we go
|
|
8927
|
+
// straight to a fresh registry fetch via queueMetaFetchRequest.
|
|
9242
8928
|
Promise.resolve()
|
|
9243
|
-
) :
|
|
9244
|
-
if (cached) {
|
|
9245
|
-
const info = await getCacheInfoWithRefreshTime(this._cacheDir, cacheKey);
|
|
9246
|
-
if (info) {
|
|
9247
|
-
cached.refreshTime = info.refreshTime;
|
|
9248
|
-
}
|
|
9249
|
-
}
|
|
9250
|
-
return cached;
|
|
9251
|
-
})).then((cached) => {
|
|
8929
|
+
) : loadBestCachedPackument(true)).then((cached) => {
|
|
9252
8930
|
const packument = cached && cached.data && JSON.parse(cached.data);
|
|
9253
8931
|
foundCache = cached;
|
|
9254
8932
|
if (cached && cached.refreshTime) {
|
|
@@ -9264,14 +8942,26 @@ class PkgSrcManager {
|
|
|
9264
8942
|
}
|
|
9265
8943
|
}
|
|
9266
8944
|
if (cached && metaMemoizeUrl) {
|
|
9267
|
-
const
|
|
9268
|
-
|
|
9269
|
-
|
|
8945
|
+
const checkMemoizedCache = async () => {
|
|
8946
|
+
for (const key of cacheKeys) {
|
|
8947
|
+
const encKey = encodeURIComponent(key);
|
|
8948
|
+
const res = await nodeFetch(`${metaMemoizeUrl}?key=${encKey}`);
|
|
9270
8949
|
if (res.status === 200) {
|
|
9271
|
-
|
|
9272
|
-
|
|
9273
|
-
|
|
9274
|
-
|
|
8950
|
+
return true;
|
|
8951
|
+
}
|
|
8952
|
+
}
|
|
8953
|
+
return false;
|
|
8954
|
+
};
|
|
8955
|
+
return checkMemoizedCache().then(
|
|
8956
|
+
async (hasMemoizedCache) => {
|
|
8957
|
+
if (hasMemoizedCache) {
|
|
8958
|
+
const memoizedPackument = await readMemoizedPackument();
|
|
8959
|
+
if (memoizedPackument) {
|
|
8960
|
+
return memoizedPackument;
|
|
8961
|
+
}
|
|
8962
|
+
logger.warn(
|
|
8963
|
+
`memoized packument cache for '${pkgName}' was signaled but cache entry was missing; refetching`
|
|
8964
|
+
);
|
|
9275
8965
|
}
|
|
9276
8966
|
return queueMetaFetchRequest(packument);
|
|
9277
8967
|
},
|
|
@@ -9299,8 +8989,13 @@ class PkgSrcManager {
|
|
|
9299
8989
|
}
|
|
9300
8990
|
return meta;
|
|
9301
8991
|
}).finally(() => {
|
|
9302
|
-
|
|
8992
|
+
if (!forceRefresh) {
|
|
8993
|
+
this._inflights.meta.remove(pkgKey);
|
|
8994
|
+
}
|
|
9303
8995
|
});
|
|
8996
|
+
if (forceRefresh) {
|
|
8997
|
+
return promise;
|
|
8998
|
+
}
|
|
9304
8999
|
return this._inflights.meta.add(pkgKey, promise);
|
|
9305
9000
|
}
|
|
9306
9001
|
pacotePrefetch(pkgId, pkgInfo, integrity) {
|
|
@@ -9462,303 +9157,6 @@ module.exports = PkgSrcManager;
|
|
|
9462
9157
|
module.exports.META_CACHE_STALE_TIME = META_CACHE_STALE_TIME;
|
|
9463
9158
|
|
|
9464
9159
|
|
|
9465
|
-
/***/ }),
|
|
9466
|
-
|
|
9467
|
-
/***/ "./lib/pkg-stat-provider.ts":
|
|
9468
|
-
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
|
|
9469
|
-
|
|
9470
|
-
"use strict";
|
|
9471
|
-
|
|
9472
|
-
const _ = __webpack_require__("./node_modules/.f/_/lodash/4.17.21/lodash/lodash.min.js");
|
|
9473
|
-
const semverUtil = __webpack_require__("./lib/util/semver.ts");
|
|
9474
|
-
const PkgDepLinker = __webpack_require__("./lib/pkg-dep-linker.ts");
|
|
9475
|
-
const { SEMVER } = __webpack_require__("./lib/symbols.ts");
|
|
9476
|
-
const PACKAGE_JSON = "~package.json";
|
|
9477
|
-
class PkgStatProvider {
|
|
9478
|
-
_fyn;
|
|
9479
|
-
_fynRes;
|
|
9480
|
-
_dependentsCache;
|
|
9481
|
-
_allPaths;
|
|
9482
|
-
_circularDeps;
|
|
9483
|
-
constructor({ fyn }) {
|
|
9484
|
-
this._fyn = fyn;
|
|
9485
|
-
this._fynRes = null;
|
|
9486
|
-
this._dependentsCache = {};
|
|
9487
|
-
this._allPaths = [];
|
|
9488
|
-
this._circularDeps = [];
|
|
9489
|
-
}
|
|
9490
|
-
/**
|
|
9491
|
-
* Find packages matching the given ID pattern.
|
|
9492
|
-
*
|
|
9493
|
-
* @param pkgId - Package ID (name or name@semver)
|
|
9494
|
-
* @returns Array of matching package info
|
|
9495
|
-
*/
|
|
9496
|
-
findPkgsById(pkgId) {
|
|
9497
|
-
const pkgs = this._fyn._data?.pkgs;
|
|
9498
|
-
if (!pkgs) return [];
|
|
9499
|
-
const ix = pkgId.indexOf("@", 1);
|
|
9500
|
-
const sx = ix > 0 ? ix : pkgId.length;
|
|
9501
|
-
const name = pkgId.substr(0, sx);
|
|
9502
|
-
const semver = pkgId.substr(sx + 1);
|
|
9503
|
-
return _(pkgs[name]).map((vpkg, version) => {
|
|
9504
|
-
if (!semver || semverUtil.satisfies(version, semver)) {
|
|
9505
|
-
return vpkg;
|
|
9506
|
-
}
|
|
9507
|
-
}).filter((x) => x).value();
|
|
9508
|
-
}
|
|
9509
|
-
/**
|
|
9510
|
-
* Find all packages that depend on the given package.
|
|
9511
|
-
*
|
|
9512
|
-
* @param ask - Package info { name, version, local? }
|
|
9513
|
-
* @returns Array of dependent packages
|
|
9514
|
-
*/
|
|
9515
|
-
findDependents(ask) {
|
|
9516
|
-
const pkgs = this._fyn._data?.pkgs;
|
|
9517
|
-
if (!pkgs) return [];
|
|
9518
|
-
const dependents = [];
|
|
9519
|
-
if (!this._fynRes) {
|
|
9520
|
-
const depLinker = new PkgDepLinker({ fyn: this._fyn });
|
|
9521
|
-
this._fynRes = depLinker.makeAppFynRes(this._fyn._data.res, {});
|
|
9522
|
-
}
|
|
9523
|
-
const check = (res, vpkg) => {
|
|
9524
|
-
const semv = ask.local ? semverUtil.unlocalify(ask.version) : ask.version;
|
|
9525
|
-
if (res && semverUtil.satisfies(res.resolved, semv)) {
|
|
9526
|
-
dependents.push(vpkg);
|
|
9527
|
-
}
|
|
9528
|
-
};
|
|
9529
|
-
for (const name in pkgs) {
|
|
9530
|
-
const pkg = pkgs[name];
|
|
9531
|
-
for (const version in pkg) {
|
|
9532
|
-
const vpkg = pkg[version];
|
|
9533
|
-
["dep", "opt", "per"].forEach((s) => {
|
|
9534
|
-
const x = vpkg.res[s];
|
|
9535
|
-
check(x && x[ask.name], vpkg);
|
|
9536
|
-
});
|
|
9537
|
-
}
|
|
9538
|
-
}
|
|
9539
|
-
check(this._fynRes[ask.name], { name: PACKAGE_JSON, promoted: true });
|
|
9540
|
-
return dependents;
|
|
9541
|
-
}
|
|
9542
|
-
/**
|
|
9543
|
-
* Get the package ID string.
|
|
9544
|
-
*/
|
|
9545
|
-
_getPkgId(pkg) {
|
|
9546
|
-
if (pkg.name === PACKAGE_JSON) {
|
|
9547
|
-
return pkg.name;
|
|
9548
|
-
}
|
|
9549
|
-
return `${pkg.name}@${pkg.version}`;
|
|
9550
|
-
}
|
|
9551
|
-
/**
|
|
9552
|
-
* Find dependency paths from root to the given package.
|
|
9553
|
-
*
|
|
9554
|
-
* @param pkgIds - Package IDs to trace
|
|
9555
|
-
* @param output - Current path being built
|
|
9556
|
-
* @param askName - Original package name being traced
|
|
9557
|
-
*/
|
|
9558
|
-
async _findDepPaths(pkgIds, output = [], askName = "") {
|
|
9559
|
-
const data = this._fyn._data;
|
|
9560
|
-
const pkgs = data?.pkgs;
|
|
9561
|
-
if (!pkgs) return;
|
|
9562
|
-
for (const pkgId of pkgIds) {
|
|
9563
|
-
const askPkgs = this.findPkgsById(pkgId).sort(
|
|
9564
|
-
(a, b) => semverUtil.simpleCompare(a.version, b.version)
|
|
9565
|
-
);
|
|
9566
|
-
if (askPkgs.length < 1) {
|
|
9567
|
-
if (pkgId === PACKAGE_JSON) {
|
|
9568
|
-
const newOutput = [].concat(output);
|
|
9569
|
-
["dependencies", "optionalDependencies", "peerDependencies", "devDependencies"].find((s) => {
|
|
9570
|
-
const semver = _.get(this._fyn, ["_pkg", s, askName]);
|
|
9571
|
-
if (semver) {
|
|
9572
|
-
newOutput[SEMVER] = semver;
|
|
9573
|
-
}
|
|
9574
|
-
return semver;
|
|
9575
|
-
});
|
|
9576
|
-
this._allPaths.push(newOutput);
|
|
9577
|
-
} else {
|
|
9578
|
-
this._allPaths.push([pkgId]);
|
|
9579
|
-
}
|
|
9580
|
-
continue;
|
|
9581
|
-
}
|
|
9582
|
-
for (const pkg of askPkgs) {
|
|
9583
|
-
const id = this._getPkgId(pkg);
|
|
9584
|
-
if (output.indexOf(id) >= 0) {
|
|
9585
|
-
this._circularDeps.push([id].concat(output));
|
|
9586
|
-
continue;
|
|
9587
|
-
}
|
|
9588
|
-
let dependents = this._dependentsCache[id];
|
|
9589
|
-
if (!dependents) {
|
|
9590
|
-
this._dependentsCache[id] = dependents = this.findDependents(pkg).sort((a, b) => {
|
|
9591
|
-
if (a.name === b.name) {
|
|
9592
|
-
return semverUtil.simpleCompare(a.version, b.version);
|
|
9593
|
-
}
|
|
9594
|
-
return a.name > b.name ? 1 : -1;
|
|
9595
|
-
});
|
|
9596
|
-
}
|
|
9597
|
-
const followIds = dependents.filter((x) => x.name !== PACKAGE_JSON).map((x) => `${x.name}@${x.version.replace("-fynlocal_h", "")}`);
|
|
9598
|
-
if (dependents.length > 0) {
|
|
9599
|
-
const newOutput = [id].concat(output);
|
|
9600
|
-
if (output.length === 1) {
|
|
9601
|
-
["dep", "opt", "per", "dev"].find((s) => {
|
|
9602
|
-
const sv = _.get(pkg, ["res", s, askName]);
|
|
9603
|
-
if (sv) {
|
|
9604
|
-
newOutput[SEMVER] = sv.semver;
|
|
9605
|
-
}
|
|
9606
|
-
return sv;
|
|
9607
|
-
});
|
|
9608
|
-
} else {
|
|
9609
|
-
newOutput[SEMVER] = output[SEMVER];
|
|
9610
|
-
}
|
|
9611
|
-
if (followIds.length > 0) {
|
|
9612
|
-
await this._findDepPaths(followIds, newOutput, askName);
|
|
9613
|
-
} else if (output) {
|
|
9614
|
-
this._allPaths.push(newOutput);
|
|
9615
|
-
}
|
|
9616
|
-
}
|
|
9617
|
-
}
|
|
9618
|
-
}
|
|
9619
|
-
}
|
|
9620
|
-
/**
|
|
9621
|
-
* Filter paths to show only the most significant ones.
|
|
9622
|
-
*
|
|
9623
|
-
* @param paths - All dependency paths
|
|
9624
|
-
* @param maxPaths - Maximum number of paths to return
|
|
9625
|
-
* @returns Filtered significant paths
|
|
9626
|
-
*/
|
|
9627
|
-
_filterSignificantPaths(paths, maxPaths = 5) {
|
|
9628
|
-
const cmpDepPath = (a, b) => {
|
|
9629
|
-
for (let ixA = 0; ixA < a.length; ixA++) {
|
|
9630
|
-
if (b.length <= ixA) return 1;
|
|
9631
|
-
const aId = a[ixA];
|
|
9632
|
-
const bId = b[ixA];
|
|
9633
|
-
if (aId !== bId) return aId > bId ? 1 : -1;
|
|
9634
|
-
}
|
|
9635
|
-
return 0;
|
|
9636
|
-
};
|
|
9637
|
-
paths = paths.sort((a, b) => a.length - b.length);
|
|
9638
|
-
let minDetails = 5;
|
|
9639
|
-
let briefPaths = paths;
|
|
9640
|
-
while (briefPaths.length > maxPaths && minDetails > 0) {
|
|
9641
|
-
const occurLevels = {};
|
|
9642
|
-
briefPaths = paths.filter((dp) => {
|
|
9643
|
-
const last = dp.length - 1;
|
|
9644
|
-
for (let ix = 0; ix < last; ix++) {
|
|
9645
|
-
const pkgId = dp[ix];
|
|
9646
|
-
const occur = occurLevels[pkgId];
|
|
9647
|
-
if (occur && occur.level < ix && occur.leaf === dp[last] && dp.length - ix > minDetails) {
|
|
9648
|
-
return false;
|
|
9649
|
-
}
|
|
9650
|
-
occurLevels[pkgId] = { level: ix, leaf: dp[last] };
|
|
9651
|
-
}
|
|
9652
|
-
return true;
|
|
9653
|
-
});
|
|
9654
|
-
minDetails--;
|
|
9655
|
-
}
|
|
9656
|
-
return briefPaths.sort(cmpDepPath);
|
|
9657
|
-
}
|
|
9658
|
-
/**
|
|
9659
|
-
* Get detailed stat information for a specific package version.
|
|
9660
|
-
*
|
|
9661
|
-
* @param name - Package name
|
|
9662
|
-
* @param version - Package version
|
|
9663
|
-
* @returns Stat result with dependents and paths
|
|
9664
|
-
*/
|
|
9665
|
-
async getPackageStat(name, version) {
|
|
9666
|
-
const pkgs = this._fyn._data?.pkgs;
|
|
9667
|
-
if (!pkgs || !pkgs[name] || !pkgs[name][version]) {
|
|
9668
|
-
return null;
|
|
9669
|
-
}
|
|
9670
|
-
const pkg = pkgs[name][version];
|
|
9671
|
-
const pkgId = `${name}@${version}`;
|
|
9672
|
-
const dependents = this.findDependents({ name, version, local: pkg.local }).sort((a, b) => {
|
|
9673
|
-
if (a.name === b.name) {
|
|
9674
|
-
return semverUtil.simpleCompare(a.version, b.version);
|
|
9675
|
-
}
|
|
9676
|
-
return a.name > b.name ? 1 : -1;
|
|
9677
|
-
});
|
|
9678
|
-
this._allPaths = [];
|
|
9679
|
-
this._circularDeps = [];
|
|
9680
|
-
const depIds = dependents.map((d) => this._getPkgId(d));
|
|
9681
|
-
await this._findDepPaths(depIds, [pkgId], name);
|
|
9682
|
-
const paths = this._allPaths.filter((p) => p[0] === pkgId || p.includes(pkgId));
|
|
9683
|
-
return {
|
|
9684
|
-
name,
|
|
9685
|
-
version,
|
|
9686
|
-
promoted: pkg.promoted || false,
|
|
9687
|
-
dependents: dependents.map((d) => ({
|
|
9688
|
-
name: d.name,
|
|
9689
|
-
version: d.version,
|
|
9690
|
-
promoted: d.promoted || false
|
|
9691
|
-
})),
|
|
9692
|
-
allPaths: paths,
|
|
9693
|
-
significantPaths: this._filterSignificantPaths(paths),
|
|
9694
|
-
circularDeps: this._circularDeps
|
|
9695
|
-
};
|
|
9696
|
-
}
|
|
9697
|
-
/**
|
|
9698
|
-
* Find all installed versions matching a package ID pattern.
|
|
9699
|
-
*
|
|
9700
|
-
* @param pkgId - Package ID (name or name@semver)
|
|
9701
|
-
* @returns Matching versions result
|
|
9702
|
-
*/
|
|
9703
|
-
findMatchingVersions(pkgId) {
|
|
9704
|
-
const matches = this.findPkgsById(pkgId).sort(
|
|
9705
|
-
(a, b) => semverUtil.simpleCompare(a.version, b.version)
|
|
9706
|
-
);
|
|
9707
|
-
return {
|
|
9708
|
-
searchId: pkgId,
|
|
9709
|
-
versions: matches.map((m) => ({
|
|
9710
|
-
name: m.name,
|
|
9711
|
-
version: m.version,
|
|
9712
|
-
promoted: m.promoted || false
|
|
9713
|
-
}))
|
|
9714
|
-
};
|
|
9715
|
-
}
|
|
9716
|
-
/**
|
|
9717
|
-
* Get stat for all versions of a package.
|
|
9718
|
-
* This is the main entry point for the audit formatter.
|
|
9719
|
-
*
|
|
9720
|
-
* @param name - Package name
|
|
9721
|
-
* @param version - Optional specific version
|
|
9722
|
-
* @returns Array of stat results for all matching versions
|
|
9723
|
-
*/
|
|
9724
|
-
async getPackageStats(name, version) {
|
|
9725
|
-
const pkgId = version ? `${name}@${version}` : name;
|
|
9726
|
-
const matches = this.findMatchingVersions(pkgId);
|
|
9727
|
-
const results = [];
|
|
9728
|
-
for (const match of matches.versions) {
|
|
9729
|
-
const stat = await this.getPackageStat(match.name, match.version);
|
|
9730
|
-
if (stat) {
|
|
9731
|
-
results.push(stat);
|
|
9732
|
-
}
|
|
9733
|
-
}
|
|
9734
|
-
return results;
|
|
9735
|
-
}
|
|
9736
|
-
/**
|
|
9737
|
-
* Format dependency paths with semver info.
|
|
9738
|
-
*
|
|
9739
|
-
* @param paths - Array of paths
|
|
9740
|
-
* @returns Formatted path strings
|
|
9741
|
-
*/
|
|
9742
|
-
formatPaths(paths) {
|
|
9743
|
-
return paths.map((p) => {
|
|
9744
|
-
const semver = p[SEMVER];
|
|
9745
|
-
const pathStr = p.join(" > ");
|
|
9746
|
-
return semver ? `${pathStr} (${semver})` : pathStr;
|
|
9747
|
-
});
|
|
9748
|
-
}
|
|
9749
|
-
/**
|
|
9750
|
-
* Reset caches. Call this if fyn data changes.
|
|
9751
|
-
*/
|
|
9752
|
-
reset() {
|
|
9753
|
-
this._fynRes = null;
|
|
9754
|
-
this._dependentsCache = {};
|
|
9755
|
-
this._allPaths = [];
|
|
9756
|
-
this._circularDeps = [];
|
|
9757
|
-
}
|
|
9758
|
-
}
|
|
9759
|
-
module.exports = PkgStatProvider;
|
|
9760
|
-
|
|
9761
|
-
|
|
9762
9160
|
/***/ }),
|
|
9763
9161
|
|
|
9764
9162
|
/***/ "./lib/symbols.ts":
|
|
@@ -10731,7 +10129,7 @@ module.exports = { addNpmLifecycle, runNpmScript };
|
|
|
10731
10129
|
|
|
10732
10130
|
"use strict";
|
|
10733
10131
|
|
|
10734
|
-
const Semver = __webpack_require__("./node_modules/.f/_/semver/7.
|
|
10132
|
+
const Semver = __webpack_require__("./node_modules/.f/_/semver/7.8.0/semver/index.js");
|
|
10735
10133
|
const Path = __webpack_require__("path");
|
|
10736
10134
|
const os = __webpack_require__("os");
|
|
10737
10135
|
function split(v, sep, index = 0) {
|
|
@@ -10922,7 +10320,7 @@ const Path = __webpack_require__("path");
|
|
|
10922
10320
|
const requireAt = __webpack_require__("./node_modules/.f/_/require-at/1.0.6/require-at/require-at.js");
|
|
10923
10321
|
const logger = __webpack_require__("./lib/logger.ts");
|
|
10924
10322
|
const { getGlobalNodeModules } = __webpack_require__("./lib/util/fyntil.ts");
|
|
10925
|
-
const xsh = __webpack_require__("./node_modules/.f/_/xsh/0.4.6
|
|
10323
|
+
const xsh = __webpack_require__("./node_modules/.f/_/xsh/0.4.6/xsh/lib/index.js");
|
|
10926
10324
|
let nodeGypBinPath;
|
|
10927
10325
|
function _searchNodeGypBin({ npmDir, searchPath }) {
|
|
10928
10326
|
if (!nodeGypBinPath) {
|
|
@@ -11015,7 +10413,7 @@ module.exports = function _sortObjKeys(obj) {
|
|
|
11015
10413
|
|
|
11016
10414
|
const Fs = __webpack_require__("./lib/util/file-ops.ts");
|
|
11017
10415
|
const Path = __webpack_require__("path");
|
|
11018
|
-
const mm = __webpack_require__("./node_modules/.f/_/minimatch/3.1.
|
|
10416
|
+
const mm = __webpack_require__("./node_modules/.f/_/minimatch/3.1.5/minimatch/minimatch.js");
|
|
11019
10417
|
const filterScanDir = __webpack_require__("./node_modules/.f/_/filter-scan-dir/1.6.0/filter-scan-dir/index.cjs");
|
|
11020
10418
|
async function _scanFileStats(dir, ignores, baseDir = "") {
|
|
11021
10419
|
const ignore = (fullPath) => ignores.find((pattern) => mm(fullPath, pattern, { dot: true }));
|
|
@@ -11082,7 +10480,7 @@ exports.processLifecycleInput = processLifecycleInput;
|
|
|
11082
10480
|
exports.processOutput = processOutput;
|
|
11083
10481
|
const tslib_1 = __webpack_require__("./node_modules/.f/_/tslib/2.8.1/tslib/tslib.es6.mjs");
|
|
11084
10482
|
const filter_scan_dir_1 = __webpack_require__("./node_modules/.f/_/filter-scan-dir/1.6.0/filter-scan-dir/index.cjs");
|
|
11085
|
-
const minimatch_1 = tslib_1.__importDefault(__webpack_require__("./node_modules/.f/_/minimatch/3.1.
|
|
10483
|
+
const minimatch_1 = tslib_1.__importDefault(__webpack_require__("./node_modules/.f/_/minimatch/3.1.5/minimatch/minimatch.js"));
|
|
11086
10484
|
const lodash_1 = tslib_1.__importDefault(__webpack_require__("./node_modules/.f/_/lodash/4.17.21/lodash/lodash.min.js"));
|
|
11087
10485
|
const fs_1 = tslib_1.__importDefault(__webpack_require__("fs"));
|
|
11088
10486
|
const path_1 = tslib_1.__importDefault(__webpack_require__("path"));
|
|
@@ -11340,9 +10738,9 @@ const assert_1 = tslib_1.__importDefault(__webpack_require__("assert"));
|
|
|
11340
10738
|
const path_1 = tslib_1.__importDefault(__webpack_require__("path"));
|
|
11341
10739
|
const fs_1 = __webpack_require__("fs");
|
|
11342
10740
|
const filter_scan_dir_1 = __webpack_require__("./node_modules/.f/_/filter-scan-dir/1.6.0/filter-scan-dir/index.cjs");
|
|
11343
|
-
const minimatch_1 = tslib_1.__importDefault(__webpack_require__("./node_modules/.f/_/minimatch/3.1.
|
|
10741
|
+
const minimatch_1 = tslib_1.__importDefault(__webpack_require__("./node_modules/.f/_/minimatch/3.1.5/minimatch/minimatch.js"));
|
|
11344
10742
|
const lodash_1 = tslib_1.__importDefault(__webpack_require__("./node_modules/.f/_/lodash/4.17.21/lodash/lodash.min.js"));
|
|
11345
|
-
const semver_1 = tslib_1.__importDefault(__webpack_require__("./node_modules/.f/_/semver/7.
|
|
10743
|
+
const semver_1 = tslib_1.__importDefault(__webpack_require__("./node_modules/.f/_/semver/7.8.0/semver/index.js"));
|
|
11346
10744
|
const minimatch_group_1 = __webpack_require__("./node_modules/.f/_/@fynpo/base/1.1.22-fynlocal_h/@fynpo/base/dist/minimatch-group.js");
|
|
11347
10745
|
const util_1 = __webpack_require__("./node_modules/.f/_/@fynpo/base/1.1.22-fynlocal_h/@fynpo/base/dist/util.js");
|
|
11348
10746
|
const is_path_inside_1 = tslib_1.__importDefault(__webpack_require__("./node_modules/.f/_/is-path-inside/3.0.3/is-path-inside/index.js"));
|
|
@@ -11907,7 +11305,7 @@ const tslib_1 = __webpack_require__("./node_modules/.f/_/tslib/2.8.1/tslib/tslib
|
|
|
11907
11305
|
const path_1 = tslib_1.__importDefault(__webpack_require__("path"));
|
|
11908
11306
|
const fs_1 = __webpack_require__("fs");
|
|
11909
11307
|
const filter_scan_dir_1 = __webpack_require__("./node_modules/.f/_/filter-scan-dir/1.6.0/filter-scan-dir/index.cjs");
|
|
11910
|
-
const minimatch_1 = tslib_1.__importDefault(__webpack_require__("./node_modules/.f/_/minimatch/3.1.
|
|
11308
|
+
const minimatch_1 = tslib_1.__importDefault(__webpack_require__("./node_modules/.f/_/minimatch/3.1.5/minimatch/minimatch.js"));
|
|
11911
11309
|
const lodash_1 = tslib_1.__importDefault(__webpack_require__("./node_modules/.f/_/lodash/4.17.21/lodash/lodash.min.js"));
|
|
11912
11310
|
const minimatch_group_1 = __webpack_require__("./node_modules/.f/_/@fynpo/base/1.1.22-fynlocal_h/@fynpo/base/dist/minimatch-group.js");
|
|
11913
11311
|
tslib_1.__exportStar(__webpack_require__("./node_modules/.f/_/@fynpo/base/1.1.22-fynlocal_h/@fynpo/base/dist/fynpo-dep-graph.js"), exports);
|
|
@@ -12114,7 +11512,7 @@ exports.deconstructMM = deconstructMM;
|
|
|
12114
11512
|
exports.checkMmMatch = checkMmMatch;
|
|
12115
11513
|
exports.unrollMmMatch = unrollMmMatch;
|
|
12116
11514
|
const tslib_1 = __webpack_require__("./node_modules/.f/_/tslib/2.8.1/tslib/tslib.es6.mjs");
|
|
12117
|
-
const minimatch_1 = tslib_1.__importDefault(__webpack_require__("./node_modules/.f/_/minimatch/3.1.
|
|
11515
|
+
const minimatch_1 = tslib_1.__importDefault(__webpack_require__("./node_modules/.f/_/minimatch/3.1.5/minimatch/minimatch.js"));
|
|
12118
11516
|
const lodash_1 = tslib_1.__importDefault(__webpack_require__("./node_modules/.f/_/lodash/4.17.21/lodash/lodash.min.js"));
|
|
12119
11517
|
function groupMM(mms, groups) {
|
|
12120
11518
|
mms.forEach((mm) => {
|
|
@@ -13426,7 +12824,7 @@ const { lstat, readlink } = __webpack_require__("node:fs/promises");
|
|
|
13426
12824
|
const { depth } = __webpack_require__("./node_modules/.f/_/treeverse/3.0.0/treeverse/lib/index.js");
|
|
13427
12825
|
const { log, time } = __webpack_require__("./node_modules/.f/_/proc-log/5.0.0/proc-log/lib/index.js");
|
|
13428
12826
|
const { redact } = __webpack_require__("./node_modules/.f/_/@npmcli/redact/3.2.2/@npmcli/redact/lib/index.js");
|
|
13429
|
-
const semver = __webpack_require__("./node_modules/.f/_/semver/7.
|
|
12827
|
+
const semver = __webpack_require__("./node_modules/.f/_/semver/7.8.0/semver/index.js");
|
|
13430
12828
|
const {
|
|
13431
12829
|
OK,
|
|
13432
12830
|
REPLACE,
|
|
@@ -15986,7 +15384,7 @@ const { dirname, resolve, relative, join } = __webpack_require__("node:path");
|
|
|
15986
15384
|
const { log, time } = __webpack_require__("./node_modules/.f/_/proc-log/5.0.0/proc-log/lib/index.js");
|
|
15987
15385
|
const { lstat, mkdir, rm, symlink } = __webpack_require__("node:fs/promises");
|
|
15988
15386
|
const { moveFile } = __webpack_require__("./node_modules/.f/_/@npmcli/fs/4.0.0/@npmcli/fs/lib/index.js");
|
|
15989
|
-
const { subset, intersects } = __webpack_require__("./node_modules/.f/_/semver/7.
|
|
15387
|
+
const { subset, intersects } = __webpack_require__("./node_modules/.f/_/semver/7.8.0/semver/index.js");
|
|
15990
15388
|
const { walkUp } = __webpack_require__("./node_modules/.f/_/walk-up-path/4.0.0/walk-up-path/dist/commonjs/index.js");
|
|
15991
15389
|
const AuditReport = __webpack_require__("./node_modules/.f/_/@npmcli/arborist/9.1.6/@npmcli/arborist/lib/audit-report.js");
|
|
15992
15390
|
const Diff = __webpack_require__("./node_modules/.f/_/@npmcli/arborist/9.1.6/@npmcli/arborist/lib/diff.js");
|
|
@@ -17377,7 +16775,7 @@ module.exports = calcDepFlags;
|
|
|
17377
16775
|
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
|
|
17378
16776
|
|
|
17379
16777
|
const localeCompare = __webpack_require__("./node_modules/.f/_/@isaacs/string-locale-compare/1.1.0/@isaacs/string-locale-compare/index.js")("en");
|
|
17380
|
-
const semver = __webpack_require__("./node_modules/.f/_/semver/7.
|
|
16778
|
+
const semver = __webpack_require__("./node_modules/.f/_/semver/7.8.0/semver/index.js");
|
|
17381
16779
|
const debug = __webpack_require__("./node_modules/.f/_/@npmcli/arborist/9.1.6/@npmcli/arborist/lib/debug.js");
|
|
17382
16780
|
const peerEntrySets = __webpack_require__("./node_modules/.f/_/@npmcli/arborist/9.1.6/@npmcli/arborist/lib/peer-entry-sets.js");
|
|
17383
16781
|
const deepestNestingTarget = __webpack_require__("./node_modules/.f/_/@npmcli/arborist/9.1.6/@npmcli/arborist/lib/deepest-nesting-target.js");
|
|
@@ -17784,7 +17182,7 @@ module.exports = deepestNestingTarget;
|
|
|
17784
17182
|
/***/ "./node_modules/.f/_/@npmcli/arborist/9.1.6/@npmcli/arborist/lib/dep-valid.js":
|
|
17785
17183
|
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
|
|
17786
17184
|
|
|
17787
|
-
const semver = __webpack_require__("./node_modules/.f/_/semver/7.
|
|
17185
|
+
const semver = __webpack_require__("./node_modules/.f/_/semver/7.8.0/semver/index.js");
|
|
17788
17186
|
const npa = __webpack_require__("./node_modules/.f/_/npm-package-arg/13.0.1/npm-package-arg/lib/npa.js");
|
|
17789
17187
|
const { relative } = __webpack_require__("node:path");
|
|
17790
17188
|
const fromPath = __webpack_require__("./node_modules/.f/_/@npmcli/arborist/9.1.6/@npmcli/arborist/lib/from-path.js");
|
|
@@ -18708,7 +18106,7 @@ module.exports = Link;
|
|
|
18708
18106
|
const PackageJson = __webpack_require__("./node_modules/.f/_/@npmcli/package-json/7.0.1/@npmcli/package-json/lib/index.js");
|
|
18709
18107
|
const nameFromFolder = __webpack_require__("./node_modules/.f/_/@npmcli/name-from-folder/3.0.0/@npmcli/name-from-folder/lib/index.js");
|
|
18710
18108
|
const npa = __webpack_require__("./node_modules/.f/_/npm-package-arg/13.0.1/npm-package-arg/lib/npa.js");
|
|
18711
|
-
const semver = __webpack_require__("./node_modules/.f/_/semver/7.
|
|
18109
|
+
const semver = __webpack_require__("./node_modules/.f/_/semver/7.8.0/semver/index.js");
|
|
18712
18110
|
const util = __webpack_require__("node:util");
|
|
18713
18111
|
const { getPaths: getBinPaths } = __webpack_require__("./node_modules/.f/_/bin-links/5.0.0/bin-links/lib/index.js");
|
|
18714
18112
|
const { log } = __webpack_require__("./node_modules/.f/_/proc-log/5.0.0/proc-log/lib/index.js");
|
|
@@ -19892,7 +19290,7 @@ module.exports = { overrideResolves };
|
|
|
19892
19290
|
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
|
|
19893
19291
|
|
|
19894
19292
|
const npa = __webpack_require__("./node_modules/.f/_/npm-package-arg/13.0.1/npm-package-arg/lib/npa.js");
|
|
19895
|
-
const semver = __webpack_require__("./node_modules/.f/_/semver/7.
|
|
19293
|
+
const semver = __webpack_require__("./node_modules/.f/_/semver/7.8.0/semver/index.js");
|
|
19896
19294
|
const { log } = __webpack_require__("./node_modules/.f/_/proc-log/5.0.0/proc-log/lib/index.js");
|
|
19897
19295
|
class OverrideSet {
|
|
19898
19296
|
constructor({ overrides, key, parent }) {
|
|
@@ -20687,7 +20085,7 @@ const { log } = __webpack_require__("./node_modules/.f/_/proc-log/5.0.0/proc-log
|
|
|
20687
20085
|
const { minimatch } = __webpack_require__("./node_modules/.f/_/minimatch/10.1.1/minimatch/dist/commonjs/index.js");
|
|
20688
20086
|
const npa = __webpack_require__("./node_modules/.f/_/npm-package-arg/13.0.1/npm-package-arg/lib/npa.js");
|
|
20689
20087
|
const pacote = __webpack_require__("./node_modules/.f/_/pacote/21.0.3/pacote/lib/index.js");
|
|
20690
|
-
const semver = __webpack_require__("./node_modules/.f/_/semver/7.
|
|
20088
|
+
const semver = __webpack_require__("./node_modules/.f/_/semver/7.8.0/semver/index.js");
|
|
20691
20089
|
const npmFetch = __webpack_require__("./node_modules/.f/_/npm-registry-fetch/19.1.0/npm-registry-fetch/lib/index.js");
|
|
20692
20090
|
class Results {
|
|
20693
20091
|
#currentAstSelector;
|
|
@@ -22725,7 +22123,7 @@ debug(() => module.exports = checkTree);
|
|
|
22725
22123
|
/***/ "./node_modules/.f/_/@npmcli/arborist/9.1.6/@npmcli/arborist/lib/version-from-tgz.js":
|
|
22726
22124
|
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
|
|
22727
22125
|
|
|
22728
|
-
const semver = __webpack_require__("./node_modules/.f/_/semver/7.
|
|
22126
|
+
const semver = __webpack_require__("./node_modules/.f/_/semver/7.8.0/semver/index.js");
|
|
22729
22127
|
const { basename } = __webpack_require__("node:path");
|
|
22730
22128
|
const { URL } = __webpack_require__("node:url");
|
|
22731
22129
|
module.exports = (name, tgz) => {
|
|
@@ -22769,7 +22167,7 @@ const versionFromBaseScopeName = (base, scope, name) => {
|
|
|
22769
22167
|
/***/ "./node_modules/.f/_/@npmcli/arborist/9.1.6/@npmcli/arborist/lib/vuln.js":
|
|
22770
22168
|
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
|
|
22771
22169
|
|
|
22772
|
-
const { satisfies, simplifyRange } = __webpack_require__("./node_modules/.f/_/semver/7.
|
|
22170
|
+
const { satisfies, simplifyRange } = __webpack_require__("./node_modules/.f/_/semver/7.8.0/semver/index.js");
|
|
22773
22171
|
const semverOpt = { loose: true, includePrerelease: true };
|
|
22774
22172
|
const localeCompare = __webpack_require__("./node_modules/.f/_/@isaacs/string-locale-compare/1.1.0/@isaacs/string-locale-compare/index.js")("en");
|
|
22775
22173
|
const npa = __webpack_require__("./node_modules/.f/_/npm-package-arg/13.0.1/npm-package-arg/lib/npa.js");
|
|
@@ -23204,7 +22602,7 @@ module.exports = getOptions;
|
|
|
23204
22602
|
/***/ "./node_modules/.f/_/@npmcli/fs/4.0.0/@npmcli/fs/lib/common/node.js":
|
|
23205
22603
|
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
|
|
23206
22604
|
|
|
23207
|
-
const semver = __webpack_require__("./node_modules/.f/_/semver/7.
|
|
22605
|
+
const semver = __webpack_require__("./node_modules/.f/_/semver/7.8.0/semver/index.js");
|
|
23208
22606
|
const satisfies = (range) => {
|
|
23209
22607
|
return semver.satisfies(process.version, range, { includePrerelease: true });
|
|
23210
22608
|
};
|
|
@@ -24072,7 +23470,7 @@ module.exports = ({ cwd = process.cwd() } = {}) => stat(cwd + "/.git").then(() =
|
|
|
24072
23470
|
/***/ "./node_modules/.f/_/@npmcli/git/7.0.0/@npmcli/git/lib/lines-to-revs.js":
|
|
24073
23471
|
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
|
|
24074
23472
|
|
|
24075
|
-
const semver = __webpack_require__("./node_modules/.f/_/semver/7.
|
|
23473
|
+
const semver = __webpack_require__("./node_modules/.f/_/semver/7.8.0/semver/index.js");
|
|
24076
23474
|
module.exports = (lines) => finish(lines.reduce(linesToRevsReducer, {
|
|
24077
23475
|
versions: {},
|
|
24078
23476
|
"dist-tags": {},
|
|
@@ -24685,7 +24083,7 @@ module.exports = mapWorkspaces;
|
|
|
24685
24083
|
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
|
|
24686
24084
|
|
|
24687
24085
|
const hash = __webpack_require__("./node_modules/.f/_/@npmcli/metavuln-calculator/9.0.3/@npmcli/metavuln-calculator/lib/hash.js");
|
|
24688
|
-
const semver = __webpack_require__("./node_modules/.f/_/semver/7.
|
|
24086
|
+
const semver = __webpack_require__("./node_modules/.f/_/semver/7.8.0/semver/index.js");
|
|
24689
24087
|
const semverOpt = { includePrerelease: true, loose: true };
|
|
24690
24088
|
const getDepSpec = __webpack_require__("./node_modules/.f/_/@npmcli/metavuln-calculator/9.0.3/@npmcli/metavuln-calculator/lib/get-dep-spec.js");
|
|
24691
24089
|
const _source = Symbol("source");
|
|
@@ -25661,8 +25059,8 @@ module.exports = { normalizeData };
|
|
|
25661
25059
|
/***/ "./node_modules/.f/_/@npmcli/package-json/7.0.1/@npmcli/package-json/lib/normalize.js":
|
|
25662
25060
|
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
|
|
25663
25061
|
|
|
25664
|
-
const valid = __webpack_require__("./node_modules/.f/_/semver/7.
|
|
25665
|
-
const clean = __webpack_require__("./node_modules/.f/_/semver/7.
|
|
25062
|
+
const valid = __webpack_require__("./node_modules/.f/_/semver/7.8.0/semver/functions/valid.js");
|
|
25063
|
+
const clean = __webpack_require__("./node_modules/.f/_/semver/7.8.0/semver/functions/clean.js");
|
|
25666
25064
|
const fs = __webpack_require__("node:fs/promises");
|
|
25667
25065
|
const path = __webpack_require__("node:path");
|
|
25668
25066
|
const { log } = __webpack_require__("./node_modules/.f/_/proc-log/5.0.0/proc-log/lib/index.js");
|
|
@@ -49890,7 +49288,7 @@ function ownProp(obj, field) {
|
|
|
49890
49288
|
return Object.prototype.hasOwnProperty.call(obj, field);
|
|
49891
49289
|
}
|
|
49892
49290
|
var path = __webpack_require__("path");
|
|
49893
|
-
var minimatch = __webpack_require__("./node_modules/.f/_/minimatch/3.1.
|
|
49291
|
+
var minimatch = __webpack_require__("./node_modules/.f/_/minimatch/3.1.5/minimatch/minimatch.js");
|
|
49894
49292
|
var isAbsolute = __webpack_require__("./node_modules/.f/_/path-is-absolute/1.0.1/path-is-absolute/index.js");
|
|
49895
49293
|
var Minimatch = minimatch.Minimatch;
|
|
49896
49294
|
function alphasorti(a, b) {
|
|
@@ -50077,7 +49475,7 @@ function childrenIgnored(self, path2) {
|
|
|
50077
49475
|
module.exports = glob;
|
|
50078
49476
|
var fs = __webpack_require__("fs");
|
|
50079
49477
|
var rp = __webpack_require__("./node_modules/.f/_/fs.realpath/1.0.0/fs.realpath/index.js");
|
|
50080
|
-
var minimatch = __webpack_require__("./node_modules/.f/_/minimatch/3.1.
|
|
49478
|
+
var minimatch = __webpack_require__("./node_modules/.f/_/minimatch/3.1.5/minimatch/minimatch.js");
|
|
50081
49479
|
var Minimatch = minimatch.Minimatch;
|
|
50082
49480
|
var inherits = __webpack_require__("./node_modules/.f/_/inherits/2.0.4/inherits/inherits.js");
|
|
50083
49481
|
var EE = (__webpack_require__("events").EventEmitter);
|
|
@@ -50636,7 +50034,7 @@ module.exports = globSync;
|
|
|
50636
50034
|
globSync.GlobSync = GlobSync;
|
|
50637
50035
|
var fs = __webpack_require__("fs");
|
|
50638
50036
|
var rp = __webpack_require__("./node_modules/.f/_/fs.realpath/1.0.0/fs.realpath/index.js");
|
|
50639
|
-
var minimatch = __webpack_require__("./node_modules/.f/_/minimatch/3.1.
|
|
50037
|
+
var minimatch = __webpack_require__("./node_modules/.f/_/minimatch/3.1.5/minimatch/minimatch.js");
|
|
50640
50038
|
var Minimatch = minimatch.Minimatch;
|
|
50641
50039
|
var Glob = (__webpack_require__("./node_modules/.f/_/glob/7.1.6/glob/glob.js").Glob);
|
|
50642
50040
|
var util = __webpack_require__("util");
|
|
@@ -54641,7 +54039,7 @@ const enquirer_1 = tslib_1.__importDefault(__webpack_require__("./node_modules/.
|
|
|
54641
54039
|
const lodash_1 = tslib_1.__importDefault(__webpack_require__("./node_modules/.f/_/lodash/4.17.21/lodash/lodash.min.js"));
|
|
54642
54040
|
const fs_1 = tslib_1.__importDefault(__webpack_require__("fs"));
|
|
54643
54041
|
const path_1 = tslib_1.__importDefault(__webpack_require__("path"));
|
|
54644
|
-
const semver_1 = tslib_1.__importDefault(__webpack_require__("./node_modules/.f/_/semver/7.
|
|
54042
|
+
const semver_1 = tslib_1.__importDefault(__webpack_require__("./node_modules/.f/_/semver/7.8.0/semver/index.js"));
|
|
54645
54043
|
function sortObj(obj) {
|
|
54646
54044
|
const out = {};
|
|
54647
54045
|
const sortedKeys = Object.keys(obj).sort().forEach((x) => {
|
|
@@ -63334,7 +62732,7 @@ module.exports["default"] = mimicFn;
|
|
|
63334
62732
|
|
|
63335
62733
|
/***/ }),
|
|
63336
62734
|
|
|
63337
|
-
/***/ "./node_modules/.f/_/minimatch/3.1.
|
|
62735
|
+
/***/ "./node_modules/.f/_/minimatch/3.1.5/minimatch/minimatch.js":
|
|
63338
62736
|
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
|
|
63339
62737
|
|
|
63340
62738
|
module.exports = minimatch;
|
|
@@ -63440,6 +62838,7 @@ function Minimatch(pattern, options) {
|
|
|
63440
62838
|
pattern = pattern.split(path.sep).join("/");
|
|
63441
62839
|
}
|
|
63442
62840
|
this.options = options;
|
|
62841
|
+
this.maxGlobstarRecursion = options.maxGlobstarRecursion !== void 0 ? options.maxGlobstarRecursion : 200;
|
|
63443
62842
|
this.set = [];
|
|
63444
62843
|
this.pattern = pattern;
|
|
63445
62844
|
this.regexp = null;
|
|
@@ -63597,6 +62996,7 @@ function parse(pattern, isSub) {
|
|
|
63597
62996
|
re += c;
|
|
63598
62997
|
continue;
|
|
63599
62998
|
}
|
|
62999
|
+
if (c === "*" && stateChar === "*") continue;
|
|
63600
63000
|
self.debug("call clearStateChar %j", stateChar);
|
|
63601
63001
|
clearStateChar();
|
|
63602
63002
|
stateChar = c;
|
|
@@ -63835,50 +63235,147 @@ Minimatch.prototype.match = function match(f, partial) {
|
|
|
63835
63235
|
return this.negate;
|
|
63836
63236
|
};
|
|
63837
63237
|
Minimatch.prototype.matchOne = function(file, pattern, partial) {
|
|
63838
|
-
|
|
63839
|
-
|
|
63840
|
-
|
|
63841
|
-
|
|
63842
|
-
|
|
63843
|
-
|
|
63844
|
-
|
|
63845
|
-
|
|
63846
|
-
|
|
63847
|
-
|
|
63848
|
-
|
|
63849
|
-
|
|
63850
|
-
|
|
63851
|
-
|
|
63852
|
-
|
|
63853
|
-
|
|
63854
|
-
|
|
63855
|
-
|
|
63856
|
-
|
|
63857
|
-
|
|
63858
|
-
|
|
63859
|
-
|
|
63238
|
+
if (pattern.indexOf(GLOBSTAR) !== -1) {
|
|
63239
|
+
return this._matchGlobstar(file, pattern, partial, 0, 0);
|
|
63240
|
+
}
|
|
63241
|
+
return this._matchOne(file, pattern, partial, 0, 0);
|
|
63242
|
+
};
|
|
63243
|
+
Minimatch.prototype._matchGlobstar = function(file, pattern, partial, fileIndex, patternIndex) {
|
|
63244
|
+
var i;
|
|
63245
|
+
var firstgs = -1;
|
|
63246
|
+
for (i = patternIndex; i < pattern.length; i++) {
|
|
63247
|
+
if (pattern[i] === GLOBSTAR) {
|
|
63248
|
+
firstgs = i;
|
|
63249
|
+
break;
|
|
63250
|
+
}
|
|
63251
|
+
}
|
|
63252
|
+
var lastgs = -1;
|
|
63253
|
+
for (i = pattern.length - 1; i >= 0; i--) {
|
|
63254
|
+
if (pattern[i] === GLOBSTAR) {
|
|
63255
|
+
lastgs = i;
|
|
63256
|
+
break;
|
|
63257
|
+
}
|
|
63258
|
+
}
|
|
63259
|
+
var head = pattern.slice(patternIndex, firstgs);
|
|
63260
|
+
var body = partial ? pattern.slice(firstgs + 1) : pattern.slice(firstgs + 1, lastgs);
|
|
63261
|
+
var tail = partial ? [] : pattern.slice(lastgs + 1);
|
|
63262
|
+
if (head.length) {
|
|
63263
|
+
var fileHead = file.slice(fileIndex, fileIndex + head.length);
|
|
63264
|
+
if (!this._matchOne(fileHead, head, partial, 0, 0)) {
|
|
63265
|
+
return false;
|
|
63266
|
+
}
|
|
63267
|
+
fileIndex += head.length;
|
|
63268
|
+
}
|
|
63269
|
+
var fileTailMatch = 0;
|
|
63270
|
+
if (tail.length) {
|
|
63271
|
+
if (tail.length + fileIndex > file.length) return false;
|
|
63272
|
+
var tailStart = file.length - tail.length;
|
|
63273
|
+
if (this._matchOne(file, tail, partial, tailStart, 0)) {
|
|
63274
|
+
fileTailMatch = tail.length;
|
|
63275
|
+
} else {
|
|
63276
|
+
if (file[file.length - 1] !== "" || fileIndex + tail.length === file.length) {
|
|
63277
|
+
return false;
|
|
63860
63278
|
}
|
|
63861
|
-
|
|
63862
|
-
|
|
63863
|
-
|
|
63864
|
-
|
|
63865
|
-
|
|
63866
|
-
|
|
63867
|
-
|
|
63868
|
-
|
|
63869
|
-
|
|
63870
|
-
|
|
63871
|
-
|
|
63872
|
-
|
|
63873
|
-
|
|
63874
|
-
|
|
63279
|
+
tailStart--;
|
|
63280
|
+
if (!this._matchOne(file, tail, partial, tailStart, 0)) {
|
|
63281
|
+
return false;
|
|
63282
|
+
}
|
|
63283
|
+
fileTailMatch = tail.length + 1;
|
|
63284
|
+
}
|
|
63285
|
+
}
|
|
63286
|
+
if (!body.length) {
|
|
63287
|
+
var sawSome = !!fileTailMatch;
|
|
63288
|
+
for (i = fileIndex; i < file.length - fileTailMatch; i++) {
|
|
63289
|
+
var f = String(file[i]);
|
|
63290
|
+
sawSome = true;
|
|
63291
|
+
if (f === "." || f === ".." || !this.options.dot && f.charAt(0) === ".") {
|
|
63292
|
+
return false;
|
|
63875
63293
|
}
|
|
63876
|
-
|
|
63877
|
-
|
|
63878
|
-
|
|
63294
|
+
}
|
|
63295
|
+
return partial || sawSome;
|
|
63296
|
+
}
|
|
63297
|
+
var bodySegments = [[[], 0]];
|
|
63298
|
+
var currentBody = bodySegments[0];
|
|
63299
|
+
var nonGsParts = 0;
|
|
63300
|
+
var nonGsPartsSums = [0];
|
|
63301
|
+
for (var bi = 0; bi < body.length; bi++) {
|
|
63302
|
+
var b = body[bi];
|
|
63303
|
+
if (b === GLOBSTAR) {
|
|
63304
|
+
nonGsPartsSums.push(nonGsParts);
|
|
63305
|
+
currentBody = [[], 0];
|
|
63306
|
+
bodySegments.push(currentBody);
|
|
63307
|
+
} else {
|
|
63308
|
+
currentBody[0].push(b);
|
|
63309
|
+
nonGsParts++;
|
|
63310
|
+
}
|
|
63311
|
+
}
|
|
63312
|
+
var idx = bodySegments.length - 1;
|
|
63313
|
+
var fileLength = file.length - fileTailMatch;
|
|
63314
|
+
for (var si = 0; si < bodySegments.length; si++) {
|
|
63315
|
+
bodySegments[si][1] = fileLength - (nonGsPartsSums[idx--] + bodySegments[si][0].length);
|
|
63316
|
+
}
|
|
63317
|
+
return !!this._matchGlobStarBodySections(
|
|
63318
|
+
file,
|
|
63319
|
+
bodySegments,
|
|
63320
|
+
fileIndex,
|
|
63321
|
+
0,
|
|
63322
|
+
partial,
|
|
63323
|
+
0,
|
|
63324
|
+
!!fileTailMatch
|
|
63325
|
+
);
|
|
63326
|
+
};
|
|
63327
|
+
Minimatch.prototype._matchGlobStarBodySections = function(file, bodySegments, fileIndex, bodyIndex, partial, globStarDepth, sawTail) {
|
|
63328
|
+
var bs = bodySegments[bodyIndex];
|
|
63329
|
+
if (!bs) {
|
|
63330
|
+
for (var i = fileIndex; i < file.length; i++) {
|
|
63331
|
+
sawTail = true;
|
|
63332
|
+
var f = file[i];
|
|
63333
|
+
if (f === "." || f === ".." || !this.options.dot && f.charAt(0) === ".") {
|
|
63334
|
+
return false;
|
|
63879
63335
|
}
|
|
63336
|
+
}
|
|
63337
|
+
return sawTail;
|
|
63338
|
+
}
|
|
63339
|
+
var body = bs[0];
|
|
63340
|
+
var after = bs[1];
|
|
63341
|
+
while (fileIndex <= after) {
|
|
63342
|
+
var m = this._matchOne(
|
|
63343
|
+
file.slice(0, fileIndex + body.length),
|
|
63344
|
+
body,
|
|
63345
|
+
partial,
|
|
63346
|
+
fileIndex,
|
|
63347
|
+
0
|
|
63348
|
+
);
|
|
63349
|
+
if (m && globStarDepth < this.maxGlobstarRecursion) {
|
|
63350
|
+
var sub = this._matchGlobStarBodySections(
|
|
63351
|
+
file,
|
|
63352
|
+
bodySegments,
|
|
63353
|
+
fileIndex + body.length,
|
|
63354
|
+
bodyIndex + 1,
|
|
63355
|
+
partial,
|
|
63356
|
+
globStarDepth + 1,
|
|
63357
|
+
sawTail
|
|
63358
|
+
);
|
|
63359
|
+
if (sub !== false) {
|
|
63360
|
+
return sub;
|
|
63361
|
+
}
|
|
63362
|
+
}
|
|
63363
|
+
var f = file[fileIndex];
|
|
63364
|
+
if (f === "." || f === ".." || !this.options.dot && f.charAt(0) === ".") {
|
|
63880
63365
|
return false;
|
|
63881
63366
|
}
|
|
63367
|
+
fileIndex++;
|
|
63368
|
+
}
|
|
63369
|
+
return partial || null;
|
|
63370
|
+
};
|
|
63371
|
+
Minimatch.prototype._matchOne = function(file, pattern, partial, fileIndex, patternIndex) {
|
|
63372
|
+
var fi, pi, fl, pl;
|
|
63373
|
+
for (fi = fileIndex, pi = patternIndex, fl = file.length, pl = pattern.length; fi < fl && pi < pl; fi++, pi++) {
|
|
63374
|
+
this.debug("matchOne loop");
|
|
63375
|
+
var p = pattern[pi];
|
|
63376
|
+
var f = file[fi];
|
|
63377
|
+
this.debug(pattern, p, f);
|
|
63378
|
+
if (p === false || p === GLOBSTAR) return false;
|
|
63882
63379
|
var hit;
|
|
63883
63380
|
if (typeof p === "string") {
|
|
63884
63381
|
hit = f === p;
|
|
@@ -69293,7 +68790,7 @@ module.exports = findNodeDirectory;
|
|
|
69293
68790
|
"use strict";
|
|
69294
68791
|
|
|
69295
68792
|
const log = __webpack_require__("./node_modules/.f/_/node-gyp/11.5.0/node-gyp/lib/log.js");
|
|
69296
|
-
const semver = __webpack_require__("./node_modules/.f/_/semver/7.
|
|
68793
|
+
const semver = __webpack_require__("./node_modules/.f/_/semver/7.8.0/semver/index.js");
|
|
69297
68794
|
const { execFile } = __webpack_require__("./node_modules/.f/_/node-gyp/11.5.0/node-gyp/lib/util.js");
|
|
69298
68795
|
const win = process.platform === "win32";
|
|
69299
68796
|
function getOsUserInfo() {
|
|
@@ -70124,7 +69621,7 @@ const path = __webpack_require__("path");
|
|
|
70124
69621
|
const { Transform, promises: { pipeline } } = __webpack_require__("stream");
|
|
70125
69622
|
const crypto = __webpack_require__("crypto");
|
|
70126
69623
|
const log = __webpack_require__("./node_modules/.f/_/node-gyp/11.5.0/node-gyp/lib/log.js");
|
|
70127
|
-
const semver = __webpack_require__("./node_modules/.f/_/semver/7.
|
|
69624
|
+
const semver = __webpack_require__("./node_modules/.f/_/semver/7.8.0/semver/index.js");
|
|
70128
69625
|
const { download } = __webpack_require__("./node_modules/.f/_/node-gyp/11.5.0/node-gyp/lib/download.js");
|
|
70129
69626
|
const processRelease = __webpack_require__("./node_modules/.f/_/node-gyp/11.5.0/node-gyp/lib/process-release.js");
|
|
70130
69627
|
const win = process.platform === "win32";
|
|
@@ -70805,7 +70302,7 @@ module.exports.Gyp = Gyp;
|
|
|
70805
70302
|
|
|
70806
70303
|
"use strict";
|
|
70807
70304
|
|
|
70808
|
-
const semver = __webpack_require__("./node_modules/.f/_/semver/7.
|
|
70305
|
+
const semver = __webpack_require__("./node_modules/.f/_/semver/7.8.0/semver/index.js");
|
|
70809
70306
|
const url = __webpack_require__("url");
|
|
70810
70307
|
const path = __webpack_require__("path");
|
|
70811
70308
|
const log = __webpack_require__("./node_modules/.f/_/node-gyp/11.5.0/node-gyp/lib/log.js");
|
|
@@ -70932,7 +70429,7 @@ module.exports.usage = 'Runs "clean", "configure" and "build" all at once';
|
|
|
70932
70429
|
const fs = (__webpack_require__("./node_modules/.f/_/graceful-fs/4.2.11/graceful-fs/graceful-fs.js").promises);
|
|
70933
70430
|
const path = __webpack_require__("path");
|
|
70934
70431
|
const log = __webpack_require__("./node_modules/.f/_/node-gyp/11.5.0/node-gyp/lib/log.js");
|
|
70935
|
-
const semver = __webpack_require__("./node_modules/.f/_/semver/7.
|
|
70432
|
+
const semver = __webpack_require__("./node_modules/.f/_/semver/7.8.0/semver/index.js");
|
|
70936
70433
|
async function remove(gyp, argv) {
|
|
70937
70434
|
const devDir = gyp.devDir;
|
|
70938
70435
|
log.verbose("remove", "using node-gyp dir:", devDir);
|
|
@@ -71875,8 +71372,8 @@ module.exports = {
|
|
|
71875
71372
|
/***/ "./node_modules/.f/_/npm-install-checks/7.1.2/npm-install-checks/lib/dev-engines.js":
|
|
71876
71373
|
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
|
|
71877
71374
|
|
|
71878
|
-
const satisfies = __webpack_require__("./node_modules/.f/_/semver/7.
|
|
71879
|
-
const validRange = __webpack_require__("./node_modules/.f/_/semver/7.
|
|
71375
|
+
const satisfies = __webpack_require__("./node_modules/.f/_/semver/7.8.0/semver/functions/satisfies.js");
|
|
71376
|
+
const validRange = __webpack_require__("./node_modules/.f/_/semver/7.8.0/semver/ranges/valid.js");
|
|
71880
71377
|
const recognizedOnFail = [
|
|
71881
71378
|
"ignore",
|
|
71882
71379
|
"warn",
|
|
@@ -72001,7 +71498,7 @@ module.exports = {
|
|
|
72001
71498
|
/***/ "./node_modules/.f/_/npm-install-checks/7.1.2/npm-install-checks/lib/index.js":
|
|
72002
71499
|
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
|
|
72003
71500
|
|
|
72004
|
-
const semver = __webpack_require__("./node_modules/.f/_/semver/7.
|
|
71501
|
+
const semver = __webpack_require__("./node_modules/.f/_/semver/7.8.0/semver/index.js");
|
|
72005
71502
|
const currentEnv = __webpack_require__("./node_modules/.f/_/npm-install-checks/7.1.2/npm-install-checks/lib/current-env.js");
|
|
72006
71503
|
const { checkDevEngines } = __webpack_require__("./node_modules/.f/_/npm-install-checks/7.1.2/npm-install-checks/lib/dev-engines.js");
|
|
72007
71504
|
const checkEngine = (target, npmVer, nodeVer, force = false) => {
|
|
@@ -72178,8 +71675,8 @@ module.exports = {
|
|
|
72178
71675
|
/***/ "./node_modules/.f/_/npm-install-checks/8.0.0/npm-install-checks/lib/dev-engines.js":
|
|
72179
71676
|
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
|
|
72180
71677
|
|
|
72181
|
-
const satisfies = __webpack_require__("./node_modules/.f/_/semver/7.
|
|
72182
|
-
const validRange = __webpack_require__("./node_modules/.f/_/semver/7.
|
|
71678
|
+
const satisfies = __webpack_require__("./node_modules/.f/_/semver/7.8.0/semver/functions/satisfies.js");
|
|
71679
|
+
const validRange = __webpack_require__("./node_modules/.f/_/semver/7.8.0/semver/ranges/valid.js");
|
|
72183
71680
|
const recognizedOnFail = [
|
|
72184
71681
|
"ignore",
|
|
72185
71682
|
"warn",
|
|
@@ -72304,7 +71801,7 @@ module.exports = {
|
|
|
72304
71801
|
/***/ "./node_modules/.f/_/npm-install-checks/8.0.0/npm-install-checks/lib/index.js":
|
|
72305
71802
|
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
|
|
72306
71803
|
|
|
72307
|
-
const semver = __webpack_require__("./node_modules/.f/_/semver/7.
|
|
71804
|
+
const semver = __webpack_require__("./node_modules/.f/_/semver/7.8.0/semver/index.js");
|
|
72308
71805
|
const currentEnv = __webpack_require__("./node_modules/.f/_/npm-install-checks/8.0.0/npm-install-checks/lib/current-env.js");
|
|
72309
71806
|
const { checkDevEngines } = __webpack_require__("./node_modules/.f/_/npm-install-checks/8.0.0/npm-install-checks/lib/dev-engines.js");
|
|
72310
71807
|
const checkEngine = (target, npmVer, nodeVer, force = false) => {
|
|
@@ -72500,7 +71997,7 @@ const { URL } = __webpack_require__("node:url");
|
|
|
72500
71997
|
const path = isWindows ? __webpack_require__("node:path/win32") : __webpack_require__("node:path");
|
|
72501
71998
|
const { homedir } = __webpack_require__("node:os");
|
|
72502
71999
|
const HostedGit = __webpack_require__("./node_modules/.f/_/hosted-git-info/9.0.2/hosted-git-info/lib/index.js");
|
|
72503
|
-
const semver = __webpack_require__("./node_modules/.f/_/semver/7.
|
|
72000
|
+
const semver = __webpack_require__("./node_modules/.f/_/semver/7.8.0/semver/index.js");
|
|
72504
72001
|
const validatePackageName = __webpack_require__("./node_modules/.f/_/validate-npm-package-name/6.0.2/validate-npm-package-name/lib/index.js");
|
|
72505
72002
|
const { log } = __webpack_require__("./node_modules/.f/_/proc-log/5.0.0/proc-log/lib/index.js");
|
|
72506
72003
|
const hasSlashes = isWindows ? /\\|[/]/ : /[/]/;
|
|
@@ -73242,7 +72739,7 @@ walk.Walker = PackWalker;
|
|
|
73242
72739
|
"use strict";
|
|
73243
72740
|
|
|
73244
72741
|
const npa = __webpack_require__("./node_modules/.f/_/npm-package-arg/13.0.1/npm-package-arg/lib/npa.js");
|
|
73245
|
-
const semver = __webpack_require__("./node_modules/.f/_/semver/7.
|
|
72742
|
+
const semver = __webpack_require__("./node_modules/.f/_/semver/7.8.0/semver/index.js");
|
|
73246
72743
|
const { checkEngine } = __webpack_require__("./node_modules/.f/_/npm-install-checks/8.0.0/npm-install-checks/lib/index.js");
|
|
73247
72744
|
const normalizeBin = __webpack_require__("./node_modules/.f/_/npm-normalize-package-bin/5.0.0/npm-normalize-package-bin/lib/index.js");
|
|
73248
72745
|
const engineOk = (manifest, npmVersion, nodeVersion) => {
|
|
@@ -77792,7 +77289,7 @@ exports.basename = (path, { windows } = {}) => {
|
|
|
77792
77289
|
|
|
77793
77290
|
/***/ }),
|
|
77794
77291
|
|
|
77795
|
-
/***/ "./node_modules/.f/_/pkg-preper/0.1.
|
|
77292
|
+
/***/ "./node_modules/.f/_/pkg-preper/0.1.8-fynlocal_h/pkg-preper/lib/pkg-preper.js":
|
|
77796
77293
|
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
|
|
77797
77294
|
|
|
77798
77295
|
"use strict";
|
|
@@ -87302,7 +86799,7 @@ SafeBuffer.allocUnsafeSlow = function(size) {
|
|
|
87302
86799
|
|
|
87303
86800
|
/***/ }),
|
|
87304
86801
|
|
|
87305
|
-
/***/ "./node_modules/.f/_/semver/7.
|
|
86802
|
+
/***/ "./node_modules/.f/_/semver/7.8.0/semver/classes/comparator.js":
|
|
87306
86803
|
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
|
|
87307
86804
|
|
|
87308
86805
|
"use strict";
|
|
@@ -87407,17 +86904,17 @@ class Comparator {
|
|
|
87407
86904
|
}
|
|
87408
86905
|
}
|
|
87409
86906
|
module.exports = Comparator;
|
|
87410
|
-
const parseOptions = __webpack_require__("./node_modules/.f/_/semver/7.
|
|
87411
|
-
const { safeRe: re, t } = __webpack_require__("./node_modules/.f/_/semver/7.
|
|
87412
|
-
const cmp = __webpack_require__("./node_modules/.f/_/semver/7.
|
|
87413
|
-
const debug = __webpack_require__("./node_modules/.f/_/semver/7.
|
|
87414
|
-
const SemVer = __webpack_require__("./node_modules/.f/_/semver/7.
|
|
87415
|
-
const Range = __webpack_require__("./node_modules/.f/_/semver/7.
|
|
86907
|
+
const parseOptions = __webpack_require__("./node_modules/.f/_/semver/7.8.0/semver/internal/parse-options.js");
|
|
86908
|
+
const { safeRe: re, t } = __webpack_require__("./node_modules/.f/_/semver/7.8.0/semver/internal/re.js");
|
|
86909
|
+
const cmp = __webpack_require__("./node_modules/.f/_/semver/7.8.0/semver/functions/cmp.js");
|
|
86910
|
+
const debug = __webpack_require__("./node_modules/.f/_/semver/7.8.0/semver/internal/debug.js");
|
|
86911
|
+
const SemVer = __webpack_require__("./node_modules/.f/_/semver/7.8.0/semver/classes/semver.js");
|
|
86912
|
+
const Range = __webpack_require__("./node_modules/.f/_/semver/7.8.0/semver/classes/range.js");
|
|
87416
86913
|
|
|
87417
86914
|
|
|
87418
86915
|
/***/ }),
|
|
87419
86916
|
|
|
87420
|
-
/***/ "./node_modules/.f/_/semver/7.
|
|
86917
|
+
/***/ "./node_modules/.f/_/semver/7.8.0/semver/classes/range.js":
|
|
87421
86918
|
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
|
|
87422
86919
|
|
|
87423
86920
|
"use strict";
|
|
@@ -87562,20 +87059,20 @@ class Range {
|
|
|
87562
87059
|
}
|
|
87563
87060
|
}
|
|
87564
87061
|
module.exports = Range;
|
|
87565
|
-
const LRU = __webpack_require__("./node_modules/.f/_/semver/7.
|
|
87062
|
+
const LRU = __webpack_require__("./node_modules/.f/_/semver/7.8.0/semver/internal/lrucache.js");
|
|
87566
87063
|
const cache = new LRU();
|
|
87567
|
-
const parseOptions = __webpack_require__("./node_modules/.f/_/semver/7.
|
|
87568
|
-
const Comparator = __webpack_require__("./node_modules/.f/_/semver/7.
|
|
87569
|
-
const debug = __webpack_require__("./node_modules/.f/_/semver/7.
|
|
87570
|
-
const SemVer = __webpack_require__("./node_modules/.f/_/semver/7.
|
|
87064
|
+
const parseOptions = __webpack_require__("./node_modules/.f/_/semver/7.8.0/semver/internal/parse-options.js");
|
|
87065
|
+
const Comparator = __webpack_require__("./node_modules/.f/_/semver/7.8.0/semver/classes/comparator.js");
|
|
87066
|
+
const debug = __webpack_require__("./node_modules/.f/_/semver/7.8.0/semver/internal/debug.js");
|
|
87067
|
+
const SemVer = __webpack_require__("./node_modules/.f/_/semver/7.8.0/semver/classes/semver.js");
|
|
87571
87068
|
const {
|
|
87572
87069
|
safeRe: re,
|
|
87573
87070
|
t,
|
|
87574
87071
|
comparatorTrimReplace,
|
|
87575
87072
|
tildeTrimReplace,
|
|
87576
87073
|
caretTrimReplace
|
|
87577
|
-
} = __webpack_require__("./node_modules/.f/_/semver/7.
|
|
87578
|
-
const { FLAG_INCLUDE_PRERELEASE, FLAG_LOOSE } = __webpack_require__("./node_modules/.f/_/semver/7.
|
|
87074
|
+
} = __webpack_require__("./node_modules/.f/_/semver/7.8.0/semver/internal/re.js");
|
|
87075
|
+
const { FLAG_INCLUDE_PRERELEASE, FLAG_LOOSE } = __webpack_require__("./node_modules/.f/_/semver/7.8.0/semver/internal/constants.js");
|
|
87579
87076
|
const isNullSet = (c) => c.value === "<0.0.0-0";
|
|
87580
87077
|
const isAny = (c) => c.value === "";
|
|
87581
87078
|
const isSatisfiable = (comparators, options) => {
|
|
@@ -87796,16 +87293,16 @@ const testSet = (set, version, options) => {
|
|
|
87796
87293
|
|
|
87797
87294
|
/***/ }),
|
|
87798
87295
|
|
|
87799
|
-
/***/ "./node_modules/.f/_/semver/7.
|
|
87296
|
+
/***/ "./node_modules/.f/_/semver/7.8.0/semver/classes/semver.js":
|
|
87800
87297
|
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
|
|
87801
87298
|
|
|
87802
87299
|
"use strict";
|
|
87803
87300
|
|
|
87804
|
-
const debug = __webpack_require__("./node_modules/.f/_/semver/7.
|
|
87805
|
-
const { MAX_LENGTH, MAX_SAFE_INTEGER } = __webpack_require__("./node_modules/.f/_/semver/7.
|
|
87806
|
-
const { safeRe: re, t } = __webpack_require__("./node_modules/.f/_/semver/7.
|
|
87807
|
-
const parseOptions = __webpack_require__("./node_modules/.f/_/semver/7.
|
|
87808
|
-
const { compareIdentifiers } = __webpack_require__("./node_modules/.f/_/semver/7.
|
|
87301
|
+
const debug = __webpack_require__("./node_modules/.f/_/semver/7.8.0/semver/internal/debug.js");
|
|
87302
|
+
const { MAX_LENGTH, MAX_SAFE_INTEGER } = __webpack_require__("./node_modules/.f/_/semver/7.8.0/semver/internal/constants.js");
|
|
87303
|
+
const { safeRe: re, t } = __webpack_require__("./node_modules/.f/_/semver/7.8.0/semver/internal/re.js");
|
|
87304
|
+
const parseOptions = __webpack_require__("./node_modules/.f/_/semver/7.8.0/semver/internal/parse-options.js");
|
|
87305
|
+
const { compareIdentifiers } = __webpack_require__("./node_modules/.f/_/semver/7.8.0/semver/internal/identifiers.js");
|
|
87809
87306
|
class SemVer {
|
|
87810
87307
|
constructor(version, options) {
|
|
87811
87308
|
options = parseOptions(options);
|
|
@@ -88077,12 +87574,12 @@ module.exports = SemVer;
|
|
|
88077
87574
|
|
|
88078
87575
|
/***/ }),
|
|
88079
87576
|
|
|
88080
|
-
/***/ "./node_modules/.f/_/semver/7.
|
|
87577
|
+
/***/ "./node_modules/.f/_/semver/7.8.0/semver/functions/clean.js":
|
|
88081
87578
|
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
|
|
88082
87579
|
|
|
88083
87580
|
"use strict";
|
|
88084
87581
|
|
|
88085
|
-
const parse = __webpack_require__("./node_modules/.f/_/semver/7.
|
|
87582
|
+
const parse = __webpack_require__("./node_modules/.f/_/semver/7.8.0/semver/functions/parse.js");
|
|
88086
87583
|
const clean = (version, options) => {
|
|
88087
87584
|
const s = parse(version.trim().replace(/^[=v]+/, ""), options);
|
|
88088
87585
|
return s ? s.version : null;
|
|
@@ -88092,17 +87589,17 @@ module.exports = clean;
|
|
|
88092
87589
|
|
|
88093
87590
|
/***/ }),
|
|
88094
87591
|
|
|
88095
|
-
/***/ "./node_modules/.f/_/semver/7.
|
|
87592
|
+
/***/ "./node_modules/.f/_/semver/7.8.0/semver/functions/cmp.js":
|
|
88096
87593
|
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
|
|
88097
87594
|
|
|
88098
87595
|
"use strict";
|
|
88099
87596
|
|
|
88100
|
-
const eq = __webpack_require__("./node_modules/.f/_/semver/7.
|
|
88101
|
-
const neq = __webpack_require__("./node_modules/.f/_/semver/7.
|
|
88102
|
-
const gt = __webpack_require__("./node_modules/.f/_/semver/7.
|
|
88103
|
-
const gte = __webpack_require__("./node_modules/.f/_/semver/7.
|
|
88104
|
-
const lt = __webpack_require__("./node_modules/.f/_/semver/7.
|
|
88105
|
-
const lte = __webpack_require__("./node_modules/.f/_/semver/7.
|
|
87597
|
+
const eq = __webpack_require__("./node_modules/.f/_/semver/7.8.0/semver/functions/eq.js");
|
|
87598
|
+
const neq = __webpack_require__("./node_modules/.f/_/semver/7.8.0/semver/functions/neq.js");
|
|
87599
|
+
const gt = __webpack_require__("./node_modules/.f/_/semver/7.8.0/semver/functions/gt.js");
|
|
87600
|
+
const gte = __webpack_require__("./node_modules/.f/_/semver/7.8.0/semver/functions/gte.js");
|
|
87601
|
+
const lt = __webpack_require__("./node_modules/.f/_/semver/7.8.0/semver/functions/lt.js");
|
|
87602
|
+
const lte = __webpack_require__("./node_modules/.f/_/semver/7.8.0/semver/functions/lte.js");
|
|
88106
87603
|
const cmp = (a, op, b, loose) => {
|
|
88107
87604
|
switch (op) {
|
|
88108
87605
|
case "===":
|
|
@@ -88144,14 +87641,14 @@ module.exports = cmp;
|
|
|
88144
87641
|
|
|
88145
87642
|
/***/ }),
|
|
88146
87643
|
|
|
88147
|
-
/***/ "./node_modules/.f/_/semver/7.
|
|
87644
|
+
/***/ "./node_modules/.f/_/semver/7.8.0/semver/functions/coerce.js":
|
|
88148
87645
|
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
|
|
88149
87646
|
|
|
88150
87647
|
"use strict";
|
|
88151
87648
|
|
|
88152
|
-
const SemVer = __webpack_require__("./node_modules/.f/_/semver/7.
|
|
88153
|
-
const parse = __webpack_require__("./node_modules/.f/_/semver/7.
|
|
88154
|
-
const { safeRe: re, t } = __webpack_require__("./node_modules/.f/_/semver/7.
|
|
87649
|
+
const SemVer = __webpack_require__("./node_modules/.f/_/semver/7.8.0/semver/classes/semver.js");
|
|
87650
|
+
const parse = __webpack_require__("./node_modules/.f/_/semver/7.8.0/semver/functions/parse.js");
|
|
87651
|
+
const { safeRe: re, t } = __webpack_require__("./node_modules/.f/_/semver/7.8.0/semver/internal/re.js");
|
|
88155
87652
|
const coerce = (version, options) => {
|
|
88156
87653
|
if (version instanceof SemVer) {
|
|
88157
87654
|
return version;
|
|
@@ -88192,12 +87689,12 @@ module.exports = coerce;
|
|
|
88192
87689
|
|
|
88193
87690
|
/***/ }),
|
|
88194
87691
|
|
|
88195
|
-
/***/ "./node_modules/.f/_/semver/7.
|
|
87692
|
+
/***/ "./node_modules/.f/_/semver/7.8.0/semver/functions/compare-build.js":
|
|
88196
87693
|
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
|
|
88197
87694
|
|
|
88198
87695
|
"use strict";
|
|
88199
87696
|
|
|
88200
|
-
const SemVer = __webpack_require__("./node_modules/.f/_/semver/7.
|
|
87697
|
+
const SemVer = __webpack_require__("./node_modules/.f/_/semver/7.8.0/semver/classes/semver.js");
|
|
88201
87698
|
const compareBuild = (a, b, loose) => {
|
|
88202
87699
|
const versionA = new SemVer(a, loose);
|
|
88203
87700
|
const versionB = new SemVer(b, loose);
|
|
@@ -88208,36 +87705,36 @@ module.exports = compareBuild;
|
|
|
88208
87705
|
|
|
88209
87706
|
/***/ }),
|
|
88210
87707
|
|
|
88211
|
-
/***/ "./node_modules/.f/_/semver/7.
|
|
87708
|
+
/***/ "./node_modules/.f/_/semver/7.8.0/semver/functions/compare-loose.js":
|
|
88212
87709
|
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
|
|
88213
87710
|
|
|
88214
87711
|
"use strict";
|
|
88215
87712
|
|
|
88216
|
-
const compare = __webpack_require__("./node_modules/.f/_/semver/7.
|
|
87713
|
+
const compare = __webpack_require__("./node_modules/.f/_/semver/7.8.0/semver/functions/compare.js");
|
|
88217
87714
|
const compareLoose = (a, b) => compare(a, b, true);
|
|
88218
87715
|
module.exports = compareLoose;
|
|
88219
87716
|
|
|
88220
87717
|
|
|
88221
87718
|
/***/ }),
|
|
88222
87719
|
|
|
88223
|
-
/***/ "./node_modules/.f/_/semver/7.
|
|
87720
|
+
/***/ "./node_modules/.f/_/semver/7.8.0/semver/functions/compare.js":
|
|
88224
87721
|
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
|
|
88225
87722
|
|
|
88226
87723
|
"use strict";
|
|
88227
87724
|
|
|
88228
|
-
const SemVer = __webpack_require__("./node_modules/.f/_/semver/7.
|
|
87725
|
+
const SemVer = __webpack_require__("./node_modules/.f/_/semver/7.8.0/semver/classes/semver.js");
|
|
88229
87726
|
const compare = (a, b, loose) => new SemVer(a, loose).compare(new SemVer(b, loose));
|
|
88230
87727
|
module.exports = compare;
|
|
88231
87728
|
|
|
88232
87729
|
|
|
88233
87730
|
/***/ }),
|
|
88234
87731
|
|
|
88235
|
-
/***/ "./node_modules/.f/_/semver/7.
|
|
87732
|
+
/***/ "./node_modules/.f/_/semver/7.8.0/semver/functions/diff.js":
|
|
88236
87733
|
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
|
|
88237
87734
|
|
|
88238
87735
|
"use strict";
|
|
88239
87736
|
|
|
88240
|
-
const parse = __webpack_require__("./node_modules/.f/_/semver/7.
|
|
87737
|
+
const parse = __webpack_require__("./node_modules/.f/_/semver/7.8.0/semver/functions/parse.js");
|
|
88241
87738
|
const diff = (version1, version2) => {
|
|
88242
87739
|
const v1 = parse(version1, null, true);
|
|
88243
87740
|
const v2 = parse(version2, null, true);
|
|
@@ -88278,48 +87775,48 @@ module.exports = diff;
|
|
|
88278
87775
|
|
|
88279
87776
|
/***/ }),
|
|
88280
87777
|
|
|
88281
|
-
/***/ "./node_modules/.f/_/semver/7.
|
|
87778
|
+
/***/ "./node_modules/.f/_/semver/7.8.0/semver/functions/eq.js":
|
|
88282
87779
|
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
|
|
88283
87780
|
|
|
88284
87781
|
"use strict";
|
|
88285
87782
|
|
|
88286
|
-
const compare = __webpack_require__("./node_modules/.f/_/semver/7.
|
|
87783
|
+
const compare = __webpack_require__("./node_modules/.f/_/semver/7.8.0/semver/functions/compare.js");
|
|
88287
87784
|
const eq = (a, b, loose) => compare(a, b, loose) === 0;
|
|
88288
87785
|
module.exports = eq;
|
|
88289
87786
|
|
|
88290
87787
|
|
|
88291
87788
|
/***/ }),
|
|
88292
87789
|
|
|
88293
|
-
/***/ "./node_modules/.f/_/semver/7.
|
|
87790
|
+
/***/ "./node_modules/.f/_/semver/7.8.0/semver/functions/gt.js":
|
|
88294
87791
|
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
|
|
88295
87792
|
|
|
88296
87793
|
"use strict";
|
|
88297
87794
|
|
|
88298
|
-
const compare = __webpack_require__("./node_modules/.f/_/semver/7.
|
|
87795
|
+
const compare = __webpack_require__("./node_modules/.f/_/semver/7.8.0/semver/functions/compare.js");
|
|
88299
87796
|
const gt = (a, b, loose) => compare(a, b, loose) > 0;
|
|
88300
87797
|
module.exports = gt;
|
|
88301
87798
|
|
|
88302
87799
|
|
|
88303
87800
|
/***/ }),
|
|
88304
87801
|
|
|
88305
|
-
/***/ "./node_modules/.f/_/semver/7.
|
|
87802
|
+
/***/ "./node_modules/.f/_/semver/7.8.0/semver/functions/gte.js":
|
|
88306
87803
|
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
|
|
88307
87804
|
|
|
88308
87805
|
"use strict";
|
|
88309
87806
|
|
|
88310
|
-
const compare = __webpack_require__("./node_modules/.f/_/semver/7.
|
|
87807
|
+
const compare = __webpack_require__("./node_modules/.f/_/semver/7.8.0/semver/functions/compare.js");
|
|
88311
87808
|
const gte = (a, b, loose) => compare(a, b, loose) >= 0;
|
|
88312
87809
|
module.exports = gte;
|
|
88313
87810
|
|
|
88314
87811
|
|
|
88315
87812
|
/***/ }),
|
|
88316
87813
|
|
|
88317
|
-
/***/ "./node_modules/.f/_/semver/7.
|
|
87814
|
+
/***/ "./node_modules/.f/_/semver/7.8.0/semver/functions/inc.js":
|
|
88318
87815
|
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
|
|
88319
87816
|
|
|
88320
87817
|
"use strict";
|
|
88321
87818
|
|
|
88322
|
-
const SemVer = __webpack_require__("./node_modules/.f/_/semver/7.
|
|
87819
|
+
const SemVer = __webpack_require__("./node_modules/.f/_/semver/7.8.0/semver/classes/semver.js");
|
|
88323
87820
|
const inc = (version, release, options, identifier, identifierBase) => {
|
|
88324
87821
|
if (typeof options === "string") {
|
|
88325
87822
|
identifierBase = identifier;
|
|
@@ -88340,72 +87837,72 @@ module.exports = inc;
|
|
|
88340
87837
|
|
|
88341
87838
|
/***/ }),
|
|
88342
87839
|
|
|
88343
|
-
/***/ "./node_modules/.f/_/semver/7.
|
|
87840
|
+
/***/ "./node_modules/.f/_/semver/7.8.0/semver/functions/lt.js":
|
|
88344
87841
|
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
|
|
88345
87842
|
|
|
88346
87843
|
"use strict";
|
|
88347
87844
|
|
|
88348
|
-
const compare = __webpack_require__("./node_modules/.f/_/semver/7.
|
|
87845
|
+
const compare = __webpack_require__("./node_modules/.f/_/semver/7.8.0/semver/functions/compare.js");
|
|
88349
87846
|
const lt = (a, b, loose) => compare(a, b, loose) < 0;
|
|
88350
87847
|
module.exports = lt;
|
|
88351
87848
|
|
|
88352
87849
|
|
|
88353
87850
|
/***/ }),
|
|
88354
87851
|
|
|
88355
|
-
/***/ "./node_modules/.f/_/semver/7.
|
|
87852
|
+
/***/ "./node_modules/.f/_/semver/7.8.0/semver/functions/lte.js":
|
|
88356
87853
|
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
|
|
88357
87854
|
|
|
88358
87855
|
"use strict";
|
|
88359
87856
|
|
|
88360
|
-
const compare = __webpack_require__("./node_modules/.f/_/semver/7.
|
|
87857
|
+
const compare = __webpack_require__("./node_modules/.f/_/semver/7.8.0/semver/functions/compare.js");
|
|
88361
87858
|
const lte = (a, b, loose) => compare(a, b, loose) <= 0;
|
|
88362
87859
|
module.exports = lte;
|
|
88363
87860
|
|
|
88364
87861
|
|
|
88365
87862
|
/***/ }),
|
|
88366
87863
|
|
|
88367
|
-
/***/ "./node_modules/.f/_/semver/7.
|
|
87864
|
+
/***/ "./node_modules/.f/_/semver/7.8.0/semver/functions/major.js":
|
|
88368
87865
|
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
|
|
88369
87866
|
|
|
88370
87867
|
"use strict";
|
|
88371
87868
|
|
|
88372
|
-
const SemVer = __webpack_require__("./node_modules/.f/_/semver/7.
|
|
87869
|
+
const SemVer = __webpack_require__("./node_modules/.f/_/semver/7.8.0/semver/classes/semver.js");
|
|
88373
87870
|
const major = (a, loose) => new SemVer(a, loose).major;
|
|
88374
87871
|
module.exports = major;
|
|
88375
87872
|
|
|
88376
87873
|
|
|
88377
87874
|
/***/ }),
|
|
88378
87875
|
|
|
88379
|
-
/***/ "./node_modules/.f/_/semver/7.
|
|
87876
|
+
/***/ "./node_modules/.f/_/semver/7.8.0/semver/functions/minor.js":
|
|
88380
87877
|
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
|
|
88381
87878
|
|
|
88382
87879
|
"use strict";
|
|
88383
87880
|
|
|
88384
|
-
const SemVer = __webpack_require__("./node_modules/.f/_/semver/7.
|
|
87881
|
+
const SemVer = __webpack_require__("./node_modules/.f/_/semver/7.8.0/semver/classes/semver.js");
|
|
88385
87882
|
const minor = (a, loose) => new SemVer(a, loose).minor;
|
|
88386
87883
|
module.exports = minor;
|
|
88387
87884
|
|
|
88388
87885
|
|
|
88389
87886
|
/***/ }),
|
|
88390
87887
|
|
|
88391
|
-
/***/ "./node_modules/.f/_/semver/7.
|
|
87888
|
+
/***/ "./node_modules/.f/_/semver/7.8.0/semver/functions/neq.js":
|
|
88392
87889
|
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
|
|
88393
87890
|
|
|
88394
87891
|
"use strict";
|
|
88395
87892
|
|
|
88396
|
-
const compare = __webpack_require__("./node_modules/.f/_/semver/7.
|
|
87893
|
+
const compare = __webpack_require__("./node_modules/.f/_/semver/7.8.0/semver/functions/compare.js");
|
|
88397
87894
|
const neq = (a, b, loose) => compare(a, b, loose) !== 0;
|
|
88398
87895
|
module.exports = neq;
|
|
88399
87896
|
|
|
88400
87897
|
|
|
88401
87898
|
/***/ }),
|
|
88402
87899
|
|
|
88403
|
-
/***/ "./node_modules/.f/_/semver/7.
|
|
87900
|
+
/***/ "./node_modules/.f/_/semver/7.8.0/semver/functions/parse.js":
|
|
88404
87901
|
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
|
|
88405
87902
|
|
|
88406
87903
|
"use strict";
|
|
88407
87904
|
|
|
88408
|
-
const SemVer = __webpack_require__("./node_modules/.f/_/semver/7.
|
|
87905
|
+
const SemVer = __webpack_require__("./node_modules/.f/_/semver/7.8.0/semver/classes/semver.js");
|
|
88409
87906
|
const parse = (version, options, throwErrors = false) => {
|
|
88410
87907
|
if (version instanceof SemVer) {
|
|
88411
87908
|
return version;
|
|
@@ -88424,24 +87921,24 @@ module.exports = parse;
|
|
|
88424
87921
|
|
|
88425
87922
|
/***/ }),
|
|
88426
87923
|
|
|
88427
|
-
/***/ "./node_modules/.f/_/semver/7.
|
|
87924
|
+
/***/ "./node_modules/.f/_/semver/7.8.0/semver/functions/patch.js":
|
|
88428
87925
|
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
|
|
88429
87926
|
|
|
88430
87927
|
"use strict";
|
|
88431
87928
|
|
|
88432
|
-
const SemVer = __webpack_require__("./node_modules/.f/_/semver/7.
|
|
87929
|
+
const SemVer = __webpack_require__("./node_modules/.f/_/semver/7.8.0/semver/classes/semver.js");
|
|
88433
87930
|
const patch = (a, loose) => new SemVer(a, loose).patch;
|
|
88434
87931
|
module.exports = patch;
|
|
88435
87932
|
|
|
88436
87933
|
|
|
88437
87934
|
/***/ }),
|
|
88438
87935
|
|
|
88439
|
-
/***/ "./node_modules/.f/_/semver/7.
|
|
87936
|
+
/***/ "./node_modules/.f/_/semver/7.8.0/semver/functions/prerelease.js":
|
|
88440
87937
|
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
|
|
88441
87938
|
|
|
88442
87939
|
"use strict";
|
|
88443
87940
|
|
|
88444
|
-
const parse = __webpack_require__("./node_modules/.f/_/semver/7.
|
|
87941
|
+
const parse = __webpack_require__("./node_modules/.f/_/semver/7.8.0/semver/functions/parse.js");
|
|
88445
87942
|
const prerelease = (version, options) => {
|
|
88446
87943
|
const parsed = parse(version, options);
|
|
88447
87944
|
return parsed && parsed.prerelease.length ? parsed.prerelease : null;
|
|
@@ -88451,36 +87948,36 @@ module.exports = prerelease;
|
|
|
88451
87948
|
|
|
88452
87949
|
/***/ }),
|
|
88453
87950
|
|
|
88454
|
-
/***/ "./node_modules/.f/_/semver/7.
|
|
87951
|
+
/***/ "./node_modules/.f/_/semver/7.8.0/semver/functions/rcompare.js":
|
|
88455
87952
|
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
|
|
88456
87953
|
|
|
88457
87954
|
"use strict";
|
|
88458
87955
|
|
|
88459
|
-
const compare = __webpack_require__("./node_modules/.f/_/semver/7.
|
|
87956
|
+
const compare = __webpack_require__("./node_modules/.f/_/semver/7.8.0/semver/functions/compare.js");
|
|
88460
87957
|
const rcompare = (a, b, loose) => compare(b, a, loose);
|
|
88461
87958
|
module.exports = rcompare;
|
|
88462
87959
|
|
|
88463
87960
|
|
|
88464
87961
|
/***/ }),
|
|
88465
87962
|
|
|
88466
|
-
/***/ "./node_modules/.f/_/semver/7.
|
|
87963
|
+
/***/ "./node_modules/.f/_/semver/7.8.0/semver/functions/rsort.js":
|
|
88467
87964
|
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
|
|
88468
87965
|
|
|
88469
87966
|
"use strict";
|
|
88470
87967
|
|
|
88471
|
-
const compareBuild = __webpack_require__("./node_modules/.f/_/semver/7.
|
|
87968
|
+
const compareBuild = __webpack_require__("./node_modules/.f/_/semver/7.8.0/semver/functions/compare-build.js");
|
|
88472
87969
|
const rsort = (list, loose) => list.sort((a, b) => compareBuild(b, a, loose));
|
|
88473
87970
|
module.exports = rsort;
|
|
88474
87971
|
|
|
88475
87972
|
|
|
88476
87973
|
/***/ }),
|
|
88477
87974
|
|
|
88478
|
-
/***/ "./node_modules/.f/_/semver/7.
|
|
87975
|
+
/***/ "./node_modules/.f/_/semver/7.8.0/semver/functions/satisfies.js":
|
|
88479
87976
|
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
|
|
88480
87977
|
|
|
88481
87978
|
"use strict";
|
|
88482
87979
|
|
|
88483
|
-
const Range = __webpack_require__("./node_modules/.f/_/semver/7.
|
|
87980
|
+
const Range = __webpack_require__("./node_modules/.f/_/semver/7.8.0/semver/classes/range.js");
|
|
88484
87981
|
const satisfies = (version, range, options) => {
|
|
88485
87982
|
try {
|
|
88486
87983
|
range = new Range(range, options);
|
|
@@ -88494,24 +87991,67 @@ module.exports = satisfies;
|
|
|
88494
87991
|
|
|
88495
87992
|
/***/ }),
|
|
88496
87993
|
|
|
88497
|
-
/***/ "./node_modules/.f/_/semver/7.
|
|
87994
|
+
/***/ "./node_modules/.f/_/semver/7.8.0/semver/functions/sort.js":
|
|
88498
87995
|
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
|
|
88499
87996
|
|
|
88500
87997
|
"use strict";
|
|
88501
87998
|
|
|
88502
|
-
const compareBuild = __webpack_require__("./node_modules/.f/_/semver/7.
|
|
87999
|
+
const compareBuild = __webpack_require__("./node_modules/.f/_/semver/7.8.0/semver/functions/compare-build.js");
|
|
88503
88000
|
const sort = (list, loose) => list.sort((a, b) => compareBuild(a, b, loose));
|
|
88504
88001
|
module.exports = sort;
|
|
88505
88002
|
|
|
88506
88003
|
|
|
88507
88004
|
/***/ }),
|
|
88508
88005
|
|
|
88509
|
-
/***/ "./node_modules/.f/_/semver/7.
|
|
88006
|
+
/***/ "./node_modules/.f/_/semver/7.8.0/semver/functions/truncate.js":
|
|
88007
|
+
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
|
|
88008
|
+
|
|
88009
|
+
"use strict";
|
|
88010
|
+
|
|
88011
|
+
const parse = __webpack_require__("./node_modules/.f/_/semver/7.8.0/semver/functions/parse.js");
|
|
88012
|
+
const constants = __webpack_require__("./node_modules/.f/_/semver/7.8.0/semver/internal/constants.js");
|
|
88013
|
+
const SemVer = __webpack_require__("./node_modules/.f/_/semver/7.8.0/semver/classes/semver.js");
|
|
88014
|
+
const truncate = (version, truncation, options) => {
|
|
88015
|
+
if (!constants.RELEASE_TYPES.includes(truncation)) {
|
|
88016
|
+
return null;
|
|
88017
|
+
}
|
|
88018
|
+
const clonedVersion = cloneInputVersion(version, options);
|
|
88019
|
+
return clonedVersion && doTruncation(clonedVersion, truncation);
|
|
88020
|
+
};
|
|
88021
|
+
const cloneInputVersion = (version, options) => {
|
|
88022
|
+
const versionStringToParse = version instanceof SemVer ? version.version : version;
|
|
88023
|
+
return parse(versionStringToParse, options);
|
|
88024
|
+
};
|
|
88025
|
+
const doTruncation = (version, truncation) => {
|
|
88026
|
+
if (isPrerelease(truncation)) {
|
|
88027
|
+
return version.version;
|
|
88028
|
+
}
|
|
88029
|
+
version.prerelease = [];
|
|
88030
|
+
switch (truncation) {
|
|
88031
|
+
case "major":
|
|
88032
|
+
version.minor = 0;
|
|
88033
|
+
version.patch = 0;
|
|
88034
|
+
break;
|
|
88035
|
+
case "minor":
|
|
88036
|
+
version.patch = 0;
|
|
88037
|
+
break;
|
|
88038
|
+
}
|
|
88039
|
+
return version.format();
|
|
88040
|
+
};
|
|
88041
|
+
const isPrerelease = (type) => {
|
|
88042
|
+
return type.startsWith("pre");
|
|
88043
|
+
};
|
|
88044
|
+
module.exports = truncate;
|
|
88045
|
+
|
|
88046
|
+
|
|
88047
|
+
/***/ }),
|
|
88048
|
+
|
|
88049
|
+
/***/ "./node_modules/.f/_/semver/7.8.0/semver/functions/valid.js":
|
|
88510
88050
|
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
|
|
88511
88051
|
|
|
88512
88052
|
"use strict";
|
|
88513
88053
|
|
|
88514
|
-
const parse = __webpack_require__("./node_modules/.f/_/semver/7.
|
|
88054
|
+
const parse = __webpack_require__("./node_modules/.f/_/semver/7.8.0/semver/functions/parse.js");
|
|
88515
88055
|
const valid = (version, options) => {
|
|
88516
88056
|
const v = parse(version, options);
|
|
88517
88057
|
return v ? v.version : null;
|
|
@@ -88521,52 +88061,53 @@ module.exports = valid;
|
|
|
88521
88061
|
|
|
88522
88062
|
/***/ }),
|
|
88523
88063
|
|
|
88524
|
-
/***/ "./node_modules/.f/_/semver/7.
|
|
88525
|
-
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
|
|
88526
|
-
|
|
88527
|
-
"use strict";
|
|
88528
|
-
|
|
88529
|
-
const internalRe = __webpack_require__("./node_modules/.f/_/semver/7.
|
|
88530
|
-
const constants = __webpack_require__("./node_modules/.f/_/semver/7.
|
|
88531
|
-
const SemVer = __webpack_require__("./node_modules/.f/_/semver/7.
|
|
88532
|
-
const identifiers = __webpack_require__("./node_modules/.f/_/semver/7.
|
|
88533
|
-
const parse = __webpack_require__("./node_modules/.f/_/semver/7.
|
|
88534
|
-
const valid = __webpack_require__("./node_modules/.f/_/semver/7.
|
|
88535
|
-
const clean = __webpack_require__("./node_modules/.f/_/semver/7.
|
|
88536
|
-
const inc = __webpack_require__("./node_modules/.f/_/semver/7.
|
|
88537
|
-
const diff = __webpack_require__("./node_modules/.f/_/semver/7.
|
|
88538
|
-
const major = __webpack_require__("./node_modules/.f/_/semver/7.
|
|
88539
|
-
const minor = __webpack_require__("./node_modules/.f/_/semver/7.
|
|
88540
|
-
const patch = __webpack_require__("./node_modules/.f/_/semver/7.
|
|
88541
|
-
const prerelease = __webpack_require__("./node_modules/.f/_/semver/7.
|
|
88542
|
-
const compare = __webpack_require__("./node_modules/.f/_/semver/7.
|
|
88543
|
-
const rcompare = __webpack_require__("./node_modules/.f/_/semver/7.
|
|
88544
|
-
const compareLoose = __webpack_require__("./node_modules/.f/_/semver/7.
|
|
88545
|
-
const compareBuild = __webpack_require__("./node_modules/.f/_/semver/7.
|
|
88546
|
-
const sort = __webpack_require__("./node_modules/.f/_/semver/7.
|
|
88547
|
-
const rsort = __webpack_require__("./node_modules/.f/_/semver/7.
|
|
88548
|
-
const gt = __webpack_require__("./node_modules/.f/_/semver/7.
|
|
88549
|
-
const lt = __webpack_require__("./node_modules/.f/_/semver/7.
|
|
88550
|
-
const eq = __webpack_require__("./node_modules/.f/_/semver/7.
|
|
88551
|
-
const neq = __webpack_require__("./node_modules/.f/_/semver/7.
|
|
88552
|
-
const gte = __webpack_require__("./node_modules/.f/_/semver/7.
|
|
88553
|
-
const lte = __webpack_require__("./node_modules/.f/_/semver/7.
|
|
88554
|
-
const cmp = __webpack_require__("./node_modules/.f/_/semver/7.
|
|
88555
|
-
const coerce = __webpack_require__("./node_modules/.f/_/semver/7.
|
|
88556
|
-
const
|
|
88557
|
-
const
|
|
88558
|
-
const
|
|
88559
|
-
const
|
|
88560
|
-
const
|
|
88561
|
-
const
|
|
88562
|
-
const
|
|
88563
|
-
const
|
|
88564
|
-
const
|
|
88565
|
-
const
|
|
88566
|
-
const
|
|
88567
|
-
const
|
|
88568
|
-
const
|
|
88569
|
-
const
|
|
88064
|
+
/***/ "./node_modules/.f/_/semver/7.8.0/semver/index.js":
|
|
88065
|
+
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
|
|
88066
|
+
|
|
88067
|
+
"use strict";
|
|
88068
|
+
|
|
88069
|
+
const internalRe = __webpack_require__("./node_modules/.f/_/semver/7.8.0/semver/internal/re.js");
|
|
88070
|
+
const constants = __webpack_require__("./node_modules/.f/_/semver/7.8.0/semver/internal/constants.js");
|
|
88071
|
+
const SemVer = __webpack_require__("./node_modules/.f/_/semver/7.8.0/semver/classes/semver.js");
|
|
88072
|
+
const identifiers = __webpack_require__("./node_modules/.f/_/semver/7.8.0/semver/internal/identifiers.js");
|
|
88073
|
+
const parse = __webpack_require__("./node_modules/.f/_/semver/7.8.0/semver/functions/parse.js");
|
|
88074
|
+
const valid = __webpack_require__("./node_modules/.f/_/semver/7.8.0/semver/functions/valid.js");
|
|
88075
|
+
const clean = __webpack_require__("./node_modules/.f/_/semver/7.8.0/semver/functions/clean.js");
|
|
88076
|
+
const inc = __webpack_require__("./node_modules/.f/_/semver/7.8.0/semver/functions/inc.js");
|
|
88077
|
+
const diff = __webpack_require__("./node_modules/.f/_/semver/7.8.0/semver/functions/diff.js");
|
|
88078
|
+
const major = __webpack_require__("./node_modules/.f/_/semver/7.8.0/semver/functions/major.js");
|
|
88079
|
+
const minor = __webpack_require__("./node_modules/.f/_/semver/7.8.0/semver/functions/minor.js");
|
|
88080
|
+
const patch = __webpack_require__("./node_modules/.f/_/semver/7.8.0/semver/functions/patch.js");
|
|
88081
|
+
const prerelease = __webpack_require__("./node_modules/.f/_/semver/7.8.0/semver/functions/prerelease.js");
|
|
88082
|
+
const compare = __webpack_require__("./node_modules/.f/_/semver/7.8.0/semver/functions/compare.js");
|
|
88083
|
+
const rcompare = __webpack_require__("./node_modules/.f/_/semver/7.8.0/semver/functions/rcompare.js");
|
|
88084
|
+
const compareLoose = __webpack_require__("./node_modules/.f/_/semver/7.8.0/semver/functions/compare-loose.js");
|
|
88085
|
+
const compareBuild = __webpack_require__("./node_modules/.f/_/semver/7.8.0/semver/functions/compare-build.js");
|
|
88086
|
+
const sort = __webpack_require__("./node_modules/.f/_/semver/7.8.0/semver/functions/sort.js");
|
|
88087
|
+
const rsort = __webpack_require__("./node_modules/.f/_/semver/7.8.0/semver/functions/rsort.js");
|
|
88088
|
+
const gt = __webpack_require__("./node_modules/.f/_/semver/7.8.0/semver/functions/gt.js");
|
|
88089
|
+
const lt = __webpack_require__("./node_modules/.f/_/semver/7.8.0/semver/functions/lt.js");
|
|
88090
|
+
const eq = __webpack_require__("./node_modules/.f/_/semver/7.8.0/semver/functions/eq.js");
|
|
88091
|
+
const neq = __webpack_require__("./node_modules/.f/_/semver/7.8.0/semver/functions/neq.js");
|
|
88092
|
+
const gte = __webpack_require__("./node_modules/.f/_/semver/7.8.0/semver/functions/gte.js");
|
|
88093
|
+
const lte = __webpack_require__("./node_modules/.f/_/semver/7.8.0/semver/functions/lte.js");
|
|
88094
|
+
const cmp = __webpack_require__("./node_modules/.f/_/semver/7.8.0/semver/functions/cmp.js");
|
|
88095
|
+
const coerce = __webpack_require__("./node_modules/.f/_/semver/7.8.0/semver/functions/coerce.js");
|
|
88096
|
+
const truncate = __webpack_require__("./node_modules/.f/_/semver/7.8.0/semver/functions/truncate.js");
|
|
88097
|
+
const Comparator = __webpack_require__("./node_modules/.f/_/semver/7.8.0/semver/classes/comparator.js");
|
|
88098
|
+
const Range = __webpack_require__("./node_modules/.f/_/semver/7.8.0/semver/classes/range.js");
|
|
88099
|
+
const satisfies = __webpack_require__("./node_modules/.f/_/semver/7.8.0/semver/functions/satisfies.js");
|
|
88100
|
+
const toComparators = __webpack_require__("./node_modules/.f/_/semver/7.8.0/semver/ranges/to-comparators.js");
|
|
88101
|
+
const maxSatisfying = __webpack_require__("./node_modules/.f/_/semver/7.8.0/semver/ranges/max-satisfying.js");
|
|
88102
|
+
const minSatisfying = __webpack_require__("./node_modules/.f/_/semver/7.8.0/semver/ranges/min-satisfying.js");
|
|
88103
|
+
const minVersion = __webpack_require__("./node_modules/.f/_/semver/7.8.0/semver/ranges/min-version.js");
|
|
88104
|
+
const validRange = __webpack_require__("./node_modules/.f/_/semver/7.8.0/semver/ranges/valid.js");
|
|
88105
|
+
const outside = __webpack_require__("./node_modules/.f/_/semver/7.8.0/semver/ranges/outside.js");
|
|
88106
|
+
const gtr = __webpack_require__("./node_modules/.f/_/semver/7.8.0/semver/ranges/gtr.js");
|
|
88107
|
+
const ltr = __webpack_require__("./node_modules/.f/_/semver/7.8.0/semver/ranges/ltr.js");
|
|
88108
|
+
const intersects = __webpack_require__("./node_modules/.f/_/semver/7.8.0/semver/ranges/intersects.js");
|
|
88109
|
+
const simplifyRange = __webpack_require__("./node_modules/.f/_/semver/7.8.0/semver/ranges/simplify.js");
|
|
88110
|
+
const subset = __webpack_require__("./node_modules/.f/_/semver/7.8.0/semver/ranges/subset.js");
|
|
88570
88111
|
module.exports = {
|
|
88571
88112
|
parse,
|
|
88572
88113
|
valid,
|
|
@@ -88591,6 +88132,7 @@ module.exports = {
|
|
|
88591
88132
|
lte,
|
|
88592
88133
|
cmp,
|
|
88593
88134
|
coerce,
|
|
88135
|
+
truncate,
|
|
88594
88136
|
Comparator,
|
|
88595
88137
|
Range,
|
|
88596
88138
|
satisfies,
|
|
@@ -88618,7 +88160,7 @@ module.exports = {
|
|
|
88618
88160
|
|
|
88619
88161
|
/***/ }),
|
|
88620
88162
|
|
|
88621
|
-
/***/ "./node_modules/.f/_/semver/7.
|
|
88163
|
+
/***/ "./node_modules/.f/_/semver/7.8.0/semver/internal/constants.js":
|
|
88622
88164
|
/***/ ((module) => {
|
|
88623
88165
|
|
|
88624
88166
|
"use strict";
|
|
@@ -88652,7 +88194,7 @@ module.exports = {
|
|
|
88652
88194
|
|
|
88653
88195
|
/***/ }),
|
|
88654
88196
|
|
|
88655
|
-
/***/ "./node_modules/.f/_/semver/7.
|
|
88197
|
+
/***/ "./node_modules/.f/_/semver/7.8.0/semver/internal/debug.js":
|
|
88656
88198
|
/***/ ((module) => {
|
|
88657
88199
|
|
|
88658
88200
|
"use strict";
|
|
@@ -88664,7 +88206,7 @@ module.exports = debug;
|
|
|
88664
88206
|
|
|
88665
88207
|
/***/ }),
|
|
88666
88208
|
|
|
88667
|
-
/***/ "./node_modules/.f/_/semver/7.
|
|
88209
|
+
/***/ "./node_modules/.f/_/semver/7.8.0/semver/internal/identifiers.js":
|
|
88668
88210
|
/***/ ((module) => {
|
|
88669
88211
|
|
|
88670
88212
|
"use strict";
|
|
@@ -88691,7 +88233,7 @@ module.exports = {
|
|
|
88691
88233
|
|
|
88692
88234
|
/***/ }),
|
|
88693
88235
|
|
|
88694
|
-
/***/ "./node_modules/.f/_/semver/7.
|
|
88236
|
+
/***/ "./node_modules/.f/_/semver/7.8.0/semver/internal/lrucache.js":
|
|
88695
88237
|
/***/ ((module) => {
|
|
88696
88238
|
|
|
88697
88239
|
"use strict";
|
|
@@ -88731,7 +88273,7 @@ module.exports = LRUCache;
|
|
|
88731
88273
|
|
|
88732
88274
|
/***/ }),
|
|
88733
88275
|
|
|
88734
|
-
/***/ "./node_modules/.f/_/semver/7.
|
|
88276
|
+
/***/ "./node_modules/.f/_/semver/7.8.0/semver/internal/parse-options.js":
|
|
88735
88277
|
/***/ ((module) => {
|
|
88736
88278
|
|
|
88737
88279
|
"use strict";
|
|
@@ -88752,7 +88294,7 @@ module.exports = parseOptions;
|
|
|
88752
88294
|
|
|
88753
88295
|
/***/ }),
|
|
88754
88296
|
|
|
88755
|
-
/***/ "./node_modules/.f/_/semver/7.
|
|
88297
|
+
/***/ "./node_modules/.f/_/semver/7.8.0/semver/internal/re.js":
|
|
88756
88298
|
/***/ ((module, exports, __webpack_require__) => {
|
|
88757
88299
|
|
|
88758
88300
|
"use strict";
|
|
@@ -88761,8 +88303,8 @@ const {
|
|
|
88761
88303
|
MAX_SAFE_COMPONENT_LENGTH,
|
|
88762
88304
|
MAX_SAFE_BUILD_LENGTH,
|
|
88763
88305
|
MAX_LENGTH
|
|
88764
|
-
} = __webpack_require__("./node_modules/.f/_/semver/7.
|
|
88765
|
-
const debug = __webpack_require__("./node_modules/.f/_/semver/7.
|
|
88306
|
+
} = __webpack_require__("./node_modules/.f/_/semver/7.8.0/semver/internal/constants.js");
|
|
88307
|
+
const debug = __webpack_require__("./node_modules/.f/_/semver/7.8.0/semver/internal/debug.js");
|
|
88766
88308
|
exports = module.exports = {};
|
|
88767
88309
|
const re = exports.re = [];
|
|
88768
88310
|
const safeRe = exports.safeRe = [];
|
|
@@ -88842,24 +88384,24 @@ createToken("GTE0PRE", "^\\s*>=\\s*0\\.0\\.0-0\\s*$");
|
|
|
88842
88384
|
|
|
88843
88385
|
/***/ }),
|
|
88844
88386
|
|
|
88845
|
-
/***/ "./node_modules/.f/_/semver/7.
|
|
88387
|
+
/***/ "./node_modules/.f/_/semver/7.8.0/semver/ranges/gtr.js":
|
|
88846
88388
|
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
|
|
88847
88389
|
|
|
88848
88390
|
"use strict";
|
|
88849
88391
|
|
|
88850
|
-
const outside = __webpack_require__("./node_modules/.f/_/semver/7.
|
|
88392
|
+
const outside = __webpack_require__("./node_modules/.f/_/semver/7.8.0/semver/ranges/outside.js");
|
|
88851
88393
|
const gtr = (version, range, options) => outside(version, range, ">", options);
|
|
88852
88394
|
module.exports = gtr;
|
|
88853
88395
|
|
|
88854
88396
|
|
|
88855
88397
|
/***/ }),
|
|
88856
88398
|
|
|
88857
|
-
/***/ "./node_modules/.f/_/semver/7.
|
|
88399
|
+
/***/ "./node_modules/.f/_/semver/7.8.0/semver/ranges/intersects.js":
|
|
88858
88400
|
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
|
|
88859
88401
|
|
|
88860
88402
|
"use strict";
|
|
88861
88403
|
|
|
88862
|
-
const Range = __webpack_require__("./node_modules/.f/_/semver/7.
|
|
88404
|
+
const Range = __webpack_require__("./node_modules/.f/_/semver/7.8.0/semver/classes/range.js");
|
|
88863
88405
|
const intersects = (r1, r2, options) => {
|
|
88864
88406
|
r1 = new Range(r1, options);
|
|
88865
88407
|
r2 = new Range(r2, options);
|
|
@@ -88870,25 +88412,25 @@ module.exports = intersects;
|
|
|
88870
88412
|
|
|
88871
88413
|
/***/ }),
|
|
88872
88414
|
|
|
88873
|
-
/***/ "./node_modules/.f/_/semver/7.
|
|
88415
|
+
/***/ "./node_modules/.f/_/semver/7.8.0/semver/ranges/ltr.js":
|
|
88874
88416
|
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
|
|
88875
88417
|
|
|
88876
88418
|
"use strict";
|
|
88877
88419
|
|
|
88878
|
-
const outside = __webpack_require__("./node_modules/.f/_/semver/7.
|
|
88420
|
+
const outside = __webpack_require__("./node_modules/.f/_/semver/7.8.0/semver/ranges/outside.js");
|
|
88879
88421
|
const ltr = (version, range, options) => outside(version, range, "<", options);
|
|
88880
88422
|
module.exports = ltr;
|
|
88881
88423
|
|
|
88882
88424
|
|
|
88883
88425
|
/***/ }),
|
|
88884
88426
|
|
|
88885
|
-
/***/ "./node_modules/.f/_/semver/7.
|
|
88427
|
+
/***/ "./node_modules/.f/_/semver/7.8.0/semver/ranges/max-satisfying.js":
|
|
88886
88428
|
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
|
|
88887
88429
|
|
|
88888
88430
|
"use strict";
|
|
88889
88431
|
|
|
88890
|
-
const SemVer = __webpack_require__("./node_modules/.f/_/semver/7.
|
|
88891
|
-
const Range = __webpack_require__("./node_modules/.f/_/semver/7.
|
|
88432
|
+
const SemVer = __webpack_require__("./node_modules/.f/_/semver/7.8.0/semver/classes/semver.js");
|
|
88433
|
+
const Range = __webpack_require__("./node_modules/.f/_/semver/7.8.0/semver/classes/range.js");
|
|
88892
88434
|
const maxSatisfying = (versions, range, options) => {
|
|
88893
88435
|
let max = null;
|
|
88894
88436
|
let maxSV = null;
|
|
@@ -88913,13 +88455,13 @@ module.exports = maxSatisfying;
|
|
|
88913
88455
|
|
|
88914
88456
|
/***/ }),
|
|
88915
88457
|
|
|
88916
|
-
/***/ "./node_modules/.f/_/semver/7.
|
|
88458
|
+
/***/ "./node_modules/.f/_/semver/7.8.0/semver/ranges/min-satisfying.js":
|
|
88917
88459
|
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
|
|
88918
88460
|
|
|
88919
88461
|
"use strict";
|
|
88920
88462
|
|
|
88921
|
-
const SemVer = __webpack_require__("./node_modules/.f/_/semver/7.
|
|
88922
|
-
const Range = __webpack_require__("./node_modules/.f/_/semver/7.
|
|
88463
|
+
const SemVer = __webpack_require__("./node_modules/.f/_/semver/7.8.0/semver/classes/semver.js");
|
|
88464
|
+
const Range = __webpack_require__("./node_modules/.f/_/semver/7.8.0/semver/classes/range.js");
|
|
88923
88465
|
const minSatisfying = (versions, range, options) => {
|
|
88924
88466
|
let min = null;
|
|
88925
88467
|
let minSV = null;
|
|
@@ -88944,14 +88486,14 @@ module.exports = minSatisfying;
|
|
|
88944
88486
|
|
|
88945
88487
|
/***/ }),
|
|
88946
88488
|
|
|
88947
|
-
/***/ "./node_modules/.f/_/semver/7.
|
|
88489
|
+
/***/ "./node_modules/.f/_/semver/7.8.0/semver/ranges/min-version.js":
|
|
88948
88490
|
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
|
|
88949
88491
|
|
|
88950
88492
|
"use strict";
|
|
88951
88493
|
|
|
88952
|
-
const SemVer = __webpack_require__("./node_modules/.f/_/semver/7.
|
|
88953
|
-
const Range = __webpack_require__("./node_modules/.f/_/semver/7.
|
|
88954
|
-
const gt = __webpack_require__("./node_modules/.f/_/semver/7.
|
|
88494
|
+
const SemVer = __webpack_require__("./node_modules/.f/_/semver/7.8.0/semver/classes/semver.js");
|
|
88495
|
+
const Range = __webpack_require__("./node_modules/.f/_/semver/7.8.0/semver/classes/range.js");
|
|
88496
|
+
const gt = __webpack_require__("./node_modules/.f/_/semver/7.8.0/semver/functions/gt.js");
|
|
88955
88497
|
const minVersion = (range, loose) => {
|
|
88956
88498
|
range = new Range(range, loose);
|
|
88957
88499
|
let minver = new SemVer("0.0.0");
|
|
@@ -89005,20 +88547,20 @@ module.exports = minVersion;
|
|
|
89005
88547
|
|
|
89006
88548
|
/***/ }),
|
|
89007
88549
|
|
|
89008
|
-
/***/ "./node_modules/.f/_/semver/7.
|
|
88550
|
+
/***/ "./node_modules/.f/_/semver/7.8.0/semver/ranges/outside.js":
|
|
89009
88551
|
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
|
|
89010
88552
|
|
|
89011
88553
|
"use strict";
|
|
89012
88554
|
|
|
89013
|
-
const SemVer = __webpack_require__("./node_modules/.f/_/semver/7.
|
|
89014
|
-
const Comparator = __webpack_require__("./node_modules/.f/_/semver/7.
|
|
88555
|
+
const SemVer = __webpack_require__("./node_modules/.f/_/semver/7.8.0/semver/classes/semver.js");
|
|
88556
|
+
const Comparator = __webpack_require__("./node_modules/.f/_/semver/7.8.0/semver/classes/comparator.js");
|
|
89015
88557
|
const { ANY } = Comparator;
|
|
89016
|
-
const Range = __webpack_require__("./node_modules/.f/_/semver/7.
|
|
89017
|
-
const satisfies = __webpack_require__("./node_modules/.f/_/semver/7.
|
|
89018
|
-
const gt = __webpack_require__("./node_modules/.f/_/semver/7.
|
|
89019
|
-
const lt = __webpack_require__("./node_modules/.f/_/semver/7.
|
|
89020
|
-
const lte = __webpack_require__("./node_modules/.f/_/semver/7.
|
|
89021
|
-
const gte = __webpack_require__("./node_modules/.f/_/semver/7.
|
|
88558
|
+
const Range = __webpack_require__("./node_modules/.f/_/semver/7.8.0/semver/classes/range.js");
|
|
88559
|
+
const satisfies = __webpack_require__("./node_modules/.f/_/semver/7.8.0/semver/functions/satisfies.js");
|
|
88560
|
+
const gt = __webpack_require__("./node_modules/.f/_/semver/7.8.0/semver/functions/gt.js");
|
|
88561
|
+
const lt = __webpack_require__("./node_modules/.f/_/semver/7.8.0/semver/functions/lt.js");
|
|
88562
|
+
const lte = __webpack_require__("./node_modules/.f/_/semver/7.8.0/semver/functions/lte.js");
|
|
88563
|
+
const gte = __webpack_require__("./node_modules/.f/_/semver/7.8.0/semver/functions/gte.js");
|
|
89022
88564
|
const outside = (version, range, hilo, options) => {
|
|
89023
88565
|
version = new SemVer(version, options);
|
|
89024
88566
|
range = new Range(range, options);
|
|
@@ -89076,13 +88618,13 @@ module.exports = outside;
|
|
|
89076
88618
|
|
|
89077
88619
|
/***/ }),
|
|
89078
88620
|
|
|
89079
|
-
/***/ "./node_modules/.f/_/semver/7.
|
|
88621
|
+
/***/ "./node_modules/.f/_/semver/7.8.0/semver/ranges/simplify.js":
|
|
89080
88622
|
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
|
|
89081
88623
|
|
|
89082
88624
|
"use strict";
|
|
89083
88625
|
|
|
89084
|
-
const satisfies = __webpack_require__("./node_modules/.f/_/semver/7.
|
|
89085
|
-
const compare = __webpack_require__("./node_modules/.f/_/semver/7.
|
|
88626
|
+
const satisfies = __webpack_require__("./node_modules/.f/_/semver/7.8.0/semver/functions/satisfies.js");
|
|
88627
|
+
const compare = __webpack_require__("./node_modules/.f/_/semver/7.8.0/semver/functions/compare.js");
|
|
89086
88628
|
module.exports = (versions, range, options) => {
|
|
89087
88629
|
const set = [];
|
|
89088
88630
|
let first = null;
|
|
@@ -89128,16 +88670,16 @@ module.exports = (versions, range, options) => {
|
|
|
89128
88670
|
|
|
89129
88671
|
/***/ }),
|
|
89130
88672
|
|
|
89131
|
-
/***/ "./node_modules/.f/_/semver/7.
|
|
88673
|
+
/***/ "./node_modules/.f/_/semver/7.8.0/semver/ranges/subset.js":
|
|
89132
88674
|
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
|
|
89133
88675
|
|
|
89134
88676
|
"use strict";
|
|
89135
88677
|
|
|
89136
|
-
const Range = __webpack_require__("./node_modules/.f/_/semver/7.
|
|
89137
|
-
const Comparator = __webpack_require__("./node_modules/.f/_/semver/7.
|
|
88678
|
+
const Range = __webpack_require__("./node_modules/.f/_/semver/7.8.0/semver/classes/range.js");
|
|
88679
|
+
const Comparator = __webpack_require__("./node_modules/.f/_/semver/7.8.0/semver/classes/comparator.js");
|
|
89138
88680
|
const { ANY } = Comparator;
|
|
89139
|
-
const satisfies = __webpack_require__("./node_modules/.f/_/semver/7.
|
|
89140
|
-
const compare = __webpack_require__("./node_modules/.f/_/semver/7.
|
|
88681
|
+
const satisfies = __webpack_require__("./node_modules/.f/_/semver/7.8.0/semver/functions/satisfies.js");
|
|
88682
|
+
const compare = __webpack_require__("./node_modules/.f/_/semver/7.8.0/semver/functions/compare.js");
|
|
89141
88683
|
const subset = (sub, dom, options = {}) => {
|
|
89142
88684
|
if (sub === dom) {
|
|
89143
88685
|
return true;
|
|
@@ -89292,24 +88834,24 @@ module.exports = subset;
|
|
|
89292
88834
|
|
|
89293
88835
|
/***/ }),
|
|
89294
88836
|
|
|
89295
|
-
/***/ "./node_modules/.f/_/semver/7.
|
|
88837
|
+
/***/ "./node_modules/.f/_/semver/7.8.0/semver/ranges/to-comparators.js":
|
|
89296
88838
|
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
|
|
89297
88839
|
|
|
89298
88840
|
"use strict";
|
|
89299
88841
|
|
|
89300
|
-
const Range = __webpack_require__("./node_modules/.f/_/semver/7.
|
|
88842
|
+
const Range = __webpack_require__("./node_modules/.f/_/semver/7.8.0/semver/classes/range.js");
|
|
89301
88843
|
const toComparators = (range, options) => new Range(range, options).set.map((comp) => comp.map((c) => c.value).join(" ").trim().split(" "));
|
|
89302
88844
|
module.exports = toComparators;
|
|
89303
88845
|
|
|
89304
88846
|
|
|
89305
88847
|
/***/ }),
|
|
89306
88848
|
|
|
89307
|
-
/***/ "./node_modules/.f/_/semver/7.
|
|
88849
|
+
/***/ "./node_modules/.f/_/semver/7.8.0/semver/ranges/valid.js":
|
|
89308
88850
|
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
|
|
89309
88851
|
|
|
89310
88852
|
"use strict";
|
|
89311
88853
|
|
|
89312
|
-
const Range = __webpack_require__("./node_modules/.f/_/semver/7.
|
|
88854
|
+
const Range = __webpack_require__("./node_modules/.f/_/semver/7.8.0/semver/classes/range.js");
|
|
89313
88855
|
const validRange = (range, options) => {
|
|
89314
88856
|
try {
|
|
89315
88857
|
return new Range(range, options).range || "*";
|
|
@@ -103631,85 +103173,63 @@ module.exports = validate;
|
|
|
103631
103173
|
|
|
103632
103174
|
/***/ }),
|
|
103633
103175
|
|
|
103634
|
-
/***/ "./node_modules/.f/_/visual-exec/0.
|
|
103635
|
-
/***/ (
|
|
103176
|
+
/***/ "./node_modules/.f/_/visual-exec/0.1.14/visual-exec/lib/get-default-logger.js":
|
|
103177
|
+
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
|
|
103636
103178
|
|
|
103637
103179
|
"use strict";
|
|
103638
103180
|
|
|
103639
|
-
|
|
103640
|
-
|
|
103641
|
-
|
|
103642
|
-
|
|
103643
|
-
exports.getDefaultLogger = getDefaultLogger;
|
|
103644
|
-
const visual_logger_1 = __importDefault(__webpack_require__("./node_modules/.f/_/visual-logger/1.1.3/visual-logger/lib/visual-logger.js"));
|
|
103645
|
-
const ci_info_1 = __webpack_require__("./node_modules/.f/_/ci-info/3.9.0/ci-info/index.js");
|
|
103646
|
-
let logger = null;
|
|
103647
|
-
function getDefaultLogger() {
|
|
103181
|
+
const VisualLogger = __webpack_require__("./node_modules/.f/_/visual-logger/1.1.3/visual-logger/lib/visual-logger.js");
|
|
103182
|
+
const { isCI } = __webpack_require__("./node_modules/.f/_/ci-info/3.9.0/ci-info/index.js");
|
|
103183
|
+
let logger;
|
|
103184
|
+
const getLogger = () => {
|
|
103648
103185
|
if (!logger) {
|
|
103649
|
-
logger = new
|
|
103650
|
-
if (
|
|
103186
|
+
logger = new VisualLogger();
|
|
103187
|
+
if (isCI) {
|
|
103651
103188
|
logger.info("visual-exec: CI env detected");
|
|
103652
103189
|
logger.setItemType("none");
|
|
103653
103190
|
}
|
|
103654
103191
|
}
|
|
103655
103192
|
return logger;
|
|
103656
|
-
}
|
|
103657
|
-
exports
|
|
103658
|
-
|
|
103659
|
-
|
|
103660
|
-
/***/ }),
|
|
103661
|
-
|
|
103662
|
-
/***/ "./node_modules/.f/_/visual-exec/0.2.0-fynlocal_h/visual-exec/dist/index.js":
|
|
103663
|
-
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
|
|
103664
|
-
|
|
103665
|
-
"use strict";
|
|
103666
|
-
|
|
103667
|
-
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
|
103668
|
-
exports["default"] = exports.getDefaultLogger = exports.VisualExec = void 0;
|
|
103669
|
-
var visual_exec_1 = __webpack_require__("./node_modules/.f/_/visual-exec/0.2.0-fynlocal_h/visual-exec/dist/visual-exec.js");
|
|
103670
|
-
Object.defineProperty(exports, "VisualExec", ({ enumerable: true, get: function() {
|
|
103671
|
-
return visual_exec_1.VisualExec;
|
|
103672
|
-
} }));
|
|
103673
|
-
var get_default_logger_1 = __webpack_require__("./node_modules/.f/_/visual-exec/0.2.0-fynlocal_h/visual-exec/dist/get-default-logger.js");
|
|
103674
|
-
Object.defineProperty(exports, "getDefaultLogger", ({ enumerable: true, get: function() {
|
|
103675
|
-
return get_default_logger_1.getDefaultLogger;
|
|
103676
|
-
} }));
|
|
103677
|
-
var visual_exec_2 = __webpack_require__("./node_modules/.f/_/visual-exec/0.2.0-fynlocal_h/visual-exec/dist/visual-exec.js");
|
|
103678
|
-
Object.defineProperty(exports, "default", ({ enumerable: true, get: function() {
|
|
103679
|
-
return visual_exec_2.VisualExec;
|
|
103680
|
-
} }));
|
|
103193
|
+
};
|
|
103194
|
+
module.exports = getLogger;
|
|
103681
103195
|
|
|
103682
103196
|
|
|
103683
103197
|
/***/ }),
|
|
103684
103198
|
|
|
103685
|
-
/***/ "./node_modules/.f/_/visual-exec/0.
|
|
103686
|
-
/***/ (
|
|
103199
|
+
/***/ "./node_modules/.f/_/visual-exec/0.1.14/visual-exec/lib/visual-exec.js":
|
|
103200
|
+
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
|
|
103687
103201
|
|
|
103688
103202
|
"use strict";
|
|
103689
103203
|
|
|
103690
|
-
|
|
103691
|
-
|
|
103692
|
-
|
|
103693
|
-
|
|
103694
|
-
|
|
103695
|
-
const
|
|
103696
|
-
|
|
103697
|
-
const get_default_logger_1 = __webpack_require__("./node_modules/.f/_/visual-exec/0.2.0-fynlocal_h/visual-exec/dist/get-default-logger.js");
|
|
103698
|
-
const visual_logger_1 = __importDefault(__webpack_require__("./node_modules/.f/_/visual-logger/1.1.3/visual-logger/lib/visual-logger.js"));
|
|
103699
|
-
const has_ansi_1 = __importDefault(__webpack_require__("./node_modules/.f/_/has-ansi/4.0.1/has-ansi/index.js"));
|
|
103700
|
-
const strip_ansi_1 = __importDefault(__webpack_require__("./node_modules/.f/_/strip-ansi/6.0.1/strip-ansi/index.js"));
|
|
103701
|
-
xsh_1.default.Promise = Promise;
|
|
103204
|
+
const xsh = __webpack_require__("./node_modules/.f/_/xsh/0.4.6/xsh/lib/index.js");
|
|
103205
|
+
const chalk = __webpack_require__("./node_modules/.f/_/chalk/4.1.2/chalk/source/index.js");
|
|
103206
|
+
const getDefaultLogger = __webpack_require__("./node_modules/.f/_/visual-exec/0.1.14/visual-exec/lib/get-default-logger.js");
|
|
103207
|
+
const VisualLogger = __webpack_require__("./node_modules/.f/_/visual-logger/1.1.3/visual-logger/lib/visual-logger.js");
|
|
103208
|
+
const hasAnsi = __webpack_require__("./node_modules/.f/_/has-ansi/4.0.1/has-ansi/index.js");
|
|
103209
|
+
const stripAnsi = __webpack_require__("./node_modules/.f/_/strip-ansi/6.0.1/strip-ansi/index.js");
|
|
103210
|
+
xsh.Promise = Promise;
|
|
103702
103211
|
const ONE_MB = 1024 * 1024;
|
|
103703
103212
|
const TEN_MB = 10 * ONE_MB;
|
|
103704
103213
|
class VisualExec {
|
|
103705
|
-
constructor(
|
|
103706
|
-
|
|
103214
|
+
constructor({
|
|
103215
|
+
command,
|
|
103216
|
+
cwd = process.cwd(),
|
|
103217
|
+
visualLogger,
|
|
103218
|
+
spinner = VisualLogger.spinners[1],
|
|
103219
|
+
displayTitle = void 0,
|
|
103220
|
+
logLabel = void 0,
|
|
103221
|
+
outputLabel = void 0,
|
|
103222
|
+
outputLevel = "verbose",
|
|
103223
|
+
maxBuffer = TEN_MB,
|
|
103224
|
+
forceStderr = true,
|
|
103225
|
+
checkStdoutError = true
|
|
103226
|
+
}) {
|
|
103707
103227
|
this._title = displayTitle || this._makeTitle(command);
|
|
103708
103228
|
this._logLabel = logLabel || this._title;
|
|
103709
103229
|
this._outputLabel = outputLabel || this._title;
|
|
103710
103230
|
this._command = command;
|
|
103711
103231
|
this._cwd = cwd || process.cwd();
|
|
103712
|
-
this._logger = visualLogger ||
|
|
103232
|
+
this._logger = visualLogger || getDefaultLogger();
|
|
103713
103233
|
this._outputLevel = outputLevel;
|
|
103714
103234
|
this._spinner = spinner;
|
|
103715
103235
|
this._maxBuffer = maxBuffer;
|
|
@@ -103723,10 +103243,11 @@ class VisualExec {
|
|
|
103723
103243
|
}
|
|
103724
103244
|
return `Running ${command}`;
|
|
103725
103245
|
}
|
|
103246
|
+
/* eslint-disable max-statements */
|
|
103726
103247
|
_updateDigest(item, buf) {
|
|
103727
103248
|
const newBuf = item.buf + buf;
|
|
103728
103249
|
const lines = newBuf.split("\n").map((x) => x && x.trim()).filter((x) => x);
|
|
103729
|
-
const stripLines = lines.map((x) => (
|
|
103250
|
+
const stripLines = lines.map((x) => hasAnsi(x) ? stripAnsi(x) : x);
|
|
103730
103251
|
let length = 0;
|
|
103731
103252
|
let ix = stripLines.length - 1;
|
|
103732
103253
|
for (; ix >= 0; ix--) {
|
|
@@ -103753,7 +103274,7 @@ class VisualExec {
|
|
|
103753
103274
|
item.buf += "\n";
|
|
103754
103275
|
}
|
|
103755
103276
|
this._logger.updateItem(item.name, {
|
|
103756
|
-
msg: msgs.join(
|
|
103277
|
+
msg: msgs.join(chalk.blue.inverse("\\n")),
|
|
103757
103278
|
_save: false,
|
|
103758
103279
|
_render: false
|
|
103759
103280
|
});
|
|
@@ -103795,58 +103316,51 @@ stdout`,
|
|
|
103795
103316
|
child.stdout.removeListener("data", this._updateStdout);
|
|
103796
103317
|
child.stderr.removeListener("data", this._updateStderr);
|
|
103797
103318
|
if (err) {
|
|
103798
|
-
this._logger.error(`${
|
|
103319
|
+
this._logger.error(`${chalk.red("Failed")} ${this._logLabel} - ${chalk.red(err.message)}`);
|
|
103799
103320
|
output = err.output;
|
|
103800
103321
|
} else {
|
|
103801
103322
|
const time = ((Date.now() - this._startTime) / 1e3).toFixed(2);
|
|
103802
|
-
const dispTime = `${
|
|
103803
|
-
this._logger.info(`Done ${this._logLabel} ${dispTime} ${
|
|
103323
|
+
const dispTime = `${chalk.magenta(time)}secs`;
|
|
103324
|
+
this._logger.info(`Done ${this._logLabel} ${dispTime} ${chalk.green("exit code 0")}`);
|
|
103804
103325
|
}
|
|
103805
103326
|
this.logFinalOutput(err, output);
|
|
103806
103327
|
}
|
|
103807
103328
|
checkForErrors(text) {
|
|
103808
|
-
|
|
103809
|
-
return null;
|
|
103810
|
-
if (this._checkStdoutError instanceof RegExp) {
|
|
103811
|
-
return text.match(this._checkStdoutError);
|
|
103812
|
-
}
|
|
103813
|
-
return null;
|
|
103329
|
+
return this._checkStdoutError && text && text.match(this._checkStdoutError);
|
|
103814
103330
|
}
|
|
103815
|
-
/**
|
|
103816
|
-
* Log the final output. Can be overridden to customize output handling.
|
|
103817
|
-
* Set to a no-op function to suppress output logging.
|
|
103818
|
-
*/
|
|
103819
103331
|
logFinalOutput(err, output) {
|
|
103820
|
-
const level = err || this._forceStderr && output
|
|
103332
|
+
const level = err || this._forceStderr && output.stderr || this.checkForErrors(output.stdout) ? "error" : this._outputLevel;
|
|
103821
103333
|
if (!output || !output.stdout && !output.stderr) {
|
|
103822
|
-
this._logger[level](`${
|
|
103334
|
+
this._logger[level](`${chalk.green("No output")} from ${this._outputLabel}`);
|
|
103823
103335
|
return;
|
|
103824
103336
|
}
|
|
103825
|
-
const colorize = (t) => t.replace(/ERR!/g,
|
|
103826
|
-
const logs = [
|
|
103337
|
+
const colorize = (t) => t.replace(/ERR!/g, chalk.red("ERR!"));
|
|
103338
|
+
const logs = [chalk.green(">>>"), `Start of output from ${this._outputLabel} ===`];
|
|
103827
103339
|
if (output.stdout) {
|
|
103828
103340
|
logs.push(`
|
|
103829
103341
|
${colorize(output.stdout)}`);
|
|
103830
103342
|
}
|
|
103831
103343
|
if (output.stderr) {
|
|
103832
|
-
logs.push(
|
|
103344
|
+
logs.push(chalk.red("\n=== stderr ===\n") + colorize(output.stderr));
|
|
103833
103345
|
}
|
|
103834
|
-
logs.push(
|
|
103346
|
+
logs.push(chalk.blue("\n<<<"), `End of output from ${this._outputLabel} ---`);
|
|
103835
103347
|
this._logger.prefix(false)[level](...logs);
|
|
103836
103348
|
}
|
|
103837
103349
|
execute(command) {
|
|
103838
103350
|
this._startTime = Date.now();
|
|
103839
|
-
const child =
|
|
103840
|
-
|
|
103841
|
-
|
|
103842
|
-
|
|
103843
|
-
|
|
103844
|
-
|
|
103351
|
+
const child = xsh.exec(
|
|
103352
|
+
{
|
|
103353
|
+
silent: true,
|
|
103354
|
+
cwd: this._cwd,
|
|
103355
|
+
env: Object.assign({}, process.env, { PWD: this._cwd }),
|
|
103356
|
+
maxBuffer: this._maxBuffer
|
|
103357
|
+
},
|
|
103358
|
+
command || this._command
|
|
103359
|
+
);
|
|
103845
103360
|
return this.show(child);
|
|
103846
103361
|
}
|
|
103847
103362
|
}
|
|
103848
|
-
exports
|
|
103849
|
-
exports["default"] = VisualExec;
|
|
103363
|
+
module.exports = VisualExec;
|
|
103850
103364
|
|
|
103851
103365
|
|
|
103852
103366
|
/***/ }),
|
|
@@ -104951,7 +104465,7 @@ module.exports = xenvConfig;
|
|
|
104951
104465
|
|
|
104952
104466
|
/***/ }),
|
|
104953
104467
|
|
|
104954
|
-
/***/ "./node_modules/.f/_/xsh/0.4.6
|
|
104468
|
+
/***/ "./node_modules/.f/_/xsh/0.4.6/xsh/lib/env-path.js":
|
|
104955
104469
|
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
|
|
104956
104470
|
|
|
104957
104471
|
"use strict";
|
|
@@ -105028,7 +104542,7 @@ module.exports = {
|
|
|
105028
104542
|
|
|
105029
104543
|
/***/ }),
|
|
105030
104544
|
|
|
105031
|
-
/***/ "./node_modules/.f/_/xsh/0.4.6
|
|
104545
|
+
/***/ "./node_modules/.f/_/xsh/0.4.6/xsh/lib/env.js":
|
|
105032
104546
|
/***/ ((module) => {
|
|
105033
104547
|
|
|
105034
104548
|
"use strict";
|
|
@@ -105069,7 +104583,7 @@ module.exports = {
|
|
|
105069
104583
|
|
|
105070
104584
|
/***/ }),
|
|
105071
104585
|
|
|
105072
|
-
/***/ "./node_modules/.f/_/xsh/0.4.6
|
|
104586
|
+
/***/ "./node_modules/.f/_/xsh/0.4.6/xsh/lib/esc-bs.js":
|
|
105073
104587
|
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
|
|
105074
104588
|
|
|
105075
104589
|
"use strict";
|
|
@@ -105080,13 +104594,13 @@ module.exports = Path.sep === "\\" ? (x) => x.replace(/\\/g, "\\\\") : (x) => x;
|
|
|
105080
104594
|
|
|
105081
104595
|
/***/ }),
|
|
105082
104596
|
|
|
105083
|
-
/***/ "./node_modules/.f/_/xsh/0.4.6
|
|
104597
|
+
/***/ "./node_modules/.f/_/xsh/0.4.6/xsh/lib/exec.js":
|
|
105084
104598
|
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
|
|
105085
104599
|
|
|
105086
104600
|
"use strict";
|
|
105087
104601
|
|
|
105088
104602
|
const shell = __webpack_require__("./node_modules/.f/_/shcmd/0.8.4/shcmd/shell.js");
|
|
105089
|
-
const util = __webpack_require__("./node_modules/.f/_/xsh/0.4.6
|
|
104603
|
+
const util = __webpack_require__("./node_modules/.f/_/xsh/0.4.6/xsh/lib/util.js");
|
|
105090
104604
|
const assert = __webpack_require__("assert");
|
|
105091
104605
|
function exec() {
|
|
105092
104606
|
const error = (cmd2, code, output) => {
|
|
@@ -105161,19 +104675,19 @@ module.exports = exec;
|
|
|
105161
104675
|
|
|
105162
104676
|
/***/ }),
|
|
105163
104677
|
|
|
105164
|
-
/***/ "./node_modules/.f/_/xsh/0.4.6
|
|
104678
|
+
/***/ "./node_modules/.f/_/xsh/0.4.6/xsh/lib/index.js":
|
|
105165
104679
|
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
|
|
105166
104680
|
|
|
105167
104681
|
"use strict";
|
|
105168
104682
|
|
|
105169
|
-
const util = __webpack_require__("./node_modules/.f/_/xsh/0.4.6
|
|
104683
|
+
const util = __webpack_require__("./node_modules/.f/_/xsh/0.4.6/xsh/lib/util.js");
|
|
105170
104684
|
const xsh = {
|
|
105171
|
-
exec: __webpack_require__("./node_modules/.f/_/xsh/0.4.6
|
|
105172
|
-
env: __webpack_require__("./node_modules/.f/_/xsh/0.4.6
|
|
105173
|
-
envPath: __webpack_require__("./node_modules/.f/_/xsh/0.4.6
|
|
105174
|
-
mkCmd: __webpack_require__("./node_modules/.f/_/xsh/0.4.6
|
|
105175
|
-
pathCwd: __webpack_require__("./node_modules/.f/_/xsh/0.4.6
|
|
105176
|
-
pathCwdNm: __webpack_require__("./node_modules/.f/_/xsh/0.4.6
|
|
104685
|
+
exec: __webpack_require__("./node_modules/.f/_/xsh/0.4.6/xsh/lib/exec.js"),
|
|
104686
|
+
env: __webpack_require__("./node_modules/.f/_/xsh/0.4.6/xsh/lib/env.js"),
|
|
104687
|
+
envPath: __webpack_require__("./node_modules/.f/_/xsh/0.4.6/xsh/lib/env-path.js"),
|
|
104688
|
+
mkCmd: __webpack_require__("./node_modules/.f/_/xsh/0.4.6/xsh/lib/mkcmd.js"),
|
|
104689
|
+
pathCwd: __webpack_require__("./node_modules/.f/_/xsh/0.4.6/xsh/lib/path-cwd.js"),
|
|
104690
|
+
pathCwdNm: __webpack_require__("./node_modules/.f/_/xsh/0.4.6/xsh/lib/path-cwd-nm.js"),
|
|
105177
104691
|
$: __webpack_require__("./node_modules/.f/_/shcmd/0.8.4/shcmd/shell.js")
|
|
105178
104692
|
};
|
|
105179
104693
|
Object.defineProperty(xsh, "Promise", {
|
|
@@ -105187,7 +104701,7 @@ module.exports = xsh;
|
|
|
105187
104701
|
|
|
105188
104702
|
/***/ }),
|
|
105189
104703
|
|
|
105190
|
-
/***/ "./node_modules/.f/_/xsh/0.4.6
|
|
104704
|
+
/***/ "./node_modules/.f/_/xsh/0.4.6/xsh/lib/mkcmd.js":
|
|
105191
104705
|
/***/ ((module) => {
|
|
105192
104706
|
|
|
105193
104707
|
"use strict";
|
|
@@ -105200,14 +104714,14 @@ module.exports = mkCmd;
|
|
|
105200
104714
|
|
|
105201
104715
|
/***/ }),
|
|
105202
104716
|
|
|
105203
|
-
/***/ "./node_modules/.f/_/xsh/0.4.6
|
|
104717
|
+
/***/ "./node_modules/.f/_/xsh/0.4.6/xsh/lib/path-cwd-nm.js":
|
|
105204
104718
|
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
|
|
105205
104719
|
|
|
105206
104720
|
"use strict";
|
|
105207
104721
|
|
|
105208
|
-
const pathCwd = __webpack_require__("./node_modules/.f/_/xsh/0.4.6
|
|
104722
|
+
const pathCwd = __webpack_require__("./node_modules/.f/_/xsh/0.4.6/xsh/lib/path-cwd.js");
|
|
105209
104723
|
const Path = __webpack_require__("path");
|
|
105210
|
-
const escBs = __webpack_require__("./node_modules/.f/_/xsh/0.4.6
|
|
104724
|
+
const escBs = __webpack_require__("./node_modules/.f/_/xsh/0.4.6/xsh/lib/esc-bs.js");
|
|
105211
104725
|
const normNm = escBs(Path.normalize("/node_modules/"));
|
|
105212
104726
|
const normNmReplacer = Path.normalize("/~/");
|
|
105213
104727
|
const makeNmRegex = () => escBs(Path.resolve("node_modules"));
|
|
@@ -105230,13 +104744,13 @@ module.exports = {
|
|
|
105230
104744
|
|
|
105231
104745
|
/***/ }),
|
|
105232
104746
|
|
|
105233
|
-
/***/ "./node_modules/.f/_/xsh/0.4.6
|
|
104747
|
+
/***/ "./node_modules/.f/_/xsh/0.4.6/xsh/lib/path-cwd.js":
|
|
105234
104748
|
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
|
|
105235
104749
|
|
|
105236
104750
|
"use strict";
|
|
105237
104751
|
|
|
105238
104752
|
const Path = __webpack_require__("path");
|
|
105239
|
-
const escBs = __webpack_require__("./node_modules/.f/_/xsh/0.4.6
|
|
104753
|
+
const escBs = __webpack_require__("./node_modules/.f/_/xsh/0.4.6/xsh/lib/esc-bs.js");
|
|
105240
104754
|
module.exports = {
|
|
105241
104755
|
remove: (p, flags, stripSlash) => {
|
|
105242
104756
|
const cwd = process.cwd();
|
|
@@ -105262,7 +104776,7 @@ module.exports = {
|
|
|
105262
104776
|
|
|
105263
104777
|
/***/ }),
|
|
105264
104778
|
|
|
105265
|
-
/***/ "./node_modules/.f/_/xsh/0.4.6
|
|
104779
|
+
/***/ "./node_modules/.f/_/xsh/0.4.6/xsh/lib/util.js":
|
|
105266
104780
|
/***/ ((module) => {
|
|
105267
104781
|
|
|
105268
104782
|
"use strict";
|