fyn 2.1.0 → 2.1.1
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.7.
|
|
128
|
+
const semver = __webpack_require__("./node_modules/.f/_/semver/7.7.4/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.7.
|
|
2736
|
+
const semver = __webpack_require__("./node_modules/.f/_/semver/7.7.4/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.7.
|
|
3770
|
+
const semver = __webpack_require__("./node_modules/.f/_/semver/7.7.4/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");
|
|
@@ -5130,12 +4698,12 @@ module.exports = Fyn;
|
|
|
5130
4698
|
const Path = __webpack_require__("path");
|
|
5131
4699
|
const optionalRequire = __webpack_require__("./node_modules/.f/_/optional-require/1.1.10/optional-require/index.js")(eval("require"));
|
|
5132
4700
|
const assert = __webpack_require__("assert");
|
|
5133
|
-
const xsh = __webpack_require__("./node_modules/.f/_/xsh/0.4.6
|
|
4701
|
+
const xsh = __webpack_require__("./node_modules/.f/_/xsh/0.4.6/xsh/lib/index.js");
|
|
5134
4702
|
const chalk = __webpack_require__("./node_modules/.f/_/chalk/4.1.2/chalk/source/index.js");
|
|
5135
4703
|
const _ = __webpack_require__("./node_modules/.f/_/lodash/4.17.21/lodash/lodash.min.js");
|
|
5136
4704
|
const logger = __webpack_require__("./lib/logger.ts");
|
|
5137
4705
|
const logFormat = __webpack_require__("./lib/util/log-format.ts");
|
|
5138
|
-
const
|
|
4706
|
+
const VisualExec = __webpack_require__("./node_modules/.f/_/visual-exec/0.1.14/visual-exec/lib/visual-exec.js");
|
|
5139
4707
|
const fyntil = __webpack_require__("./lib/util/fyntil.ts");
|
|
5140
4708
|
const requireAt = __webpack_require__("./node_modules/.f/_/require-at/1.0.6/require-at/require-at.js");
|
|
5141
4709
|
const { setupNodeGypEnv } = __webpack_require__("./lib/util/setup-node-gyp.ts");
|
|
@@ -5256,7 +4824,7 @@ module.exports = LifecycleScripts;
|
|
|
5256
4824
|
const Path = __webpack_require__("path");
|
|
5257
4825
|
const logger = __webpack_require__("./lib/logger.ts");
|
|
5258
4826
|
const PromiseQueue = __webpack_require__("./lib/util/promise-queue.ts");
|
|
5259
|
-
const VisualExec = __webpack_require__("./node_modules/.f/_/visual-exec/0.
|
|
4827
|
+
const VisualExec = __webpack_require__("./node_modules/.f/_/visual-exec/0.1.14/visual-exec/lib/visual-exec.js");
|
|
5260
4828
|
const xaa = __webpack_require__("./node_modules/.f/_/xaa/2.0.0/xaa/dist-cjs/index.cjs");
|
|
5261
4829
|
const Fs = __webpack_require__("./lib/util/file-ops.ts");
|
|
5262
4830
|
const _ = __webpack_require__("./node_modules/.f/_/lodash/4.17.21/lodash/lodash.min.js");
|
|
@@ -5287,15 +4855,12 @@ class LocalPkgBuilder {
|
|
|
5287
4855
|
this._waitItems[data.item.fullPath].resolve({});
|
|
5288
4856
|
});
|
|
5289
4857
|
this._promiseQ.on("failItem", (data) => {
|
|
5290
|
-
const debugLog = Path.join(data.item.fullPath, "fyn-debug.log");
|
|
5291
4858
|
const itemRes = {
|
|
5292
4859
|
error: new AggregateError(
|
|
5293
4860
|
[data.error],
|
|
5294
|
-
`failed build local package at ${data.item.fullPath}
|
|
4861
|
+
`failed build local package at ${data.item.fullPath}`
|
|
5295
4862
|
)
|
|
5296
4863
|
};
|
|
5297
|
-
logger.error(`Failed to build local package at ${data.item.fullPath}`);
|
|
5298
|
-
logger.error(`Check debug log for details: ${debugLog}`);
|
|
5299
4864
|
this._waitItems[data.item.fullPath].resolve(itemRes);
|
|
5300
4865
|
this._failedItems[data.item.fullPath] = itemRes;
|
|
5301
4866
|
});
|
|
@@ -5379,9 +4944,8 @@ class LocalPkgBuilder {
|
|
|
5379
4944
|
process.argv[0],
|
|
5380
4945
|
this._fynJs,
|
|
5381
4946
|
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"
|
|
4947
|
+
"-q=d --pg=simple --no-build-local",
|
|
4948
|
+
!this._fyn._options.sourceMaps && "--no-source-maps"
|
|
5385
4949
|
].filter((x) => x).join(" ");
|
|
5386
4950
|
const displayTitle = `building local pkg at ${dispPath}`;
|
|
5387
4951
|
logger.verbose(displayTitle);
|
|
@@ -5556,10 +5120,34 @@ const _ = __webpack_require__("./node_modules/.f/_/lodash/4.17.21/lodash/lodash.
|
|
|
5556
5120
|
const logger = __webpack_require__("./lib/logger.ts");
|
|
5557
5121
|
class PkgBinLinkerBase {
|
|
5558
5122
|
constructor(options) {
|
|
5559
|
-
this._binDir = Path.join(options.outputDir, ".bin");
|
|
5123
|
+
this._binDir = options.binDir || Path.join(options.outputDir, ".bin");
|
|
5560
5124
|
this._fyn = options.fyn;
|
|
5561
5125
|
this._linked = {};
|
|
5562
5126
|
}
|
|
5127
|
+
async hasBinLink(sym) {
|
|
5128
|
+
return Fs.exists(Path.join(this._binDir, sym));
|
|
5129
|
+
}
|
|
5130
|
+
async matchesBinPath(sym, target) {
|
|
5131
|
+
const symlink = Path.join(this._binDir, sym);
|
|
5132
|
+
const relTarget = Path.relative(this._binDir, target);
|
|
5133
|
+
return this._isBinLinkTarget(symlink, relTarget);
|
|
5134
|
+
}
|
|
5135
|
+
async linkBinPath(target, sym, options = {}) {
|
|
5136
|
+
const relTarget = Path.relative(this._binDir, target);
|
|
5137
|
+
const symlink = Path.join(this._binDir, sym);
|
|
5138
|
+
await this._mkBinDir();
|
|
5139
|
+
if (options.overwrite) {
|
|
5140
|
+
await this._rmBinLink(symlink);
|
|
5141
|
+
}
|
|
5142
|
+
if (!await this._ensureGoodLink(symlink, relTarget)) {
|
|
5143
|
+
await this._generateBinLink(relTarget, symlink);
|
|
5144
|
+
}
|
|
5145
|
+
await this._chmod(target);
|
|
5146
|
+
return relTarget;
|
|
5147
|
+
}
|
|
5148
|
+
async removeBinLink(sym) {
|
|
5149
|
+
await this._rmBinLink(Path.join(this._binDir, sym));
|
|
5150
|
+
}
|
|
5563
5151
|
async clearExtras() {
|
|
5564
5152
|
try {
|
|
5565
5153
|
const bins = await this._readBinLinks();
|
|
@@ -5742,13 +5330,16 @@ class PkgBinLinker extends PkgBinLinkerBase {
|
|
|
5742
5330
|
//
|
|
5743
5331
|
// Platform specific
|
|
5744
5332
|
//
|
|
5745
|
-
async
|
|
5333
|
+
async _isBinLinkTarget(symlink, target) {
|
|
5746
5334
|
try {
|
|
5747
|
-
|
|
5748
|
-
if (existTarget === target) {
|
|
5749
|
-
return true;
|
|
5750
|
-
}
|
|
5335
|
+
return await Fs.readlink(symlink) === target;
|
|
5751
5336
|
} catch (err) {
|
|
5337
|
+
return false;
|
|
5338
|
+
}
|
|
5339
|
+
}
|
|
5340
|
+
async _ensureGoodLink(symlink, target) {
|
|
5341
|
+
if (await this._isBinLinkTarget(symlink, target)) {
|
|
5342
|
+
return true;
|
|
5752
5343
|
}
|
|
5753
5344
|
await this._rmBinLink(symlink);
|
|
5754
5345
|
return false;
|
|
@@ -5818,13 +5409,17 @@ class PkgBinLinkerWin32 extends PkgBinLinkerBase {
|
|
|
5818
5409
|
//
|
|
5819
5410
|
// Platform specific
|
|
5820
5411
|
//
|
|
5821
|
-
async
|
|
5412
|
+
async _isBinLinkTarget(symlink, target) {
|
|
5822
5413
|
try {
|
|
5823
5414
|
const existTarget = (await Fs.readFile(symlink)).toString();
|
|
5824
|
-
|
|
5825
|
-
return true;
|
|
5826
|
-
}
|
|
5415
|
+
return existTarget.indexOf(target) >= 0;
|
|
5827
5416
|
} catch (err) {
|
|
5417
|
+
return false;
|
|
5418
|
+
}
|
|
5419
|
+
}
|
|
5420
|
+
async _ensureGoodLink(symlink, target) {
|
|
5421
|
+
if (await this._isBinLinkTarget(symlink, target)) {
|
|
5422
|
+
return true;
|
|
5828
5423
|
}
|
|
5829
5424
|
await this._rmBinLink(symlink);
|
|
5830
5425
|
return false;
|
|
@@ -6179,6 +5774,39 @@ class PkgDepLocker {
|
|
|
6179
5774
|
hasLock(item) {
|
|
6180
5775
|
return Boolean(this._enable && this._lockData[item.name]);
|
|
6181
5776
|
}
|
|
5777
|
+
normalizeTarballUrl(item, tarballUrl) {
|
|
5778
|
+
if (!tarballUrl || !this._fyn || !this._fyn._pkgSrcMgr) {
|
|
5779
|
+
return tarballUrl;
|
|
5780
|
+
}
|
|
5781
|
+
const currentRegistry = this._fyn._pkgSrcMgr.getRegistryUrl(item.name);
|
|
5782
|
+
if (!currentRegistry || tarballUrl.startsWith(currentRegistry)) {
|
|
5783
|
+
return tarballUrl;
|
|
5784
|
+
}
|
|
5785
|
+
try {
|
|
5786
|
+
const currentUrl = new URL(currentRegistry);
|
|
5787
|
+
const lockedUrl = new URL(tarballUrl);
|
|
5788
|
+
const currentPath = decodeURIComponent(currentUrl.pathname);
|
|
5789
|
+
const lockedPath = decodeURIComponent(lockedUrl.pathname);
|
|
5790
|
+
if (lockedPath.startsWith(currentPath)) {
|
|
5791
|
+
lockedUrl.protocol = currentUrl.protocol;
|
|
5792
|
+
lockedUrl.username = currentUrl.username;
|
|
5793
|
+
lockedUrl.password = currentUrl.password;
|
|
5794
|
+
lockedUrl.host = currentUrl.host;
|
|
5795
|
+
return lockedUrl.toString();
|
|
5796
|
+
}
|
|
5797
|
+
const tarballMarker = `/${item.name}/-/`;
|
|
5798
|
+
const markerIndex = lockedPath.indexOf(tarballMarker);
|
|
5799
|
+
if (markerIndex >= 0) {
|
|
5800
|
+
const rebuiltUrl = new URL(lockedPath.slice(markerIndex + 1), currentRegistry);
|
|
5801
|
+
rebuiltUrl.search = lockedUrl.search;
|
|
5802
|
+
rebuiltUrl.hash = lockedUrl.hash;
|
|
5803
|
+
return rebuiltUrl.toString();
|
|
5804
|
+
}
|
|
5805
|
+
} catch (err) {
|
|
5806
|
+
return tarballUrl;
|
|
5807
|
+
}
|
|
5808
|
+
return tarballUrl;
|
|
5809
|
+
}
|
|
6182
5810
|
//
|
|
6183
5811
|
// convert from fyn lock format to npm meta format
|
|
6184
5812
|
//
|
|
@@ -6201,18 +5829,7 @@ class PkgDepLocker {
|
|
|
6201
5829
|
fullPath: vpkg._
|
|
6202
5830
|
};
|
|
6203
5831
|
} 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
|
-
}
|
|
5832
|
+
const tarballUrl = this.normalizeTarballUrl(item, vpkg._);
|
|
6216
5833
|
vpkg.dist = {
|
|
6217
5834
|
integrity: fyntil.shaToIntegrity(vpkg.$),
|
|
6218
5835
|
tarball: tarballUrl
|
|
@@ -6466,7 +6083,7 @@ const _ = __webpack_require__("./node_modules/.f/_/lodash/4.17.21/lodash/lodash.
|
|
|
6466
6083
|
const Fs = __webpack_require__("./lib/util/file-ops.ts");
|
|
6467
6084
|
const Path = __webpack_require__("path");
|
|
6468
6085
|
const semverUtil = __webpack_require__("./lib/util/semver.ts");
|
|
6469
|
-
const Semver = __webpack_require__("./node_modules/.f/_/semver/7.7.
|
|
6086
|
+
const Semver = __webpack_require__("./node_modules/.f/_/semver/7.7.4/semver/index.js");
|
|
6470
6087
|
const chalk = __webpack_require__("./node_modules/.f/_/chalk/4.1.2/chalk/source/index.js");
|
|
6471
6088
|
const logger = __webpack_require__("./lib/logger.ts");
|
|
6472
6089
|
const DepItem = __webpack_require__("./lib/dep-item.ts");
|
|
@@ -8405,7 +8022,7 @@ module.exports = PkgInstaller;
|
|
|
8405
8022
|
"use strict";
|
|
8406
8023
|
|
|
8407
8024
|
const assert = __webpack_require__("assert");
|
|
8408
|
-
const xsh = __webpack_require__("./node_modules/.f/_/xsh/0.4.6
|
|
8025
|
+
const xsh = __webpack_require__("./node_modules/.f/_/xsh/0.4.6/xsh/lib/index.js");
|
|
8409
8026
|
const _ = __webpack_require__("./node_modules/.f/_/lodash/4.17.21/lodash/lodash.min.js");
|
|
8410
8027
|
const Promise = __webpack_require__("./lib/util/aveazul.ts");
|
|
8411
8028
|
const PromiseQueue = __webpack_require__("./lib/util/promise-queue.ts");
|
|
@@ -8688,7 +8305,7 @@ const longPending = __webpack_require__("./lib/long-pending.ts");
|
|
|
8688
8305
|
const { LOCAL_VERSION_MAPS, PACKAGE_RAW_INFO, DEP_ITEM } = __webpack_require__("./lib/symbols.ts");
|
|
8689
8306
|
const { LONG_WAIT_META, FETCH_META, FETCH_PACKAGE } = __webpack_require__("./lib/log-items.ts");
|
|
8690
8307
|
const PkgPreper = __webpack_require__("./node_modules/.f/_/pkg-preper/0.1.6-fynlocal_h/pkg-preper/lib/pkg-preper.js");
|
|
8691
|
-
const VisualExec = __webpack_require__("./node_modules/.f/_/visual-exec/0.
|
|
8308
|
+
const VisualExec = __webpack_require__("./node_modules/.f/_/visual-exec/0.1.14/visual-exec/lib/visual-exec.js");
|
|
8692
8309
|
const { readPkgJson, missPipe } = __webpack_require__("./lib/util/fyntil.ts");
|
|
8693
8310
|
const { MARK_URL_SPEC } = __webpack_require__("./lib/constants.ts");
|
|
8694
8311
|
const nodeFetch = __webpack_require__("./node_modules/.f/_/node-fetch-npm/2.0.4/node-fetch-npm/src/index.js");
|
|
@@ -9207,7 +8824,41 @@ class PkgSrcManager {
|
|
|
9207
8824
|
return inflight;
|
|
9208
8825
|
}
|
|
9209
8826
|
const packumentUrl = this.makePackumentUrl(pkgName);
|
|
9210
|
-
const cacheKey = `make-fetch-happen:request-cache
|
|
8827
|
+
const cacheKey = `make-fetch-happen:request-cache:${packumentUrl}`;
|
|
8828
|
+
const legacyCacheKey = `make-fetch-happen:request-cache:full:${packumentUrl}`;
|
|
8829
|
+
const cacheKeys = [cacheKey, legacyCacheKey];
|
|
8830
|
+
const loadCachedPackument = async (key, memoize = true) => {
|
|
8831
|
+
try {
|
|
8832
|
+
const cached = await cacache.get(this._cacheDir, key, { memoize });
|
|
8833
|
+
const info = await getCacheInfoWithRefreshTime(this._cacheDir, key);
|
|
8834
|
+
return Object.assign(cached, {
|
|
8835
|
+
refreshTime: info && info.refreshTime,
|
|
8836
|
+
cacheKey: key
|
|
8837
|
+
});
|
|
8838
|
+
} catch (err) {
|
|
8839
|
+
if (err.code === "ENOENT") {
|
|
8840
|
+
return void 0;
|
|
8841
|
+
}
|
|
8842
|
+
throw err;
|
|
8843
|
+
}
|
|
8844
|
+
};
|
|
8845
|
+
const loadBestCachedPackument = async (memoize = true) => {
|
|
8846
|
+
const cachedEntries = (await Promise.all(cacheKeys.map((key) => loadCachedPackument(key, memoize)))).filter(Boolean);
|
|
8847
|
+
if (cachedEntries.length === 0) {
|
|
8848
|
+
return void 0;
|
|
8849
|
+
}
|
|
8850
|
+
return _.maxBy(cachedEntries, (cached) => cached.refreshTime || 0) || cachedEntries[0];
|
|
8851
|
+
};
|
|
8852
|
+
const readMemoizedPackument = async () => {
|
|
8853
|
+
const memoized = await loadBestCachedPackument(false);
|
|
8854
|
+
if (!(memoized && memoized.data)) {
|
|
8855
|
+
return void 0;
|
|
8856
|
+
}
|
|
8857
|
+
logger.debug(`using memoized packument cache for '${pkgName}'`);
|
|
8858
|
+
cacheMemoized = true;
|
|
8859
|
+
this._metaStat.wait--;
|
|
8860
|
+
return JSON.parse(memoized.data.toString());
|
|
8861
|
+
};
|
|
9211
8862
|
const queueMetaFetchRequest = (cached) => {
|
|
9212
8863
|
const offline = this._fyn.remoteMetaDisabled;
|
|
9213
8864
|
if (cached && this._fyn.forceCache) {
|
|
@@ -9240,15 +8891,7 @@ class PkgSrcManager {
|
|
|
9240
8891
|
// when the semver is a url then the meta is not from npm registry and
|
|
9241
8892
|
// we can't use the cache for registry
|
|
9242
8893
|
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) => {
|
|
8894
|
+
) : loadBestCachedPackument(true)).then((cached) => {
|
|
9252
8895
|
const packument = cached && cached.data && JSON.parse(cached.data);
|
|
9253
8896
|
foundCache = cached;
|
|
9254
8897
|
if (cached && cached.refreshTime) {
|
|
@@ -9264,14 +8907,26 @@ class PkgSrcManager {
|
|
|
9264
8907
|
}
|
|
9265
8908
|
}
|
|
9266
8909
|
if (cached && metaMemoizeUrl) {
|
|
9267
|
-
const
|
|
9268
|
-
|
|
9269
|
-
|
|
8910
|
+
const checkMemoizedCache = async () => {
|
|
8911
|
+
for (const key of cacheKeys) {
|
|
8912
|
+
const encKey = encodeURIComponent(key);
|
|
8913
|
+
const res = await nodeFetch(`${metaMemoizeUrl}?key=${encKey}`);
|
|
9270
8914
|
if (res.status === 200) {
|
|
9271
|
-
|
|
9272
|
-
|
|
9273
|
-
|
|
9274
|
-
|
|
8915
|
+
return true;
|
|
8916
|
+
}
|
|
8917
|
+
}
|
|
8918
|
+
return false;
|
|
8919
|
+
};
|
|
8920
|
+
return checkMemoizedCache().then(
|
|
8921
|
+
async (hasMemoizedCache) => {
|
|
8922
|
+
if (hasMemoizedCache) {
|
|
8923
|
+
const memoizedPackument = await readMemoizedPackument();
|
|
8924
|
+
if (memoizedPackument) {
|
|
8925
|
+
return memoizedPackument;
|
|
8926
|
+
}
|
|
8927
|
+
logger.warn(
|
|
8928
|
+
`memoized packument cache for '${pkgName}' was signaled but cache entry was missing; refetching`
|
|
8929
|
+
);
|
|
9275
8930
|
}
|
|
9276
8931
|
return queueMetaFetchRequest(packument);
|
|
9277
8932
|
},
|
|
@@ -9462,303 +9117,6 @@ module.exports = PkgSrcManager;
|
|
|
9462
9117
|
module.exports.META_CACHE_STALE_TIME = META_CACHE_STALE_TIME;
|
|
9463
9118
|
|
|
9464
9119
|
|
|
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
9120
|
/***/ }),
|
|
9763
9121
|
|
|
9764
9122
|
/***/ "./lib/symbols.ts":
|
|
@@ -10201,7 +9559,7 @@ const Path = __webpack_require__("path");
|
|
|
10201
9559
|
const Fs = __webpack_require__("./lib/util/file-ops.ts");
|
|
10202
9560
|
const fs = __webpack_require__("fs");
|
|
10203
9561
|
const xaa = __webpack_require__("./lib/util/xaa.ts");
|
|
10204
|
-
const npmPacklist = __webpack_require__("./node_modules/.f/_/npm-packlist/10.0.
|
|
9562
|
+
const npmPacklist = __webpack_require__("./node_modules/.f/_/npm-packlist/10.0.4/npm-packlist/lib/index.js");
|
|
10205
9563
|
const Arborist = __webpack_require__("./node_modules/.f/_/@npmcli/arborist/9.1.6/@npmcli/arborist/lib/index.js");
|
|
10206
9564
|
const fynTil = __webpack_require__("./lib/util/fyntil.ts");
|
|
10207
9565
|
const logger = __webpack_require__("./lib/logger.ts");
|
|
@@ -10731,7 +10089,7 @@ module.exports = { addNpmLifecycle, runNpmScript };
|
|
|
10731
10089
|
|
|
10732
10090
|
"use strict";
|
|
10733
10091
|
|
|
10734
|
-
const Semver = __webpack_require__("./node_modules/.f/_/semver/7.7.
|
|
10092
|
+
const Semver = __webpack_require__("./node_modules/.f/_/semver/7.7.4/semver/index.js");
|
|
10735
10093
|
const Path = __webpack_require__("path");
|
|
10736
10094
|
const os = __webpack_require__("os");
|
|
10737
10095
|
function split(v, sep, index = 0) {
|
|
@@ -10922,7 +10280,7 @@ const Path = __webpack_require__("path");
|
|
|
10922
10280
|
const requireAt = __webpack_require__("./node_modules/.f/_/require-at/1.0.6/require-at/require-at.js");
|
|
10923
10281
|
const logger = __webpack_require__("./lib/logger.ts");
|
|
10924
10282
|
const { getGlobalNodeModules } = __webpack_require__("./lib/util/fyntil.ts");
|
|
10925
|
-
const xsh = __webpack_require__("./node_modules/.f/_/xsh/0.4.6
|
|
10283
|
+
const xsh = __webpack_require__("./node_modules/.f/_/xsh/0.4.6/xsh/lib/index.js");
|
|
10926
10284
|
let nodeGypBinPath;
|
|
10927
10285
|
function _searchNodeGypBin({ npmDir, searchPath }) {
|
|
10928
10286
|
if (!nodeGypBinPath) {
|
|
@@ -11015,7 +10373,7 @@ module.exports = function _sortObjKeys(obj) {
|
|
|
11015
10373
|
|
|
11016
10374
|
const Fs = __webpack_require__("./lib/util/file-ops.ts");
|
|
11017
10375
|
const Path = __webpack_require__("path");
|
|
11018
|
-
const mm = __webpack_require__("./node_modules/.f/_/minimatch/3.1.
|
|
10376
|
+
const mm = __webpack_require__("./node_modules/.f/_/minimatch/3.1.5/minimatch/minimatch.js");
|
|
11019
10377
|
const filterScanDir = __webpack_require__("./node_modules/.f/_/filter-scan-dir/1.6.0/filter-scan-dir/index.cjs");
|
|
11020
10378
|
async function _scanFileStats(dir, ignores, baseDir = "") {
|
|
11021
10379
|
const ignore = (fullPath) => ignores.find((pattern) => mm(fullPath, pattern, { dot: true }));
|
|
@@ -11082,7 +10440,7 @@ exports.processLifecycleInput = processLifecycleInput;
|
|
|
11082
10440
|
exports.processOutput = processOutput;
|
|
11083
10441
|
const tslib_1 = __webpack_require__("./node_modules/.f/_/tslib/2.8.1/tslib/tslib.es6.mjs");
|
|
11084
10442
|
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.
|
|
10443
|
+
const minimatch_1 = tslib_1.__importDefault(__webpack_require__("./node_modules/.f/_/minimatch/3.1.5/minimatch/minimatch.js"));
|
|
11086
10444
|
const lodash_1 = tslib_1.__importDefault(__webpack_require__("./node_modules/.f/_/lodash/4.17.21/lodash/lodash.min.js"));
|
|
11087
10445
|
const fs_1 = tslib_1.__importDefault(__webpack_require__("fs"));
|
|
11088
10446
|
const path_1 = tslib_1.__importDefault(__webpack_require__("path"));
|
|
@@ -11340,9 +10698,9 @@ const assert_1 = tslib_1.__importDefault(__webpack_require__("assert"));
|
|
|
11340
10698
|
const path_1 = tslib_1.__importDefault(__webpack_require__("path"));
|
|
11341
10699
|
const fs_1 = __webpack_require__("fs");
|
|
11342
10700
|
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.
|
|
10701
|
+
const minimatch_1 = tslib_1.__importDefault(__webpack_require__("./node_modules/.f/_/minimatch/3.1.5/minimatch/minimatch.js"));
|
|
11344
10702
|
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.7.
|
|
10703
|
+
const semver_1 = tslib_1.__importDefault(__webpack_require__("./node_modules/.f/_/semver/7.7.4/semver/index.js"));
|
|
11346
10704
|
const minimatch_group_1 = __webpack_require__("./node_modules/.f/_/@fynpo/base/1.1.22-fynlocal_h/@fynpo/base/dist/minimatch-group.js");
|
|
11347
10705
|
const util_1 = __webpack_require__("./node_modules/.f/_/@fynpo/base/1.1.22-fynlocal_h/@fynpo/base/dist/util.js");
|
|
11348
10706
|
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 +11265,7 @@ const tslib_1 = __webpack_require__("./node_modules/.f/_/tslib/2.8.1/tslib/tslib
|
|
|
11907
11265
|
const path_1 = tslib_1.__importDefault(__webpack_require__("path"));
|
|
11908
11266
|
const fs_1 = __webpack_require__("fs");
|
|
11909
11267
|
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.
|
|
11268
|
+
const minimatch_1 = tslib_1.__importDefault(__webpack_require__("./node_modules/.f/_/minimatch/3.1.5/minimatch/minimatch.js"));
|
|
11911
11269
|
const lodash_1 = tslib_1.__importDefault(__webpack_require__("./node_modules/.f/_/lodash/4.17.21/lodash/lodash.min.js"));
|
|
11912
11270
|
const minimatch_group_1 = __webpack_require__("./node_modules/.f/_/@fynpo/base/1.1.22-fynlocal_h/@fynpo/base/dist/minimatch-group.js");
|
|
11913
11271
|
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 +11472,7 @@ exports.deconstructMM = deconstructMM;
|
|
|
12114
11472
|
exports.checkMmMatch = checkMmMatch;
|
|
12115
11473
|
exports.unrollMmMatch = unrollMmMatch;
|
|
12116
11474
|
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.
|
|
11475
|
+
const minimatch_1 = tslib_1.__importDefault(__webpack_require__("./node_modules/.f/_/minimatch/3.1.5/minimatch/minimatch.js"));
|
|
12118
11476
|
const lodash_1 = tslib_1.__importDefault(__webpack_require__("./node_modules/.f/_/lodash/4.17.21/lodash/lodash.min.js"));
|
|
12119
11477
|
function groupMM(mms, groups) {
|
|
12120
11478
|
mms.forEach((mm) => {
|
|
@@ -13426,7 +12784,7 @@ const { lstat, readlink } = __webpack_require__("node:fs/promises");
|
|
|
13426
12784
|
const { depth } = __webpack_require__("./node_modules/.f/_/treeverse/3.0.0/treeverse/lib/index.js");
|
|
13427
12785
|
const { log, time } = __webpack_require__("./node_modules/.f/_/proc-log/5.0.0/proc-log/lib/index.js");
|
|
13428
12786
|
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.7.
|
|
12787
|
+
const semver = __webpack_require__("./node_modules/.f/_/semver/7.7.4/semver/index.js");
|
|
13430
12788
|
const {
|
|
13431
12789
|
OK,
|
|
13432
12790
|
REPLACE,
|
|
@@ -15986,7 +15344,7 @@ const { dirname, resolve, relative, join } = __webpack_require__("node:path");
|
|
|
15986
15344
|
const { log, time } = __webpack_require__("./node_modules/.f/_/proc-log/5.0.0/proc-log/lib/index.js");
|
|
15987
15345
|
const { lstat, mkdir, rm, symlink } = __webpack_require__("node:fs/promises");
|
|
15988
15346
|
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.7.
|
|
15347
|
+
const { subset, intersects } = __webpack_require__("./node_modules/.f/_/semver/7.7.4/semver/index.js");
|
|
15990
15348
|
const { walkUp } = __webpack_require__("./node_modules/.f/_/walk-up-path/4.0.0/walk-up-path/dist/commonjs/index.js");
|
|
15991
15349
|
const AuditReport = __webpack_require__("./node_modules/.f/_/@npmcli/arborist/9.1.6/@npmcli/arborist/lib/audit-report.js");
|
|
15992
15350
|
const Diff = __webpack_require__("./node_modules/.f/_/@npmcli/arborist/9.1.6/@npmcli/arborist/lib/diff.js");
|
|
@@ -17377,7 +16735,7 @@ module.exports = calcDepFlags;
|
|
|
17377
16735
|
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
|
|
17378
16736
|
|
|
17379
16737
|
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.7.
|
|
16738
|
+
const semver = __webpack_require__("./node_modules/.f/_/semver/7.7.4/semver/index.js");
|
|
17381
16739
|
const debug = __webpack_require__("./node_modules/.f/_/@npmcli/arborist/9.1.6/@npmcli/arborist/lib/debug.js");
|
|
17382
16740
|
const peerEntrySets = __webpack_require__("./node_modules/.f/_/@npmcli/arborist/9.1.6/@npmcli/arborist/lib/peer-entry-sets.js");
|
|
17383
16741
|
const deepestNestingTarget = __webpack_require__("./node_modules/.f/_/@npmcli/arborist/9.1.6/@npmcli/arborist/lib/deepest-nesting-target.js");
|
|
@@ -17784,7 +17142,7 @@ module.exports = deepestNestingTarget;
|
|
|
17784
17142
|
/***/ "./node_modules/.f/_/@npmcli/arborist/9.1.6/@npmcli/arborist/lib/dep-valid.js":
|
|
17785
17143
|
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
|
|
17786
17144
|
|
|
17787
|
-
const semver = __webpack_require__("./node_modules/.f/_/semver/7.7.
|
|
17145
|
+
const semver = __webpack_require__("./node_modules/.f/_/semver/7.7.4/semver/index.js");
|
|
17788
17146
|
const npa = __webpack_require__("./node_modules/.f/_/npm-package-arg/13.0.1/npm-package-arg/lib/npa.js");
|
|
17789
17147
|
const { relative } = __webpack_require__("node:path");
|
|
17790
17148
|
const fromPath = __webpack_require__("./node_modules/.f/_/@npmcli/arborist/9.1.6/@npmcli/arborist/lib/from-path.js");
|
|
@@ -18708,7 +18066,7 @@ module.exports = Link;
|
|
|
18708
18066
|
const PackageJson = __webpack_require__("./node_modules/.f/_/@npmcli/package-json/7.0.1/@npmcli/package-json/lib/index.js");
|
|
18709
18067
|
const nameFromFolder = __webpack_require__("./node_modules/.f/_/@npmcli/name-from-folder/3.0.0/@npmcli/name-from-folder/lib/index.js");
|
|
18710
18068
|
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.7.
|
|
18069
|
+
const semver = __webpack_require__("./node_modules/.f/_/semver/7.7.4/semver/index.js");
|
|
18712
18070
|
const util = __webpack_require__("node:util");
|
|
18713
18071
|
const { getPaths: getBinPaths } = __webpack_require__("./node_modules/.f/_/bin-links/5.0.0/bin-links/lib/index.js");
|
|
18714
18072
|
const { log } = __webpack_require__("./node_modules/.f/_/proc-log/5.0.0/proc-log/lib/index.js");
|
|
@@ -19892,7 +19250,7 @@ module.exports = { overrideResolves };
|
|
|
19892
19250
|
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
|
|
19893
19251
|
|
|
19894
19252
|
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.7.
|
|
19253
|
+
const semver = __webpack_require__("./node_modules/.f/_/semver/7.7.4/semver/index.js");
|
|
19896
19254
|
const { log } = __webpack_require__("./node_modules/.f/_/proc-log/5.0.0/proc-log/lib/index.js");
|
|
19897
19255
|
class OverrideSet {
|
|
19898
19256
|
constructor({ overrides, key, parent }) {
|
|
@@ -20687,7 +20045,7 @@ const { log } = __webpack_require__("./node_modules/.f/_/proc-log/5.0.0/proc-log
|
|
|
20687
20045
|
const { minimatch } = __webpack_require__("./node_modules/.f/_/minimatch/10.1.1/minimatch/dist/commonjs/index.js");
|
|
20688
20046
|
const npa = __webpack_require__("./node_modules/.f/_/npm-package-arg/13.0.1/npm-package-arg/lib/npa.js");
|
|
20689
20047
|
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.7.
|
|
20048
|
+
const semver = __webpack_require__("./node_modules/.f/_/semver/7.7.4/semver/index.js");
|
|
20691
20049
|
const npmFetch = __webpack_require__("./node_modules/.f/_/npm-registry-fetch/19.1.0/npm-registry-fetch/lib/index.js");
|
|
20692
20050
|
class Results {
|
|
20693
20051
|
#currentAstSelector;
|
|
@@ -22725,7 +22083,7 @@ debug(() => module.exports = checkTree);
|
|
|
22725
22083
|
/***/ "./node_modules/.f/_/@npmcli/arborist/9.1.6/@npmcli/arborist/lib/version-from-tgz.js":
|
|
22726
22084
|
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
|
|
22727
22085
|
|
|
22728
|
-
const semver = __webpack_require__("./node_modules/.f/_/semver/7.7.
|
|
22086
|
+
const semver = __webpack_require__("./node_modules/.f/_/semver/7.7.4/semver/index.js");
|
|
22729
22087
|
const { basename } = __webpack_require__("node:path");
|
|
22730
22088
|
const { URL } = __webpack_require__("node:url");
|
|
22731
22089
|
module.exports = (name, tgz) => {
|
|
@@ -22769,7 +22127,7 @@ const versionFromBaseScopeName = (base, scope, name) => {
|
|
|
22769
22127
|
/***/ "./node_modules/.f/_/@npmcli/arborist/9.1.6/@npmcli/arborist/lib/vuln.js":
|
|
22770
22128
|
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
|
|
22771
22129
|
|
|
22772
|
-
const { satisfies, simplifyRange } = __webpack_require__("./node_modules/.f/_/semver/7.7.
|
|
22130
|
+
const { satisfies, simplifyRange } = __webpack_require__("./node_modules/.f/_/semver/7.7.4/semver/index.js");
|
|
22773
22131
|
const semverOpt = { loose: true, includePrerelease: true };
|
|
22774
22132
|
const localeCompare = __webpack_require__("./node_modules/.f/_/@isaacs/string-locale-compare/1.1.0/@isaacs/string-locale-compare/index.js")("en");
|
|
22775
22133
|
const npa = __webpack_require__("./node_modules/.f/_/npm-package-arg/13.0.1/npm-package-arg/lib/npa.js");
|
|
@@ -23204,7 +22562,7 @@ module.exports = getOptions;
|
|
|
23204
22562
|
/***/ "./node_modules/.f/_/@npmcli/fs/4.0.0/@npmcli/fs/lib/common/node.js":
|
|
23205
22563
|
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
|
|
23206
22564
|
|
|
23207
|
-
const semver = __webpack_require__("./node_modules/.f/_/semver/7.7.
|
|
22565
|
+
const semver = __webpack_require__("./node_modules/.f/_/semver/7.7.4/semver/index.js");
|
|
23208
22566
|
const satisfies = (range) => {
|
|
23209
22567
|
return semver.satisfies(process.version, range, { includePrerelease: true });
|
|
23210
22568
|
};
|
|
@@ -24072,7 +23430,7 @@ module.exports = ({ cwd = process.cwd() } = {}) => stat(cwd + "/.git").then(() =
|
|
|
24072
23430
|
/***/ "./node_modules/.f/_/@npmcli/git/7.0.0/@npmcli/git/lib/lines-to-revs.js":
|
|
24073
23431
|
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
|
|
24074
23432
|
|
|
24075
|
-
const semver = __webpack_require__("./node_modules/.f/_/semver/7.7.
|
|
23433
|
+
const semver = __webpack_require__("./node_modules/.f/_/semver/7.7.4/semver/index.js");
|
|
24076
23434
|
module.exports = (lines) => finish(lines.reduce(linesToRevsReducer, {
|
|
24077
23435
|
versions: {},
|
|
24078
23436
|
"dist-tags": {},
|
|
@@ -24685,7 +24043,7 @@ module.exports = mapWorkspaces;
|
|
|
24685
24043
|
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
|
|
24686
24044
|
|
|
24687
24045
|
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.7.
|
|
24046
|
+
const semver = __webpack_require__("./node_modules/.f/_/semver/7.7.4/semver/index.js");
|
|
24689
24047
|
const semverOpt = { includePrerelease: true, loose: true };
|
|
24690
24048
|
const getDepSpec = __webpack_require__("./node_modules/.f/_/@npmcli/metavuln-calculator/9.0.3/@npmcli/metavuln-calculator/lib/get-dep-spec.js");
|
|
24691
24049
|
const _source = Symbol("source");
|
|
@@ -25661,8 +25019,8 @@ module.exports = { normalizeData };
|
|
|
25661
25019
|
/***/ "./node_modules/.f/_/@npmcli/package-json/7.0.1/@npmcli/package-json/lib/normalize.js":
|
|
25662
25020
|
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
|
|
25663
25021
|
|
|
25664
|
-
const valid = __webpack_require__("./node_modules/.f/_/semver/7.7.
|
|
25665
|
-
const clean = __webpack_require__("./node_modules/.f/_/semver/7.7.
|
|
25022
|
+
const valid = __webpack_require__("./node_modules/.f/_/semver/7.7.4/semver/functions/valid.js");
|
|
25023
|
+
const clean = __webpack_require__("./node_modules/.f/_/semver/7.7.4/semver/functions/clean.js");
|
|
25666
25024
|
const fs = __webpack_require__("node:fs/promises");
|
|
25667
25025
|
const path = __webpack_require__("node:path");
|
|
25668
25026
|
const { log } = __webpack_require__("./node_modules/.f/_/proc-log/5.0.0/proc-log/lib/index.js");
|
|
@@ -49890,7 +49248,7 @@ function ownProp(obj, field) {
|
|
|
49890
49248
|
return Object.prototype.hasOwnProperty.call(obj, field);
|
|
49891
49249
|
}
|
|
49892
49250
|
var path = __webpack_require__("path");
|
|
49893
|
-
var minimatch = __webpack_require__("./node_modules/.f/_/minimatch/3.1.
|
|
49251
|
+
var minimatch = __webpack_require__("./node_modules/.f/_/minimatch/3.1.5/minimatch/minimatch.js");
|
|
49894
49252
|
var isAbsolute = __webpack_require__("./node_modules/.f/_/path-is-absolute/1.0.1/path-is-absolute/index.js");
|
|
49895
49253
|
var Minimatch = minimatch.Minimatch;
|
|
49896
49254
|
function alphasorti(a, b) {
|
|
@@ -50077,7 +49435,7 @@ function childrenIgnored(self, path2) {
|
|
|
50077
49435
|
module.exports = glob;
|
|
50078
49436
|
var fs = __webpack_require__("fs");
|
|
50079
49437
|
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.
|
|
49438
|
+
var minimatch = __webpack_require__("./node_modules/.f/_/minimatch/3.1.5/minimatch/minimatch.js");
|
|
50081
49439
|
var Minimatch = minimatch.Minimatch;
|
|
50082
49440
|
var inherits = __webpack_require__("./node_modules/.f/_/inherits/2.0.4/inherits/inherits.js");
|
|
50083
49441
|
var EE = (__webpack_require__("events").EventEmitter);
|
|
@@ -50636,7 +49994,7 @@ module.exports = globSync;
|
|
|
50636
49994
|
globSync.GlobSync = GlobSync;
|
|
50637
49995
|
var fs = __webpack_require__("fs");
|
|
50638
49996
|
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.
|
|
49997
|
+
var minimatch = __webpack_require__("./node_modules/.f/_/minimatch/3.1.5/minimatch/minimatch.js");
|
|
50640
49998
|
var Minimatch = minimatch.Minimatch;
|
|
50641
49999
|
var Glob = (__webpack_require__("./node_modules/.f/_/glob/7.1.6/glob/glob.js").Glob);
|
|
50642
50000
|
var util = __webpack_require__("util");
|
|
@@ -53818,7 +53176,7 @@ const normalizeSignal = function({
|
|
|
53818
53176
|
|
|
53819
53177
|
/***/ }),
|
|
53820
53178
|
|
|
53821
|
-
/***/ "./node_modules/.f/_/ignore-walk/8.0.0
|
|
53179
|
+
/***/ "./node_modules/.f/_/ignore-walk/8.0.0/ignore-walk/lib/index.js":
|
|
53822
53180
|
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
|
|
53823
53181
|
|
|
53824
53182
|
"use strict";
|
|
@@ -53866,13 +53224,7 @@ class Walker extends EE {
|
|
|
53866
53224
|
return ret;
|
|
53867
53225
|
}
|
|
53868
53226
|
start() {
|
|
53869
|
-
fs.readdir(this.path, (er, entries) =>
|
|
53870
|
-
try {
|
|
53871
|
-
er ? this.emit("error", er) : this.onReaddir(entries);
|
|
53872
|
-
} catch (err) {
|
|
53873
|
-
this.emit("error", err);
|
|
53874
|
-
}
|
|
53875
|
-
});
|
|
53227
|
+
fs.readdir(this.path, (er, entries) => er ? this.emit("error", er) : this.onReaddir(entries));
|
|
53876
53228
|
return this;
|
|
53877
53229
|
}
|
|
53878
53230
|
isIgnoreFile(e) {
|
|
@@ -54641,7 +53993,7 @@ const enquirer_1 = tslib_1.__importDefault(__webpack_require__("./node_modules/.
|
|
|
54641
53993
|
const lodash_1 = tslib_1.__importDefault(__webpack_require__("./node_modules/.f/_/lodash/4.17.21/lodash/lodash.min.js"));
|
|
54642
53994
|
const fs_1 = tslib_1.__importDefault(__webpack_require__("fs"));
|
|
54643
53995
|
const path_1 = tslib_1.__importDefault(__webpack_require__("path"));
|
|
54644
|
-
const semver_1 = tslib_1.__importDefault(__webpack_require__("./node_modules/.f/_/semver/7.7.
|
|
53996
|
+
const semver_1 = tslib_1.__importDefault(__webpack_require__("./node_modules/.f/_/semver/7.7.4/semver/index.js"));
|
|
54645
53997
|
function sortObj(obj) {
|
|
54646
53998
|
const out = {};
|
|
54647
53999
|
const sortedKeys = Object.keys(obj).sort().forEach((x) => {
|
|
@@ -63334,7 +62686,7 @@ module.exports["default"] = mimicFn;
|
|
|
63334
62686
|
|
|
63335
62687
|
/***/ }),
|
|
63336
62688
|
|
|
63337
|
-
/***/ "./node_modules/.f/_/minimatch/3.1.
|
|
62689
|
+
/***/ "./node_modules/.f/_/minimatch/3.1.5/minimatch/minimatch.js":
|
|
63338
62690
|
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
|
|
63339
62691
|
|
|
63340
62692
|
module.exports = minimatch;
|
|
@@ -63440,6 +62792,7 @@ function Minimatch(pattern, options) {
|
|
|
63440
62792
|
pattern = pattern.split(path.sep).join("/");
|
|
63441
62793
|
}
|
|
63442
62794
|
this.options = options;
|
|
62795
|
+
this.maxGlobstarRecursion = options.maxGlobstarRecursion !== void 0 ? options.maxGlobstarRecursion : 200;
|
|
63443
62796
|
this.set = [];
|
|
63444
62797
|
this.pattern = pattern;
|
|
63445
62798
|
this.regexp = null;
|
|
@@ -63597,6 +62950,7 @@ function parse(pattern, isSub) {
|
|
|
63597
62950
|
re += c;
|
|
63598
62951
|
continue;
|
|
63599
62952
|
}
|
|
62953
|
+
if (c === "*" && stateChar === "*") continue;
|
|
63600
62954
|
self.debug("call clearStateChar %j", stateChar);
|
|
63601
62955
|
clearStateChar();
|
|
63602
62956
|
stateChar = c;
|
|
@@ -63835,50 +63189,147 @@ Minimatch.prototype.match = function match(f, partial) {
|
|
|
63835
63189
|
return this.negate;
|
|
63836
63190
|
};
|
|
63837
63191
|
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
|
-
|
|
63192
|
+
if (pattern.indexOf(GLOBSTAR) !== -1) {
|
|
63193
|
+
return this._matchGlobstar(file, pattern, partial, 0, 0);
|
|
63194
|
+
}
|
|
63195
|
+
return this._matchOne(file, pattern, partial, 0, 0);
|
|
63196
|
+
};
|
|
63197
|
+
Minimatch.prototype._matchGlobstar = function(file, pattern, partial, fileIndex, patternIndex) {
|
|
63198
|
+
var i;
|
|
63199
|
+
var firstgs = -1;
|
|
63200
|
+
for (i = patternIndex; i < pattern.length; i++) {
|
|
63201
|
+
if (pattern[i] === GLOBSTAR) {
|
|
63202
|
+
firstgs = i;
|
|
63203
|
+
break;
|
|
63204
|
+
}
|
|
63205
|
+
}
|
|
63206
|
+
var lastgs = -1;
|
|
63207
|
+
for (i = pattern.length - 1; i >= 0; i--) {
|
|
63208
|
+
if (pattern[i] === GLOBSTAR) {
|
|
63209
|
+
lastgs = i;
|
|
63210
|
+
break;
|
|
63211
|
+
}
|
|
63212
|
+
}
|
|
63213
|
+
var head = pattern.slice(patternIndex, firstgs);
|
|
63214
|
+
var body = partial ? pattern.slice(firstgs + 1) : pattern.slice(firstgs + 1, lastgs);
|
|
63215
|
+
var tail = partial ? [] : pattern.slice(lastgs + 1);
|
|
63216
|
+
if (head.length) {
|
|
63217
|
+
var fileHead = file.slice(fileIndex, fileIndex + head.length);
|
|
63218
|
+
if (!this._matchOne(fileHead, head, partial, 0, 0)) {
|
|
63219
|
+
return false;
|
|
63220
|
+
}
|
|
63221
|
+
fileIndex += head.length;
|
|
63222
|
+
}
|
|
63223
|
+
var fileTailMatch = 0;
|
|
63224
|
+
if (tail.length) {
|
|
63225
|
+
if (tail.length + fileIndex > file.length) return false;
|
|
63226
|
+
var tailStart = file.length - tail.length;
|
|
63227
|
+
if (this._matchOne(file, tail, partial, tailStart, 0)) {
|
|
63228
|
+
fileTailMatch = tail.length;
|
|
63229
|
+
} else {
|
|
63230
|
+
if (file[file.length - 1] !== "" || fileIndex + tail.length === file.length) {
|
|
63231
|
+
return false;
|
|
63860
63232
|
}
|
|
63861
|
-
|
|
63862
|
-
|
|
63863
|
-
|
|
63864
|
-
if (this.matchOne(file.slice(fr), pattern.slice(pr), partial)) {
|
|
63865
|
-
this.debug("globstar found match!", fr, fl, swallowee);
|
|
63866
|
-
return true;
|
|
63867
|
-
} else {
|
|
63868
|
-
if (swallowee === "." || swallowee === ".." || !options.dot && swallowee.charAt(0) === ".") {
|
|
63869
|
-
this.debug("dot detected!", file, fr, pattern, pr);
|
|
63870
|
-
break;
|
|
63871
|
-
}
|
|
63872
|
-
this.debug("globstar swallow a segment, and continue");
|
|
63873
|
-
fr++;
|
|
63874
|
-
}
|
|
63233
|
+
tailStart--;
|
|
63234
|
+
if (!this._matchOne(file, tail, partial, tailStart, 0)) {
|
|
63235
|
+
return false;
|
|
63875
63236
|
}
|
|
63876
|
-
|
|
63877
|
-
|
|
63878
|
-
|
|
63237
|
+
fileTailMatch = tail.length + 1;
|
|
63238
|
+
}
|
|
63239
|
+
}
|
|
63240
|
+
if (!body.length) {
|
|
63241
|
+
var sawSome = !!fileTailMatch;
|
|
63242
|
+
for (i = fileIndex; i < file.length - fileTailMatch; i++) {
|
|
63243
|
+
var f = String(file[i]);
|
|
63244
|
+
sawSome = true;
|
|
63245
|
+
if (f === "." || f === ".." || !this.options.dot && f.charAt(0) === ".") {
|
|
63246
|
+
return false;
|
|
63879
63247
|
}
|
|
63248
|
+
}
|
|
63249
|
+
return partial || sawSome;
|
|
63250
|
+
}
|
|
63251
|
+
var bodySegments = [[[], 0]];
|
|
63252
|
+
var currentBody = bodySegments[0];
|
|
63253
|
+
var nonGsParts = 0;
|
|
63254
|
+
var nonGsPartsSums = [0];
|
|
63255
|
+
for (var bi = 0; bi < body.length; bi++) {
|
|
63256
|
+
var b = body[bi];
|
|
63257
|
+
if (b === GLOBSTAR) {
|
|
63258
|
+
nonGsPartsSums.push(nonGsParts);
|
|
63259
|
+
currentBody = [[], 0];
|
|
63260
|
+
bodySegments.push(currentBody);
|
|
63261
|
+
} else {
|
|
63262
|
+
currentBody[0].push(b);
|
|
63263
|
+
nonGsParts++;
|
|
63264
|
+
}
|
|
63265
|
+
}
|
|
63266
|
+
var idx = bodySegments.length - 1;
|
|
63267
|
+
var fileLength = file.length - fileTailMatch;
|
|
63268
|
+
for (var si = 0; si < bodySegments.length; si++) {
|
|
63269
|
+
bodySegments[si][1] = fileLength - (nonGsPartsSums[idx--] + bodySegments[si][0].length);
|
|
63270
|
+
}
|
|
63271
|
+
return !!this._matchGlobStarBodySections(
|
|
63272
|
+
file,
|
|
63273
|
+
bodySegments,
|
|
63274
|
+
fileIndex,
|
|
63275
|
+
0,
|
|
63276
|
+
partial,
|
|
63277
|
+
0,
|
|
63278
|
+
!!fileTailMatch
|
|
63279
|
+
);
|
|
63280
|
+
};
|
|
63281
|
+
Minimatch.prototype._matchGlobStarBodySections = function(file, bodySegments, fileIndex, bodyIndex, partial, globStarDepth, sawTail) {
|
|
63282
|
+
var bs = bodySegments[bodyIndex];
|
|
63283
|
+
if (!bs) {
|
|
63284
|
+
for (var i = fileIndex; i < file.length; i++) {
|
|
63285
|
+
sawTail = true;
|
|
63286
|
+
var f = file[i];
|
|
63287
|
+
if (f === "." || f === ".." || !this.options.dot && f.charAt(0) === ".") {
|
|
63288
|
+
return false;
|
|
63289
|
+
}
|
|
63290
|
+
}
|
|
63291
|
+
return sawTail;
|
|
63292
|
+
}
|
|
63293
|
+
var body = bs[0];
|
|
63294
|
+
var after = bs[1];
|
|
63295
|
+
while (fileIndex <= after) {
|
|
63296
|
+
var m = this._matchOne(
|
|
63297
|
+
file.slice(0, fileIndex + body.length),
|
|
63298
|
+
body,
|
|
63299
|
+
partial,
|
|
63300
|
+
fileIndex,
|
|
63301
|
+
0
|
|
63302
|
+
);
|
|
63303
|
+
if (m && globStarDepth < this.maxGlobstarRecursion) {
|
|
63304
|
+
var sub = this._matchGlobStarBodySections(
|
|
63305
|
+
file,
|
|
63306
|
+
bodySegments,
|
|
63307
|
+
fileIndex + body.length,
|
|
63308
|
+
bodyIndex + 1,
|
|
63309
|
+
partial,
|
|
63310
|
+
globStarDepth + 1,
|
|
63311
|
+
sawTail
|
|
63312
|
+
);
|
|
63313
|
+
if (sub !== false) {
|
|
63314
|
+
return sub;
|
|
63315
|
+
}
|
|
63316
|
+
}
|
|
63317
|
+
var f = file[fileIndex];
|
|
63318
|
+
if (f === "." || f === ".." || !this.options.dot && f.charAt(0) === ".") {
|
|
63880
63319
|
return false;
|
|
63881
63320
|
}
|
|
63321
|
+
fileIndex++;
|
|
63322
|
+
}
|
|
63323
|
+
return partial || null;
|
|
63324
|
+
};
|
|
63325
|
+
Minimatch.prototype._matchOne = function(file, pattern, partial, fileIndex, patternIndex) {
|
|
63326
|
+
var fi, pi, fl, pl;
|
|
63327
|
+
for (fi = fileIndex, pi = patternIndex, fl = file.length, pl = pattern.length; fi < fl && pi < pl; fi++, pi++) {
|
|
63328
|
+
this.debug("matchOne loop");
|
|
63329
|
+
var p = pattern[pi];
|
|
63330
|
+
var f = file[fi];
|
|
63331
|
+
this.debug(pattern, p, f);
|
|
63332
|
+
if (p === false || p === GLOBSTAR) return false;
|
|
63882
63333
|
var hit;
|
|
63883
63334
|
if (typeof p === "string") {
|
|
63884
63335
|
hit = f === p;
|
|
@@ -69293,7 +68744,7 @@ module.exports = findNodeDirectory;
|
|
|
69293
68744
|
"use strict";
|
|
69294
68745
|
|
|
69295
68746
|
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.7.
|
|
68747
|
+
const semver = __webpack_require__("./node_modules/.f/_/semver/7.7.4/semver/index.js");
|
|
69297
68748
|
const { execFile } = __webpack_require__("./node_modules/.f/_/node-gyp/11.5.0/node-gyp/lib/util.js");
|
|
69298
68749
|
const win = process.platform === "win32";
|
|
69299
68750
|
function getOsUserInfo() {
|
|
@@ -70124,7 +69575,7 @@ const path = __webpack_require__("path");
|
|
|
70124
69575
|
const { Transform, promises: { pipeline } } = __webpack_require__("stream");
|
|
70125
69576
|
const crypto = __webpack_require__("crypto");
|
|
70126
69577
|
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.7.
|
|
69578
|
+
const semver = __webpack_require__("./node_modules/.f/_/semver/7.7.4/semver/index.js");
|
|
70128
69579
|
const { download } = __webpack_require__("./node_modules/.f/_/node-gyp/11.5.0/node-gyp/lib/download.js");
|
|
70129
69580
|
const processRelease = __webpack_require__("./node_modules/.f/_/node-gyp/11.5.0/node-gyp/lib/process-release.js");
|
|
70130
69581
|
const win = process.platform === "win32";
|
|
@@ -70805,7 +70256,7 @@ module.exports.Gyp = Gyp;
|
|
|
70805
70256
|
|
|
70806
70257
|
"use strict";
|
|
70807
70258
|
|
|
70808
|
-
const semver = __webpack_require__("./node_modules/.f/_/semver/7.7.
|
|
70259
|
+
const semver = __webpack_require__("./node_modules/.f/_/semver/7.7.4/semver/index.js");
|
|
70809
70260
|
const url = __webpack_require__("url");
|
|
70810
70261
|
const path = __webpack_require__("path");
|
|
70811
70262
|
const log = __webpack_require__("./node_modules/.f/_/node-gyp/11.5.0/node-gyp/lib/log.js");
|
|
@@ -70932,7 +70383,7 @@ module.exports.usage = 'Runs "clean", "configure" and "build" all at once';
|
|
|
70932
70383
|
const fs = (__webpack_require__("./node_modules/.f/_/graceful-fs/4.2.11/graceful-fs/graceful-fs.js").promises);
|
|
70933
70384
|
const path = __webpack_require__("path");
|
|
70934
70385
|
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.7.
|
|
70386
|
+
const semver = __webpack_require__("./node_modules/.f/_/semver/7.7.4/semver/index.js");
|
|
70936
70387
|
async function remove(gyp, argv) {
|
|
70937
70388
|
const devDir = gyp.devDir;
|
|
70938
70389
|
log.verbose("remove", "using node-gyp dir:", devDir);
|
|
@@ -71875,8 +71326,8 @@ module.exports = {
|
|
|
71875
71326
|
/***/ "./node_modules/.f/_/npm-install-checks/7.1.2/npm-install-checks/lib/dev-engines.js":
|
|
71876
71327
|
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
|
|
71877
71328
|
|
|
71878
|
-
const satisfies = __webpack_require__("./node_modules/.f/_/semver/7.7.
|
|
71879
|
-
const validRange = __webpack_require__("./node_modules/.f/_/semver/7.7.
|
|
71329
|
+
const satisfies = __webpack_require__("./node_modules/.f/_/semver/7.7.4/semver/functions/satisfies.js");
|
|
71330
|
+
const validRange = __webpack_require__("./node_modules/.f/_/semver/7.7.4/semver/ranges/valid.js");
|
|
71880
71331
|
const recognizedOnFail = [
|
|
71881
71332
|
"ignore",
|
|
71882
71333
|
"warn",
|
|
@@ -72001,7 +71452,7 @@ module.exports = {
|
|
|
72001
71452
|
/***/ "./node_modules/.f/_/npm-install-checks/7.1.2/npm-install-checks/lib/index.js":
|
|
72002
71453
|
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
|
|
72003
71454
|
|
|
72004
|
-
const semver = __webpack_require__("./node_modules/.f/_/semver/7.7.
|
|
71455
|
+
const semver = __webpack_require__("./node_modules/.f/_/semver/7.7.4/semver/index.js");
|
|
72005
71456
|
const currentEnv = __webpack_require__("./node_modules/.f/_/npm-install-checks/7.1.2/npm-install-checks/lib/current-env.js");
|
|
72006
71457
|
const { checkDevEngines } = __webpack_require__("./node_modules/.f/_/npm-install-checks/7.1.2/npm-install-checks/lib/dev-engines.js");
|
|
72007
71458
|
const checkEngine = (target, npmVer, nodeVer, force = false) => {
|
|
@@ -72178,8 +71629,8 @@ module.exports = {
|
|
|
72178
71629
|
/***/ "./node_modules/.f/_/npm-install-checks/8.0.0/npm-install-checks/lib/dev-engines.js":
|
|
72179
71630
|
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
|
|
72180
71631
|
|
|
72181
|
-
const satisfies = __webpack_require__("./node_modules/.f/_/semver/7.7.
|
|
72182
|
-
const validRange = __webpack_require__("./node_modules/.f/_/semver/7.7.
|
|
71632
|
+
const satisfies = __webpack_require__("./node_modules/.f/_/semver/7.7.4/semver/functions/satisfies.js");
|
|
71633
|
+
const validRange = __webpack_require__("./node_modules/.f/_/semver/7.7.4/semver/ranges/valid.js");
|
|
72183
71634
|
const recognizedOnFail = [
|
|
72184
71635
|
"ignore",
|
|
72185
71636
|
"warn",
|
|
@@ -72304,7 +71755,7 @@ module.exports = {
|
|
|
72304
71755
|
/***/ "./node_modules/.f/_/npm-install-checks/8.0.0/npm-install-checks/lib/index.js":
|
|
72305
71756
|
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
|
|
72306
71757
|
|
|
72307
|
-
const semver = __webpack_require__("./node_modules/.f/_/semver/7.7.
|
|
71758
|
+
const semver = __webpack_require__("./node_modules/.f/_/semver/7.7.4/semver/index.js");
|
|
72308
71759
|
const currentEnv = __webpack_require__("./node_modules/.f/_/npm-install-checks/8.0.0/npm-install-checks/lib/current-env.js");
|
|
72309
71760
|
const { checkDevEngines } = __webpack_require__("./node_modules/.f/_/npm-install-checks/8.0.0/npm-install-checks/lib/dev-engines.js");
|
|
72310
71761
|
const checkEngine = (target, npmVer, nodeVer, force = false) => {
|
|
@@ -72500,7 +71951,7 @@ const { URL } = __webpack_require__("node:url");
|
|
|
72500
71951
|
const path = isWindows ? __webpack_require__("node:path/win32") : __webpack_require__("node:path");
|
|
72501
71952
|
const { homedir } = __webpack_require__("node:os");
|
|
72502
71953
|
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.7.
|
|
71954
|
+
const semver = __webpack_require__("./node_modules/.f/_/semver/7.7.4/semver/index.js");
|
|
72504
71955
|
const validatePackageName = __webpack_require__("./node_modules/.f/_/validate-npm-package-name/6.0.2/validate-npm-package-name/lib/index.js");
|
|
72505
71956
|
const { log } = __webpack_require__("./node_modules/.f/_/proc-log/5.0.0/proc-log/lib/index.js");
|
|
72506
71957
|
const hasSlashes = isWindows ? /\\|[/]/ : /[/]/;
|
|
@@ -72887,12 +72338,12 @@ module.exports.Result = Result;
|
|
|
72887
72338
|
|
|
72888
72339
|
/***/ }),
|
|
72889
72340
|
|
|
72890
|
-
/***/ "./node_modules/.f/_/npm-packlist/10.0.
|
|
72341
|
+
/***/ "./node_modules/.f/_/npm-packlist/10.0.4/npm-packlist/lib/index.js":
|
|
72891
72342
|
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
|
|
72892
72343
|
|
|
72893
72344
|
"use strict";
|
|
72894
72345
|
|
|
72895
|
-
const { Walker: IgnoreWalker } = __webpack_require__("./node_modules/.f/_/ignore-walk/8.0.0
|
|
72346
|
+
const { Walker: IgnoreWalker } = __webpack_require__("./node_modules/.f/_/ignore-walk/8.0.0/ignore-walk/lib/index.js");
|
|
72896
72347
|
const { lstatSync: lstat, readFileSync: readFile } = __webpack_require__("fs");
|
|
72897
72348
|
const { basename, dirname, extname, join, relative, resolve, sep } = __webpack_require__("path");
|
|
72898
72349
|
const { log } = __webpack_require__("./node_modules/.f/_/proc-log/6.0.0/proc-log/lib/index.js");
|
|
@@ -72969,7 +72420,6 @@ class PackWalker extends IgnoreWalker {
|
|
|
72969
72420
|
this.seen = options.seen || /* @__PURE__ */ new Set();
|
|
72970
72421
|
this.tree = tree;
|
|
72971
72422
|
this.requiredFiles = options.requiredFiles || [];
|
|
72972
|
-
this.includeSymlinks = options.includeSymlinks;
|
|
72973
72423
|
const additionalDefaults = [];
|
|
72974
72424
|
if (options.prefix && options.workspaces) {
|
|
72975
72425
|
const path = normalizePath(options.path);
|
|
@@ -73017,7 +72467,7 @@ class PackWalker extends IgnoreWalker {
|
|
|
73017
72467
|
this.ignoreRules[".gitignore"] = null;
|
|
73018
72468
|
} else if (this.ignoreRules[".npmignore"]) {
|
|
73019
72469
|
this.ignoreRules[".gitignore"] = null;
|
|
73020
|
-
} else if (this.ignoreRules[".gitignore"] && !this.ignoreRules[".npmignore"]) {
|
|
72470
|
+
} else if (this.ignoreRules[".gitignore"] && !this.ignoreRules[".npmignore"] && !this.parent) {
|
|
73021
72471
|
log.warn(
|
|
73022
72472
|
"gitignore-fallback",
|
|
73023
72473
|
"No .npmignore file found, using .gitignore for file exclusion. Consider creating a .npmignore file to explicitly control published files."
|
|
@@ -73026,13 +72476,8 @@ class PackWalker extends IgnoreWalker {
|
|
|
73026
72476
|
return super.filterEntries();
|
|
73027
72477
|
}
|
|
73028
72478
|
// overridden method: we never want to include anything that isn't a file or directory
|
|
73029
|
-
// also skip symlinks unless includeSymlinks is true
|
|
73030
72479
|
onstat(opts, callback) {
|
|
73031
|
-
if (opts.st.
|
|
73032
|
-
if (!this.includeSymlinks) {
|
|
73033
|
-
return callback();
|
|
73034
|
-
}
|
|
73035
|
-
} else if (!opts.st.isFile() && !opts.st.isDirectory()) {
|
|
72480
|
+
if (!opts.st.isFile() && !opts.st.isDirectory()) {
|
|
73036
72481
|
return callback();
|
|
73037
72482
|
}
|
|
73038
72483
|
return super.onstat(opts, callback);
|
|
@@ -73074,7 +72519,6 @@ class PackWalker extends IgnoreWalker {
|
|
|
73074
72519
|
return {
|
|
73075
72520
|
...super.walkerOpt(entry, opts),
|
|
73076
72521
|
ignoreFiles,
|
|
73077
|
-
includeSymlinks: this.includeSymlinks,
|
|
73078
72522
|
// we map over our own requiredFiles and pass ones that are within this entry
|
|
73079
72523
|
requiredFiles: this.requiredFiles.map((file) => {
|
|
73080
72524
|
if (relative(file, entry) === "..") {
|
|
@@ -73242,7 +72686,7 @@ walk.Walker = PackWalker;
|
|
|
73242
72686
|
"use strict";
|
|
73243
72687
|
|
|
73244
72688
|
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.7.
|
|
72689
|
+
const semver = __webpack_require__("./node_modules/.f/_/semver/7.7.4/semver/index.js");
|
|
73246
72690
|
const { checkEngine } = __webpack_require__("./node_modules/.f/_/npm-install-checks/8.0.0/npm-install-checks/lib/index.js");
|
|
73247
72691
|
const normalizeBin = __webpack_require__("./node_modules/.f/_/npm-normalize-package-bin/5.0.0/npm-normalize-package-bin/lib/index.js");
|
|
73248
72692
|
const engineOk = (manifest, npmVersion, nodeVersion) => {
|
|
@@ -74750,7 +74194,7 @@ module.exports = pLocate;
|
|
|
74750
74194
|
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
|
|
74751
74195
|
|
|
74752
74196
|
const { resolve } = __webpack_require__("node:path");
|
|
74753
|
-
const packlist = __webpack_require__("./node_modules/.f/_/npm-packlist/10.0.
|
|
74197
|
+
const packlist = __webpack_require__("./node_modules/.f/_/npm-packlist/10.0.4/npm-packlist/lib/index.js");
|
|
74754
74198
|
const runScript = __webpack_require__("./node_modules/.f/_/@npmcli/run-script/10.0.2/@npmcli/run-script/lib/run-script.js");
|
|
74755
74199
|
const tar = __webpack_require__("./node_modules/.f/_/tar/7.5.2/tar/dist/commonjs/index.js");
|
|
74756
74200
|
const { Minipass } = __webpack_require__("./node_modules/.f/_/minipass/7.1.2/minipass/dist/commonjs/index.js");
|
|
@@ -77804,7 +77248,7 @@ const PassThrough = (__webpack_require__("stream").PassThrough);
|
|
|
77804
77248
|
const mississippi = __webpack_require__("./node_modules/.f/_/mississippi/3.0.0/mississippi/index.js");
|
|
77805
77249
|
const pipe = Promise.promisify(mississippi.pipe, { context: mississippi });
|
|
77806
77250
|
const tar = __webpack_require__("./node_modules/.f/_/tar/4.4.19/tar/index.js");
|
|
77807
|
-
const packlist = __webpack_require__("./node_modules/.f/_/npm-packlist/10.0.
|
|
77251
|
+
const packlist = __webpack_require__("./node_modules/.f/_/npm-packlist/10.0.4/npm-packlist/lib/index.js");
|
|
77808
77252
|
const Fs = __webpack_require__("./node_modules/.f/_/opfs/1.1.1/opfs/lib/index.js");
|
|
77809
77253
|
const readPkgJson = (dir) => {
|
|
77810
77254
|
return Fs.readFile(Path.join(dir, "package.json").toString().trim()).then(JSON.parse);
|
|
@@ -87302,7 +86746,7 @@ SafeBuffer.allocUnsafeSlow = function(size) {
|
|
|
87302
86746
|
|
|
87303
86747
|
/***/ }),
|
|
87304
86748
|
|
|
87305
|
-
/***/ "./node_modules/.f/_/semver/7.7.
|
|
86749
|
+
/***/ "./node_modules/.f/_/semver/7.7.4/semver/classes/comparator.js":
|
|
87306
86750
|
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
|
|
87307
86751
|
|
|
87308
86752
|
"use strict";
|
|
@@ -87407,17 +86851,17 @@ class Comparator {
|
|
|
87407
86851
|
}
|
|
87408
86852
|
}
|
|
87409
86853
|
module.exports = Comparator;
|
|
87410
|
-
const parseOptions = __webpack_require__("./node_modules/.f/_/semver/7.7.
|
|
87411
|
-
const { safeRe: re, t } = __webpack_require__("./node_modules/.f/_/semver/7.7.
|
|
87412
|
-
const cmp = __webpack_require__("./node_modules/.f/_/semver/7.7.
|
|
87413
|
-
const debug = __webpack_require__("./node_modules/.f/_/semver/7.7.
|
|
87414
|
-
const SemVer = __webpack_require__("./node_modules/.f/_/semver/7.7.
|
|
87415
|
-
const Range = __webpack_require__("./node_modules/.f/_/semver/7.7.
|
|
86854
|
+
const parseOptions = __webpack_require__("./node_modules/.f/_/semver/7.7.4/semver/internal/parse-options.js");
|
|
86855
|
+
const { safeRe: re, t } = __webpack_require__("./node_modules/.f/_/semver/7.7.4/semver/internal/re.js");
|
|
86856
|
+
const cmp = __webpack_require__("./node_modules/.f/_/semver/7.7.4/semver/functions/cmp.js");
|
|
86857
|
+
const debug = __webpack_require__("./node_modules/.f/_/semver/7.7.4/semver/internal/debug.js");
|
|
86858
|
+
const SemVer = __webpack_require__("./node_modules/.f/_/semver/7.7.4/semver/classes/semver.js");
|
|
86859
|
+
const Range = __webpack_require__("./node_modules/.f/_/semver/7.7.4/semver/classes/range.js");
|
|
87416
86860
|
|
|
87417
86861
|
|
|
87418
86862
|
/***/ }),
|
|
87419
86863
|
|
|
87420
|
-
/***/ "./node_modules/.f/_/semver/7.7.
|
|
86864
|
+
/***/ "./node_modules/.f/_/semver/7.7.4/semver/classes/range.js":
|
|
87421
86865
|
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
|
|
87422
86866
|
|
|
87423
86867
|
"use strict";
|
|
@@ -87562,20 +87006,20 @@ class Range {
|
|
|
87562
87006
|
}
|
|
87563
87007
|
}
|
|
87564
87008
|
module.exports = Range;
|
|
87565
|
-
const LRU = __webpack_require__("./node_modules/.f/_/semver/7.7.
|
|
87009
|
+
const LRU = __webpack_require__("./node_modules/.f/_/semver/7.7.4/semver/internal/lrucache.js");
|
|
87566
87010
|
const cache = new LRU();
|
|
87567
|
-
const parseOptions = __webpack_require__("./node_modules/.f/_/semver/7.7.
|
|
87568
|
-
const Comparator = __webpack_require__("./node_modules/.f/_/semver/7.7.
|
|
87569
|
-
const debug = __webpack_require__("./node_modules/.f/_/semver/7.7.
|
|
87570
|
-
const SemVer = __webpack_require__("./node_modules/.f/_/semver/7.7.
|
|
87011
|
+
const parseOptions = __webpack_require__("./node_modules/.f/_/semver/7.7.4/semver/internal/parse-options.js");
|
|
87012
|
+
const Comparator = __webpack_require__("./node_modules/.f/_/semver/7.7.4/semver/classes/comparator.js");
|
|
87013
|
+
const debug = __webpack_require__("./node_modules/.f/_/semver/7.7.4/semver/internal/debug.js");
|
|
87014
|
+
const SemVer = __webpack_require__("./node_modules/.f/_/semver/7.7.4/semver/classes/semver.js");
|
|
87571
87015
|
const {
|
|
87572
87016
|
safeRe: re,
|
|
87573
87017
|
t,
|
|
87574
87018
|
comparatorTrimReplace,
|
|
87575
87019
|
tildeTrimReplace,
|
|
87576
87020
|
caretTrimReplace
|
|
87577
|
-
} = __webpack_require__("./node_modules/.f/_/semver/7.7.
|
|
87578
|
-
const { FLAG_INCLUDE_PRERELEASE, FLAG_LOOSE } = __webpack_require__("./node_modules/.f/_/semver/7.7.
|
|
87021
|
+
} = __webpack_require__("./node_modules/.f/_/semver/7.7.4/semver/internal/re.js");
|
|
87022
|
+
const { FLAG_INCLUDE_PRERELEASE, FLAG_LOOSE } = __webpack_require__("./node_modules/.f/_/semver/7.7.4/semver/internal/constants.js");
|
|
87579
87023
|
const isNullSet = (c) => c.value === "<0.0.0-0";
|
|
87580
87024
|
const isAny = (c) => c.value === "";
|
|
87581
87025
|
const isSatisfiable = (comparators, options) => {
|
|
@@ -87796,16 +87240,16 @@ const testSet = (set, version, options) => {
|
|
|
87796
87240
|
|
|
87797
87241
|
/***/ }),
|
|
87798
87242
|
|
|
87799
|
-
/***/ "./node_modules/.f/_/semver/7.7.
|
|
87243
|
+
/***/ "./node_modules/.f/_/semver/7.7.4/semver/classes/semver.js":
|
|
87800
87244
|
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
|
|
87801
87245
|
|
|
87802
87246
|
"use strict";
|
|
87803
87247
|
|
|
87804
|
-
const debug = __webpack_require__("./node_modules/.f/_/semver/7.7.
|
|
87805
|
-
const { MAX_LENGTH, MAX_SAFE_INTEGER } = __webpack_require__("./node_modules/.f/_/semver/7.7.
|
|
87806
|
-
const { safeRe: re, t } = __webpack_require__("./node_modules/.f/_/semver/7.7.
|
|
87807
|
-
const parseOptions = __webpack_require__("./node_modules/.f/_/semver/7.7.
|
|
87808
|
-
const { compareIdentifiers } = __webpack_require__("./node_modules/.f/_/semver/7.7.
|
|
87248
|
+
const debug = __webpack_require__("./node_modules/.f/_/semver/7.7.4/semver/internal/debug.js");
|
|
87249
|
+
const { MAX_LENGTH, MAX_SAFE_INTEGER } = __webpack_require__("./node_modules/.f/_/semver/7.7.4/semver/internal/constants.js");
|
|
87250
|
+
const { safeRe: re, t } = __webpack_require__("./node_modules/.f/_/semver/7.7.4/semver/internal/re.js");
|
|
87251
|
+
const parseOptions = __webpack_require__("./node_modules/.f/_/semver/7.7.4/semver/internal/parse-options.js");
|
|
87252
|
+
const { compareIdentifiers } = __webpack_require__("./node_modules/.f/_/semver/7.7.4/semver/internal/identifiers.js");
|
|
87809
87253
|
class SemVer {
|
|
87810
87254
|
constructor(version, options) {
|
|
87811
87255
|
options = parseOptions(options);
|
|
@@ -88077,12 +87521,12 @@ module.exports = SemVer;
|
|
|
88077
87521
|
|
|
88078
87522
|
/***/ }),
|
|
88079
87523
|
|
|
88080
|
-
/***/ "./node_modules/.f/_/semver/7.7.
|
|
87524
|
+
/***/ "./node_modules/.f/_/semver/7.7.4/semver/functions/clean.js":
|
|
88081
87525
|
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
|
|
88082
87526
|
|
|
88083
87527
|
"use strict";
|
|
88084
87528
|
|
|
88085
|
-
const parse = __webpack_require__("./node_modules/.f/_/semver/7.7.
|
|
87529
|
+
const parse = __webpack_require__("./node_modules/.f/_/semver/7.7.4/semver/functions/parse.js");
|
|
88086
87530
|
const clean = (version, options) => {
|
|
88087
87531
|
const s = parse(version.trim().replace(/^[=v]+/, ""), options);
|
|
88088
87532
|
return s ? s.version : null;
|
|
@@ -88092,17 +87536,17 @@ module.exports = clean;
|
|
|
88092
87536
|
|
|
88093
87537
|
/***/ }),
|
|
88094
87538
|
|
|
88095
|
-
/***/ "./node_modules/.f/_/semver/7.7.
|
|
87539
|
+
/***/ "./node_modules/.f/_/semver/7.7.4/semver/functions/cmp.js":
|
|
88096
87540
|
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
|
|
88097
87541
|
|
|
88098
87542
|
"use strict";
|
|
88099
87543
|
|
|
88100
|
-
const eq = __webpack_require__("./node_modules/.f/_/semver/7.7.
|
|
88101
|
-
const neq = __webpack_require__("./node_modules/.f/_/semver/7.7.
|
|
88102
|
-
const gt = __webpack_require__("./node_modules/.f/_/semver/7.7.
|
|
88103
|
-
const gte = __webpack_require__("./node_modules/.f/_/semver/7.7.
|
|
88104
|
-
const lt = __webpack_require__("./node_modules/.f/_/semver/7.7.
|
|
88105
|
-
const lte = __webpack_require__("./node_modules/.f/_/semver/7.7.
|
|
87544
|
+
const eq = __webpack_require__("./node_modules/.f/_/semver/7.7.4/semver/functions/eq.js");
|
|
87545
|
+
const neq = __webpack_require__("./node_modules/.f/_/semver/7.7.4/semver/functions/neq.js");
|
|
87546
|
+
const gt = __webpack_require__("./node_modules/.f/_/semver/7.7.4/semver/functions/gt.js");
|
|
87547
|
+
const gte = __webpack_require__("./node_modules/.f/_/semver/7.7.4/semver/functions/gte.js");
|
|
87548
|
+
const lt = __webpack_require__("./node_modules/.f/_/semver/7.7.4/semver/functions/lt.js");
|
|
87549
|
+
const lte = __webpack_require__("./node_modules/.f/_/semver/7.7.4/semver/functions/lte.js");
|
|
88106
87550
|
const cmp = (a, op, b, loose) => {
|
|
88107
87551
|
switch (op) {
|
|
88108
87552
|
case "===":
|
|
@@ -88144,14 +87588,14 @@ module.exports = cmp;
|
|
|
88144
87588
|
|
|
88145
87589
|
/***/ }),
|
|
88146
87590
|
|
|
88147
|
-
/***/ "./node_modules/.f/_/semver/7.7.
|
|
87591
|
+
/***/ "./node_modules/.f/_/semver/7.7.4/semver/functions/coerce.js":
|
|
88148
87592
|
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
|
|
88149
87593
|
|
|
88150
87594
|
"use strict";
|
|
88151
87595
|
|
|
88152
|
-
const SemVer = __webpack_require__("./node_modules/.f/_/semver/7.7.
|
|
88153
|
-
const parse = __webpack_require__("./node_modules/.f/_/semver/7.7.
|
|
88154
|
-
const { safeRe: re, t } = __webpack_require__("./node_modules/.f/_/semver/7.7.
|
|
87596
|
+
const SemVer = __webpack_require__("./node_modules/.f/_/semver/7.7.4/semver/classes/semver.js");
|
|
87597
|
+
const parse = __webpack_require__("./node_modules/.f/_/semver/7.7.4/semver/functions/parse.js");
|
|
87598
|
+
const { safeRe: re, t } = __webpack_require__("./node_modules/.f/_/semver/7.7.4/semver/internal/re.js");
|
|
88155
87599
|
const coerce = (version, options) => {
|
|
88156
87600
|
if (version instanceof SemVer) {
|
|
88157
87601
|
return version;
|
|
@@ -88192,12 +87636,12 @@ module.exports = coerce;
|
|
|
88192
87636
|
|
|
88193
87637
|
/***/ }),
|
|
88194
87638
|
|
|
88195
|
-
/***/ "./node_modules/.f/_/semver/7.7.
|
|
87639
|
+
/***/ "./node_modules/.f/_/semver/7.7.4/semver/functions/compare-build.js":
|
|
88196
87640
|
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
|
|
88197
87641
|
|
|
88198
87642
|
"use strict";
|
|
88199
87643
|
|
|
88200
|
-
const SemVer = __webpack_require__("./node_modules/.f/_/semver/7.7.
|
|
87644
|
+
const SemVer = __webpack_require__("./node_modules/.f/_/semver/7.7.4/semver/classes/semver.js");
|
|
88201
87645
|
const compareBuild = (a, b, loose) => {
|
|
88202
87646
|
const versionA = new SemVer(a, loose);
|
|
88203
87647
|
const versionB = new SemVer(b, loose);
|
|
@@ -88208,36 +87652,36 @@ module.exports = compareBuild;
|
|
|
88208
87652
|
|
|
88209
87653
|
/***/ }),
|
|
88210
87654
|
|
|
88211
|
-
/***/ "./node_modules/.f/_/semver/7.7.
|
|
87655
|
+
/***/ "./node_modules/.f/_/semver/7.7.4/semver/functions/compare-loose.js":
|
|
88212
87656
|
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
|
|
88213
87657
|
|
|
88214
87658
|
"use strict";
|
|
88215
87659
|
|
|
88216
|
-
const compare = __webpack_require__("./node_modules/.f/_/semver/7.7.
|
|
87660
|
+
const compare = __webpack_require__("./node_modules/.f/_/semver/7.7.4/semver/functions/compare.js");
|
|
88217
87661
|
const compareLoose = (a, b) => compare(a, b, true);
|
|
88218
87662
|
module.exports = compareLoose;
|
|
88219
87663
|
|
|
88220
87664
|
|
|
88221
87665
|
/***/ }),
|
|
88222
87666
|
|
|
88223
|
-
/***/ "./node_modules/.f/_/semver/7.7.
|
|
87667
|
+
/***/ "./node_modules/.f/_/semver/7.7.4/semver/functions/compare.js":
|
|
88224
87668
|
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
|
|
88225
87669
|
|
|
88226
87670
|
"use strict";
|
|
88227
87671
|
|
|
88228
|
-
const SemVer = __webpack_require__("./node_modules/.f/_/semver/7.7.
|
|
87672
|
+
const SemVer = __webpack_require__("./node_modules/.f/_/semver/7.7.4/semver/classes/semver.js");
|
|
88229
87673
|
const compare = (a, b, loose) => new SemVer(a, loose).compare(new SemVer(b, loose));
|
|
88230
87674
|
module.exports = compare;
|
|
88231
87675
|
|
|
88232
87676
|
|
|
88233
87677
|
/***/ }),
|
|
88234
87678
|
|
|
88235
|
-
/***/ "./node_modules/.f/_/semver/7.7.
|
|
87679
|
+
/***/ "./node_modules/.f/_/semver/7.7.4/semver/functions/diff.js":
|
|
88236
87680
|
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
|
|
88237
87681
|
|
|
88238
87682
|
"use strict";
|
|
88239
87683
|
|
|
88240
|
-
const parse = __webpack_require__("./node_modules/.f/_/semver/7.7.
|
|
87684
|
+
const parse = __webpack_require__("./node_modules/.f/_/semver/7.7.4/semver/functions/parse.js");
|
|
88241
87685
|
const diff = (version1, version2) => {
|
|
88242
87686
|
const v1 = parse(version1, null, true);
|
|
88243
87687
|
const v2 = parse(version2, null, true);
|
|
@@ -88278,48 +87722,48 @@ module.exports = diff;
|
|
|
88278
87722
|
|
|
88279
87723
|
/***/ }),
|
|
88280
87724
|
|
|
88281
|
-
/***/ "./node_modules/.f/_/semver/7.7.
|
|
87725
|
+
/***/ "./node_modules/.f/_/semver/7.7.4/semver/functions/eq.js":
|
|
88282
87726
|
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
|
|
88283
87727
|
|
|
88284
87728
|
"use strict";
|
|
88285
87729
|
|
|
88286
|
-
const compare = __webpack_require__("./node_modules/.f/_/semver/7.7.
|
|
87730
|
+
const compare = __webpack_require__("./node_modules/.f/_/semver/7.7.4/semver/functions/compare.js");
|
|
88287
87731
|
const eq = (a, b, loose) => compare(a, b, loose) === 0;
|
|
88288
87732
|
module.exports = eq;
|
|
88289
87733
|
|
|
88290
87734
|
|
|
88291
87735
|
/***/ }),
|
|
88292
87736
|
|
|
88293
|
-
/***/ "./node_modules/.f/_/semver/7.7.
|
|
87737
|
+
/***/ "./node_modules/.f/_/semver/7.7.4/semver/functions/gt.js":
|
|
88294
87738
|
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
|
|
88295
87739
|
|
|
88296
87740
|
"use strict";
|
|
88297
87741
|
|
|
88298
|
-
const compare = __webpack_require__("./node_modules/.f/_/semver/7.7.
|
|
87742
|
+
const compare = __webpack_require__("./node_modules/.f/_/semver/7.7.4/semver/functions/compare.js");
|
|
88299
87743
|
const gt = (a, b, loose) => compare(a, b, loose) > 0;
|
|
88300
87744
|
module.exports = gt;
|
|
88301
87745
|
|
|
88302
87746
|
|
|
88303
87747
|
/***/ }),
|
|
88304
87748
|
|
|
88305
|
-
/***/ "./node_modules/.f/_/semver/7.7.
|
|
87749
|
+
/***/ "./node_modules/.f/_/semver/7.7.4/semver/functions/gte.js":
|
|
88306
87750
|
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
|
|
88307
87751
|
|
|
88308
87752
|
"use strict";
|
|
88309
87753
|
|
|
88310
|
-
const compare = __webpack_require__("./node_modules/.f/_/semver/7.7.
|
|
87754
|
+
const compare = __webpack_require__("./node_modules/.f/_/semver/7.7.4/semver/functions/compare.js");
|
|
88311
87755
|
const gte = (a, b, loose) => compare(a, b, loose) >= 0;
|
|
88312
87756
|
module.exports = gte;
|
|
88313
87757
|
|
|
88314
87758
|
|
|
88315
87759
|
/***/ }),
|
|
88316
87760
|
|
|
88317
|
-
/***/ "./node_modules/.f/_/semver/7.7.
|
|
87761
|
+
/***/ "./node_modules/.f/_/semver/7.7.4/semver/functions/inc.js":
|
|
88318
87762
|
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
|
|
88319
87763
|
|
|
88320
87764
|
"use strict";
|
|
88321
87765
|
|
|
88322
|
-
const SemVer = __webpack_require__("./node_modules/.f/_/semver/7.7.
|
|
87766
|
+
const SemVer = __webpack_require__("./node_modules/.f/_/semver/7.7.4/semver/classes/semver.js");
|
|
88323
87767
|
const inc = (version, release, options, identifier, identifierBase) => {
|
|
88324
87768
|
if (typeof options === "string") {
|
|
88325
87769
|
identifierBase = identifier;
|
|
@@ -88340,72 +87784,72 @@ module.exports = inc;
|
|
|
88340
87784
|
|
|
88341
87785
|
/***/ }),
|
|
88342
87786
|
|
|
88343
|
-
/***/ "./node_modules/.f/_/semver/7.7.
|
|
87787
|
+
/***/ "./node_modules/.f/_/semver/7.7.4/semver/functions/lt.js":
|
|
88344
87788
|
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
|
|
88345
87789
|
|
|
88346
87790
|
"use strict";
|
|
88347
87791
|
|
|
88348
|
-
const compare = __webpack_require__("./node_modules/.f/_/semver/7.7.
|
|
87792
|
+
const compare = __webpack_require__("./node_modules/.f/_/semver/7.7.4/semver/functions/compare.js");
|
|
88349
87793
|
const lt = (a, b, loose) => compare(a, b, loose) < 0;
|
|
88350
87794
|
module.exports = lt;
|
|
88351
87795
|
|
|
88352
87796
|
|
|
88353
87797
|
/***/ }),
|
|
88354
87798
|
|
|
88355
|
-
/***/ "./node_modules/.f/_/semver/7.7.
|
|
87799
|
+
/***/ "./node_modules/.f/_/semver/7.7.4/semver/functions/lte.js":
|
|
88356
87800
|
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
|
|
88357
87801
|
|
|
88358
87802
|
"use strict";
|
|
88359
87803
|
|
|
88360
|
-
const compare = __webpack_require__("./node_modules/.f/_/semver/7.7.
|
|
87804
|
+
const compare = __webpack_require__("./node_modules/.f/_/semver/7.7.4/semver/functions/compare.js");
|
|
88361
87805
|
const lte = (a, b, loose) => compare(a, b, loose) <= 0;
|
|
88362
87806
|
module.exports = lte;
|
|
88363
87807
|
|
|
88364
87808
|
|
|
88365
87809
|
/***/ }),
|
|
88366
87810
|
|
|
88367
|
-
/***/ "./node_modules/.f/_/semver/7.7.
|
|
87811
|
+
/***/ "./node_modules/.f/_/semver/7.7.4/semver/functions/major.js":
|
|
88368
87812
|
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
|
|
88369
87813
|
|
|
88370
87814
|
"use strict";
|
|
88371
87815
|
|
|
88372
|
-
const SemVer = __webpack_require__("./node_modules/.f/_/semver/7.7.
|
|
87816
|
+
const SemVer = __webpack_require__("./node_modules/.f/_/semver/7.7.4/semver/classes/semver.js");
|
|
88373
87817
|
const major = (a, loose) => new SemVer(a, loose).major;
|
|
88374
87818
|
module.exports = major;
|
|
88375
87819
|
|
|
88376
87820
|
|
|
88377
87821
|
/***/ }),
|
|
88378
87822
|
|
|
88379
|
-
/***/ "./node_modules/.f/_/semver/7.7.
|
|
87823
|
+
/***/ "./node_modules/.f/_/semver/7.7.4/semver/functions/minor.js":
|
|
88380
87824
|
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
|
|
88381
87825
|
|
|
88382
87826
|
"use strict";
|
|
88383
87827
|
|
|
88384
|
-
const SemVer = __webpack_require__("./node_modules/.f/_/semver/7.7.
|
|
87828
|
+
const SemVer = __webpack_require__("./node_modules/.f/_/semver/7.7.4/semver/classes/semver.js");
|
|
88385
87829
|
const minor = (a, loose) => new SemVer(a, loose).minor;
|
|
88386
87830
|
module.exports = minor;
|
|
88387
87831
|
|
|
88388
87832
|
|
|
88389
87833
|
/***/ }),
|
|
88390
87834
|
|
|
88391
|
-
/***/ "./node_modules/.f/_/semver/7.7.
|
|
87835
|
+
/***/ "./node_modules/.f/_/semver/7.7.4/semver/functions/neq.js":
|
|
88392
87836
|
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
|
|
88393
87837
|
|
|
88394
87838
|
"use strict";
|
|
88395
87839
|
|
|
88396
|
-
const compare = __webpack_require__("./node_modules/.f/_/semver/7.7.
|
|
87840
|
+
const compare = __webpack_require__("./node_modules/.f/_/semver/7.7.4/semver/functions/compare.js");
|
|
88397
87841
|
const neq = (a, b, loose) => compare(a, b, loose) !== 0;
|
|
88398
87842
|
module.exports = neq;
|
|
88399
87843
|
|
|
88400
87844
|
|
|
88401
87845
|
/***/ }),
|
|
88402
87846
|
|
|
88403
|
-
/***/ "./node_modules/.f/_/semver/7.7.
|
|
87847
|
+
/***/ "./node_modules/.f/_/semver/7.7.4/semver/functions/parse.js":
|
|
88404
87848
|
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
|
|
88405
87849
|
|
|
88406
87850
|
"use strict";
|
|
88407
87851
|
|
|
88408
|
-
const SemVer = __webpack_require__("./node_modules/.f/_/semver/7.7.
|
|
87852
|
+
const SemVer = __webpack_require__("./node_modules/.f/_/semver/7.7.4/semver/classes/semver.js");
|
|
88409
87853
|
const parse = (version, options, throwErrors = false) => {
|
|
88410
87854
|
if (version instanceof SemVer) {
|
|
88411
87855
|
return version;
|
|
@@ -88424,24 +87868,24 @@ module.exports = parse;
|
|
|
88424
87868
|
|
|
88425
87869
|
/***/ }),
|
|
88426
87870
|
|
|
88427
|
-
/***/ "./node_modules/.f/_/semver/7.7.
|
|
87871
|
+
/***/ "./node_modules/.f/_/semver/7.7.4/semver/functions/patch.js":
|
|
88428
87872
|
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
|
|
88429
87873
|
|
|
88430
87874
|
"use strict";
|
|
88431
87875
|
|
|
88432
|
-
const SemVer = __webpack_require__("./node_modules/.f/_/semver/7.7.
|
|
87876
|
+
const SemVer = __webpack_require__("./node_modules/.f/_/semver/7.7.4/semver/classes/semver.js");
|
|
88433
87877
|
const patch = (a, loose) => new SemVer(a, loose).patch;
|
|
88434
87878
|
module.exports = patch;
|
|
88435
87879
|
|
|
88436
87880
|
|
|
88437
87881
|
/***/ }),
|
|
88438
87882
|
|
|
88439
|
-
/***/ "./node_modules/.f/_/semver/7.7.
|
|
87883
|
+
/***/ "./node_modules/.f/_/semver/7.7.4/semver/functions/prerelease.js":
|
|
88440
87884
|
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
|
|
88441
87885
|
|
|
88442
87886
|
"use strict";
|
|
88443
87887
|
|
|
88444
|
-
const parse = __webpack_require__("./node_modules/.f/_/semver/7.7.
|
|
87888
|
+
const parse = __webpack_require__("./node_modules/.f/_/semver/7.7.4/semver/functions/parse.js");
|
|
88445
87889
|
const prerelease = (version, options) => {
|
|
88446
87890
|
const parsed = parse(version, options);
|
|
88447
87891
|
return parsed && parsed.prerelease.length ? parsed.prerelease : null;
|
|
@@ -88451,36 +87895,36 @@ module.exports = prerelease;
|
|
|
88451
87895
|
|
|
88452
87896
|
/***/ }),
|
|
88453
87897
|
|
|
88454
|
-
/***/ "./node_modules/.f/_/semver/7.7.
|
|
87898
|
+
/***/ "./node_modules/.f/_/semver/7.7.4/semver/functions/rcompare.js":
|
|
88455
87899
|
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
|
|
88456
87900
|
|
|
88457
87901
|
"use strict";
|
|
88458
87902
|
|
|
88459
|
-
const compare = __webpack_require__("./node_modules/.f/_/semver/7.7.
|
|
87903
|
+
const compare = __webpack_require__("./node_modules/.f/_/semver/7.7.4/semver/functions/compare.js");
|
|
88460
87904
|
const rcompare = (a, b, loose) => compare(b, a, loose);
|
|
88461
87905
|
module.exports = rcompare;
|
|
88462
87906
|
|
|
88463
87907
|
|
|
88464
87908
|
/***/ }),
|
|
88465
87909
|
|
|
88466
|
-
/***/ "./node_modules/.f/_/semver/7.7.
|
|
87910
|
+
/***/ "./node_modules/.f/_/semver/7.7.4/semver/functions/rsort.js":
|
|
88467
87911
|
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
|
|
88468
87912
|
|
|
88469
87913
|
"use strict";
|
|
88470
87914
|
|
|
88471
|
-
const compareBuild = __webpack_require__("./node_modules/.f/_/semver/7.7.
|
|
87915
|
+
const compareBuild = __webpack_require__("./node_modules/.f/_/semver/7.7.4/semver/functions/compare-build.js");
|
|
88472
87916
|
const rsort = (list, loose) => list.sort((a, b) => compareBuild(b, a, loose));
|
|
88473
87917
|
module.exports = rsort;
|
|
88474
87918
|
|
|
88475
87919
|
|
|
88476
87920
|
/***/ }),
|
|
88477
87921
|
|
|
88478
|
-
/***/ "./node_modules/.f/_/semver/7.7.
|
|
87922
|
+
/***/ "./node_modules/.f/_/semver/7.7.4/semver/functions/satisfies.js":
|
|
88479
87923
|
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
|
|
88480
87924
|
|
|
88481
87925
|
"use strict";
|
|
88482
87926
|
|
|
88483
|
-
const Range = __webpack_require__("./node_modules/.f/_/semver/7.7.
|
|
87927
|
+
const Range = __webpack_require__("./node_modules/.f/_/semver/7.7.4/semver/classes/range.js");
|
|
88484
87928
|
const satisfies = (version, range, options) => {
|
|
88485
87929
|
try {
|
|
88486
87930
|
range = new Range(range, options);
|
|
@@ -88494,24 +87938,24 @@ module.exports = satisfies;
|
|
|
88494
87938
|
|
|
88495
87939
|
/***/ }),
|
|
88496
87940
|
|
|
88497
|
-
/***/ "./node_modules/.f/_/semver/7.7.
|
|
87941
|
+
/***/ "./node_modules/.f/_/semver/7.7.4/semver/functions/sort.js":
|
|
88498
87942
|
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
|
|
88499
87943
|
|
|
88500
87944
|
"use strict";
|
|
88501
87945
|
|
|
88502
|
-
const compareBuild = __webpack_require__("./node_modules/.f/_/semver/7.7.
|
|
87946
|
+
const compareBuild = __webpack_require__("./node_modules/.f/_/semver/7.7.4/semver/functions/compare-build.js");
|
|
88503
87947
|
const sort = (list, loose) => list.sort((a, b) => compareBuild(a, b, loose));
|
|
88504
87948
|
module.exports = sort;
|
|
88505
87949
|
|
|
88506
87950
|
|
|
88507
87951
|
/***/ }),
|
|
88508
87952
|
|
|
88509
|
-
/***/ "./node_modules/.f/_/semver/7.7.
|
|
87953
|
+
/***/ "./node_modules/.f/_/semver/7.7.4/semver/functions/valid.js":
|
|
88510
87954
|
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
|
|
88511
87955
|
|
|
88512
87956
|
"use strict";
|
|
88513
87957
|
|
|
88514
|
-
const parse = __webpack_require__("./node_modules/.f/_/semver/7.7.
|
|
87958
|
+
const parse = __webpack_require__("./node_modules/.f/_/semver/7.7.4/semver/functions/parse.js");
|
|
88515
87959
|
const valid = (version, options) => {
|
|
88516
87960
|
const v = parse(version, options);
|
|
88517
87961
|
return v ? v.version : null;
|
|
@@ -88521,52 +87965,52 @@ module.exports = valid;
|
|
|
88521
87965
|
|
|
88522
87966
|
/***/ }),
|
|
88523
87967
|
|
|
88524
|
-
/***/ "./node_modules/.f/_/semver/7.7.
|
|
88525
|
-
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
|
|
88526
|
-
|
|
88527
|
-
"use strict";
|
|
88528
|
-
|
|
88529
|
-
const internalRe = __webpack_require__("./node_modules/.f/_/semver/7.7.
|
|
88530
|
-
const constants = __webpack_require__("./node_modules/.f/_/semver/7.7.
|
|
88531
|
-
const SemVer = __webpack_require__("./node_modules/.f/_/semver/7.7.
|
|
88532
|
-
const identifiers = __webpack_require__("./node_modules/.f/_/semver/7.7.
|
|
88533
|
-
const parse = __webpack_require__("./node_modules/.f/_/semver/7.7.
|
|
88534
|
-
const valid = __webpack_require__("./node_modules/.f/_/semver/7.7.
|
|
88535
|
-
const clean = __webpack_require__("./node_modules/.f/_/semver/7.7.
|
|
88536
|
-
const inc = __webpack_require__("./node_modules/.f/_/semver/7.7.
|
|
88537
|
-
const diff = __webpack_require__("./node_modules/.f/_/semver/7.7.
|
|
88538
|
-
const major = __webpack_require__("./node_modules/.f/_/semver/7.7.
|
|
88539
|
-
const minor = __webpack_require__("./node_modules/.f/_/semver/7.7.
|
|
88540
|
-
const patch = __webpack_require__("./node_modules/.f/_/semver/7.7.
|
|
88541
|
-
const prerelease = __webpack_require__("./node_modules/.f/_/semver/7.7.
|
|
88542
|
-
const compare = __webpack_require__("./node_modules/.f/_/semver/7.7.
|
|
88543
|
-
const rcompare = __webpack_require__("./node_modules/.f/_/semver/7.7.
|
|
88544
|
-
const compareLoose = __webpack_require__("./node_modules/.f/_/semver/7.7.
|
|
88545
|
-
const compareBuild = __webpack_require__("./node_modules/.f/_/semver/7.7.
|
|
88546
|
-
const sort = __webpack_require__("./node_modules/.f/_/semver/7.7.
|
|
88547
|
-
const rsort = __webpack_require__("./node_modules/.f/_/semver/7.7.
|
|
88548
|
-
const gt = __webpack_require__("./node_modules/.f/_/semver/7.7.
|
|
88549
|
-
const lt = __webpack_require__("./node_modules/.f/_/semver/7.7.
|
|
88550
|
-
const eq = __webpack_require__("./node_modules/.f/_/semver/7.7.
|
|
88551
|
-
const neq = __webpack_require__("./node_modules/.f/_/semver/7.7.
|
|
88552
|
-
const gte = __webpack_require__("./node_modules/.f/_/semver/7.7.
|
|
88553
|
-
const lte = __webpack_require__("./node_modules/.f/_/semver/7.7.
|
|
88554
|
-
const cmp = __webpack_require__("./node_modules/.f/_/semver/7.7.
|
|
88555
|
-
const coerce = __webpack_require__("./node_modules/.f/_/semver/7.7.
|
|
88556
|
-
const Comparator = __webpack_require__("./node_modules/.f/_/semver/7.7.
|
|
88557
|
-
const Range = __webpack_require__("./node_modules/.f/_/semver/7.7.
|
|
88558
|
-
const satisfies = __webpack_require__("./node_modules/.f/_/semver/7.7.
|
|
88559
|
-
const toComparators = __webpack_require__("./node_modules/.f/_/semver/7.7.
|
|
88560
|
-
const maxSatisfying = __webpack_require__("./node_modules/.f/_/semver/7.7.
|
|
88561
|
-
const minSatisfying = __webpack_require__("./node_modules/.f/_/semver/7.7.
|
|
88562
|
-
const minVersion = __webpack_require__("./node_modules/.f/_/semver/7.7.
|
|
88563
|
-
const validRange = __webpack_require__("./node_modules/.f/_/semver/7.7.
|
|
88564
|
-
const outside = __webpack_require__("./node_modules/.f/_/semver/7.7.
|
|
88565
|
-
const gtr = __webpack_require__("./node_modules/.f/_/semver/7.7.
|
|
88566
|
-
const ltr = __webpack_require__("./node_modules/.f/_/semver/7.7.
|
|
88567
|
-
const intersects = __webpack_require__("./node_modules/.f/_/semver/7.7.
|
|
88568
|
-
const simplifyRange = __webpack_require__("./node_modules/.f/_/semver/7.7.
|
|
88569
|
-
const subset = __webpack_require__("./node_modules/.f/_/semver/7.7.
|
|
87968
|
+
/***/ "./node_modules/.f/_/semver/7.7.4/semver/index.js":
|
|
87969
|
+
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
|
|
87970
|
+
|
|
87971
|
+
"use strict";
|
|
87972
|
+
|
|
87973
|
+
const internalRe = __webpack_require__("./node_modules/.f/_/semver/7.7.4/semver/internal/re.js");
|
|
87974
|
+
const constants = __webpack_require__("./node_modules/.f/_/semver/7.7.4/semver/internal/constants.js");
|
|
87975
|
+
const SemVer = __webpack_require__("./node_modules/.f/_/semver/7.7.4/semver/classes/semver.js");
|
|
87976
|
+
const identifiers = __webpack_require__("./node_modules/.f/_/semver/7.7.4/semver/internal/identifiers.js");
|
|
87977
|
+
const parse = __webpack_require__("./node_modules/.f/_/semver/7.7.4/semver/functions/parse.js");
|
|
87978
|
+
const valid = __webpack_require__("./node_modules/.f/_/semver/7.7.4/semver/functions/valid.js");
|
|
87979
|
+
const clean = __webpack_require__("./node_modules/.f/_/semver/7.7.4/semver/functions/clean.js");
|
|
87980
|
+
const inc = __webpack_require__("./node_modules/.f/_/semver/7.7.4/semver/functions/inc.js");
|
|
87981
|
+
const diff = __webpack_require__("./node_modules/.f/_/semver/7.7.4/semver/functions/diff.js");
|
|
87982
|
+
const major = __webpack_require__("./node_modules/.f/_/semver/7.7.4/semver/functions/major.js");
|
|
87983
|
+
const minor = __webpack_require__("./node_modules/.f/_/semver/7.7.4/semver/functions/minor.js");
|
|
87984
|
+
const patch = __webpack_require__("./node_modules/.f/_/semver/7.7.4/semver/functions/patch.js");
|
|
87985
|
+
const prerelease = __webpack_require__("./node_modules/.f/_/semver/7.7.4/semver/functions/prerelease.js");
|
|
87986
|
+
const compare = __webpack_require__("./node_modules/.f/_/semver/7.7.4/semver/functions/compare.js");
|
|
87987
|
+
const rcompare = __webpack_require__("./node_modules/.f/_/semver/7.7.4/semver/functions/rcompare.js");
|
|
87988
|
+
const compareLoose = __webpack_require__("./node_modules/.f/_/semver/7.7.4/semver/functions/compare-loose.js");
|
|
87989
|
+
const compareBuild = __webpack_require__("./node_modules/.f/_/semver/7.7.4/semver/functions/compare-build.js");
|
|
87990
|
+
const sort = __webpack_require__("./node_modules/.f/_/semver/7.7.4/semver/functions/sort.js");
|
|
87991
|
+
const rsort = __webpack_require__("./node_modules/.f/_/semver/7.7.4/semver/functions/rsort.js");
|
|
87992
|
+
const gt = __webpack_require__("./node_modules/.f/_/semver/7.7.4/semver/functions/gt.js");
|
|
87993
|
+
const lt = __webpack_require__("./node_modules/.f/_/semver/7.7.4/semver/functions/lt.js");
|
|
87994
|
+
const eq = __webpack_require__("./node_modules/.f/_/semver/7.7.4/semver/functions/eq.js");
|
|
87995
|
+
const neq = __webpack_require__("./node_modules/.f/_/semver/7.7.4/semver/functions/neq.js");
|
|
87996
|
+
const gte = __webpack_require__("./node_modules/.f/_/semver/7.7.4/semver/functions/gte.js");
|
|
87997
|
+
const lte = __webpack_require__("./node_modules/.f/_/semver/7.7.4/semver/functions/lte.js");
|
|
87998
|
+
const cmp = __webpack_require__("./node_modules/.f/_/semver/7.7.4/semver/functions/cmp.js");
|
|
87999
|
+
const coerce = __webpack_require__("./node_modules/.f/_/semver/7.7.4/semver/functions/coerce.js");
|
|
88000
|
+
const Comparator = __webpack_require__("./node_modules/.f/_/semver/7.7.4/semver/classes/comparator.js");
|
|
88001
|
+
const Range = __webpack_require__("./node_modules/.f/_/semver/7.7.4/semver/classes/range.js");
|
|
88002
|
+
const satisfies = __webpack_require__("./node_modules/.f/_/semver/7.7.4/semver/functions/satisfies.js");
|
|
88003
|
+
const toComparators = __webpack_require__("./node_modules/.f/_/semver/7.7.4/semver/ranges/to-comparators.js");
|
|
88004
|
+
const maxSatisfying = __webpack_require__("./node_modules/.f/_/semver/7.7.4/semver/ranges/max-satisfying.js");
|
|
88005
|
+
const minSatisfying = __webpack_require__("./node_modules/.f/_/semver/7.7.4/semver/ranges/min-satisfying.js");
|
|
88006
|
+
const minVersion = __webpack_require__("./node_modules/.f/_/semver/7.7.4/semver/ranges/min-version.js");
|
|
88007
|
+
const validRange = __webpack_require__("./node_modules/.f/_/semver/7.7.4/semver/ranges/valid.js");
|
|
88008
|
+
const outside = __webpack_require__("./node_modules/.f/_/semver/7.7.4/semver/ranges/outside.js");
|
|
88009
|
+
const gtr = __webpack_require__("./node_modules/.f/_/semver/7.7.4/semver/ranges/gtr.js");
|
|
88010
|
+
const ltr = __webpack_require__("./node_modules/.f/_/semver/7.7.4/semver/ranges/ltr.js");
|
|
88011
|
+
const intersects = __webpack_require__("./node_modules/.f/_/semver/7.7.4/semver/ranges/intersects.js");
|
|
88012
|
+
const simplifyRange = __webpack_require__("./node_modules/.f/_/semver/7.7.4/semver/ranges/simplify.js");
|
|
88013
|
+
const subset = __webpack_require__("./node_modules/.f/_/semver/7.7.4/semver/ranges/subset.js");
|
|
88570
88014
|
module.exports = {
|
|
88571
88015
|
parse,
|
|
88572
88016
|
valid,
|
|
@@ -88618,7 +88062,7 @@ module.exports = {
|
|
|
88618
88062
|
|
|
88619
88063
|
/***/ }),
|
|
88620
88064
|
|
|
88621
|
-
/***/ "./node_modules/.f/_/semver/7.7.
|
|
88065
|
+
/***/ "./node_modules/.f/_/semver/7.7.4/semver/internal/constants.js":
|
|
88622
88066
|
/***/ ((module) => {
|
|
88623
88067
|
|
|
88624
88068
|
"use strict";
|
|
@@ -88652,7 +88096,7 @@ module.exports = {
|
|
|
88652
88096
|
|
|
88653
88097
|
/***/ }),
|
|
88654
88098
|
|
|
88655
|
-
/***/ "./node_modules/.f/_/semver/7.7.
|
|
88099
|
+
/***/ "./node_modules/.f/_/semver/7.7.4/semver/internal/debug.js":
|
|
88656
88100
|
/***/ ((module) => {
|
|
88657
88101
|
|
|
88658
88102
|
"use strict";
|
|
@@ -88664,7 +88108,7 @@ module.exports = debug;
|
|
|
88664
88108
|
|
|
88665
88109
|
/***/ }),
|
|
88666
88110
|
|
|
88667
|
-
/***/ "./node_modules/.f/_/semver/7.7.
|
|
88111
|
+
/***/ "./node_modules/.f/_/semver/7.7.4/semver/internal/identifiers.js":
|
|
88668
88112
|
/***/ ((module) => {
|
|
88669
88113
|
|
|
88670
88114
|
"use strict";
|
|
@@ -88691,7 +88135,7 @@ module.exports = {
|
|
|
88691
88135
|
|
|
88692
88136
|
/***/ }),
|
|
88693
88137
|
|
|
88694
|
-
/***/ "./node_modules/.f/_/semver/7.7.
|
|
88138
|
+
/***/ "./node_modules/.f/_/semver/7.7.4/semver/internal/lrucache.js":
|
|
88695
88139
|
/***/ ((module) => {
|
|
88696
88140
|
|
|
88697
88141
|
"use strict";
|
|
@@ -88731,7 +88175,7 @@ module.exports = LRUCache;
|
|
|
88731
88175
|
|
|
88732
88176
|
/***/ }),
|
|
88733
88177
|
|
|
88734
|
-
/***/ "./node_modules/.f/_/semver/7.7.
|
|
88178
|
+
/***/ "./node_modules/.f/_/semver/7.7.4/semver/internal/parse-options.js":
|
|
88735
88179
|
/***/ ((module) => {
|
|
88736
88180
|
|
|
88737
88181
|
"use strict";
|
|
@@ -88752,7 +88196,7 @@ module.exports = parseOptions;
|
|
|
88752
88196
|
|
|
88753
88197
|
/***/ }),
|
|
88754
88198
|
|
|
88755
|
-
/***/ "./node_modules/.f/_/semver/7.7.
|
|
88199
|
+
/***/ "./node_modules/.f/_/semver/7.7.4/semver/internal/re.js":
|
|
88756
88200
|
/***/ ((module, exports, __webpack_require__) => {
|
|
88757
88201
|
|
|
88758
88202
|
"use strict";
|
|
@@ -88761,8 +88205,8 @@ const {
|
|
|
88761
88205
|
MAX_SAFE_COMPONENT_LENGTH,
|
|
88762
88206
|
MAX_SAFE_BUILD_LENGTH,
|
|
88763
88207
|
MAX_LENGTH
|
|
88764
|
-
} = __webpack_require__("./node_modules/.f/_/semver/7.7.
|
|
88765
|
-
const debug = __webpack_require__("./node_modules/.f/_/semver/7.7.
|
|
88208
|
+
} = __webpack_require__("./node_modules/.f/_/semver/7.7.4/semver/internal/constants.js");
|
|
88209
|
+
const debug = __webpack_require__("./node_modules/.f/_/semver/7.7.4/semver/internal/debug.js");
|
|
88766
88210
|
exports = module.exports = {};
|
|
88767
88211
|
const re = exports.re = [];
|
|
88768
88212
|
const safeRe = exports.safeRe = [];
|
|
@@ -88842,24 +88286,24 @@ createToken("GTE0PRE", "^\\s*>=\\s*0\\.0\\.0-0\\s*$");
|
|
|
88842
88286
|
|
|
88843
88287
|
/***/ }),
|
|
88844
88288
|
|
|
88845
|
-
/***/ "./node_modules/.f/_/semver/7.7.
|
|
88289
|
+
/***/ "./node_modules/.f/_/semver/7.7.4/semver/ranges/gtr.js":
|
|
88846
88290
|
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
|
|
88847
88291
|
|
|
88848
88292
|
"use strict";
|
|
88849
88293
|
|
|
88850
|
-
const outside = __webpack_require__("./node_modules/.f/_/semver/7.7.
|
|
88294
|
+
const outside = __webpack_require__("./node_modules/.f/_/semver/7.7.4/semver/ranges/outside.js");
|
|
88851
88295
|
const gtr = (version, range, options) => outside(version, range, ">", options);
|
|
88852
88296
|
module.exports = gtr;
|
|
88853
88297
|
|
|
88854
88298
|
|
|
88855
88299
|
/***/ }),
|
|
88856
88300
|
|
|
88857
|
-
/***/ "./node_modules/.f/_/semver/7.7.
|
|
88301
|
+
/***/ "./node_modules/.f/_/semver/7.7.4/semver/ranges/intersects.js":
|
|
88858
88302
|
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
|
|
88859
88303
|
|
|
88860
88304
|
"use strict";
|
|
88861
88305
|
|
|
88862
|
-
const Range = __webpack_require__("./node_modules/.f/_/semver/7.7.
|
|
88306
|
+
const Range = __webpack_require__("./node_modules/.f/_/semver/7.7.4/semver/classes/range.js");
|
|
88863
88307
|
const intersects = (r1, r2, options) => {
|
|
88864
88308
|
r1 = new Range(r1, options);
|
|
88865
88309
|
r2 = new Range(r2, options);
|
|
@@ -88870,25 +88314,25 @@ module.exports = intersects;
|
|
|
88870
88314
|
|
|
88871
88315
|
/***/ }),
|
|
88872
88316
|
|
|
88873
|
-
/***/ "./node_modules/.f/_/semver/7.7.
|
|
88317
|
+
/***/ "./node_modules/.f/_/semver/7.7.4/semver/ranges/ltr.js":
|
|
88874
88318
|
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
|
|
88875
88319
|
|
|
88876
88320
|
"use strict";
|
|
88877
88321
|
|
|
88878
|
-
const outside = __webpack_require__("./node_modules/.f/_/semver/7.7.
|
|
88322
|
+
const outside = __webpack_require__("./node_modules/.f/_/semver/7.7.4/semver/ranges/outside.js");
|
|
88879
88323
|
const ltr = (version, range, options) => outside(version, range, "<", options);
|
|
88880
88324
|
module.exports = ltr;
|
|
88881
88325
|
|
|
88882
88326
|
|
|
88883
88327
|
/***/ }),
|
|
88884
88328
|
|
|
88885
|
-
/***/ "./node_modules/.f/_/semver/7.7.
|
|
88329
|
+
/***/ "./node_modules/.f/_/semver/7.7.4/semver/ranges/max-satisfying.js":
|
|
88886
88330
|
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
|
|
88887
88331
|
|
|
88888
88332
|
"use strict";
|
|
88889
88333
|
|
|
88890
|
-
const SemVer = __webpack_require__("./node_modules/.f/_/semver/7.7.
|
|
88891
|
-
const Range = __webpack_require__("./node_modules/.f/_/semver/7.7.
|
|
88334
|
+
const SemVer = __webpack_require__("./node_modules/.f/_/semver/7.7.4/semver/classes/semver.js");
|
|
88335
|
+
const Range = __webpack_require__("./node_modules/.f/_/semver/7.7.4/semver/classes/range.js");
|
|
88892
88336
|
const maxSatisfying = (versions, range, options) => {
|
|
88893
88337
|
let max = null;
|
|
88894
88338
|
let maxSV = null;
|
|
@@ -88913,13 +88357,13 @@ module.exports = maxSatisfying;
|
|
|
88913
88357
|
|
|
88914
88358
|
/***/ }),
|
|
88915
88359
|
|
|
88916
|
-
/***/ "./node_modules/.f/_/semver/7.7.
|
|
88360
|
+
/***/ "./node_modules/.f/_/semver/7.7.4/semver/ranges/min-satisfying.js":
|
|
88917
88361
|
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
|
|
88918
88362
|
|
|
88919
88363
|
"use strict";
|
|
88920
88364
|
|
|
88921
|
-
const SemVer = __webpack_require__("./node_modules/.f/_/semver/7.7.
|
|
88922
|
-
const Range = __webpack_require__("./node_modules/.f/_/semver/7.7.
|
|
88365
|
+
const SemVer = __webpack_require__("./node_modules/.f/_/semver/7.7.4/semver/classes/semver.js");
|
|
88366
|
+
const Range = __webpack_require__("./node_modules/.f/_/semver/7.7.4/semver/classes/range.js");
|
|
88923
88367
|
const minSatisfying = (versions, range, options) => {
|
|
88924
88368
|
let min = null;
|
|
88925
88369
|
let minSV = null;
|
|
@@ -88944,14 +88388,14 @@ module.exports = minSatisfying;
|
|
|
88944
88388
|
|
|
88945
88389
|
/***/ }),
|
|
88946
88390
|
|
|
88947
|
-
/***/ "./node_modules/.f/_/semver/7.7.
|
|
88391
|
+
/***/ "./node_modules/.f/_/semver/7.7.4/semver/ranges/min-version.js":
|
|
88948
88392
|
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
|
|
88949
88393
|
|
|
88950
88394
|
"use strict";
|
|
88951
88395
|
|
|
88952
|
-
const SemVer = __webpack_require__("./node_modules/.f/_/semver/7.7.
|
|
88953
|
-
const Range = __webpack_require__("./node_modules/.f/_/semver/7.7.
|
|
88954
|
-
const gt = __webpack_require__("./node_modules/.f/_/semver/7.7.
|
|
88396
|
+
const SemVer = __webpack_require__("./node_modules/.f/_/semver/7.7.4/semver/classes/semver.js");
|
|
88397
|
+
const Range = __webpack_require__("./node_modules/.f/_/semver/7.7.4/semver/classes/range.js");
|
|
88398
|
+
const gt = __webpack_require__("./node_modules/.f/_/semver/7.7.4/semver/functions/gt.js");
|
|
88955
88399
|
const minVersion = (range, loose) => {
|
|
88956
88400
|
range = new Range(range, loose);
|
|
88957
88401
|
let minver = new SemVer("0.0.0");
|
|
@@ -89005,20 +88449,20 @@ module.exports = minVersion;
|
|
|
89005
88449
|
|
|
89006
88450
|
/***/ }),
|
|
89007
88451
|
|
|
89008
|
-
/***/ "./node_modules/.f/_/semver/7.7.
|
|
88452
|
+
/***/ "./node_modules/.f/_/semver/7.7.4/semver/ranges/outside.js":
|
|
89009
88453
|
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
|
|
89010
88454
|
|
|
89011
88455
|
"use strict";
|
|
89012
88456
|
|
|
89013
|
-
const SemVer = __webpack_require__("./node_modules/.f/_/semver/7.7.
|
|
89014
|
-
const Comparator = __webpack_require__("./node_modules/.f/_/semver/7.7.
|
|
88457
|
+
const SemVer = __webpack_require__("./node_modules/.f/_/semver/7.7.4/semver/classes/semver.js");
|
|
88458
|
+
const Comparator = __webpack_require__("./node_modules/.f/_/semver/7.7.4/semver/classes/comparator.js");
|
|
89015
88459
|
const { ANY } = Comparator;
|
|
89016
|
-
const Range = __webpack_require__("./node_modules/.f/_/semver/7.7.
|
|
89017
|
-
const satisfies = __webpack_require__("./node_modules/.f/_/semver/7.7.
|
|
89018
|
-
const gt = __webpack_require__("./node_modules/.f/_/semver/7.7.
|
|
89019
|
-
const lt = __webpack_require__("./node_modules/.f/_/semver/7.7.
|
|
89020
|
-
const lte = __webpack_require__("./node_modules/.f/_/semver/7.7.
|
|
89021
|
-
const gte = __webpack_require__("./node_modules/.f/_/semver/7.7.
|
|
88460
|
+
const Range = __webpack_require__("./node_modules/.f/_/semver/7.7.4/semver/classes/range.js");
|
|
88461
|
+
const satisfies = __webpack_require__("./node_modules/.f/_/semver/7.7.4/semver/functions/satisfies.js");
|
|
88462
|
+
const gt = __webpack_require__("./node_modules/.f/_/semver/7.7.4/semver/functions/gt.js");
|
|
88463
|
+
const lt = __webpack_require__("./node_modules/.f/_/semver/7.7.4/semver/functions/lt.js");
|
|
88464
|
+
const lte = __webpack_require__("./node_modules/.f/_/semver/7.7.4/semver/functions/lte.js");
|
|
88465
|
+
const gte = __webpack_require__("./node_modules/.f/_/semver/7.7.4/semver/functions/gte.js");
|
|
89022
88466
|
const outside = (version, range, hilo, options) => {
|
|
89023
88467
|
version = new SemVer(version, options);
|
|
89024
88468
|
range = new Range(range, options);
|
|
@@ -89076,13 +88520,13 @@ module.exports = outside;
|
|
|
89076
88520
|
|
|
89077
88521
|
/***/ }),
|
|
89078
88522
|
|
|
89079
|
-
/***/ "./node_modules/.f/_/semver/7.7.
|
|
88523
|
+
/***/ "./node_modules/.f/_/semver/7.7.4/semver/ranges/simplify.js":
|
|
89080
88524
|
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
|
|
89081
88525
|
|
|
89082
88526
|
"use strict";
|
|
89083
88527
|
|
|
89084
|
-
const satisfies = __webpack_require__("./node_modules/.f/_/semver/7.7.
|
|
89085
|
-
const compare = __webpack_require__("./node_modules/.f/_/semver/7.7.
|
|
88528
|
+
const satisfies = __webpack_require__("./node_modules/.f/_/semver/7.7.4/semver/functions/satisfies.js");
|
|
88529
|
+
const compare = __webpack_require__("./node_modules/.f/_/semver/7.7.4/semver/functions/compare.js");
|
|
89086
88530
|
module.exports = (versions, range, options) => {
|
|
89087
88531
|
const set = [];
|
|
89088
88532
|
let first = null;
|
|
@@ -89128,16 +88572,16 @@ module.exports = (versions, range, options) => {
|
|
|
89128
88572
|
|
|
89129
88573
|
/***/ }),
|
|
89130
88574
|
|
|
89131
|
-
/***/ "./node_modules/.f/_/semver/7.7.
|
|
88575
|
+
/***/ "./node_modules/.f/_/semver/7.7.4/semver/ranges/subset.js":
|
|
89132
88576
|
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
|
|
89133
88577
|
|
|
89134
88578
|
"use strict";
|
|
89135
88579
|
|
|
89136
|
-
const Range = __webpack_require__("./node_modules/.f/_/semver/7.7.
|
|
89137
|
-
const Comparator = __webpack_require__("./node_modules/.f/_/semver/7.7.
|
|
88580
|
+
const Range = __webpack_require__("./node_modules/.f/_/semver/7.7.4/semver/classes/range.js");
|
|
88581
|
+
const Comparator = __webpack_require__("./node_modules/.f/_/semver/7.7.4/semver/classes/comparator.js");
|
|
89138
88582
|
const { ANY } = Comparator;
|
|
89139
|
-
const satisfies = __webpack_require__("./node_modules/.f/_/semver/7.7.
|
|
89140
|
-
const compare = __webpack_require__("./node_modules/.f/_/semver/7.7.
|
|
88583
|
+
const satisfies = __webpack_require__("./node_modules/.f/_/semver/7.7.4/semver/functions/satisfies.js");
|
|
88584
|
+
const compare = __webpack_require__("./node_modules/.f/_/semver/7.7.4/semver/functions/compare.js");
|
|
89141
88585
|
const subset = (sub, dom, options = {}) => {
|
|
89142
88586
|
if (sub === dom) {
|
|
89143
88587
|
return true;
|
|
@@ -89292,24 +88736,24 @@ module.exports = subset;
|
|
|
89292
88736
|
|
|
89293
88737
|
/***/ }),
|
|
89294
88738
|
|
|
89295
|
-
/***/ "./node_modules/.f/_/semver/7.7.
|
|
88739
|
+
/***/ "./node_modules/.f/_/semver/7.7.4/semver/ranges/to-comparators.js":
|
|
89296
88740
|
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
|
|
89297
88741
|
|
|
89298
88742
|
"use strict";
|
|
89299
88743
|
|
|
89300
|
-
const Range = __webpack_require__("./node_modules/.f/_/semver/7.7.
|
|
88744
|
+
const Range = __webpack_require__("./node_modules/.f/_/semver/7.7.4/semver/classes/range.js");
|
|
89301
88745
|
const toComparators = (range, options) => new Range(range, options).set.map((comp) => comp.map((c) => c.value).join(" ").trim().split(" "));
|
|
89302
88746
|
module.exports = toComparators;
|
|
89303
88747
|
|
|
89304
88748
|
|
|
89305
88749
|
/***/ }),
|
|
89306
88750
|
|
|
89307
|
-
/***/ "./node_modules/.f/_/semver/7.7.
|
|
88751
|
+
/***/ "./node_modules/.f/_/semver/7.7.4/semver/ranges/valid.js":
|
|
89308
88752
|
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
|
|
89309
88753
|
|
|
89310
88754
|
"use strict";
|
|
89311
88755
|
|
|
89312
|
-
const Range = __webpack_require__("./node_modules/.f/_/semver/7.7.
|
|
88756
|
+
const Range = __webpack_require__("./node_modules/.f/_/semver/7.7.4/semver/classes/range.js");
|
|
89313
88757
|
const validRange = (range, options) => {
|
|
89314
88758
|
try {
|
|
89315
88759
|
return new Range(range, options).range || "*";
|
|
@@ -103631,85 +103075,63 @@ module.exports = validate;
|
|
|
103631
103075
|
|
|
103632
103076
|
/***/ }),
|
|
103633
103077
|
|
|
103634
|
-
/***/ "./node_modules/.f/_/visual-exec/0.
|
|
103635
|
-
/***/ (
|
|
103078
|
+
/***/ "./node_modules/.f/_/visual-exec/0.1.14/visual-exec/lib/get-default-logger.js":
|
|
103079
|
+
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
|
|
103636
103080
|
|
|
103637
103081
|
"use strict";
|
|
103638
103082
|
|
|
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() {
|
|
103083
|
+
const VisualLogger = __webpack_require__("./node_modules/.f/_/visual-logger/1.1.3/visual-logger/lib/visual-logger.js");
|
|
103084
|
+
const { isCI } = __webpack_require__("./node_modules/.f/_/ci-info/3.9.0/ci-info/index.js");
|
|
103085
|
+
let logger;
|
|
103086
|
+
const getLogger = () => {
|
|
103648
103087
|
if (!logger) {
|
|
103649
|
-
logger = new
|
|
103650
|
-
if (
|
|
103088
|
+
logger = new VisualLogger();
|
|
103089
|
+
if (isCI) {
|
|
103651
103090
|
logger.info("visual-exec: CI env detected");
|
|
103652
103091
|
logger.setItemType("none");
|
|
103653
103092
|
}
|
|
103654
103093
|
}
|
|
103655
103094
|
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
|
-
} }));
|
|
103095
|
+
};
|
|
103096
|
+
module.exports = getLogger;
|
|
103681
103097
|
|
|
103682
103098
|
|
|
103683
103099
|
/***/ }),
|
|
103684
103100
|
|
|
103685
|
-
/***/ "./node_modules/.f/_/visual-exec/0.
|
|
103686
|
-
/***/ (
|
|
103101
|
+
/***/ "./node_modules/.f/_/visual-exec/0.1.14/visual-exec/lib/visual-exec.js":
|
|
103102
|
+
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
|
|
103687
103103
|
|
|
103688
103104
|
"use strict";
|
|
103689
103105
|
|
|
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;
|
|
103106
|
+
const xsh = __webpack_require__("./node_modules/.f/_/xsh/0.4.6/xsh/lib/index.js");
|
|
103107
|
+
const chalk = __webpack_require__("./node_modules/.f/_/chalk/4.1.2/chalk/source/index.js");
|
|
103108
|
+
const getDefaultLogger = __webpack_require__("./node_modules/.f/_/visual-exec/0.1.14/visual-exec/lib/get-default-logger.js");
|
|
103109
|
+
const VisualLogger = __webpack_require__("./node_modules/.f/_/visual-logger/1.1.3/visual-logger/lib/visual-logger.js");
|
|
103110
|
+
const hasAnsi = __webpack_require__("./node_modules/.f/_/has-ansi/4.0.1/has-ansi/index.js");
|
|
103111
|
+
const stripAnsi = __webpack_require__("./node_modules/.f/_/strip-ansi/6.0.1/strip-ansi/index.js");
|
|
103112
|
+
xsh.Promise = Promise;
|
|
103702
103113
|
const ONE_MB = 1024 * 1024;
|
|
103703
103114
|
const TEN_MB = 10 * ONE_MB;
|
|
103704
103115
|
class VisualExec {
|
|
103705
|
-
constructor(
|
|
103706
|
-
|
|
103116
|
+
constructor({
|
|
103117
|
+
command,
|
|
103118
|
+
cwd = process.cwd(),
|
|
103119
|
+
visualLogger,
|
|
103120
|
+
spinner = VisualLogger.spinners[1],
|
|
103121
|
+
displayTitle = void 0,
|
|
103122
|
+
logLabel = void 0,
|
|
103123
|
+
outputLabel = void 0,
|
|
103124
|
+
outputLevel = "verbose",
|
|
103125
|
+
maxBuffer = TEN_MB,
|
|
103126
|
+
forceStderr = true,
|
|
103127
|
+
checkStdoutError = true
|
|
103128
|
+
}) {
|
|
103707
103129
|
this._title = displayTitle || this._makeTitle(command);
|
|
103708
103130
|
this._logLabel = logLabel || this._title;
|
|
103709
103131
|
this._outputLabel = outputLabel || this._title;
|
|
103710
103132
|
this._command = command;
|
|
103711
103133
|
this._cwd = cwd || process.cwd();
|
|
103712
|
-
this._logger = visualLogger ||
|
|
103134
|
+
this._logger = visualLogger || getDefaultLogger();
|
|
103713
103135
|
this._outputLevel = outputLevel;
|
|
103714
103136
|
this._spinner = spinner;
|
|
103715
103137
|
this._maxBuffer = maxBuffer;
|
|
@@ -103723,10 +103145,11 @@ class VisualExec {
|
|
|
103723
103145
|
}
|
|
103724
103146
|
return `Running ${command}`;
|
|
103725
103147
|
}
|
|
103148
|
+
/* eslint-disable max-statements */
|
|
103726
103149
|
_updateDigest(item, buf) {
|
|
103727
103150
|
const newBuf = item.buf + buf;
|
|
103728
103151
|
const lines = newBuf.split("\n").map((x) => x && x.trim()).filter((x) => x);
|
|
103729
|
-
const stripLines = lines.map((x) => (
|
|
103152
|
+
const stripLines = lines.map((x) => hasAnsi(x) ? stripAnsi(x) : x);
|
|
103730
103153
|
let length = 0;
|
|
103731
103154
|
let ix = stripLines.length - 1;
|
|
103732
103155
|
for (; ix >= 0; ix--) {
|
|
@@ -103753,7 +103176,7 @@ class VisualExec {
|
|
|
103753
103176
|
item.buf += "\n";
|
|
103754
103177
|
}
|
|
103755
103178
|
this._logger.updateItem(item.name, {
|
|
103756
|
-
msg: msgs.join(
|
|
103179
|
+
msg: msgs.join(chalk.blue.inverse("\\n")),
|
|
103757
103180
|
_save: false,
|
|
103758
103181
|
_render: false
|
|
103759
103182
|
});
|
|
@@ -103795,58 +103218,51 @@ stdout`,
|
|
|
103795
103218
|
child.stdout.removeListener("data", this._updateStdout);
|
|
103796
103219
|
child.stderr.removeListener("data", this._updateStderr);
|
|
103797
103220
|
if (err) {
|
|
103798
|
-
this._logger.error(`${
|
|
103221
|
+
this._logger.error(`${chalk.red("Failed")} ${this._logLabel} - ${chalk.red(err.message)}`);
|
|
103799
103222
|
output = err.output;
|
|
103800
103223
|
} else {
|
|
103801
103224
|
const time = ((Date.now() - this._startTime) / 1e3).toFixed(2);
|
|
103802
|
-
const dispTime = `${
|
|
103803
|
-
this._logger.info(`Done ${this._logLabel} ${dispTime} ${
|
|
103225
|
+
const dispTime = `${chalk.magenta(time)}secs`;
|
|
103226
|
+
this._logger.info(`Done ${this._logLabel} ${dispTime} ${chalk.green("exit code 0")}`);
|
|
103804
103227
|
}
|
|
103805
103228
|
this.logFinalOutput(err, output);
|
|
103806
103229
|
}
|
|
103807
103230
|
checkForErrors(text) {
|
|
103808
|
-
|
|
103809
|
-
return null;
|
|
103810
|
-
if (this._checkStdoutError instanceof RegExp) {
|
|
103811
|
-
return text.match(this._checkStdoutError);
|
|
103812
|
-
}
|
|
103813
|
-
return null;
|
|
103231
|
+
return this._checkStdoutError && text && text.match(this._checkStdoutError);
|
|
103814
103232
|
}
|
|
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
103233
|
logFinalOutput(err, output) {
|
|
103820
|
-
const level = err || this._forceStderr && output
|
|
103234
|
+
const level = err || this._forceStderr && output.stderr || this.checkForErrors(output.stdout) ? "error" : this._outputLevel;
|
|
103821
103235
|
if (!output || !output.stdout && !output.stderr) {
|
|
103822
|
-
this._logger[level](`${
|
|
103236
|
+
this._logger[level](`${chalk.green("No output")} from ${this._outputLabel}`);
|
|
103823
103237
|
return;
|
|
103824
103238
|
}
|
|
103825
|
-
const colorize = (t) => t.replace(/ERR!/g,
|
|
103826
|
-
const logs = [
|
|
103239
|
+
const colorize = (t) => t.replace(/ERR!/g, chalk.red("ERR!"));
|
|
103240
|
+
const logs = [chalk.green(">>>"), `Start of output from ${this._outputLabel} ===`];
|
|
103827
103241
|
if (output.stdout) {
|
|
103828
103242
|
logs.push(`
|
|
103829
103243
|
${colorize(output.stdout)}`);
|
|
103830
103244
|
}
|
|
103831
103245
|
if (output.stderr) {
|
|
103832
|
-
logs.push(
|
|
103246
|
+
logs.push(chalk.red("\n=== stderr ===\n") + colorize(output.stderr));
|
|
103833
103247
|
}
|
|
103834
|
-
logs.push(
|
|
103248
|
+
logs.push(chalk.blue("\n<<<"), `End of output from ${this._outputLabel} ---`);
|
|
103835
103249
|
this._logger.prefix(false)[level](...logs);
|
|
103836
103250
|
}
|
|
103837
103251
|
execute(command) {
|
|
103838
103252
|
this._startTime = Date.now();
|
|
103839
|
-
const child =
|
|
103840
|
-
|
|
103841
|
-
|
|
103842
|
-
|
|
103843
|
-
|
|
103844
|
-
|
|
103253
|
+
const child = xsh.exec(
|
|
103254
|
+
{
|
|
103255
|
+
silent: true,
|
|
103256
|
+
cwd: this._cwd,
|
|
103257
|
+
env: Object.assign({}, process.env, { PWD: this._cwd }),
|
|
103258
|
+
maxBuffer: this._maxBuffer
|
|
103259
|
+
},
|
|
103260
|
+
command || this._command
|
|
103261
|
+
);
|
|
103845
103262
|
return this.show(child);
|
|
103846
103263
|
}
|
|
103847
103264
|
}
|
|
103848
|
-
exports
|
|
103849
|
-
exports["default"] = VisualExec;
|
|
103265
|
+
module.exports = VisualExec;
|
|
103850
103266
|
|
|
103851
103267
|
|
|
103852
103268
|
/***/ }),
|
|
@@ -104951,7 +104367,7 @@ module.exports = xenvConfig;
|
|
|
104951
104367
|
|
|
104952
104368
|
/***/ }),
|
|
104953
104369
|
|
|
104954
|
-
/***/ "./node_modules/.f/_/xsh/0.4.6
|
|
104370
|
+
/***/ "./node_modules/.f/_/xsh/0.4.6/xsh/lib/env-path.js":
|
|
104955
104371
|
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
|
|
104956
104372
|
|
|
104957
104373
|
"use strict";
|
|
@@ -105028,7 +104444,7 @@ module.exports = {
|
|
|
105028
104444
|
|
|
105029
104445
|
/***/ }),
|
|
105030
104446
|
|
|
105031
|
-
/***/ "./node_modules/.f/_/xsh/0.4.6
|
|
104447
|
+
/***/ "./node_modules/.f/_/xsh/0.4.6/xsh/lib/env.js":
|
|
105032
104448
|
/***/ ((module) => {
|
|
105033
104449
|
|
|
105034
104450
|
"use strict";
|
|
@@ -105069,7 +104485,7 @@ module.exports = {
|
|
|
105069
104485
|
|
|
105070
104486
|
/***/ }),
|
|
105071
104487
|
|
|
105072
|
-
/***/ "./node_modules/.f/_/xsh/0.4.6
|
|
104488
|
+
/***/ "./node_modules/.f/_/xsh/0.4.6/xsh/lib/esc-bs.js":
|
|
105073
104489
|
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
|
|
105074
104490
|
|
|
105075
104491
|
"use strict";
|
|
@@ -105080,13 +104496,13 @@ module.exports = Path.sep === "\\" ? (x) => x.replace(/\\/g, "\\\\") : (x) => x;
|
|
|
105080
104496
|
|
|
105081
104497
|
/***/ }),
|
|
105082
104498
|
|
|
105083
|
-
/***/ "./node_modules/.f/_/xsh/0.4.6
|
|
104499
|
+
/***/ "./node_modules/.f/_/xsh/0.4.6/xsh/lib/exec.js":
|
|
105084
104500
|
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
|
|
105085
104501
|
|
|
105086
104502
|
"use strict";
|
|
105087
104503
|
|
|
105088
104504
|
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
|
|
104505
|
+
const util = __webpack_require__("./node_modules/.f/_/xsh/0.4.6/xsh/lib/util.js");
|
|
105090
104506
|
const assert = __webpack_require__("assert");
|
|
105091
104507
|
function exec() {
|
|
105092
104508
|
const error = (cmd2, code, output) => {
|
|
@@ -105161,19 +104577,19 @@ module.exports = exec;
|
|
|
105161
104577
|
|
|
105162
104578
|
/***/ }),
|
|
105163
104579
|
|
|
105164
|
-
/***/ "./node_modules/.f/_/xsh/0.4.6
|
|
104580
|
+
/***/ "./node_modules/.f/_/xsh/0.4.6/xsh/lib/index.js":
|
|
105165
104581
|
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
|
|
105166
104582
|
|
|
105167
104583
|
"use strict";
|
|
105168
104584
|
|
|
105169
|
-
const util = __webpack_require__("./node_modules/.f/_/xsh/0.4.6
|
|
104585
|
+
const util = __webpack_require__("./node_modules/.f/_/xsh/0.4.6/xsh/lib/util.js");
|
|
105170
104586
|
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
|
|
104587
|
+
exec: __webpack_require__("./node_modules/.f/_/xsh/0.4.6/xsh/lib/exec.js"),
|
|
104588
|
+
env: __webpack_require__("./node_modules/.f/_/xsh/0.4.6/xsh/lib/env.js"),
|
|
104589
|
+
envPath: __webpack_require__("./node_modules/.f/_/xsh/0.4.6/xsh/lib/env-path.js"),
|
|
104590
|
+
mkCmd: __webpack_require__("./node_modules/.f/_/xsh/0.4.6/xsh/lib/mkcmd.js"),
|
|
104591
|
+
pathCwd: __webpack_require__("./node_modules/.f/_/xsh/0.4.6/xsh/lib/path-cwd.js"),
|
|
104592
|
+
pathCwdNm: __webpack_require__("./node_modules/.f/_/xsh/0.4.6/xsh/lib/path-cwd-nm.js"),
|
|
105177
104593
|
$: __webpack_require__("./node_modules/.f/_/shcmd/0.8.4/shcmd/shell.js")
|
|
105178
104594
|
};
|
|
105179
104595
|
Object.defineProperty(xsh, "Promise", {
|
|
@@ -105187,7 +104603,7 @@ module.exports = xsh;
|
|
|
105187
104603
|
|
|
105188
104604
|
/***/ }),
|
|
105189
104605
|
|
|
105190
|
-
/***/ "./node_modules/.f/_/xsh/0.4.6
|
|
104606
|
+
/***/ "./node_modules/.f/_/xsh/0.4.6/xsh/lib/mkcmd.js":
|
|
105191
104607
|
/***/ ((module) => {
|
|
105192
104608
|
|
|
105193
104609
|
"use strict";
|
|
@@ -105200,14 +104616,14 @@ module.exports = mkCmd;
|
|
|
105200
104616
|
|
|
105201
104617
|
/***/ }),
|
|
105202
104618
|
|
|
105203
|
-
/***/ "./node_modules/.f/_/xsh/0.4.6
|
|
104619
|
+
/***/ "./node_modules/.f/_/xsh/0.4.6/xsh/lib/path-cwd-nm.js":
|
|
105204
104620
|
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
|
|
105205
104621
|
|
|
105206
104622
|
"use strict";
|
|
105207
104623
|
|
|
105208
|
-
const pathCwd = __webpack_require__("./node_modules/.f/_/xsh/0.4.6
|
|
104624
|
+
const pathCwd = __webpack_require__("./node_modules/.f/_/xsh/0.4.6/xsh/lib/path-cwd.js");
|
|
105209
104625
|
const Path = __webpack_require__("path");
|
|
105210
|
-
const escBs = __webpack_require__("./node_modules/.f/_/xsh/0.4.6
|
|
104626
|
+
const escBs = __webpack_require__("./node_modules/.f/_/xsh/0.4.6/xsh/lib/esc-bs.js");
|
|
105211
104627
|
const normNm = escBs(Path.normalize("/node_modules/"));
|
|
105212
104628
|
const normNmReplacer = Path.normalize("/~/");
|
|
105213
104629
|
const makeNmRegex = () => escBs(Path.resolve("node_modules"));
|
|
@@ -105230,13 +104646,13 @@ module.exports = {
|
|
|
105230
104646
|
|
|
105231
104647
|
/***/ }),
|
|
105232
104648
|
|
|
105233
|
-
/***/ "./node_modules/.f/_/xsh/0.4.6
|
|
104649
|
+
/***/ "./node_modules/.f/_/xsh/0.4.6/xsh/lib/path-cwd.js":
|
|
105234
104650
|
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
|
|
105235
104651
|
|
|
105236
104652
|
"use strict";
|
|
105237
104653
|
|
|
105238
104654
|
const Path = __webpack_require__("path");
|
|
105239
|
-
const escBs = __webpack_require__("./node_modules/.f/_/xsh/0.4.6
|
|
104655
|
+
const escBs = __webpack_require__("./node_modules/.f/_/xsh/0.4.6/xsh/lib/esc-bs.js");
|
|
105240
104656
|
module.exports = {
|
|
105241
104657
|
remove: (p, flags, stripSlash) => {
|
|
105242
104658
|
const cwd = process.cwd();
|
|
@@ -105262,7 +104678,7 @@ module.exports = {
|
|
|
105262
104678
|
|
|
105263
104679
|
/***/ }),
|
|
105264
104680
|
|
|
105265
|
-
/***/ "./node_modules/.f/_/xsh/0.4.6
|
|
104681
|
+
/***/ "./node_modules/.f/_/xsh/0.4.6/xsh/lib/util.js":
|
|
105266
104682
|
/***/ ((module) => {
|
|
105267
104683
|
|
|
105268
104684
|
"use strict";
|