dev-cockpit 0.2.2 → 0.2.3
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/CHANGELOG.md +17 -0
- package/dist/commands/mount.d.ts.map +1 -1
- package/dist/core/config.d.ts +10 -4
- package/dist/core/config.d.ts.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +321 -301
- package/dist/index.js.map +4 -4
- package/dist/mount/overlay-path.d.ts +26 -0
- package/dist/mount/overlay-path.d.ts.map +1 -0
- package/docs/config-reference.md +4 -3
- package/docs/mount.md +5 -5
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -290,8 +290,8 @@ var require_req = __commonJS({
|
|
|
290
290
|
if (req.originalUrl) {
|
|
291
291
|
_req.url = req.originalUrl;
|
|
292
292
|
} else {
|
|
293
|
-
const
|
|
294
|
-
_req.url = typeof
|
|
293
|
+
const path22 = req.path;
|
|
294
|
+
_req.url = typeof path22 === "string" ? path22 : req.url ? req.url.path || req.url : void 0;
|
|
295
295
|
}
|
|
296
296
|
if (req.query) {
|
|
297
297
|
_req.query = req.query;
|
|
@@ -456,14 +456,14 @@ var require_redact = __commonJS({
|
|
|
456
456
|
}
|
|
457
457
|
return obj;
|
|
458
458
|
}
|
|
459
|
-
function parsePath(
|
|
459
|
+
function parsePath(path22) {
|
|
460
460
|
const parts = [];
|
|
461
461
|
let current = "";
|
|
462
462
|
let inBrackets = false;
|
|
463
463
|
let inQuotes = false;
|
|
464
464
|
let quoteChar = "";
|
|
465
|
-
for (let i2 = 0; i2 <
|
|
466
|
-
const char =
|
|
465
|
+
for (let i2 = 0; i2 < path22.length; i2++) {
|
|
466
|
+
const char = path22[i2];
|
|
467
467
|
if (!inBrackets && char === ".") {
|
|
468
468
|
if (current) {
|
|
469
469
|
parts.push(current);
|
|
@@ -594,10 +594,10 @@ var require_redact = __commonJS({
|
|
|
594
594
|
return current;
|
|
595
595
|
}
|
|
596
596
|
function redactPaths(obj, paths, censor, remove = false) {
|
|
597
|
-
for (const
|
|
598
|
-
const parts = parsePath(
|
|
597
|
+
for (const path22 of paths) {
|
|
598
|
+
const parts = parsePath(path22);
|
|
599
599
|
if (parts.includes("*")) {
|
|
600
|
-
redactWildcardPath(obj, parts, censor,
|
|
600
|
+
redactWildcardPath(obj, parts, censor, path22, remove);
|
|
601
601
|
} else {
|
|
602
602
|
if (remove) {
|
|
603
603
|
removeKey(obj, parts);
|
|
@@ -682,8 +682,8 @@ var require_redact = __commonJS({
|
|
|
682
682
|
}
|
|
683
683
|
} else {
|
|
684
684
|
if (afterWildcard.includes("*")) {
|
|
685
|
-
const wrappedCensor = typeof censor === "function" ? (value,
|
|
686
|
-
const fullPath = [...pathArray.slice(0, pathLength), ...
|
|
685
|
+
const wrappedCensor = typeof censor === "function" ? (value, path22) => {
|
|
686
|
+
const fullPath = [...pathArray.slice(0, pathLength), ...path22];
|
|
687
687
|
return censor(value, fullPath);
|
|
688
688
|
} : censor;
|
|
689
689
|
redactWildcardPath(current, afterWildcard, wrappedCensor, originalPath, remove);
|
|
@@ -718,8 +718,8 @@ var require_redact = __commonJS({
|
|
|
718
718
|
return null;
|
|
719
719
|
}
|
|
720
720
|
const pathStructure = /* @__PURE__ */ new Map();
|
|
721
|
-
for (const
|
|
722
|
-
const parts = parsePath(
|
|
721
|
+
for (const path22 of pathsToClone) {
|
|
722
|
+
const parts = parsePath(path22);
|
|
723
723
|
let current = pathStructure;
|
|
724
724
|
for (let i2 = 0; i2 < parts.length; i2++) {
|
|
725
725
|
const part = parts[i2];
|
|
@@ -771,24 +771,24 @@ var require_redact = __commonJS({
|
|
|
771
771
|
}
|
|
772
772
|
return cloneSelectively(obj, pathStructure);
|
|
773
773
|
}
|
|
774
|
-
function validatePath(
|
|
775
|
-
if (typeof
|
|
774
|
+
function validatePath(path22) {
|
|
775
|
+
if (typeof path22 !== "string") {
|
|
776
776
|
throw new Error("Paths must be (non-empty) strings");
|
|
777
777
|
}
|
|
778
|
-
if (
|
|
778
|
+
if (path22 === "") {
|
|
779
779
|
throw new Error("Invalid redaction path ()");
|
|
780
780
|
}
|
|
781
|
-
if (
|
|
782
|
-
throw new Error(`Invalid redaction path (${
|
|
781
|
+
if (path22.includes("..")) {
|
|
782
|
+
throw new Error(`Invalid redaction path (${path22})`);
|
|
783
783
|
}
|
|
784
|
-
if (
|
|
785
|
-
throw new Error(`Invalid redaction path (${
|
|
784
|
+
if (path22.includes(",")) {
|
|
785
|
+
throw new Error(`Invalid redaction path (${path22})`);
|
|
786
786
|
}
|
|
787
787
|
let bracketCount = 0;
|
|
788
788
|
let inQuotes = false;
|
|
789
789
|
let quoteChar = "";
|
|
790
|
-
for (let i2 = 0; i2 <
|
|
791
|
-
const char =
|
|
790
|
+
for (let i2 = 0; i2 < path22.length; i2++) {
|
|
791
|
+
const char = path22[i2];
|
|
792
792
|
if ((char === '"' || char === "'") && bracketCount > 0) {
|
|
793
793
|
if (!inQuotes) {
|
|
794
794
|
inQuotes = true;
|
|
@@ -802,20 +802,20 @@ var require_redact = __commonJS({
|
|
|
802
802
|
} else if (char === "]" && !inQuotes) {
|
|
803
803
|
bracketCount--;
|
|
804
804
|
if (bracketCount < 0) {
|
|
805
|
-
throw new Error(`Invalid redaction path (${
|
|
805
|
+
throw new Error(`Invalid redaction path (${path22})`);
|
|
806
806
|
}
|
|
807
807
|
}
|
|
808
808
|
}
|
|
809
809
|
if (bracketCount !== 0) {
|
|
810
|
-
throw new Error(`Invalid redaction path (${
|
|
810
|
+
throw new Error(`Invalid redaction path (${path22})`);
|
|
811
811
|
}
|
|
812
812
|
}
|
|
813
813
|
function validatePaths(paths) {
|
|
814
814
|
if (!Array.isArray(paths)) {
|
|
815
815
|
throw new TypeError("paths must be an array");
|
|
816
816
|
}
|
|
817
|
-
for (const
|
|
818
|
-
validatePath(
|
|
817
|
+
for (const path22 of paths) {
|
|
818
|
+
validatePath(path22);
|
|
819
819
|
}
|
|
820
820
|
}
|
|
821
821
|
function slowRedact(options2 = {}) {
|
|
@@ -983,8 +983,8 @@ var require_redaction = __commonJS({
|
|
|
983
983
|
if (shape[k] === null) {
|
|
984
984
|
o2[k] = (value) => topCensor(value, [k]);
|
|
985
985
|
} else {
|
|
986
|
-
const wrappedCensor = typeof censor === "function" ? (value,
|
|
987
|
-
return censor(value, [k, ...
|
|
986
|
+
const wrappedCensor = typeof censor === "function" ? (value, path22) => {
|
|
987
|
+
return censor(value, [k, ...path22]);
|
|
988
988
|
} : censor;
|
|
989
989
|
o2[k] = Redact({
|
|
990
990
|
paths: shape[k],
|
|
@@ -1205,7 +1205,7 @@ var require_sonic_boom = __commonJS({
|
|
|
1205
1205
|
var fs18 = __require("fs");
|
|
1206
1206
|
var EventEmitter3 = __require("events");
|
|
1207
1207
|
var inherits = __require("util").inherits;
|
|
1208
|
-
var
|
|
1208
|
+
var path22 = __require("path");
|
|
1209
1209
|
var sleep = require_atomic_sleep();
|
|
1210
1210
|
var assert = __require("assert");
|
|
1211
1211
|
var BUSY_WRITE_TIMEOUT = 100;
|
|
@@ -1259,7 +1259,7 @@ var require_sonic_boom = __commonJS({
|
|
|
1259
1259
|
const mode = sonic.mode;
|
|
1260
1260
|
if (sonic.sync) {
|
|
1261
1261
|
try {
|
|
1262
|
-
if (sonic.mkdir) fs18.mkdirSync(
|
|
1262
|
+
if (sonic.mkdir) fs18.mkdirSync(path22.dirname(file), { recursive: true });
|
|
1263
1263
|
const fd = fs18.openSync(file, flags, mode);
|
|
1264
1264
|
fileOpened(null, fd);
|
|
1265
1265
|
} catch (err) {
|
|
@@ -1267,7 +1267,7 @@ var require_sonic_boom = __commonJS({
|
|
|
1267
1267
|
throw err;
|
|
1268
1268
|
}
|
|
1269
1269
|
} else if (sonic.mkdir) {
|
|
1270
|
-
fs18.mkdir(
|
|
1270
|
+
fs18.mkdir(path22.dirname(file), { recursive: true }, (err) => {
|
|
1271
1271
|
if (err) return fileOpened(err);
|
|
1272
1272
|
fs18.open(file, flags, mode, fileOpened);
|
|
1273
1273
|
});
|
|
@@ -4338,7 +4338,7 @@ var require_windows = __commonJS({
|
|
|
4338
4338
|
module.exports = isexe;
|
|
4339
4339
|
isexe.sync = sync;
|
|
4340
4340
|
var fs18 = __require("fs");
|
|
4341
|
-
function checkPathExt(
|
|
4341
|
+
function checkPathExt(path22, options2) {
|
|
4342
4342
|
var pathext = options2.pathExt !== void 0 ? options2.pathExt : process.env.PATHEXT;
|
|
4343
4343
|
if (!pathext) {
|
|
4344
4344
|
return true;
|
|
@@ -4349,25 +4349,25 @@ var require_windows = __commonJS({
|
|
|
4349
4349
|
}
|
|
4350
4350
|
for (var i2 = 0; i2 < pathext.length; i2++) {
|
|
4351
4351
|
var p = pathext[i2].toLowerCase();
|
|
4352
|
-
if (p &&
|
|
4352
|
+
if (p && path22.substr(-p.length).toLowerCase() === p) {
|
|
4353
4353
|
return true;
|
|
4354
4354
|
}
|
|
4355
4355
|
}
|
|
4356
4356
|
return false;
|
|
4357
4357
|
}
|
|
4358
|
-
function checkStat(stat4,
|
|
4358
|
+
function checkStat(stat4, path22, options2) {
|
|
4359
4359
|
if (!stat4.isSymbolicLink() && !stat4.isFile()) {
|
|
4360
4360
|
return false;
|
|
4361
4361
|
}
|
|
4362
|
-
return checkPathExt(
|
|
4362
|
+
return checkPathExt(path22, options2);
|
|
4363
4363
|
}
|
|
4364
|
-
function isexe(
|
|
4365
|
-
fs18.stat(
|
|
4366
|
-
cb(er, er ? false : checkStat(stat4,
|
|
4364
|
+
function isexe(path22, options2, cb) {
|
|
4365
|
+
fs18.stat(path22, function(er, stat4) {
|
|
4366
|
+
cb(er, er ? false : checkStat(stat4, path22, options2));
|
|
4367
4367
|
});
|
|
4368
4368
|
}
|
|
4369
|
-
function sync(
|
|
4370
|
-
return checkStat(fs18.statSync(
|
|
4369
|
+
function sync(path22, options2) {
|
|
4370
|
+
return checkStat(fs18.statSync(path22), path22, options2);
|
|
4371
4371
|
}
|
|
4372
4372
|
}
|
|
4373
4373
|
});
|
|
@@ -4378,13 +4378,13 @@ var require_mode = __commonJS({
|
|
|
4378
4378
|
module.exports = isexe;
|
|
4379
4379
|
isexe.sync = sync;
|
|
4380
4380
|
var fs18 = __require("fs");
|
|
4381
|
-
function isexe(
|
|
4382
|
-
fs18.stat(
|
|
4381
|
+
function isexe(path22, options2, cb) {
|
|
4382
|
+
fs18.stat(path22, function(er, stat4) {
|
|
4383
4383
|
cb(er, er ? false : checkStat(stat4, options2));
|
|
4384
4384
|
});
|
|
4385
4385
|
}
|
|
4386
|
-
function sync(
|
|
4387
|
-
return checkStat(fs18.statSync(
|
|
4386
|
+
function sync(path22, options2) {
|
|
4387
|
+
return checkStat(fs18.statSync(path22), options2);
|
|
4388
4388
|
}
|
|
4389
4389
|
function checkStat(stat4, options2) {
|
|
4390
4390
|
return stat4.isFile() && checkMode(stat4, options2);
|
|
@@ -4417,7 +4417,7 @@ var require_isexe = __commonJS({
|
|
|
4417
4417
|
}
|
|
4418
4418
|
module.exports = isexe;
|
|
4419
4419
|
isexe.sync = sync;
|
|
4420
|
-
function isexe(
|
|
4420
|
+
function isexe(path22, options2, cb) {
|
|
4421
4421
|
if (typeof options2 === "function") {
|
|
4422
4422
|
cb = options2;
|
|
4423
4423
|
options2 = {};
|
|
@@ -4427,7 +4427,7 @@ var require_isexe = __commonJS({
|
|
|
4427
4427
|
throw new TypeError("callback not provided");
|
|
4428
4428
|
}
|
|
4429
4429
|
return new Promise(function(resolve3, reject) {
|
|
4430
|
-
isexe(
|
|
4430
|
+
isexe(path22, options2 || {}, function(er, is) {
|
|
4431
4431
|
if (er) {
|
|
4432
4432
|
reject(er);
|
|
4433
4433
|
} else {
|
|
@@ -4436,7 +4436,7 @@ var require_isexe = __commonJS({
|
|
|
4436
4436
|
});
|
|
4437
4437
|
});
|
|
4438
4438
|
}
|
|
4439
|
-
core(
|
|
4439
|
+
core(path22, options2 || {}, function(er, is) {
|
|
4440
4440
|
if (er) {
|
|
4441
4441
|
if (er.code === "EACCES" || options2 && options2.ignoreErrors) {
|
|
4442
4442
|
er = null;
|
|
@@ -4446,9 +4446,9 @@ var require_isexe = __commonJS({
|
|
|
4446
4446
|
cb(er, is);
|
|
4447
4447
|
});
|
|
4448
4448
|
}
|
|
4449
|
-
function sync(
|
|
4449
|
+
function sync(path22, options2) {
|
|
4450
4450
|
try {
|
|
4451
|
-
return core.sync(
|
|
4451
|
+
return core.sync(path22, options2 || {});
|
|
4452
4452
|
} catch (er) {
|
|
4453
4453
|
if (options2 && options2.ignoreErrors || er.code === "EACCES") {
|
|
4454
4454
|
return false;
|
|
@@ -4464,7 +4464,7 @@ var require_isexe = __commonJS({
|
|
|
4464
4464
|
var require_which = __commonJS({
|
|
4465
4465
|
"node_modules/which/which.js"(exports, module) {
|
|
4466
4466
|
var isWindows2 = process.platform === "win32" || process.env.OSTYPE === "cygwin" || process.env.OSTYPE === "msys";
|
|
4467
|
-
var
|
|
4467
|
+
var path22 = __require("path");
|
|
4468
4468
|
var COLON = isWindows2 ? ";" : ":";
|
|
4469
4469
|
var isexe = require_isexe();
|
|
4470
4470
|
var getNotFoundError = (cmd) => Object.assign(new Error(`not found: ${cmd}`), { code: "ENOENT" });
|
|
@@ -4502,7 +4502,7 @@ var require_which = __commonJS({
|
|
|
4502
4502
|
return opt.all && found.length ? resolve3(found) : reject(getNotFoundError(cmd));
|
|
4503
4503
|
const ppRaw = pathEnv[i2];
|
|
4504
4504
|
const pathPart = /^".*"$/.test(ppRaw) ? ppRaw.slice(1, -1) : ppRaw;
|
|
4505
|
-
const pCmd =
|
|
4505
|
+
const pCmd = path22.join(pathPart, cmd);
|
|
4506
4506
|
const p = !pathPart && /^\.[\\\/]/.test(cmd) ? cmd.slice(0, 2) + pCmd : pCmd;
|
|
4507
4507
|
resolve3(subStep(p, i2, 0));
|
|
4508
4508
|
});
|
|
@@ -4529,7 +4529,7 @@ var require_which = __commonJS({
|
|
|
4529
4529
|
for (let i2 = 0; i2 < pathEnv.length; i2++) {
|
|
4530
4530
|
const ppRaw = pathEnv[i2];
|
|
4531
4531
|
const pathPart = /^".*"$/.test(ppRaw) ? ppRaw.slice(1, -1) : ppRaw;
|
|
4532
|
-
const pCmd =
|
|
4532
|
+
const pCmd = path22.join(pathPart, cmd);
|
|
4533
4533
|
const p = !pathPart && /^\.[\\\/]/.test(cmd) ? cmd.slice(0, 2) + pCmd : pCmd;
|
|
4534
4534
|
for (let j = 0; j < pathExt.length; j++) {
|
|
4535
4535
|
const cur = p + pathExt[j];
|
|
@@ -4577,7 +4577,7 @@ var require_path_key = __commonJS({
|
|
|
4577
4577
|
var require_resolveCommand = __commonJS({
|
|
4578
4578
|
"node_modules/cross-spawn/lib/util/resolveCommand.js"(exports, module) {
|
|
4579
4579
|
"use strict";
|
|
4580
|
-
var
|
|
4580
|
+
var path22 = __require("path");
|
|
4581
4581
|
var which = require_which();
|
|
4582
4582
|
var getPathKey = require_path_key();
|
|
4583
4583
|
function resolveCommandAttempt(parsed, withoutPathExt) {
|
|
@@ -4595,7 +4595,7 @@ var require_resolveCommand = __commonJS({
|
|
|
4595
4595
|
try {
|
|
4596
4596
|
resolved = which.sync(parsed.command, {
|
|
4597
4597
|
path: env[getPathKey({ env })],
|
|
4598
|
-
pathExt: withoutPathExt ?
|
|
4598
|
+
pathExt: withoutPathExt ? path22.delimiter : void 0
|
|
4599
4599
|
});
|
|
4600
4600
|
} catch (e) {
|
|
4601
4601
|
} finally {
|
|
@@ -4604,7 +4604,7 @@ var require_resolveCommand = __commonJS({
|
|
|
4604
4604
|
}
|
|
4605
4605
|
}
|
|
4606
4606
|
if (resolved) {
|
|
4607
|
-
resolved =
|
|
4607
|
+
resolved = path22.resolve(hasCustomCwd ? parsed.options.cwd : "", resolved);
|
|
4608
4608
|
}
|
|
4609
4609
|
return resolved;
|
|
4610
4610
|
}
|
|
@@ -4658,8 +4658,8 @@ var require_shebang_command = __commonJS({
|
|
|
4658
4658
|
if (!match) {
|
|
4659
4659
|
return null;
|
|
4660
4660
|
}
|
|
4661
|
-
const [
|
|
4662
|
-
const binary =
|
|
4661
|
+
const [path22, argument] = match[0].replace(/#! ?/, "").split(" ");
|
|
4662
|
+
const binary = path22.split("/").pop();
|
|
4663
4663
|
if (binary === "env") {
|
|
4664
4664
|
return argument;
|
|
4665
4665
|
}
|
|
@@ -4694,7 +4694,7 @@ var require_readShebang = __commonJS({
|
|
|
4694
4694
|
var require_parse = __commonJS({
|
|
4695
4695
|
"node_modules/cross-spawn/lib/parse.js"(exports, module) {
|
|
4696
4696
|
"use strict";
|
|
4697
|
-
var
|
|
4697
|
+
var path22 = __require("path");
|
|
4698
4698
|
var resolveCommand = require_resolveCommand();
|
|
4699
4699
|
var escape3 = require_escape();
|
|
4700
4700
|
var readShebang = require_readShebang();
|
|
@@ -4719,7 +4719,7 @@ var require_parse = __commonJS({
|
|
|
4719
4719
|
const needsShell = !isExecutableRegExp.test(commandFile);
|
|
4720
4720
|
if (parsed.options.forceShell || needsShell) {
|
|
4721
4721
|
const needsDoubleEscapeMetaChars = isCmdShimRegExp.test(commandFile);
|
|
4722
|
-
parsed.command =
|
|
4722
|
+
parsed.command = path22.normalize(parsed.command);
|
|
4723
4723
|
parsed.command = escape3.command(parsed.command);
|
|
4724
4724
|
parsed.args = parsed.args.map((arg) => escape3.argument(arg, needsDoubleEscapeMetaChars));
|
|
4725
4725
|
const shellCommand = [parsed.command].concat(parsed.args).join(" ");
|
|
@@ -4906,17 +4906,17 @@ var require_visit = __commonJS({
|
|
|
4906
4906
|
visit.BREAK = BREAK;
|
|
4907
4907
|
visit.SKIP = SKIP;
|
|
4908
4908
|
visit.REMOVE = REMOVE;
|
|
4909
|
-
function visit_(key, node, visitor,
|
|
4910
|
-
const ctrl = callVisitor(key, node, visitor,
|
|
4909
|
+
function visit_(key, node, visitor, path22) {
|
|
4910
|
+
const ctrl = callVisitor(key, node, visitor, path22);
|
|
4911
4911
|
if (identity4.isNode(ctrl) || identity4.isPair(ctrl)) {
|
|
4912
|
-
replaceNode(key,
|
|
4913
|
-
return visit_(key, ctrl, visitor,
|
|
4912
|
+
replaceNode(key, path22, ctrl);
|
|
4913
|
+
return visit_(key, ctrl, visitor, path22);
|
|
4914
4914
|
}
|
|
4915
4915
|
if (typeof ctrl !== "symbol") {
|
|
4916
4916
|
if (identity4.isCollection(node)) {
|
|
4917
|
-
|
|
4917
|
+
path22 = Object.freeze(path22.concat(node));
|
|
4918
4918
|
for (let i2 = 0; i2 < node.items.length; ++i2) {
|
|
4919
|
-
const ci = visit_(i2, node.items[i2], visitor,
|
|
4919
|
+
const ci = visit_(i2, node.items[i2], visitor, path22);
|
|
4920
4920
|
if (typeof ci === "number")
|
|
4921
4921
|
i2 = ci - 1;
|
|
4922
4922
|
else if (ci === BREAK)
|
|
@@ -4927,13 +4927,13 @@ var require_visit = __commonJS({
|
|
|
4927
4927
|
}
|
|
4928
4928
|
}
|
|
4929
4929
|
} else if (identity4.isPair(node)) {
|
|
4930
|
-
|
|
4931
|
-
const ck = visit_("key", node.key, visitor,
|
|
4930
|
+
path22 = Object.freeze(path22.concat(node));
|
|
4931
|
+
const ck = visit_("key", node.key, visitor, path22);
|
|
4932
4932
|
if (ck === BREAK)
|
|
4933
4933
|
return BREAK;
|
|
4934
4934
|
else if (ck === REMOVE)
|
|
4935
4935
|
node.key = null;
|
|
4936
|
-
const cv = visit_("value", node.value, visitor,
|
|
4936
|
+
const cv = visit_("value", node.value, visitor, path22);
|
|
4937
4937
|
if (cv === BREAK)
|
|
4938
4938
|
return BREAK;
|
|
4939
4939
|
else if (cv === REMOVE)
|
|
@@ -4954,17 +4954,17 @@ var require_visit = __commonJS({
|
|
|
4954
4954
|
visitAsync.BREAK = BREAK;
|
|
4955
4955
|
visitAsync.SKIP = SKIP;
|
|
4956
4956
|
visitAsync.REMOVE = REMOVE;
|
|
4957
|
-
async function visitAsync_(key, node, visitor,
|
|
4958
|
-
const ctrl = await callVisitor(key, node, visitor,
|
|
4957
|
+
async function visitAsync_(key, node, visitor, path22) {
|
|
4958
|
+
const ctrl = await callVisitor(key, node, visitor, path22);
|
|
4959
4959
|
if (identity4.isNode(ctrl) || identity4.isPair(ctrl)) {
|
|
4960
|
-
replaceNode(key,
|
|
4961
|
-
return visitAsync_(key, ctrl, visitor,
|
|
4960
|
+
replaceNode(key, path22, ctrl);
|
|
4961
|
+
return visitAsync_(key, ctrl, visitor, path22);
|
|
4962
4962
|
}
|
|
4963
4963
|
if (typeof ctrl !== "symbol") {
|
|
4964
4964
|
if (identity4.isCollection(node)) {
|
|
4965
|
-
|
|
4965
|
+
path22 = Object.freeze(path22.concat(node));
|
|
4966
4966
|
for (let i2 = 0; i2 < node.items.length; ++i2) {
|
|
4967
|
-
const ci = await visitAsync_(i2, node.items[i2], visitor,
|
|
4967
|
+
const ci = await visitAsync_(i2, node.items[i2], visitor, path22);
|
|
4968
4968
|
if (typeof ci === "number")
|
|
4969
4969
|
i2 = ci - 1;
|
|
4970
4970
|
else if (ci === BREAK)
|
|
@@ -4975,13 +4975,13 @@ var require_visit = __commonJS({
|
|
|
4975
4975
|
}
|
|
4976
4976
|
}
|
|
4977
4977
|
} else if (identity4.isPair(node)) {
|
|
4978
|
-
|
|
4979
|
-
const ck = await visitAsync_("key", node.key, visitor,
|
|
4978
|
+
path22 = Object.freeze(path22.concat(node));
|
|
4979
|
+
const ck = await visitAsync_("key", node.key, visitor, path22);
|
|
4980
4980
|
if (ck === BREAK)
|
|
4981
4981
|
return BREAK;
|
|
4982
4982
|
else if (ck === REMOVE)
|
|
4983
4983
|
node.key = null;
|
|
4984
|
-
const cv = await visitAsync_("value", node.value, visitor,
|
|
4984
|
+
const cv = await visitAsync_("value", node.value, visitor, path22);
|
|
4985
4985
|
if (cv === BREAK)
|
|
4986
4986
|
return BREAK;
|
|
4987
4987
|
else if (cv === REMOVE)
|
|
@@ -5008,23 +5008,23 @@ var require_visit = __commonJS({
|
|
|
5008
5008
|
}
|
|
5009
5009
|
return visitor;
|
|
5010
5010
|
}
|
|
5011
|
-
function callVisitor(key, node, visitor,
|
|
5011
|
+
function callVisitor(key, node, visitor, path22) {
|
|
5012
5012
|
if (typeof visitor === "function")
|
|
5013
|
-
return visitor(key, node,
|
|
5013
|
+
return visitor(key, node, path22);
|
|
5014
5014
|
if (identity4.isMap(node))
|
|
5015
|
-
return visitor.Map?.(key, node,
|
|
5015
|
+
return visitor.Map?.(key, node, path22);
|
|
5016
5016
|
if (identity4.isSeq(node))
|
|
5017
|
-
return visitor.Seq?.(key, node,
|
|
5017
|
+
return visitor.Seq?.(key, node, path22);
|
|
5018
5018
|
if (identity4.isPair(node))
|
|
5019
|
-
return visitor.Pair?.(key, node,
|
|
5019
|
+
return visitor.Pair?.(key, node, path22);
|
|
5020
5020
|
if (identity4.isScalar(node))
|
|
5021
|
-
return visitor.Scalar?.(key, node,
|
|
5021
|
+
return visitor.Scalar?.(key, node, path22);
|
|
5022
5022
|
if (identity4.isAlias(node))
|
|
5023
|
-
return visitor.Alias?.(key, node,
|
|
5023
|
+
return visitor.Alias?.(key, node, path22);
|
|
5024
5024
|
return void 0;
|
|
5025
5025
|
}
|
|
5026
|
-
function replaceNode(key,
|
|
5027
|
-
const parent =
|
|
5026
|
+
function replaceNode(key, path22, node) {
|
|
5027
|
+
const parent = path22[path22.length - 1];
|
|
5028
5028
|
if (identity4.isCollection(parent)) {
|
|
5029
5029
|
parent.items[key] = node;
|
|
5030
5030
|
} else if (identity4.isPair(parent)) {
|
|
@@ -5634,10 +5634,10 @@ var require_Collection = __commonJS({
|
|
|
5634
5634
|
var createNode = require_createNode();
|
|
5635
5635
|
var identity4 = require_identity();
|
|
5636
5636
|
var Node = require_Node();
|
|
5637
|
-
function collectionFromPath(schema,
|
|
5637
|
+
function collectionFromPath(schema, path22, value) {
|
|
5638
5638
|
let v = value;
|
|
5639
|
-
for (let i2 =
|
|
5640
|
-
const k =
|
|
5639
|
+
for (let i2 = path22.length - 1; i2 >= 0; --i2) {
|
|
5640
|
+
const k = path22[i2];
|
|
5641
5641
|
if (typeof k === "number" && Number.isInteger(k) && k >= 0) {
|
|
5642
5642
|
const a2 = [];
|
|
5643
5643
|
a2[k] = v;
|
|
@@ -5656,7 +5656,7 @@ var require_Collection = __commonJS({
|
|
|
5656
5656
|
sourceObjects: /* @__PURE__ */ new Map()
|
|
5657
5657
|
});
|
|
5658
5658
|
}
|
|
5659
|
-
var isEmptyPath = (
|
|
5659
|
+
var isEmptyPath = (path22) => path22 == null || typeof path22 === "object" && !!path22[Symbol.iterator]().next().done;
|
|
5660
5660
|
var Collection = class extends Node.NodeBase {
|
|
5661
5661
|
constructor(type, schema) {
|
|
5662
5662
|
super(type);
|
|
@@ -5686,11 +5686,11 @@ var require_Collection = __commonJS({
|
|
|
5686
5686
|
* be a Pair instance or a `{ key, value }` object, which may not have a key
|
|
5687
5687
|
* that already exists in the map.
|
|
5688
5688
|
*/
|
|
5689
|
-
addIn(
|
|
5690
|
-
if (isEmptyPath(
|
|
5689
|
+
addIn(path22, value) {
|
|
5690
|
+
if (isEmptyPath(path22))
|
|
5691
5691
|
this.add(value);
|
|
5692
5692
|
else {
|
|
5693
|
-
const [key, ...rest] =
|
|
5693
|
+
const [key, ...rest] = path22;
|
|
5694
5694
|
const node = this.get(key, true);
|
|
5695
5695
|
if (identity4.isCollection(node))
|
|
5696
5696
|
node.addIn(rest, value);
|
|
@@ -5704,8 +5704,8 @@ var require_Collection = __commonJS({
|
|
|
5704
5704
|
* Removes a value from the collection.
|
|
5705
5705
|
* @returns `true` if the item was found and removed.
|
|
5706
5706
|
*/
|
|
5707
|
-
deleteIn(
|
|
5708
|
-
const [key, ...rest] =
|
|
5707
|
+
deleteIn(path22) {
|
|
5708
|
+
const [key, ...rest] = path22;
|
|
5709
5709
|
if (rest.length === 0)
|
|
5710
5710
|
return this.delete(key);
|
|
5711
5711
|
const node = this.get(key, true);
|
|
@@ -5719,8 +5719,8 @@ var require_Collection = __commonJS({
|
|
|
5719
5719
|
* scalar values from their surrounding node; to disable set `keepScalar` to
|
|
5720
5720
|
* `true` (collections are always returned intact).
|
|
5721
5721
|
*/
|
|
5722
|
-
getIn(
|
|
5723
|
-
const [key, ...rest] =
|
|
5722
|
+
getIn(path22, keepScalar) {
|
|
5723
|
+
const [key, ...rest] = path22;
|
|
5724
5724
|
const node = this.get(key, true);
|
|
5725
5725
|
if (rest.length === 0)
|
|
5726
5726
|
return !keepScalar && identity4.isScalar(node) ? node.value : node;
|
|
@@ -5738,8 +5738,8 @@ var require_Collection = __commonJS({
|
|
|
5738
5738
|
/**
|
|
5739
5739
|
* Checks if the collection includes a value with the key `key`.
|
|
5740
5740
|
*/
|
|
5741
|
-
hasIn(
|
|
5742
|
-
const [key, ...rest] =
|
|
5741
|
+
hasIn(path22) {
|
|
5742
|
+
const [key, ...rest] = path22;
|
|
5743
5743
|
if (rest.length === 0)
|
|
5744
5744
|
return this.has(key);
|
|
5745
5745
|
const node = this.get(key, true);
|
|
@@ -5749,8 +5749,8 @@ var require_Collection = __commonJS({
|
|
|
5749
5749
|
* Sets a value in this collection. For `!!set`, `value` needs to be a
|
|
5750
5750
|
* boolean to add/remove the item from the set.
|
|
5751
5751
|
*/
|
|
5752
|
-
setIn(
|
|
5753
|
-
const [key, ...rest] =
|
|
5752
|
+
setIn(path22, value) {
|
|
5753
|
+
const [key, ...rest] = path22;
|
|
5754
5754
|
if (rest.length === 0) {
|
|
5755
5755
|
this.set(key, value);
|
|
5756
5756
|
} else {
|
|
@@ -8265,9 +8265,9 @@ var require_Document = __commonJS({
|
|
|
8265
8265
|
this.contents.add(value);
|
|
8266
8266
|
}
|
|
8267
8267
|
/** Adds a value to the document. */
|
|
8268
|
-
addIn(
|
|
8268
|
+
addIn(path22, value) {
|
|
8269
8269
|
if (assertCollection(this.contents))
|
|
8270
|
-
this.contents.addIn(
|
|
8270
|
+
this.contents.addIn(path22, value);
|
|
8271
8271
|
}
|
|
8272
8272
|
/**
|
|
8273
8273
|
* Create a new `Alias` node, ensuring that the target `node` has the required anchor.
|
|
@@ -8342,14 +8342,14 @@ var require_Document = __commonJS({
|
|
|
8342
8342
|
* Removes a value from the document.
|
|
8343
8343
|
* @returns `true` if the item was found and removed.
|
|
8344
8344
|
*/
|
|
8345
|
-
deleteIn(
|
|
8346
|
-
if (Collection.isEmptyPath(
|
|
8345
|
+
deleteIn(path22) {
|
|
8346
|
+
if (Collection.isEmptyPath(path22)) {
|
|
8347
8347
|
if (this.contents == null)
|
|
8348
8348
|
return false;
|
|
8349
8349
|
this.contents = null;
|
|
8350
8350
|
return true;
|
|
8351
8351
|
}
|
|
8352
|
-
return assertCollection(this.contents) ? this.contents.deleteIn(
|
|
8352
|
+
return assertCollection(this.contents) ? this.contents.deleteIn(path22) : false;
|
|
8353
8353
|
}
|
|
8354
8354
|
/**
|
|
8355
8355
|
* Returns item at `key`, or `undefined` if not found. By default unwraps
|
|
@@ -8364,10 +8364,10 @@ var require_Document = __commonJS({
|
|
|
8364
8364
|
* scalar values from their surrounding node; to disable set `keepScalar` to
|
|
8365
8365
|
* `true` (collections are always returned intact).
|
|
8366
8366
|
*/
|
|
8367
|
-
getIn(
|
|
8368
|
-
if (Collection.isEmptyPath(
|
|
8367
|
+
getIn(path22, keepScalar) {
|
|
8368
|
+
if (Collection.isEmptyPath(path22))
|
|
8369
8369
|
return !keepScalar && identity4.isScalar(this.contents) ? this.contents.value : this.contents;
|
|
8370
|
-
return identity4.isCollection(this.contents) ? this.contents.getIn(
|
|
8370
|
+
return identity4.isCollection(this.contents) ? this.contents.getIn(path22, keepScalar) : void 0;
|
|
8371
8371
|
}
|
|
8372
8372
|
/**
|
|
8373
8373
|
* Checks if the document includes a value with the key `key`.
|
|
@@ -8378,10 +8378,10 @@ var require_Document = __commonJS({
|
|
|
8378
8378
|
/**
|
|
8379
8379
|
* Checks if the document includes a value at `path`.
|
|
8380
8380
|
*/
|
|
8381
|
-
hasIn(
|
|
8382
|
-
if (Collection.isEmptyPath(
|
|
8381
|
+
hasIn(path22) {
|
|
8382
|
+
if (Collection.isEmptyPath(path22))
|
|
8383
8383
|
return this.contents !== void 0;
|
|
8384
|
-
return identity4.isCollection(this.contents) ? this.contents.hasIn(
|
|
8384
|
+
return identity4.isCollection(this.contents) ? this.contents.hasIn(path22) : false;
|
|
8385
8385
|
}
|
|
8386
8386
|
/**
|
|
8387
8387
|
* Sets a value in this document. For `!!set`, `value` needs to be a
|
|
@@ -8398,13 +8398,13 @@ var require_Document = __commonJS({
|
|
|
8398
8398
|
* Sets a value in this document. For `!!set`, `value` needs to be a
|
|
8399
8399
|
* boolean to add/remove the item from the set.
|
|
8400
8400
|
*/
|
|
8401
|
-
setIn(
|
|
8402
|
-
if (Collection.isEmptyPath(
|
|
8401
|
+
setIn(path22, value) {
|
|
8402
|
+
if (Collection.isEmptyPath(path22)) {
|
|
8403
8403
|
this.contents = value;
|
|
8404
8404
|
} else if (this.contents == null) {
|
|
8405
|
-
this.contents = Collection.collectionFromPath(this.schema, Array.from(
|
|
8405
|
+
this.contents = Collection.collectionFromPath(this.schema, Array.from(path22), value);
|
|
8406
8406
|
} else if (assertCollection(this.contents)) {
|
|
8407
|
-
this.contents.setIn(
|
|
8407
|
+
this.contents.setIn(path22, value);
|
|
8408
8408
|
}
|
|
8409
8409
|
}
|
|
8410
8410
|
/**
|
|
@@ -10362,9 +10362,9 @@ var require_cst_visit = __commonJS({
|
|
|
10362
10362
|
visit.BREAK = BREAK;
|
|
10363
10363
|
visit.SKIP = SKIP;
|
|
10364
10364
|
visit.REMOVE = REMOVE;
|
|
10365
|
-
visit.itemAtPath = (cst,
|
|
10365
|
+
visit.itemAtPath = (cst, path22) => {
|
|
10366
10366
|
let item = cst;
|
|
10367
|
-
for (const [field, index] of
|
|
10367
|
+
for (const [field, index] of path22) {
|
|
10368
10368
|
const tok = item?.[field];
|
|
10369
10369
|
if (tok && "items" in tok) {
|
|
10370
10370
|
item = tok.items[index];
|
|
@@ -10373,23 +10373,23 @@ var require_cst_visit = __commonJS({
|
|
|
10373
10373
|
}
|
|
10374
10374
|
return item;
|
|
10375
10375
|
};
|
|
10376
|
-
visit.parentCollection = (cst,
|
|
10377
|
-
const parent = visit.itemAtPath(cst,
|
|
10378
|
-
const field =
|
|
10376
|
+
visit.parentCollection = (cst, path22) => {
|
|
10377
|
+
const parent = visit.itemAtPath(cst, path22.slice(0, -1));
|
|
10378
|
+
const field = path22[path22.length - 1][0];
|
|
10379
10379
|
const coll = parent?.[field];
|
|
10380
10380
|
if (coll && "items" in coll)
|
|
10381
10381
|
return coll;
|
|
10382
10382
|
throw new Error("Parent collection not found");
|
|
10383
10383
|
};
|
|
10384
|
-
function _visit(
|
|
10385
|
-
let ctrl = visitor(item,
|
|
10384
|
+
function _visit(path22, item, visitor) {
|
|
10385
|
+
let ctrl = visitor(item, path22);
|
|
10386
10386
|
if (typeof ctrl === "symbol")
|
|
10387
10387
|
return ctrl;
|
|
10388
10388
|
for (const field of ["key", "value"]) {
|
|
10389
10389
|
const token = item[field];
|
|
10390
10390
|
if (token && "items" in token) {
|
|
10391
10391
|
for (let i2 = 0; i2 < token.items.length; ++i2) {
|
|
10392
|
-
const ci = _visit(Object.freeze(
|
|
10392
|
+
const ci = _visit(Object.freeze(path22.concat([[field, i2]])), token.items[i2], visitor);
|
|
10393
10393
|
if (typeof ci === "number")
|
|
10394
10394
|
i2 = ci - 1;
|
|
10395
10395
|
else if (ci === BREAK)
|
|
@@ -10400,10 +10400,10 @@ var require_cst_visit = __commonJS({
|
|
|
10400
10400
|
}
|
|
10401
10401
|
}
|
|
10402
10402
|
if (typeof ctrl === "function" && field === "key")
|
|
10403
|
-
ctrl = ctrl(item,
|
|
10403
|
+
ctrl = ctrl(item, path22);
|
|
10404
10404
|
}
|
|
10405
10405
|
}
|
|
10406
|
-
return typeof ctrl === "function" ? ctrl(item,
|
|
10406
|
+
return typeof ctrl === "function" ? ctrl(item, path22) : ctrl;
|
|
10407
10407
|
}
|
|
10408
10408
|
exports.visit = visit;
|
|
10409
10409
|
}
|
|
@@ -13070,7 +13070,7 @@ var require_command = __commonJS({
|
|
|
13070
13070
|
"node_modules/commander/lib/command.js"(exports) {
|
|
13071
13071
|
var EventEmitter3 = __require("node:events").EventEmitter;
|
|
13072
13072
|
var childProcess = __require("node:child_process");
|
|
13073
|
-
var
|
|
13073
|
+
var path22 = __require("node:path");
|
|
13074
13074
|
var fs18 = __require("node:fs");
|
|
13075
13075
|
var process10 = __require("node:process");
|
|
13076
13076
|
var { Argument: Argument2, humanReadableArgName } = require_argument();
|
|
@@ -14003,9 +14003,9 @@ Expecting one of '${allowedValues.join("', '")}'`);
|
|
|
14003
14003
|
let launchWithNode = false;
|
|
14004
14004
|
const sourceExt = [".js", ".ts", ".tsx", ".mjs", ".cjs"];
|
|
14005
14005
|
function findFile(baseDir, baseName) {
|
|
14006
|
-
const localBin =
|
|
14006
|
+
const localBin = path22.resolve(baseDir, baseName);
|
|
14007
14007
|
if (fs18.existsSync(localBin)) return localBin;
|
|
14008
|
-
if (sourceExt.includes(
|
|
14008
|
+
if (sourceExt.includes(path22.extname(baseName))) return void 0;
|
|
14009
14009
|
const foundExt = sourceExt.find(
|
|
14010
14010
|
(ext) => fs18.existsSync(`${localBin}${ext}`)
|
|
14011
14011
|
);
|
|
@@ -14023,17 +14023,17 @@ Expecting one of '${allowedValues.join("', '")}'`);
|
|
|
14023
14023
|
} catch (err) {
|
|
14024
14024
|
resolvedScriptPath = this._scriptPath;
|
|
14025
14025
|
}
|
|
14026
|
-
executableDir =
|
|
14027
|
-
|
|
14026
|
+
executableDir = path22.resolve(
|
|
14027
|
+
path22.dirname(resolvedScriptPath),
|
|
14028
14028
|
executableDir
|
|
14029
14029
|
);
|
|
14030
14030
|
}
|
|
14031
14031
|
if (executableDir) {
|
|
14032
14032
|
let localFile = findFile(executableDir, executableFile);
|
|
14033
14033
|
if (!localFile && !subcommand._executableFile && this._scriptPath) {
|
|
14034
|
-
const legacyName =
|
|
14034
|
+
const legacyName = path22.basename(
|
|
14035
14035
|
this._scriptPath,
|
|
14036
|
-
|
|
14036
|
+
path22.extname(this._scriptPath)
|
|
14037
14037
|
);
|
|
14038
14038
|
if (legacyName !== this._name) {
|
|
14039
14039
|
localFile = findFile(
|
|
@@ -14044,7 +14044,7 @@ Expecting one of '${allowedValues.join("', '")}'`);
|
|
|
14044
14044
|
}
|
|
14045
14045
|
executableFile = localFile || executableFile;
|
|
14046
14046
|
}
|
|
14047
|
-
launchWithNode = sourceExt.includes(
|
|
14047
|
+
launchWithNode = sourceExt.includes(path22.extname(executableFile));
|
|
14048
14048
|
let proc;
|
|
14049
14049
|
if (process10.platform !== "win32") {
|
|
14050
14050
|
if (launchWithNode) {
|
|
@@ -14884,7 +14884,7 @@ Expecting one of '${allowedValues.join("', '")}'`);
|
|
|
14884
14884
|
* @return {Command}
|
|
14885
14885
|
*/
|
|
14886
14886
|
nameFromFilename(filename) {
|
|
14887
|
-
this._name =
|
|
14887
|
+
this._name = path22.basename(filename, path22.extname(filename));
|
|
14888
14888
|
return this;
|
|
14889
14889
|
}
|
|
14890
14890
|
/**
|
|
@@ -14898,9 +14898,9 @@ Expecting one of '${allowedValues.join("', '")}'`);
|
|
|
14898
14898
|
* @param {string} [path]
|
|
14899
14899
|
* @return {(string|null|Command)}
|
|
14900
14900
|
*/
|
|
14901
|
-
executableDir(
|
|
14902
|
-
if (
|
|
14903
|
-
this._executableDir =
|
|
14901
|
+
executableDir(path23) {
|
|
14902
|
+
if (path23 === void 0) return this._executableDir;
|
|
14903
|
+
this._executableDir = path23;
|
|
14904
14904
|
return this;
|
|
14905
14905
|
}
|
|
14906
14906
|
/**
|
|
@@ -60069,15 +60069,15 @@ var require_route = __commonJS({
|
|
|
60069
60069
|
};
|
|
60070
60070
|
}
|
|
60071
60071
|
function wrapConversion(toModel, graph) {
|
|
60072
|
-
const
|
|
60072
|
+
const path22 = [graph[toModel].parent, toModel];
|
|
60073
60073
|
let fn = conversions[graph[toModel].parent][toModel];
|
|
60074
60074
|
let cur = graph[toModel].parent;
|
|
60075
60075
|
while (graph[cur].parent) {
|
|
60076
|
-
|
|
60076
|
+
path22.unshift(graph[cur].parent);
|
|
60077
60077
|
fn = link2(conversions[graph[cur].parent][cur], fn);
|
|
60078
60078
|
cur = graph[cur].parent;
|
|
60079
60079
|
}
|
|
60080
|
-
fn.conversion =
|
|
60080
|
+
fn.conversion = path22;
|
|
60081
60081
|
return fn;
|
|
60082
60082
|
}
|
|
60083
60083
|
module.exports = function(fromModel) {
|
|
@@ -77212,13 +77212,13 @@ var logOutputSync = ({ serializedResult, fdNumber, state, verboseInfo, encoding,
|
|
|
77212
77212
|
}
|
|
77213
77213
|
};
|
|
77214
77214
|
var writeToFiles = (serializedResult, stdioItems, outputFiles) => {
|
|
77215
|
-
for (const { path:
|
|
77216
|
-
const pathString = typeof
|
|
77215
|
+
for (const { path: path22, append } of stdioItems.filter(({ type }) => FILE_TYPES.has(type))) {
|
|
77216
|
+
const pathString = typeof path22 === "string" ? path22 : path22.toString();
|
|
77217
77217
|
if (append || outputFiles.has(pathString)) {
|
|
77218
|
-
appendFileSync(
|
|
77218
|
+
appendFileSync(path22, serializedResult);
|
|
77219
77219
|
} else {
|
|
77220
77220
|
outputFiles.add(pathString);
|
|
77221
|
-
writeFileSync(
|
|
77221
|
+
writeFileSync(path22, serializedResult);
|
|
77222
77222
|
}
|
|
77223
77223
|
}
|
|
77224
77224
|
};
|
|
@@ -80269,8 +80269,8 @@ function getErrorMap() {
|
|
|
80269
80269
|
|
|
80270
80270
|
// node_modules/zod/v3/helpers/parseUtil.js
|
|
80271
80271
|
var makeIssue = (params) => {
|
|
80272
|
-
const { data, path:
|
|
80273
|
-
const fullPath = [...
|
|
80272
|
+
const { data, path: path22, errorMaps, issueData } = params;
|
|
80273
|
+
const fullPath = [...path22, ...issueData.path || []];
|
|
80274
80274
|
const fullIssue = {
|
|
80275
80275
|
...issueData,
|
|
80276
80276
|
path: fullPath
|
|
@@ -80386,11 +80386,11 @@ var errorUtil;
|
|
|
80386
80386
|
|
|
80387
80387
|
// node_modules/zod/v3/types.js
|
|
80388
80388
|
var ParseInputLazyPath = class {
|
|
80389
|
-
constructor(parent, value,
|
|
80389
|
+
constructor(parent, value, path22, key) {
|
|
80390
80390
|
this._cachedPath = [];
|
|
80391
80391
|
this.parent = parent;
|
|
80392
80392
|
this.data = value;
|
|
80393
|
-
this._path =
|
|
80393
|
+
this._path = path22;
|
|
80394
80394
|
this._key = key;
|
|
80395
80395
|
}
|
|
80396
80396
|
get path() {
|
|
@@ -83951,8 +83951,14 @@ var ActionSchema = external_exports.object({
|
|
|
83951
83951
|
key: external_exports.string().min(1).max(1).optional()
|
|
83952
83952
|
});
|
|
83953
83953
|
var MountSettingsSchema = external_exports.object({
|
|
83954
|
-
/**
|
|
83955
|
-
|
|
83954
|
+
/**
|
|
83955
|
+
* Override path for the generated docker-compose overlay. When unset
|
|
83956
|
+
* (the default), the overlay lands in the cockpit state dir alongside
|
|
83957
|
+
* `mount.manifest.json` — keeps the wrapper repo clean of per-developer
|
|
83958
|
+
* artefacts. When set, the value is workspace-relative; absolute paths
|
|
83959
|
+
* are honoured verbatim.
|
|
83960
|
+
*/
|
|
83961
|
+
overlayPath: external_exports.string().optional(),
|
|
83956
83962
|
/** Basename inside stateDir for the manifest. */
|
|
83957
83963
|
manifestFile: external_exports.string().optional().default("mount.manifest.json")
|
|
83958
83964
|
});
|
|
@@ -83972,7 +83978,6 @@ var BaseCockpitConfigSchema = external_exports.object({
|
|
|
83972
83978
|
}),
|
|
83973
83979
|
mounts: external_exports.array(MountSchema).optional().default([]),
|
|
83974
83980
|
mount: MountSettingsSchema.optional().default({
|
|
83975
|
-
overlayPath: "docker-compose.dev-cockpit.yml",
|
|
83976
83981
|
manifestFile: "mount.manifest.json"
|
|
83977
83982
|
}),
|
|
83978
83983
|
/** Which pane the cockpit lands on when it boots. Profile may override. */
|
|
@@ -88774,7 +88779,7 @@ var ReaddirpStream = class extends Readable4 {
|
|
|
88774
88779
|
this._directoryFilter = normalizeFilter(opts.directoryFilter);
|
|
88775
88780
|
const statMethod = opts.lstat ? lstat : stat;
|
|
88776
88781
|
if (wantBigintFsStats) {
|
|
88777
|
-
this._stat = (
|
|
88782
|
+
this._stat = (path22) => statMethod(path22, { bigint: true });
|
|
88778
88783
|
} else {
|
|
88779
88784
|
this._stat = statMethod;
|
|
88780
88785
|
}
|
|
@@ -88799,8 +88804,8 @@ var ReaddirpStream = class extends Readable4 {
|
|
|
88799
88804
|
const par = this.parent;
|
|
88800
88805
|
const fil = par && par.files;
|
|
88801
88806
|
if (fil && fil.length > 0) {
|
|
88802
|
-
const { path:
|
|
88803
|
-
const slice = fil.splice(0, batch).map((dirent) => this._formatEntry(dirent,
|
|
88807
|
+
const { path: path22, depth } = par;
|
|
88808
|
+
const slice = fil.splice(0, batch).map((dirent) => this._formatEntry(dirent, path22));
|
|
88804
88809
|
const awaited = await Promise.all(slice);
|
|
88805
88810
|
for (const entry of awaited) {
|
|
88806
88811
|
if (!entry)
|
|
@@ -88840,20 +88845,20 @@ var ReaddirpStream = class extends Readable4 {
|
|
|
88840
88845
|
this.reading = false;
|
|
88841
88846
|
}
|
|
88842
88847
|
}
|
|
88843
|
-
async _exploreDir(
|
|
88848
|
+
async _exploreDir(path22, depth) {
|
|
88844
88849
|
let files;
|
|
88845
88850
|
try {
|
|
88846
|
-
files = await readdir(
|
|
88851
|
+
files = await readdir(path22, this._rdOptions);
|
|
88847
88852
|
} catch (error) {
|
|
88848
88853
|
this._onError(error);
|
|
88849
88854
|
}
|
|
88850
|
-
return { files, depth, path:
|
|
88855
|
+
return { files, depth, path: path22 };
|
|
88851
88856
|
}
|
|
88852
|
-
async _formatEntry(dirent,
|
|
88857
|
+
async _formatEntry(dirent, path22) {
|
|
88853
88858
|
let entry;
|
|
88854
88859
|
const basename3 = this._isDirent ? dirent.name : dirent;
|
|
88855
88860
|
try {
|
|
88856
|
-
const fullPath = presolve(pjoin(
|
|
88861
|
+
const fullPath = presolve(pjoin(path22, basename3));
|
|
88857
88862
|
entry = { path: prelative(this._root, fullPath), fullPath, basename: basename3 };
|
|
88858
88863
|
entry[this._statsProp] = this._isDirent ? dirent : await this._stat(fullPath);
|
|
88859
88864
|
} catch (err) {
|
|
@@ -89253,16 +89258,16 @@ var delFromSet = (main, prop, item) => {
|
|
|
89253
89258
|
};
|
|
89254
89259
|
var isEmptySet = (val) => val instanceof Set ? val.size === 0 : !val;
|
|
89255
89260
|
var FsWatchInstances = /* @__PURE__ */ new Map();
|
|
89256
|
-
function createFsWatchInstance(
|
|
89261
|
+
function createFsWatchInstance(path22, options2, listener, errHandler, emitRaw) {
|
|
89257
89262
|
const handleEvent = (rawEvent, evPath) => {
|
|
89258
|
-
listener(
|
|
89259
|
-
emitRaw(rawEvent, evPath, { watchedPath:
|
|
89260
|
-
if (evPath &&
|
|
89261
|
-
fsWatchBroadcast(sp.resolve(
|
|
89263
|
+
listener(path22);
|
|
89264
|
+
emitRaw(rawEvent, evPath, { watchedPath: path22 });
|
|
89265
|
+
if (evPath && path22 !== evPath) {
|
|
89266
|
+
fsWatchBroadcast(sp.resolve(path22, evPath), KEY_LISTENERS, sp.join(path22, evPath));
|
|
89262
89267
|
}
|
|
89263
89268
|
};
|
|
89264
89269
|
try {
|
|
89265
|
-
return fs_watch(
|
|
89270
|
+
return fs_watch(path22, {
|
|
89266
89271
|
persistent: options2.persistent
|
|
89267
89272
|
}, handleEvent);
|
|
89268
89273
|
} catch (error) {
|
|
@@ -89278,12 +89283,12 @@ var fsWatchBroadcast = (fullPath, listenerType, val1, val2, val3) => {
|
|
|
89278
89283
|
listener(val1, val2, val3);
|
|
89279
89284
|
});
|
|
89280
89285
|
};
|
|
89281
|
-
var setFsWatchListener = (
|
|
89286
|
+
var setFsWatchListener = (path22, fullPath, options2, handlers) => {
|
|
89282
89287
|
const { listener, errHandler, rawEmitter } = handlers;
|
|
89283
89288
|
let cont = FsWatchInstances.get(fullPath);
|
|
89284
89289
|
let watcher;
|
|
89285
89290
|
if (!options2.persistent) {
|
|
89286
|
-
watcher = createFsWatchInstance(
|
|
89291
|
+
watcher = createFsWatchInstance(path22, options2, listener, errHandler, rawEmitter);
|
|
89287
89292
|
if (!watcher)
|
|
89288
89293
|
return;
|
|
89289
89294
|
return watcher.close.bind(watcher);
|
|
@@ -89294,7 +89299,7 @@ var setFsWatchListener = (path21, fullPath, options2, handlers) => {
|
|
|
89294
89299
|
addAndConvert(cont, KEY_RAW, rawEmitter);
|
|
89295
89300
|
} else {
|
|
89296
89301
|
watcher = createFsWatchInstance(
|
|
89297
|
-
|
|
89302
|
+
path22,
|
|
89298
89303
|
options2,
|
|
89299
89304
|
fsWatchBroadcast.bind(null, fullPath, KEY_LISTENERS),
|
|
89300
89305
|
errHandler,
|
|
@@ -89309,7 +89314,7 @@ var setFsWatchListener = (path21, fullPath, options2, handlers) => {
|
|
|
89309
89314
|
cont.watcherUnusable = true;
|
|
89310
89315
|
if (isWindows && error.code === "EPERM") {
|
|
89311
89316
|
try {
|
|
89312
|
-
const fd = await open(
|
|
89317
|
+
const fd = await open(path22, "r");
|
|
89313
89318
|
await fd.close();
|
|
89314
89319
|
broadcastErr(error);
|
|
89315
89320
|
} catch (err) {
|
|
@@ -89340,7 +89345,7 @@ var setFsWatchListener = (path21, fullPath, options2, handlers) => {
|
|
|
89340
89345
|
};
|
|
89341
89346
|
};
|
|
89342
89347
|
var FsWatchFileInstances = /* @__PURE__ */ new Map();
|
|
89343
|
-
var setFsWatchFileListener = (
|
|
89348
|
+
var setFsWatchFileListener = (path22, fullPath, options2, handlers) => {
|
|
89344
89349
|
const { listener, rawEmitter } = handlers;
|
|
89345
89350
|
let cont = FsWatchFileInstances.get(fullPath);
|
|
89346
89351
|
const copts = cont && cont.options;
|
|
@@ -89362,7 +89367,7 @@ var setFsWatchFileListener = (path21, fullPath, options2, handlers) => {
|
|
|
89362
89367
|
});
|
|
89363
89368
|
const currmtime = curr.mtimeMs;
|
|
89364
89369
|
if (curr.size !== prev.size || currmtime > prev.mtimeMs || currmtime === 0) {
|
|
89365
|
-
foreach(cont.listeners, (listener2) => listener2(
|
|
89370
|
+
foreach(cont.listeners, (listener2) => listener2(path22, curr));
|
|
89366
89371
|
}
|
|
89367
89372
|
})
|
|
89368
89373
|
};
|
|
@@ -89392,13 +89397,13 @@ var NodeFsHandler = class {
|
|
|
89392
89397
|
* @param listener on fs change
|
|
89393
89398
|
* @returns closer for the watcher instance
|
|
89394
89399
|
*/
|
|
89395
|
-
_watchWithNodeFs(
|
|
89400
|
+
_watchWithNodeFs(path22, listener) {
|
|
89396
89401
|
const opts = this.fsw.options;
|
|
89397
|
-
const directory = sp.dirname(
|
|
89398
|
-
const basename3 = sp.basename(
|
|
89402
|
+
const directory = sp.dirname(path22);
|
|
89403
|
+
const basename3 = sp.basename(path22);
|
|
89399
89404
|
const parent = this.fsw._getWatchedDir(directory);
|
|
89400
89405
|
parent.add(basename3);
|
|
89401
|
-
const absolutePath = sp.resolve(
|
|
89406
|
+
const absolutePath = sp.resolve(path22);
|
|
89402
89407
|
const options2 = {
|
|
89403
89408
|
persistent: opts.persistent
|
|
89404
89409
|
};
|
|
@@ -89408,12 +89413,12 @@ var NodeFsHandler = class {
|
|
|
89408
89413
|
if (opts.usePolling) {
|
|
89409
89414
|
const enableBin = opts.interval !== opts.binaryInterval;
|
|
89410
89415
|
options2.interval = enableBin && isBinaryPath(basename3) ? opts.binaryInterval : opts.interval;
|
|
89411
|
-
closer = setFsWatchFileListener(
|
|
89416
|
+
closer = setFsWatchFileListener(path22, absolutePath, options2, {
|
|
89412
89417
|
listener,
|
|
89413
89418
|
rawEmitter: this.fsw._emitRaw
|
|
89414
89419
|
});
|
|
89415
89420
|
} else {
|
|
89416
|
-
closer = setFsWatchListener(
|
|
89421
|
+
closer = setFsWatchListener(path22, absolutePath, options2, {
|
|
89417
89422
|
listener,
|
|
89418
89423
|
errHandler: this._boundHandleError,
|
|
89419
89424
|
rawEmitter: this.fsw._emitRaw
|
|
@@ -89435,7 +89440,7 @@ var NodeFsHandler = class {
|
|
|
89435
89440
|
let prevStats = stats;
|
|
89436
89441
|
if (parent.has(basename3))
|
|
89437
89442
|
return;
|
|
89438
|
-
const listener = async (
|
|
89443
|
+
const listener = async (path22, newStats) => {
|
|
89439
89444
|
if (!this.fsw._throttle(THROTTLE_MODE_WATCH, file, 5))
|
|
89440
89445
|
return;
|
|
89441
89446
|
if (!newStats || newStats.mtimeMs === 0) {
|
|
@@ -89449,11 +89454,11 @@ var NodeFsHandler = class {
|
|
|
89449
89454
|
this.fsw._emit(EV.CHANGE, file, newStats2);
|
|
89450
89455
|
}
|
|
89451
89456
|
if ((isMacos || isLinux || isFreeBSD) && prevStats.ino !== newStats2.ino) {
|
|
89452
|
-
this.fsw._closeFile(
|
|
89457
|
+
this.fsw._closeFile(path22);
|
|
89453
89458
|
prevStats = newStats2;
|
|
89454
89459
|
const closer2 = this._watchWithNodeFs(file, listener);
|
|
89455
89460
|
if (closer2)
|
|
89456
|
-
this.fsw._addPathCloser(
|
|
89461
|
+
this.fsw._addPathCloser(path22, closer2);
|
|
89457
89462
|
} else {
|
|
89458
89463
|
prevStats = newStats2;
|
|
89459
89464
|
}
|
|
@@ -89485,7 +89490,7 @@ var NodeFsHandler = class {
|
|
|
89485
89490
|
* @param item basename of this item
|
|
89486
89491
|
* @returns true if no more processing is needed for this entry.
|
|
89487
89492
|
*/
|
|
89488
|
-
async _handleSymlink(entry, directory,
|
|
89493
|
+
async _handleSymlink(entry, directory, path22, item) {
|
|
89489
89494
|
if (this.fsw.closed) {
|
|
89490
89495
|
return;
|
|
89491
89496
|
}
|
|
@@ -89495,7 +89500,7 @@ var NodeFsHandler = class {
|
|
|
89495
89500
|
this.fsw._incrReadyCount();
|
|
89496
89501
|
let linkPath;
|
|
89497
89502
|
try {
|
|
89498
|
-
linkPath = await fsrealpath(
|
|
89503
|
+
linkPath = await fsrealpath(path22);
|
|
89499
89504
|
} catch (e) {
|
|
89500
89505
|
this.fsw._emitReady();
|
|
89501
89506
|
return true;
|
|
@@ -89505,12 +89510,12 @@ var NodeFsHandler = class {
|
|
|
89505
89510
|
if (dir.has(item)) {
|
|
89506
89511
|
if (this.fsw._symlinkPaths.get(full) !== linkPath) {
|
|
89507
89512
|
this.fsw._symlinkPaths.set(full, linkPath);
|
|
89508
|
-
this.fsw._emit(EV.CHANGE,
|
|
89513
|
+
this.fsw._emit(EV.CHANGE, path22, entry.stats);
|
|
89509
89514
|
}
|
|
89510
89515
|
} else {
|
|
89511
89516
|
dir.add(item);
|
|
89512
89517
|
this.fsw._symlinkPaths.set(full, linkPath);
|
|
89513
|
-
this.fsw._emit(EV.ADD,
|
|
89518
|
+
this.fsw._emit(EV.ADD, path22, entry.stats);
|
|
89514
89519
|
}
|
|
89515
89520
|
this.fsw._emitReady();
|
|
89516
89521
|
return true;
|
|
@@ -89540,9 +89545,9 @@ var NodeFsHandler = class {
|
|
|
89540
89545
|
return;
|
|
89541
89546
|
}
|
|
89542
89547
|
const item = entry.path;
|
|
89543
|
-
let
|
|
89548
|
+
let path22 = sp.join(directory, item);
|
|
89544
89549
|
current.add(item);
|
|
89545
|
-
if (entry.stats.isSymbolicLink() && await this._handleSymlink(entry, directory,
|
|
89550
|
+
if (entry.stats.isSymbolicLink() && await this._handleSymlink(entry, directory, path22, item)) {
|
|
89546
89551
|
return;
|
|
89547
89552
|
}
|
|
89548
89553
|
if (this.fsw.closed) {
|
|
@@ -89551,8 +89556,8 @@ var NodeFsHandler = class {
|
|
|
89551
89556
|
}
|
|
89552
89557
|
if (item === target || !target && !previous.has(item)) {
|
|
89553
89558
|
this.fsw._incrReadyCount();
|
|
89554
|
-
|
|
89555
|
-
this._addToNodeFs(
|
|
89559
|
+
path22 = sp.join(dir, sp.relative(dir, path22));
|
|
89560
|
+
this._addToNodeFs(path22, initialAdd, wh, depth + 1);
|
|
89556
89561
|
}
|
|
89557
89562
|
}).on(EV.ERROR, this._boundHandleError);
|
|
89558
89563
|
return new Promise((resolve3, reject) => {
|
|
@@ -89621,13 +89626,13 @@ var NodeFsHandler = class {
|
|
|
89621
89626
|
* @param depth Child path actually targeted for watch
|
|
89622
89627
|
* @param target Child path actually targeted for watch
|
|
89623
89628
|
*/
|
|
89624
|
-
async _addToNodeFs(
|
|
89629
|
+
async _addToNodeFs(path22, initialAdd, priorWh, depth, target) {
|
|
89625
89630
|
const ready = this.fsw._emitReady;
|
|
89626
|
-
if (this.fsw._isIgnored(
|
|
89631
|
+
if (this.fsw._isIgnored(path22) || this.fsw.closed) {
|
|
89627
89632
|
ready();
|
|
89628
89633
|
return false;
|
|
89629
89634
|
}
|
|
89630
|
-
const wh = this.fsw._getWatchHelpers(
|
|
89635
|
+
const wh = this.fsw._getWatchHelpers(path22);
|
|
89631
89636
|
if (priorWh) {
|
|
89632
89637
|
wh.filterPath = (entry) => priorWh.filterPath(entry);
|
|
89633
89638
|
wh.filterDir = (entry) => priorWh.filterDir(entry);
|
|
@@ -89643,8 +89648,8 @@ var NodeFsHandler = class {
|
|
|
89643
89648
|
const follow = this.fsw.options.followSymlinks;
|
|
89644
89649
|
let closer;
|
|
89645
89650
|
if (stats.isDirectory()) {
|
|
89646
|
-
const absPath = sp.resolve(
|
|
89647
|
-
const targetPath = follow ? await fsrealpath(
|
|
89651
|
+
const absPath = sp.resolve(path22);
|
|
89652
|
+
const targetPath = follow ? await fsrealpath(path22) : path22;
|
|
89648
89653
|
if (this.fsw.closed)
|
|
89649
89654
|
return;
|
|
89650
89655
|
closer = await this._handleDir(wh.watchPath, stats, initialAdd, depth, target, wh, targetPath);
|
|
@@ -89654,29 +89659,29 @@ var NodeFsHandler = class {
|
|
|
89654
89659
|
this.fsw._symlinkPaths.set(absPath, targetPath);
|
|
89655
89660
|
}
|
|
89656
89661
|
} else if (stats.isSymbolicLink()) {
|
|
89657
|
-
const targetPath = follow ? await fsrealpath(
|
|
89662
|
+
const targetPath = follow ? await fsrealpath(path22) : path22;
|
|
89658
89663
|
if (this.fsw.closed)
|
|
89659
89664
|
return;
|
|
89660
89665
|
const parent = sp.dirname(wh.watchPath);
|
|
89661
89666
|
this.fsw._getWatchedDir(parent).add(wh.watchPath);
|
|
89662
89667
|
this.fsw._emit(EV.ADD, wh.watchPath, stats);
|
|
89663
|
-
closer = await this._handleDir(parent, stats, initialAdd, depth,
|
|
89668
|
+
closer = await this._handleDir(parent, stats, initialAdd, depth, path22, wh, targetPath);
|
|
89664
89669
|
if (this.fsw.closed)
|
|
89665
89670
|
return;
|
|
89666
89671
|
if (targetPath !== void 0) {
|
|
89667
|
-
this.fsw._symlinkPaths.set(sp.resolve(
|
|
89672
|
+
this.fsw._symlinkPaths.set(sp.resolve(path22), targetPath);
|
|
89668
89673
|
}
|
|
89669
89674
|
} else {
|
|
89670
89675
|
closer = this._handleFile(wh.watchPath, stats, initialAdd);
|
|
89671
89676
|
}
|
|
89672
89677
|
ready();
|
|
89673
89678
|
if (closer)
|
|
89674
|
-
this.fsw._addPathCloser(
|
|
89679
|
+
this.fsw._addPathCloser(path22, closer);
|
|
89675
89680
|
return false;
|
|
89676
89681
|
} catch (error) {
|
|
89677
89682
|
if (this.fsw._handleError(error)) {
|
|
89678
89683
|
ready();
|
|
89679
|
-
return
|
|
89684
|
+
return path22;
|
|
89680
89685
|
}
|
|
89681
89686
|
}
|
|
89682
89687
|
}
|
|
@@ -89719,24 +89724,24 @@ function createPattern(matcher) {
|
|
|
89719
89724
|
}
|
|
89720
89725
|
return () => false;
|
|
89721
89726
|
}
|
|
89722
|
-
function normalizePath(
|
|
89723
|
-
if (typeof
|
|
89727
|
+
function normalizePath(path22) {
|
|
89728
|
+
if (typeof path22 !== "string")
|
|
89724
89729
|
throw new Error("string expected");
|
|
89725
|
-
|
|
89726
|
-
|
|
89730
|
+
path22 = sp2.normalize(path22);
|
|
89731
|
+
path22 = path22.replace(/\\/g, "/");
|
|
89727
89732
|
let prepend = false;
|
|
89728
|
-
if (
|
|
89733
|
+
if (path22.startsWith("//"))
|
|
89729
89734
|
prepend = true;
|
|
89730
|
-
|
|
89735
|
+
path22 = path22.replace(DOUBLE_SLASH_RE, "/");
|
|
89731
89736
|
if (prepend)
|
|
89732
|
-
|
|
89733
|
-
return
|
|
89737
|
+
path22 = "/" + path22;
|
|
89738
|
+
return path22;
|
|
89734
89739
|
}
|
|
89735
89740
|
function matchPatterns(patterns, testString, stats) {
|
|
89736
|
-
const
|
|
89741
|
+
const path22 = normalizePath(testString);
|
|
89737
89742
|
for (let index = 0; index < patterns.length; index++) {
|
|
89738
89743
|
const pattern = patterns[index];
|
|
89739
|
-
if (pattern(
|
|
89744
|
+
if (pattern(path22, stats)) {
|
|
89740
89745
|
return true;
|
|
89741
89746
|
}
|
|
89742
89747
|
}
|
|
@@ -89774,19 +89779,19 @@ var toUnix = (string) => {
|
|
|
89774
89779
|
}
|
|
89775
89780
|
return str;
|
|
89776
89781
|
};
|
|
89777
|
-
var normalizePathToUnix = (
|
|
89778
|
-
var normalizeIgnored = (cwd = "") => (
|
|
89779
|
-
if (typeof
|
|
89780
|
-
return normalizePathToUnix(sp2.isAbsolute(
|
|
89782
|
+
var normalizePathToUnix = (path22) => toUnix(sp2.normalize(toUnix(path22)));
|
|
89783
|
+
var normalizeIgnored = (cwd = "") => (path22) => {
|
|
89784
|
+
if (typeof path22 === "string") {
|
|
89785
|
+
return normalizePathToUnix(sp2.isAbsolute(path22) ? path22 : sp2.join(cwd, path22));
|
|
89781
89786
|
} else {
|
|
89782
|
-
return
|
|
89787
|
+
return path22;
|
|
89783
89788
|
}
|
|
89784
89789
|
};
|
|
89785
|
-
var getAbsolutePath = (
|
|
89786
|
-
if (sp2.isAbsolute(
|
|
89787
|
-
return
|
|
89790
|
+
var getAbsolutePath = (path22, cwd) => {
|
|
89791
|
+
if (sp2.isAbsolute(path22)) {
|
|
89792
|
+
return path22;
|
|
89788
89793
|
}
|
|
89789
|
-
return sp2.join(cwd,
|
|
89794
|
+
return sp2.join(cwd, path22);
|
|
89790
89795
|
};
|
|
89791
89796
|
var EMPTY_SET = Object.freeze(/* @__PURE__ */ new Set());
|
|
89792
89797
|
var DirEntry = class {
|
|
@@ -89851,10 +89856,10 @@ var WatchHelper = class {
|
|
|
89851
89856
|
dirParts;
|
|
89852
89857
|
followSymlinks;
|
|
89853
89858
|
statMethod;
|
|
89854
|
-
constructor(
|
|
89859
|
+
constructor(path22, follow, fsw) {
|
|
89855
89860
|
this.fsw = fsw;
|
|
89856
|
-
const watchPath =
|
|
89857
|
-
this.path =
|
|
89861
|
+
const watchPath = path22;
|
|
89862
|
+
this.path = path22 = path22.replace(REPLACER_RE, "");
|
|
89858
89863
|
this.watchPath = watchPath;
|
|
89859
89864
|
this.fullWatchPath = sp2.resolve(watchPath);
|
|
89860
89865
|
this.dirParts = [];
|
|
@@ -89994,20 +89999,20 @@ var FSWatcher = class extends EventEmitter2 {
|
|
|
89994
89999
|
this._closePromise = void 0;
|
|
89995
90000
|
let paths = unifyPaths(paths_);
|
|
89996
90001
|
if (cwd) {
|
|
89997
|
-
paths = paths.map((
|
|
89998
|
-
const absPath = getAbsolutePath(
|
|
90002
|
+
paths = paths.map((path22) => {
|
|
90003
|
+
const absPath = getAbsolutePath(path22, cwd);
|
|
89999
90004
|
return absPath;
|
|
90000
90005
|
});
|
|
90001
90006
|
}
|
|
90002
|
-
paths.forEach((
|
|
90003
|
-
this._removeIgnoredPath(
|
|
90007
|
+
paths.forEach((path22) => {
|
|
90008
|
+
this._removeIgnoredPath(path22);
|
|
90004
90009
|
});
|
|
90005
90010
|
this._userIgnored = void 0;
|
|
90006
90011
|
if (!this._readyCount)
|
|
90007
90012
|
this._readyCount = 0;
|
|
90008
90013
|
this._readyCount += paths.length;
|
|
90009
|
-
Promise.all(paths.map(async (
|
|
90010
|
-
const res = await this._nodeFsHandler._addToNodeFs(
|
|
90014
|
+
Promise.all(paths.map(async (path22) => {
|
|
90015
|
+
const res = await this._nodeFsHandler._addToNodeFs(path22, !_internal, void 0, 0, _origAdd);
|
|
90011
90016
|
if (res)
|
|
90012
90017
|
this._emitReady();
|
|
90013
90018
|
return res;
|
|
@@ -90029,17 +90034,17 @@ var FSWatcher = class extends EventEmitter2 {
|
|
|
90029
90034
|
return this;
|
|
90030
90035
|
const paths = unifyPaths(paths_);
|
|
90031
90036
|
const { cwd } = this.options;
|
|
90032
|
-
paths.forEach((
|
|
90033
|
-
if (!sp2.isAbsolute(
|
|
90037
|
+
paths.forEach((path22) => {
|
|
90038
|
+
if (!sp2.isAbsolute(path22) && !this._closers.has(path22)) {
|
|
90034
90039
|
if (cwd)
|
|
90035
|
-
|
|
90036
|
-
|
|
90040
|
+
path22 = sp2.join(cwd, path22);
|
|
90041
|
+
path22 = sp2.resolve(path22);
|
|
90037
90042
|
}
|
|
90038
|
-
this._closePath(
|
|
90039
|
-
this._addIgnoredPath(
|
|
90040
|
-
if (this._watched.has(
|
|
90043
|
+
this._closePath(path22);
|
|
90044
|
+
this._addIgnoredPath(path22);
|
|
90045
|
+
if (this._watched.has(path22)) {
|
|
90041
90046
|
this._addIgnoredPath({
|
|
90042
|
-
path:
|
|
90047
|
+
path: path22,
|
|
90043
90048
|
recursive: true
|
|
90044
90049
|
});
|
|
90045
90050
|
}
|
|
@@ -90103,38 +90108,38 @@ var FSWatcher = class extends EventEmitter2 {
|
|
|
90103
90108
|
* @param stats arguments to be passed with event
|
|
90104
90109
|
* @returns the error if defined, otherwise the value of the FSWatcher instance's `closed` flag
|
|
90105
90110
|
*/
|
|
90106
|
-
async _emit(event,
|
|
90111
|
+
async _emit(event, path22, stats) {
|
|
90107
90112
|
if (this.closed)
|
|
90108
90113
|
return;
|
|
90109
90114
|
const opts = this.options;
|
|
90110
90115
|
if (isWindows)
|
|
90111
|
-
|
|
90116
|
+
path22 = sp2.normalize(path22);
|
|
90112
90117
|
if (opts.cwd)
|
|
90113
|
-
|
|
90114
|
-
const args = [
|
|
90118
|
+
path22 = sp2.relative(opts.cwd, path22);
|
|
90119
|
+
const args = [path22];
|
|
90115
90120
|
if (stats != null)
|
|
90116
90121
|
args.push(stats);
|
|
90117
90122
|
const awf = opts.awaitWriteFinish;
|
|
90118
90123
|
let pw;
|
|
90119
|
-
if (awf && (pw = this._pendingWrites.get(
|
|
90124
|
+
if (awf && (pw = this._pendingWrites.get(path22))) {
|
|
90120
90125
|
pw.lastChange = /* @__PURE__ */ new Date();
|
|
90121
90126
|
return this;
|
|
90122
90127
|
}
|
|
90123
90128
|
if (opts.atomic) {
|
|
90124
90129
|
if (event === EVENTS.UNLINK) {
|
|
90125
|
-
this._pendingUnlinks.set(
|
|
90130
|
+
this._pendingUnlinks.set(path22, [event, ...args]);
|
|
90126
90131
|
setTimeout(() => {
|
|
90127
|
-
this._pendingUnlinks.forEach((entry,
|
|
90132
|
+
this._pendingUnlinks.forEach((entry, path23) => {
|
|
90128
90133
|
this.emit(...entry);
|
|
90129
90134
|
this.emit(EVENTS.ALL, ...entry);
|
|
90130
|
-
this._pendingUnlinks.delete(
|
|
90135
|
+
this._pendingUnlinks.delete(path23);
|
|
90131
90136
|
});
|
|
90132
90137
|
}, typeof opts.atomic === "number" ? opts.atomic : 100);
|
|
90133
90138
|
return this;
|
|
90134
90139
|
}
|
|
90135
|
-
if (event === EVENTS.ADD && this._pendingUnlinks.has(
|
|
90140
|
+
if (event === EVENTS.ADD && this._pendingUnlinks.has(path22)) {
|
|
90136
90141
|
event = EVENTS.CHANGE;
|
|
90137
|
-
this._pendingUnlinks.delete(
|
|
90142
|
+
this._pendingUnlinks.delete(path22);
|
|
90138
90143
|
}
|
|
90139
90144
|
}
|
|
90140
90145
|
if (awf && (event === EVENTS.ADD || event === EVENTS.CHANGE) && this._readyEmitted) {
|
|
@@ -90152,16 +90157,16 @@ var FSWatcher = class extends EventEmitter2 {
|
|
|
90152
90157
|
this.emitWithAll(event, args);
|
|
90153
90158
|
}
|
|
90154
90159
|
};
|
|
90155
|
-
this._awaitWriteFinish(
|
|
90160
|
+
this._awaitWriteFinish(path22, awf.stabilityThreshold, event, awfEmit);
|
|
90156
90161
|
return this;
|
|
90157
90162
|
}
|
|
90158
90163
|
if (event === EVENTS.CHANGE) {
|
|
90159
|
-
const isThrottled = !this._throttle(EVENTS.CHANGE,
|
|
90164
|
+
const isThrottled = !this._throttle(EVENTS.CHANGE, path22, 50);
|
|
90160
90165
|
if (isThrottled)
|
|
90161
90166
|
return this;
|
|
90162
90167
|
}
|
|
90163
90168
|
if (opts.alwaysStat && stats === void 0 && (event === EVENTS.ADD || event === EVENTS.ADD_DIR || event === EVENTS.CHANGE)) {
|
|
90164
|
-
const fullPath = opts.cwd ? sp2.join(opts.cwd,
|
|
90169
|
+
const fullPath = opts.cwd ? sp2.join(opts.cwd, path22) : path22;
|
|
90165
90170
|
let stats2;
|
|
90166
90171
|
try {
|
|
90167
90172
|
stats2 = await stat3(fullPath);
|
|
@@ -90192,23 +90197,23 @@ var FSWatcher = class extends EventEmitter2 {
|
|
|
90192
90197
|
* @param timeout duration of time to suppress duplicate actions
|
|
90193
90198
|
* @returns tracking object or false if action should be suppressed
|
|
90194
90199
|
*/
|
|
90195
|
-
_throttle(actionType,
|
|
90200
|
+
_throttle(actionType, path22, timeout) {
|
|
90196
90201
|
if (!this._throttled.has(actionType)) {
|
|
90197
90202
|
this._throttled.set(actionType, /* @__PURE__ */ new Map());
|
|
90198
90203
|
}
|
|
90199
90204
|
const action = this._throttled.get(actionType);
|
|
90200
90205
|
if (!action)
|
|
90201
90206
|
throw new Error("invalid throttle");
|
|
90202
|
-
const actionPath = action.get(
|
|
90207
|
+
const actionPath = action.get(path22);
|
|
90203
90208
|
if (actionPath) {
|
|
90204
90209
|
actionPath.count++;
|
|
90205
90210
|
return false;
|
|
90206
90211
|
}
|
|
90207
90212
|
let timeoutObject;
|
|
90208
90213
|
const clear = () => {
|
|
90209
|
-
const item = action.get(
|
|
90214
|
+
const item = action.get(path22);
|
|
90210
90215
|
const count2 = item ? item.count : 0;
|
|
90211
|
-
action.delete(
|
|
90216
|
+
action.delete(path22);
|
|
90212
90217
|
clearTimeout(timeoutObject);
|
|
90213
90218
|
if (item)
|
|
90214
90219
|
clearTimeout(item.timeoutObject);
|
|
@@ -90216,7 +90221,7 @@ var FSWatcher = class extends EventEmitter2 {
|
|
|
90216
90221
|
};
|
|
90217
90222
|
timeoutObject = setTimeout(clear, timeout);
|
|
90218
90223
|
const thr = { timeoutObject, clear, count: 0 };
|
|
90219
|
-
action.set(
|
|
90224
|
+
action.set(path22, thr);
|
|
90220
90225
|
return thr;
|
|
90221
90226
|
}
|
|
90222
90227
|
_incrReadyCount() {
|
|
@@ -90230,44 +90235,44 @@ var FSWatcher = class extends EventEmitter2 {
|
|
|
90230
90235
|
* @param event
|
|
90231
90236
|
* @param awfEmit Callback to be called when ready for event to be emitted.
|
|
90232
90237
|
*/
|
|
90233
|
-
_awaitWriteFinish(
|
|
90238
|
+
_awaitWriteFinish(path22, threshold, event, awfEmit) {
|
|
90234
90239
|
const awf = this.options.awaitWriteFinish;
|
|
90235
90240
|
if (typeof awf !== "object")
|
|
90236
90241
|
return;
|
|
90237
90242
|
const pollInterval = awf.pollInterval;
|
|
90238
90243
|
let timeoutHandler;
|
|
90239
|
-
let fullPath =
|
|
90240
|
-
if (this.options.cwd && !sp2.isAbsolute(
|
|
90241
|
-
fullPath = sp2.join(this.options.cwd,
|
|
90244
|
+
let fullPath = path22;
|
|
90245
|
+
if (this.options.cwd && !sp2.isAbsolute(path22)) {
|
|
90246
|
+
fullPath = sp2.join(this.options.cwd, path22);
|
|
90242
90247
|
}
|
|
90243
90248
|
const now = /* @__PURE__ */ new Date();
|
|
90244
90249
|
const writes = this._pendingWrites;
|
|
90245
90250
|
function awaitWriteFinishFn(prevStat) {
|
|
90246
90251
|
statcb(fullPath, (err, curStat) => {
|
|
90247
|
-
if (err || !writes.has(
|
|
90252
|
+
if (err || !writes.has(path22)) {
|
|
90248
90253
|
if (err && err.code !== "ENOENT")
|
|
90249
90254
|
awfEmit(err);
|
|
90250
90255
|
return;
|
|
90251
90256
|
}
|
|
90252
90257
|
const now2 = Number(/* @__PURE__ */ new Date());
|
|
90253
90258
|
if (prevStat && curStat.size !== prevStat.size) {
|
|
90254
|
-
writes.get(
|
|
90259
|
+
writes.get(path22).lastChange = now2;
|
|
90255
90260
|
}
|
|
90256
|
-
const pw = writes.get(
|
|
90261
|
+
const pw = writes.get(path22);
|
|
90257
90262
|
const df = now2 - pw.lastChange;
|
|
90258
90263
|
if (df >= threshold) {
|
|
90259
|
-
writes.delete(
|
|
90264
|
+
writes.delete(path22);
|
|
90260
90265
|
awfEmit(void 0, curStat);
|
|
90261
90266
|
} else {
|
|
90262
90267
|
timeoutHandler = setTimeout(awaitWriteFinishFn, pollInterval, curStat);
|
|
90263
90268
|
}
|
|
90264
90269
|
});
|
|
90265
90270
|
}
|
|
90266
|
-
if (!writes.has(
|
|
90267
|
-
writes.set(
|
|
90271
|
+
if (!writes.has(path22)) {
|
|
90272
|
+
writes.set(path22, {
|
|
90268
90273
|
lastChange: now,
|
|
90269
90274
|
cancelWait: () => {
|
|
90270
|
-
writes.delete(
|
|
90275
|
+
writes.delete(path22);
|
|
90271
90276
|
clearTimeout(timeoutHandler);
|
|
90272
90277
|
return event;
|
|
90273
90278
|
}
|
|
@@ -90278,8 +90283,8 @@ var FSWatcher = class extends EventEmitter2 {
|
|
|
90278
90283
|
/**
|
|
90279
90284
|
* Determines whether user has asked to ignore this path.
|
|
90280
90285
|
*/
|
|
90281
|
-
_isIgnored(
|
|
90282
|
-
if (this.options.atomic && DOT_RE.test(
|
|
90286
|
+
_isIgnored(path22, stats) {
|
|
90287
|
+
if (this.options.atomic && DOT_RE.test(path22))
|
|
90283
90288
|
return true;
|
|
90284
90289
|
if (!this._userIgnored) {
|
|
90285
90290
|
const { cwd } = this.options;
|
|
@@ -90289,17 +90294,17 @@ var FSWatcher = class extends EventEmitter2 {
|
|
|
90289
90294
|
const list3 = [...ignoredPaths.map(normalizeIgnored(cwd)), ...ignored];
|
|
90290
90295
|
this._userIgnored = anymatch(list3, void 0);
|
|
90291
90296
|
}
|
|
90292
|
-
return this._userIgnored(
|
|
90297
|
+
return this._userIgnored(path22, stats);
|
|
90293
90298
|
}
|
|
90294
|
-
_isntIgnored(
|
|
90295
|
-
return !this._isIgnored(
|
|
90299
|
+
_isntIgnored(path22, stat4) {
|
|
90300
|
+
return !this._isIgnored(path22, stat4);
|
|
90296
90301
|
}
|
|
90297
90302
|
/**
|
|
90298
90303
|
* Provides a set of common helpers and properties relating to symlink handling.
|
|
90299
90304
|
* @param path file or directory pattern being watched
|
|
90300
90305
|
*/
|
|
90301
|
-
_getWatchHelpers(
|
|
90302
|
-
return new WatchHelper(
|
|
90306
|
+
_getWatchHelpers(path22) {
|
|
90307
|
+
return new WatchHelper(path22, this.options.followSymlinks, this);
|
|
90303
90308
|
}
|
|
90304
90309
|
// Directory helpers
|
|
90305
90310
|
// -----------------
|
|
@@ -90331,63 +90336,63 @@ var FSWatcher = class extends EventEmitter2 {
|
|
|
90331
90336
|
* @param item base path of item/directory
|
|
90332
90337
|
*/
|
|
90333
90338
|
_remove(directory, item, isDirectory) {
|
|
90334
|
-
const
|
|
90335
|
-
const fullPath = sp2.resolve(
|
|
90336
|
-
isDirectory = isDirectory != null ? isDirectory : this._watched.has(
|
|
90337
|
-
if (!this._throttle("remove",
|
|
90339
|
+
const path22 = sp2.join(directory, item);
|
|
90340
|
+
const fullPath = sp2.resolve(path22);
|
|
90341
|
+
isDirectory = isDirectory != null ? isDirectory : this._watched.has(path22) || this._watched.has(fullPath);
|
|
90342
|
+
if (!this._throttle("remove", path22, 100))
|
|
90338
90343
|
return;
|
|
90339
90344
|
if (!isDirectory && this._watched.size === 1) {
|
|
90340
90345
|
this.add(directory, item, true);
|
|
90341
90346
|
}
|
|
90342
|
-
const wp = this._getWatchedDir(
|
|
90347
|
+
const wp = this._getWatchedDir(path22);
|
|
90343
90348
|
const nestedDirectoryChildren = wp.getChildren();
|
|
90344
|
-
nestedDirectoryChildren.forEach((nested) => this._remove(
|
|
90349
|
+
nestedDirectoryChildren.forEach((nested) => this._remove(path22, nested));
|
|
90345
90350
|
const parent = this._getWatchedDir(directory);
|
|
90346
90351
|
const wasTracked = parent.has(item);
|
|
90347
90352
|
parent.remove(item);
|
|
90348
90353
|
if (this._symlinkPaths.has(fullPath)) {
|
|
90349
90354
|
this._symlinkPaths.delete(fullPath);
|
|
90350
90355
|
}
|
|
90351
|
-
let relPath =
|
|
90356
|
+
let relPath = path22;
|
|
90352
90357
|
if (this.options.cwd)
|
|
90353
|
-
relPath = sp2.relative(this.options.cwd,
|
|
90358
|
+
relPath = sp2.relative(this.options.cwd, path22);
|
|
90354
90359
|
if (this.options.awaitWriteFinish && this._pendingWrites.has(relPath)) {
|
|
90355
90360
|
const event = this._pendingWrites.get(relPath).cancelWait();
|
|
90356
90361
|
if (event === EVENTS.ADD)
|
|
90357
90362
|
return;
|
|
90358
90363
|
}
|
|
90359
|
-
this._watched.delete(
|
|
90364
|
+
this._watched.delete(path22);
|
|
90360
90365
|
this._watched.delete(fullPath);
|
|
90361
90366
|
const eventName = isDirectory ? EVENTS.UNLINK_DIR : EVENTS.UNLINK;
|
|
90362
|
-
if (wasTracked && !this._isIgnored(
|
|
90363
|
-
this._emit(eventName,
|
|
90364
|
-
this._closePath(
|
|
90367
|
+
if (wasTracked && !this._isIgnored(path22))
|
|
90368
|
+
this._emit(eventName, path22);
|
|
90369
|
+
this._closePath(path22);
|
|
90365
90370
|
}
|
|
90366
90371
|
/**
|
|
90367
90372
|
* Closes all watchers for a path
|
|
90368
90373
|
*/
|
|
90369
|
-
_closePath(
|
|
90370
|
-
this._closeFile(
|
|
90371
|
-
const dir = sp2.dirname(
|
|
90372
|
-
this._getWatchedDir(dir).remove(sp2.basename(
|
|
90374
|
+
_closePath(path22) {
|
|
90375
|
+
this._closeFile(path22);
|
|
90376
|
+
const dir = sp2.dirname(path22);
|
|
90377
|
+
this._getWatchedDir(dir).remove(sp2.basename(path22));
|
|
90373
90378
|
}
|
|
90374
90379
|
/**
|
|
90375
90380
|
* Closes only file-specific watchers
|
|
90376
90381
|
*/
|
|
90377
|
-
_closeFile(
|
|
90378
|
-
const closers = this._closers.get(
|
|
90382
|
+
_closeFile(path22) {
|
|
90383
|
+
const closers = this._closers.get(path22);
|
|
90379
90384
|
if (!closers)
|
|
90380
90385
|
return;
|
|
90381
90386
|
closers.forEach((closer) => closer());
|
|
90382
|
-
this._closers.delete(
|
|
90387
|
+
this._closers.delete(path22);
|
|
90383
90388
|
}
|
|
90384
|
-
_addPathCloser(
|
|
90389
|
+
_addPathCloser(path22, closer) {
|
|
90385
90390
|
if (!closer)
|
|
90386
90391
|
return;
|
|
90387
|
-
let list3 = this._closers.get(
|
|
90392
|
+
let list3 = this._closers.get(path22);
|
|
90388
90393
|
if (!list3) {
|
|
90389
90394
|
list3 = [];
|
|
90390
|
-
this._closers.set(
|
|
90395
|
+
this._closers.set(path22, list3);
|
|
90391
90396
|
}
|
|
90392
90397
|
list3.push(closer);
|
|
90393
90398
|
}
|
|
@@ -92221,7 +92226,7 @@ doctor failed: ${err instanceof Error ? err.message : String(err)}
|
|
|
92221
92226
|
}
|
|
92222
92227
|
|
|
92223
92228
|
// src/commands/mount.ts
|
|
92224
|
-
import
|
|
92229
|
+
import path20 from "node:path";
|
|
92225
92230
|
import fs15 from "node:fs";
|
|
92226
92231
|
|
|
92227
92232
|
// src/mount/manifest.ts
|
|
@@ -92307,9 +92312,19 @@ function renderDockerOverlay(mounts, opts) {
|
|
|
92307
92312
|
`;
|
|
92308
92313
|
}
|
|
92309
92314
|
|
|
92315
|
+
// src/mount/overlay-path.ts
|
|
92316
|
+
import path18 from "node:path";
|
|
92317
|
+
function resolveOverlayPath(opts) {
|
|
92318
|
+
if (!opts.configOverride) {
|
|
92319
|
+
return path18.join(opts.stateDir, "dev-mount-overlay.yml");
|
|
92320
|
+
}
|
|
92321
|
+
if (path18.isAbsolute(opts.configOverride)) return opts.configOverride;
|
|
92322
|
+
return path18.resolve(opts.workspaceRoot, opts.configOverride);
|
|
92323
|
+
}
|
|
92324
|
+
|
|
92310
92325
|
// src/mount/symlinks.ts
|
|
92311
92326
|
import fs14 from "node:fs";
|
|
92312
|
-
import
|
|
92327
|
+
import path19 from "node:path";
|
|
92313
92328
|
function applyManagedSymlinks(workspaceRoot, mounts, strategy) {
|
|
92314
92329
|
const report = { created: [], skipped: [] };
|
|
92315
92330
|
for (const m of mounts) {
|
|
@@ -92332,7 +92347,7 @@ function applyManagedSymlinks(workspaceRoot, mounts, strategy) {
|
|
|
92332
92347
|
}
|
|
92333
92348
|
} catch {
|
|
92334
92349
|
}
|
|
92335
|
-
fs14.mkdirSync(
|
|
92350
|
+
fs14.mkdirSync(path19.dirname(linkPath), { recursive: true });
|
|
92336
92351
|
fs14.symlinkSync(m.hostPath, linkPath);
|
|
92337
92352
|
report.created.push(linkPath);
|
|
92338
92353
|
}
|
|
@@ -92450,9 +92465,13 @@ async function resolveContext(opts) {
|
|
|
92450
92465
|
process.exit(1);
|
|
92451
92466
|
}
|
|
92452
92467
|
const providerMounts = await profile?.mountCandidatesProvider?.() ?? [];
|
|
92453
|
-
const overlayPath = path19.resolve(workspaceRoot, config.mount.overlayPath);
|
|
92454
92468
|
const paths = getStatePaths(workspaceRoot, { appName: config.appName });
|
|
92455
|
-
const
|
|
92469
|
+
const overlayPath = resolveOverlayPath({
|
|
92470
|
+
stateDir: paths.stateDir,
|
|
92471
|
+
workspaceRoot,
|
|
92472
|
+
configOverride: config.mount.overlayPath
|
|
92473
|
+
});
|
|
92474
|
+
const manifestPath2 = path20.join(paths.stateDir, config.mount.manifestFile);
|
|
92456
92475
|
return {
|
|
92457
92476
|
configPath,
|
|
92458
92477
|
workspaceRoot,
|
|
@@ -92514,7 +92533,7 @@ async function mountCommand(opts = {}) {
|
|
|
92514
92533
|
return;
|
|
92515
92534
|
}
|
|
92516
92535
|
}
|
|
92517
|
-
fs15.mkdirSync(
|
|
92536
|
+
fs15.mkdirSync(path20.dirname(overlayPath), { recursive: true });
|
|
92518
92537
|
fs15.writeFileSync(overlayPath, renderDockerOverlay(selected, { service }), "utf8");
|
|
92519
92538
|
process.stdout.write(`dev-cockpit mount: wrote ${overlayPath}
|
|
92520
92539
|
`);
|
|
@@ -92546,7 +92565,7 @@ async function mountCommand(opts = {}) {
|
|
|
92546
92565
|
await profile.onMountApply(hookCtx);
|
|
92547
92566
|
} else {
|
|
92548
92567
|
process.stdout.write(
|
|
92549
|
-
` Apply with: docker compose -f <your-compose>.yml -f ${
|
|
92568
|
+
` Apply with: docker compose -f <your-compose>.yml -f ${path20.basename(overlayPath)} up -d
|
|
92550
92569
|
`
|
|
92551
92570
|
);
|
|
92552
92571
|
}
|
|
@@ -92656,9 +92675,9 @@ async function mountClearCommand(opts = {}) {
|
|
|
92656
92675
|
// src/commands/migrate-config.ts
|
|
92657
92676
|
var import_yaml2 = __toESM(require_dist(), 1);
|
|
92658
92677
|
import fs16 from "node:fs";
|
|
92659
|
-
import
|
|
92678
|
+
import path21 from "node:path";
|
|
92660
92679
|
async function migrateConfigCommand(opts = {}) {
|
|
92661
|
-
const configPath =
|
|
92680
|
+
const configPath = path21.resolve(opts.config ?? "cockpit.yaml");
|
|
92662
92681
|
if (!fs16.existsSync(configPath)) {
|
|
92663
92682
|
process.stderr.write(`dev-cockpit migrate-config: no file at ${configPath}.
|
|
92664
92683
|
`);
|
|
@@ -92898,6 +92917,7 @@ export {
|
|
|
92898
92917
|
renderWizardYaml,
|
|
92899
92918
|
resolveDocsRoot,
|
|
92900
92919
|
resolveNotify,
|
|
92920
|
+
resolveOverlayPath,
|
|
92901
92921
|
restartDockerService,
|
|
92902
92922
|
runAllLints,
|
|
92903
92923
|
runChecks,
|