varlock 0.0.7 → 0.0.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (86) hide show
  1. package/dist/auto-load.js +6 -5
  2. package/dist/{chunk-67DF2S4X.js → chunk-5B7JZEDE.js} +6 -5
  3. package/dist/chunk-5B7JZEDE.js.map +1 -0
  4. package/dist/{chunk-WRLSFZTQ.js → chunk-6FFRZOIK.js} +8 -8
  5. package/dist/{chunk-WRLSFZTQ.js.map → chunk-6FFRZOIK.js.map} +1 -1
  6. package/dist/{chunk-HQ3K6KKC.js → chunk-7OHVYEDG.js} +4 -3
  7. package/dist/chunk-7OHVYEDG.js.map +1 -0
  8. package/dist/{chunk-4D3QUGGJ.js → chunk-BM3UAHAH.js} +5 -6
  9. package/dist/chunk-BM3UAHAH.js.map +1 -0
  10. package/dist/chunk-CQHOPN6M.js +14 -0
  11. package/dist/{chunk-ITXNRGOJ.js.map → chunk-CQHOPN6M.js.map} +1 -1
  12. package/dist/{chunk-BDA3K24R.js → chunk-GYHC6Y7D.js} +7 -8
  13. package/dist/chunk-GYHC6Y7D.js.map +1 -0
  14. package/dist/{chunk-DAZNZPLN.js → chunk-H5PNRKYP.js} +559 -75
  15. package/dist/chunk-H5PNRKYP.js.map +1 -0
  16. package/dist/chunk-LZ45SLAI.js +12 -0
  17. package/dist/chunk-LZ45SLAI.js.map +1 -0
  18. package/dist/{chunk-QDGAWJPB.js → chunk-MPS3IXAW.js} +18 -7
  19. package/dist/chunk-MPS3IXAW.js.map +1 -0
  20. package/dist/{chunk-2AA6IZBK.js → chunk-P74HB2II.js} +4 -3
  21. package/dist/chunk-P74HB2II.js.map +1 -0
  22. package/dist/{chunk-Z52EXRDT.js → chunk-PQPGBNGV.js} +6 -7
  23. package/dist/chunk-PQPGBNGV.js.map +1 -0
  24. package/dist/{chunk-7NCUE6IU.js → chunk-SHQHITWV.js} +3 -10
  25. package/dist/chunk-SHQHITWV.js.map +1 -0
  26. package/dist/{chunk-ZDGB2ZFV.js → chunk-UFPWQAFZ.js} +14 -14
  27. package/dist/chunk-UFPWQAFZ.js.map +1 -0
  28. package/dist/{chunk-LJKKUJMC.js → chunk-Y2RFMQ5X.js} +342 -60
  29. package/dist/chunk-Y2RFMQ5X.js.map +1 -0
  30. package/dist/{chunk-XCHNL72R.js → chunk-YK4SATSE.js} +7 -8
  31. package/dist/chunk-YK4SATSE.js.map +1 -0
  32. package/dist/cli/cli-executable.js +25 -33
  33. package/dist/cli/cli-executable.js.map +1 -1
  34. package/dist/dotenv-compat.js +6 -5
  35. package/dist/index.d.ts +26 -1
  36. package/dist/index.js +28 -12
  37. package/dist/index.js.map +1 -1
  38. package/dist/init.command-L4HF4372.js +9 -0
  39. package/dist/{init.command-NWFSUQWW.js.map → init.command-L4HF4372.js.map} +1 -1
  40. package/dist/load.command-VHNPXTDI.js +9 -0
  41. package/dist/{load.command-U3ZEZYEV.js.map → load.command-VHNPXTDI.js.map} +1 -1
  42. package/dist/login.command-OIQBNMNZ.js +8 -0
  43. package/dist/{login.command-SWBJENRF.js.map → login.command-OIQBNMNZ.js.map} +1 -1
  44. package/dist/run.command-2OE432A5.js +9 -0
  45. package/dist/{run.command-WNANCLWN.js.map → run.command-2OE432A5.js.map} +1 -1
  46. package/dist/runtime/env.js +1 -1
  47. package/dist/runtime/patch-console.js +3 -2
  48. package/dist/runtime/patch-response.js +3 -2
  49. package/dist/runtime/patch-server-response.js +3 -2
  50. package/dist/telemetry.command-MYQU7FPB.js +8 -0
  51. package/dist/{telemetry.command-QMUHAB3Z.js.map → telemetry.command-MYQU7FPB.js.map} +1 -1
  52. package/package.json +6 -6
  53. package/dist/chunk-2AA6IZBK.js.map +0 -1
  54. package/dist/chunk-2H7TDBLD.js +0 -172
  55. package/dist/chunk-2H7TDBLD.js.map +0 -1
  56. package/dist/chunk-4D3QUGGJ.js.map +0 -1
  57. package/dist/chunk-67DF2S4X.js.map +0 -1
  58. package/dist/chunk-7NCUE6IU.js.map +0 -1
  59. package/dist/chunk-BDA3K24R.js.map +0 -1
  60. package/dist/chunk-DAZNZPLN.js.map +0 -1
  61. package/dist/chunk-HQ3K6KKC.js.map +0 -1
  62. package/dist/chunk-ITXNRGOJ.js +0 -14
  63. package/dist/chunk-LHTLO65N.js +0 -99
  64. package/dist/chunk-LHTLO65N.js.map +0 -1
  65. package/dist/chunk-LJKKUJMC.js.map +0 -1
  66. package/dist/chunk-PUGFIZE3.js +0 -143
  67. package/dist/chunk-PUGFIZE3.js.map +0 -1
  68. package/dist/chunk-QDGAWJPB.js.map +0 -1
  69. package/dist/chunk-WOHPERDH.js +0 -17
  70. package/dist/chunk-WOHPERDH.js.map +0 -1
  71. package/dist/chunk-X52WCHVG.js +0 -540
  72. package/dist/chunk-X52WCHVG.js.map +0 -1
  73. package/dist/chunk-XCHNL72R.js.map +0 -1
  74. package/dist/chunk-YZ2H2QXX.js +0 -32
  75. package/dist/chunk-YZ2H2QXX.js.map +0 -1
  76. package/dist/chunk-Z52EXRDT.js.map +0 -1
  77. package/dist/chunk-ZDGB2ZFV.js.map +0 -1
  78. package/dist/doctor.command-TKHDKSUY.js +0 -7
  79. package/dist/doctor.command-TKHDKSUY.js.map +0 -1
  80. package/dist/encrypt.command-AGHQ4KTI.js +0 -7
  81. package/dist/encrypt.command-AGHQ4KTI.js.map +0 -1
  82. package/dist/init.command-NWFSUQWW.js +0 -13
  83. package/dist/load.command-U3ZEZYEV.js +0 -12
  84. package/dist/login.command-SWBJENRF.js +0 -10
  85. package/dist/run.command-WNANCLWN.js +0 -12
  86. package/dist/telemetry.command-QMUHAB3Z.js +0 -10
@@ -1,12 +1,91 @@
1
- import { __name } from './chunk-XN24GZXQ.js';
2
- import { exec } from 'node:child_process';
3
- import { promisify } from 'node:util';
4
- import fs2 from 'node:fs/promises';
5
- import path from 'node:path';
1
+ import { redactString } from './chunk-FGMXIEFA.js';
2
+ import { __commonJS, __name, __toESM } from './chunk-XN24GZXQ.js';
3
+ import { exec } from 'child_process';
4
+ import { promisify } from 'util';
5
+ import fs2 from 'fs/promises';
6
+ import path from 'path';
6
7
  import { ParsedEnvSpecStaticValue, ParsedEnvSpecFunctionCall, ParsedEnvSpecKeyValuePair, parseEnvSpecDotEnvFile } from '@env-spec/parser';
7
- import fs from 'node:fs';
8
+ import fs from 'fs';
9
+ import process2 from 'process';
8
10
 
9
- // ../../node_modules/.pnpm/@sindresorhus+is@7.0.1/node_modules/@sindresorhus/is/distribution/index.js
11
+ // ../../node_modules/.pnpm/ansis@4.1.0/node_modules/ansis/index.cjs
12
+ var require_ansis = __commonJS({
13
+ "../../node_modules/.pnpm/ansis@4.1.0/node_modules/ansis/index.cjs"(exports, module) {
14
+ var e;
15
+ var t;
16
+ var r;
17
+ var { defineProperty: n, setPrototypeOf: l, create: o, keys: s } = Object;
18
+ var i = "";
19
+ var { round: c, max: a2 } = Math;
20
+ var p = /* @__PURE__ */ __name((e2) => {
21
+ let t2 = /([a-f\d]{3,6})/i.exec(e2)?.[1], r2 = t2?.length, n2 = parseInt(6 ^ r2 ? 3 ^ r2 ? "0" : t2[0] + t2[0] + t2[1] + t2[1] + t2[2] + t2[2] : t2, 16);
22
+ return [n2 >> 16 & 255, n2 >> 8 & 255, 255 & n2];
23
+ }, "p");
24
+ var u = /* @__PURE__ */ __name((e2, t2, r2) => e2 ^ t2 || t2 ^ r2 ? 16 + 36 * c(e2 / 51) + 6 * c(t2 / 51) + c(r2 / 51) : 8 > e2 ? 16 : e2 > 248 ? 231 : c(24 * (e2 - 8) / 247) + 232, "u");
25
+ var d = /* @__PURE__ */ __name((e2) => {
26
+ let t2, r2, n2, l2, o2;
27
+ return 8 > e2 ? 30 + e2 : 16 > e2 ? e2 - 8 + 90 : (232 > e2 ? (o2 = (e2 -= 16) % 36, t2 = (e2 / 36 | 0) / 5, r2 = (o2 / 6 | 0) / 5, n2 = o2 % 6 / 5) : t2 = r2 = n2 = (10 * (e2 - 232) + 8) / 255, l2 = 2 * a2(t2, r2, n2), l2 ? 30 + (c(n2) << 2 | c(r2) << 1 | c(t2)) + (2 ^ l2 ? 0 : 60) : 30);
28
+ }, "d");
29
+ var g = (() => {
30
+ let r2 = /* @__PURE__ */ __name((e2) => o2.some((t2) => e2.test(t2)), "r"), n2 = globalThis, l2 = n2.process ?? {}, o2 = l2.argv ?? [], i2 = l2.env ?? {}, c2 = -1;
31
+ try {
32
+ e = "," + s(i2).join(",");
33
+ } catch (e2) {
34
+ i2 = {}, c2 = 0;
35
+ }
36
+ let a3 = "FORCE_COLOR", p2 = { false: 0, 0: 0, 1: 1, 2: 2, 3: 3 }[i2[a3]] ?? -1, u2 = a3 in i2 && p2 || r2(/^--color=?(true|always)?$/);
37
+ return u2 && (c2 = p2), ~c2 || (c2 = ((r3, n3, l3) => (t = r3.TERM, { "24bit": 3, truecolor: 3, ansi256: 2, ansi: 1 }[r3.COLORTERM] || (r3.CI ? /,GITHUB/.test(e) ? 3 : 1 : n3 && "dumb" !== t ? l3 ? 3 : /-256/.test(t) ? 2 : 1 : 0)))(i2, !!i2.PM2_HOME || i2.NEXT_RUNTIME?.includes("edge") || !!l2.stdout?.isTTY, "win32" === l2.platform)), !p2 || i2.NO_COLOR || r2(/^--(no-color|color=(false|never))$/) ? 0 : n2.window?.chrome || u2 && !c2 ? 3 : c2;
38
+ })();
39
+ var f = { open: i, close: i };
40
+ var h = 39;
41
+ var b = 49;
42
+ var O = {};
43
+ var m = /* @__PURE__ */ __name(({ p: e2 }, { open: t2, close: n2 }) => {
44
+ let o2 = /* @__PURE__ */ __name((e3, ...r2) => {
45
+ if (!e3) {
46
+ if (t2 && t2 === n2) return t2;
47
+ if ((e3 ?? i) === i) return i;
48
+ }
49
+ let l2, s3 = e3.raw ? String.raw({ raw: e3 }, ...r2) : i + e3, c3 = o2.p, a3 = c3.o, p2 = c3.c;
50
+ if (s3.includes("\x1B")) for (; c3; c3 = c3.p) {
51
+ let { open: e4, close: t3 } = c3, r3 = t3.length, n3 = i, o3 = 0;
52
+ if (r3) for (; ~(l2 = s3.indexOf(t3, o3)); o3 = l2 + r3) n3 += s3.slice(o3, l2) + e4;
53
+ s3 = n3 + s3.slice(o3);
54
+ }
55
+ return a3 + (s3.includes("\n") ? s3.replace(/(\r?\n)/g, p2 + "$1" + a3) : s3) + p2;
56
+ }, "o"), s2 = t2, c2 = n2;
57
+ return e2 && (s2 = e2.o + t2, c2 = n2 + e2.c), l(o2, r), o2.p = { open: t2, close: n2, o: s2, c: c2, p: e2 }, o2.open = s2, o2.close = c2, o2;
58
+ }, "m");
59
+ var w = /* @__PURE__ */ __name(function(e2 = g) {
60
+ let t2 = { Ansis: w, level: e2, isSupported: /* @__PURE__ */ __name(() => s2, "isSupported"), strip: /* @__PURE__ */ __name((e3) => e3.replace(/[›][[()#;?]*(?:[0-9]{1,4}(?:;[0-9]{0,4})*)?[0-9A-ORZcf-nqry=><]/g, i), "strip"), extend(e3) {
61
+ for (let t3 in e3) {
62
+ let r2 = e3[t3], l2 = (typeof r2)[0], o2 = "s" === l2 ? x(...p(r2)) : r2;
63
+ O[t3] = "f" === l2 ? { get() {
64
+ return (...e4) => m(this, r2(...e4));
65
+ } } : { get() {
66
+ let e4 = m(this, o2);
67
+ return n(this, t3, { value: e4 }), e4;
68
+ } };
69
+ }
70
+ return r = o({}, O), l(t2, r), t2;
71
+ } }, s2 = e2 > 0, c2 = /* @__PURE__ */ __name((e3, t3) => s2 ? { open: `\x1B[${e3}m`, close: `\x1B[${t3}m` } : f, "c"), a3 = /* @__PURE__ */ __name((e3) => (t3) => e3(...p(t3)), "a"), y2 = /* @__PURE__ */ __name((e3, t3) => (r2, n2, l2) => c2(`${e3}8;2;${r2};${n2};${l2}`, t3), "y"), R = /* @__PURE__ */ __name((e3, t3) => (r2, n2, l2) => c2(((e4, t4, r3) => d(u(e4, t4, r3)))(r2, n2, l2) + e3, t3), "R"), $ = /* @__PURE__ */ __name((e3) => (t3, r2, n2) => e3(u(t3, r2, n2)), "$"), x = y2(3, h), T = y2(4, b), v = /* @__PURE__ */ __name((e3) => c2("38;5;" + e3, h), "v"), C = /* @__PURE__ */ __name((e3) => c2("48;5;" + e3, b), "C");
72
+ 2 === e2 ? (x = $(v), T = $(C)) : 1 === e2 && (x = R(0, h), T = R(10, b), v = /* @__PURE__ */ __name((e3) => c2(d(e3), h), "v"), C = /* @__PURE__ */ __name((e3) => c2(d(e3) + 10, b), "C"));
73
+ let E, M = { fg: v, bg: C, rgb: x, bgRgb: T, hex: a3(x), bgHex: a3(T), visible: f, reset: c2(0, 0), bold: c2(1, 22), dim: c2(2, 22), italic: c2(3, 23), underline: c2(4, 24), inverse: c2(7, 27), hidden: c2(8, 28), strikethrough: c2(9, 29) }, I = "Bright";
74
+ return "black,red,green,yellow,blue,magenta,cyan,white,gray".split(",").map((e3, t3) => {
75
+ E = "bg" + e3[0].toUpperCase() + e3.slice(1), 8 > t3 ? (M[e3 + I] = c2(90 + t3, h), M[E + I] = c2(100 + t3, b)) : t3 = 60, M[e3] = c2(30 + t3, h), M[E] = c2(40 + t3, b);
76
+ }), t2.extend(M);
77
+ }, "w");
78
+ var y = new w();
79
+ module.exports = y, y.default = y;
80
+ }
81
+ });
82
+
83
+ // ../../node_modules/.pnpm/ansis@4.1.0/node_modules/ansis/index.mjs
84
+ var import_index = __toESM(require_ansis(), 1);
85
+ var ansis_default = import_index.default;
86
+ var { Ansis, fg, bg, rgb, bgRgb, hex, bgHex, reset, inverse, hidden, visible, bold, dim, italic, underline, strikethrough, black, red, green, yellow, blue, magenta, cyan, white, gray, redBright, greenBright, yellowBright, blueBright, magentaBright, cyanBright, whiteBright, bgBlack, bgRed, bgGreen, bgYellow, bgBlue, bgMagenta, bgCyan, bgWhite, bgGray, bgRedBright, bgGreenBright, bgYellowBright, bgBlueBright, bgMagentaBright, bgCyanBright, bgWhiteBright } = import_index.default;
87
+
88
+ // ../../node_modules/.pnpm/@sindresorhus+is@7.0.2/node_modules/@sindresorhus/is/distribution/index.js
10
89
  var typedArrayTypeNames = [
11
90
  "Int8Array",
12
91
  "Uint8Array",
@@ -497,7 +576,7 @@ function isObservable(value) {
497
576
  if (!value) {
498
577
  return false;
499
578
  }
500
- if (value === value[Symbol.observable]?.()) {
579
+ if (Symbol.observable !== void 0 && value === value[Symbol.observable]?.()) {
501
580
  return true;
502
581
  }
503
582
  if (value === value["@@observable"]?.()) {
@@ -664,13 +743,13 @@ function sortBy(array, compareBy) {
664
743
  compareMap.set(item, compareBy(item));
665
744
  });
666
745
  return array.concat().sort(
667
- (a, b) => compareMap.get(a) - compareMap.get(b)
746
+ (a2, b) => compareMap.get(a2) - compareMap.get(b)
668
747
  );
669
748
  } else {
670
749
  return array.concat().sort(
671
- (a, b) => {
672
- if (a[compareBy] > b[compareBy]) return 1;
673
- return b[compareBy] > a[compareBy] ? -1 : 0;
750
+ (a2, b) => {
751
+ if (a2[compareBy] > b[compareBy]) return 1;
752
+ return b[compareBy] > a2[compareBy] ? -1 : 0;
674
753
  }
675
754
  );
676
755
  }
@@ -718,7 +797,7 @@ var _ = {
718
797
  compact,
719
798
  keys: Object.keys,
720
799
  values: Object.values,
721
- some: /* @__PURE__ */ __name((a, fn) => a.some(fn), "some"),
800
+ some: /* @__PURE__ */ __name((a2, fn) => a2.some(fn), "some"),
722
801
  filter,
723
802
  each,
724
803
  castArray,
@@ -739,45 +818,6 @@ var _ = {
739
818
  isInteger
740
819
  };
741
820
  var my_dash_default = _;
742
- var asyncExec = promisify(exec);
743
-
744
- // ../utils/src/git-utils.ts
745
- async function checkIsFileGitIgnored(path4, warnIfNotGitRepo = false) {
746
- try {
747
- await asyncExec(`git check-ignore ${path4} -q`);
748
- return true;
749
- } catch (err) {
750
- const stderr = err.stderr;
751
- if (stderr.includes("command not found")) return void 0;
752
- if (err.code === "ENOENT") return void 0;
753
- if (stderr === "") return false;
754
- if (stderr.includes("not a git repository")) {
755
- if (warnIfNotGitRepo) {
756
- console.log("\u{1F536} Your code is not currently in a git repository - run `git init` to initialize a new repo.");
757
- }
758
- return false;
759
- }
760
- throw err;
761
- }
762
- }
763
- __name(checkIsFileGitIgnored, "checkIsFileGitIgnored");
764
-
765
- // ../utils/src/try-catch.ts
766
- function isPromise2(obj) {
767
- return !!obj && (typeof obj === "object" || typeof obj === "function") && typeof obj.then === "function";
768
- }
769
- __name(isPromise2, "isPromise");
770
- async function tryCatch(tryFn, catchFn) {
771
- try {
772
- return await tryFn();
773
- } catch (err) {
774
- const catchResult = catchFn(err);
775
- if (isPromise2(catchResult)) {
776
- await catchResult;
777
- }
778
- }
779
- }
780
- __name(tryCatch, "tryCatch");
781
821
 
782
822
  // ../env-graph/src/lib/errors.ts
783
823
  var VarlockError = class extends Error {
@@ -840,6 +880,29 @@ var VarlockError = class extends Error {
840
880
  };
841
881
  }
842
882
  };
883
+ var ConfigLoadError = class extends VarlockError {
884
+ static {
885
+ __name(this, "ConfigLoadError");
886
+ }
887
+ cleanedStack;
888
+ constructor(err) {
889
+ super(err);
890
+ let stackLines = (err.stack?.split("\n") || []).slice(1);
891
+ stackLines = stackLines.filter((l) => {
892
+ if (l.includes(" at ViteNodeRunner.")) return false;
893
+ if (l.includes("core/src/config-loader/config-loader.ts")) return false;
894
+ return true;
895
+ });
896
+ this.message = `${err.name}: ${err.message}`;
897
+ this.cleanedStack = stackLines || [];
898
+ }
899
+ toJSON() {
900
+ return {
901
+ ...super.toJSON(),
902
+ cleanedStack: this.cleanedStack
903
+ };
904
+ }
905
+ };
843
906
  var SchemaError = class extends VarlockError {
844
907
  static {
845
908
  __name(this, "SchemaError");
@@ -882,6 +945,45 @@ var EmptyRequiredValueError = class extends ValidationError {
882
945
  super("Value is required but is currently empty");
883
946
  }
884
947
  };
948
+ var asyncExec = promisify(exec);
949
+
950
+ // ../utils/src/git-utils.ts
951
+ async function checkIsFileGitIgnored(path4, warnIfNotGitRepo = false) {
952
+ try {
953
+ await asyncExec(`git check-ignore ${path4} -q`);
954
+ return true;
955
+ } catch (err) {
956
+ const stderr = err.stderr;
957
+ if (stderr.includes("command not found")) return void 0;
958
+ if (err.code === "ENOENT") return void 0;
959
+ if (stderr === "") return false;
960
+ if (stderr.includes("not a git repository")) {
961
+ if (warnIfNotGitRepo) {
962
+ console.log("\u{1F536} Your code is not currently in a git repository - run `git init` to initialize a new repo.");
963
+ }
964
+ return false;
965
+ }
966
+ throw err;
967
+ }
968
+ }
969
+ __name(checkIsFileGitIgnored, "checkIsFileGitIgnored");
970
+
971
+ // ../utils/src/try-catch.ts
972
+ function isPromise2(obj) {
973
+ return !!obj && (typeof obj === "object" || typeof obj === "function") && typeof obj.then === "function";
974
+ }
975
+ __name(isPromise2, "isPromise");
976
+ async function tryCatch(tryFn, catchFn) {
977
+ try {
978
+ return await tryFn();
979
+ } catch (err) {
980
+ const catchResult = catchFn(err);
981
+ if (isPromise2(catchResult)) {
982
+ await catchResult;
983
+ }
984
+ }
985
+ }
986
+ __name(tryCatch, "tryCatch");
885
987
 
886
988
  // ../env-graph/src/lib/data-types.ts
887
989
  var EnvGraphDataType = class {
@@ -1172,7 +1274,7 @@ var PortDataType = createEnvGraphDataType(
1172
1274
  );
1173
1275
  var SEMVER_REGEX = /^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(?:-((?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\.(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\+([0-9a-zA-Z-]+(?:\.[0-9a-zA-Z-]+)*))?$/;
1174
1276
  var SemverDataType = createEnvGraphDataType(
1175
- (settings) => ({
1277
+ (_settings) => ({
1176
1278
  name: "semver",
1177
1279
  icon: "simple-icons:semver",
1178
1280
  typeDescription: "semantic version string",
@@ -1445,7 +1547,7 @@ var ExecResolver = class _ExecResolver extends Resolver {
1445
1547
  throw new ResolutionError("exec() expects a string child arg");
1446
1548
  }
1447
1549
  try {
1448
- const { stdout, stderr } = await _ExecResolver.execQueue.enqueue(() => execAsync(commandStr));
1550
+ const { stdout } = await _ExecResolver.execQueue.enqueue(() => execAsync(commandStr));
1449
1551
  return stdout.replace(/\n$/, "");
1450
1552
  } catch (err) {
1451
1553
  console.log("exec() failed", err);
@@ -1895,7 +1997,7 @@ var EnvGraph2 = class {
1895
1997
  }
1896
1998
  }
1897
1999
  const itemsToResolveStatus = my_dash_default.mapValues(this.configSchema, () => false);
1898
- const deferred = new Promise((resolve, reject) => {
2000
+ const deferred = new Promise((resolve, _reject) => {
1899
2001
  const markItemCompleted = /* @__PURE__ */ __name((itemKey) => {
1900
2002
  delete itemsToResolveStatus[itemKey];
1901
2003
  if (reverseAdjList[itemKey]) {
@@ -2202,7 +2304,6 @@ var ConfigItem3 = class {
2202
2304
  } else if (err instanceof Error) {
2203
2305
  const validationError = new ValidationError("Unexpected error during validation");
2204
2306
  validationError.cause = err;
2205
- console.log(err);
2206
2307
  this.validationErrors = [validationError];
2207
2308
  } else {
2208
2309
  const validationError = new ValidationError(`Unexpected non-error thrown during validation - ${err}`);
@@ -2268,7 +2369,7 @@ var EnvGraphDataSource = class {
2268
2369
  return obj;
2269
2370
  }
2270
2371
  };
2271
- var ProcessEnvDataSource2 = class _ProcessEnvDataSource extends EnvGraphDataSource {
2372
+ var ProcessEnvDataSource = class _ProcessEnvDataSource extends EnvGraphDataSource {
2272
2373
  static {
2273
2374
  __name(this, "ProcessEnvDataSource");
2274
2375
  }
@@ -2433,6 +2534,187 @@ var DotEnvFileDataSource = class extends FileBasedDataSource {
2433
2534
  }
2434
2535
  };
2435
2536
 
2436
- export { DotEnvFileDataSource, EnvGraph2 as EnvGraph, EnvSourceParseError, ProcessEnvDataSource2 as ProcessEnvDataSource, StaticValueResolver, checkIsFileGitIgnored, my_dash_default };
2437
- //# sourceMappingURL=chunk-LJKKUJMC.js.map
2438
- //# sourceMappingURL=chunk-LJKKUJMC.js.map
2537
+ // src/lib/formatting.ts
2538
+ function applyMods(str, mods) {
2539
+ if (!mods) return str;
2540
+ if (my_dash_default.isArray(mods)) {
2541
+ let modStr = str;
2542
+ mods.forEach((mod) => {
2543
+ modStr = ansis_default[mod](modStr);
2544
+ });
2545
+ return modStr;
2546
+ }
2547
+ return ansis_default[mods](str);
2548
+ }
2549
+ __name(applyMods, "applyMods");
2550
+ function formattedValue(val, showType = false) {
2551
+ let strVal = "";
2552
+ let strType = "";
2553
+ let mods;
2554
+ if (my_dash_default.isBoolean(val)) {
2555
+ strVal = val.toString();
2556
+ mods = ["yellow", "italic"];
2557
+ strType = "boolean";
2558
+ } else if (my_dash_default.isNumber(val)) {
2559
+ strVal = val.toString();
2560
+ mods = "yellow";
2561
+ strType = "number";
2562
+ } else if (my_dash_default.isString(val)) {
2563
+ strVal = `"${val}"`;
2564
+ strType = "string";
2565
+ } else if (my_dash_default.isPlainObject(val)) {
2566
+ strVal = JSON.stringify(val);
2567
+ strType = "object";
2568
+ } else if (val === null) {
2569
+ strVal = "null";
2570
+ mods = "gray";
2571
+ } else if (val === void 0) {
2572
+ strVal = "undefined";
2573
+ mods = "gray";
2574
+ }
2575
+ return [
2576
+ applyMods(strVal, mods),
2577
+ showType && strType ? ansis_default.gray(` (${strType})`) : ""
2578
+ ].join("");
2579
+ }
2580
+ __name(formattedValue, "formattedValue");
2581
+ function joinAndCompact(strings, joinChar = " ") {
2582
+ return strings.filter((s) => (
2583
+ // we'll not filter out empty strings - because it's useful to just add newlines
2584
+ s !== void 0 && s !== null && s !== false
2585
+ )).join(joinChar);
2586
+ }
2587
+ __name(joinAndCompact, "joinAndCompact");
2588
+ var VALIDATION_STATE_COLORS = {
2589
+ error: "red",
2590
+ warn: "yellow",
2591
+ valid: "cyan"
2592
+ };
2593
+ function getItemSummary(item) {
2594
+ const summary = [];
2595
+ const itemErrors = item.errors;
2596
+ const icon = itemErrors.length ? itemErrors[0].icon : "\u2705";
2597
+ const isSensitive = item.isSensitive;
2598
+ const isRequired = item.isRequired;
2599
+ summary.push(joinAndCompact([
2600
+ icon,
2601
+ ansis_default[VALIDATION_STATE_COLORS[item.validationState]](item.key) + (isRequired ? ansis_default.magenta("*") : ""),
2602
+ // ansis.gray(`[type = ${item.type.typeLabel}]`),
2603
+ isSensitive && ` \u{1F510}${ansis_default.gray.italic("sensitive")}`
2604
+ // item.useAt ? ansis.gray.italic(`(${item.useAt?.join(', ')})`) : undefined,
2605
+ ]));
2606
+ let valAsStr = formattedValue(item.resolvedValue, false);
2607
+ if (isSensitive && item.resolvedValue && my_dash_default.isString(item.resolvedValue)) {
2608
+ valAsStr = redactString(item.resolvedValue);
2609
+ }
2610
+ summary.push(joinAndCompact([
2611
+ ansis_default.gray(" \u2514"),
2612
+ valAsStr,
2613
+ item.isCoerced && ansis_default.gray.italic("< coerced from ") + (isSensitive ? formattedValue(item.resolvedRawValue) : formattedValue(item.resolvedRawValue, false))
2614
+ ]));
2615
+ itemErrors?.forEach((err) => {
2616
+ summary.push(ansis_default[err.isWarning ? "yellow" : "red"](` - ${err.isWarning ? "[WARNING] " : ""}${err.message}`));
2617
+ if (err.tip) {
2618
+ summary.push(...err.tip.split("\n").map((line) => ` ${line}`));
2619
+ }
2620
+ });
2621
+ return summary.join("\n");
2622
+ }
2623
+ __name(getItemSummary, "getItemSummary");
2624
+ var asyncCallbacks = /* @__PURE__ */ new Set();
2625
+ var callbacks = /* @__PURE__ */ new Set();
2626
+ var isCalled = false;
2627
+ var isRegistered = false;
2628
+ async function exit(shouldManuallyExit, isSynchronous, signal) {
2629
+ if (isCalled) {
2630
+ return;
2631
+ }
2632
+ isCalled = true;
2633
+ if (asyncCallbacks.size > 0 && isSynchronous) {
2634
+ console.error([
2635
+ "SYNCHRONOUS TERMINATION NOTICE:",
2636
+ "When explicitly exiting the process via process.exit or via a parent process,",
2637
+ "asynchronous tasks in your exitHooks will not run. Either remove these tasks,",
2638
+ "use gracefulExit() instead of process.exit(), or ensure your parent process",
2639
+ "sends a SIGINT to the process running this code."
2640
+ ].join(" "));
2641
+ }
2642
+ const exitCode = 128 + signal;
2643
+ const done = /* @__PURE__ */ __name((force = false) => {
2644
+ if (force === true || shouldManuallyExit === true) {
2645
+ process2.exit(exitCode);
2646
+ }
2647
+ }, "done");
2648
+ for (const callback of callbacks) {
2649
+ callback(exitCode);
2650
+ }
2651
+ if (isSynchronous) {
2652
+ done();
2653
+ return;
2654
+ }
2655
+ const promises = [];
2656
+ let forceAfter = 0;
2657
+ for (const [callback, wait] of asyncCallbacks) {
2658
+ forceAfter = Math.max(forceAfter, wait);
2659
+ promises.push(Promise.resolve(callback(exitCode)));
2660
+ }
2661
+ const asyncTimer = setTimeout(() => {
2662
+ done(true);
2663
+ }, forceAfter);
2664
+ await Promise.all(promises);
2665
+ clearTimeout(asyncTimer);
2666
+ done();
2667
+ }
2668
+ __name(exit, "exit");
2669
+ function addHook(options) {
2670
+ const { onExit, wait, isSynchronous } = options;
2671
+ const asyncCallbackConfig = [onExit, wait];
2672
+ if (isSynchronous) {
2673
+ callbacks.add(onExit);
2674
+ } else {
2675
+ asyncCallbacks.add(asyncCallbackConfig);
2676
+ }
2677
+ if (!isRegistered) {
2678
+ isRegistered = true;
2679
+ process2.once("beforeExit", exit.bind(void 0, true, false, -128));
2680
+ process2.once("SIGINT", exit.bind(void 0, true, false, 2));
2681
+ process2.once("SIGTERM", exit.bind(void 0, true, false, 15));
2682
+ process2.once("exit", exit.bind(void 0, false, true, 0));
2683
+ process2.on("message", (message) => {
2684
+ if (message === "shutdown") {
2685
+ exit(true, true, -128);
2686
+ }
2687
+ });
2688
+ }
2689
+ return () => {
2690
+ if (isSynchronous) {
2691
+ callbacks.delete(onExit);
2692
+ } else {
2693
+ asyncCallbacks.delete(asyncCallbackConfig);
2694
+ }
2695
+ };
2696
+ }
2697
+ __name(addHook, "addHook");
2698
+ function asyncExitHook(onExit, options = {}) {
2699
+ if (typeof onExit !== "function") {
2700
+ throw new TypeError("onExit must be a function");
2701
+ }
2702
+ if (!(typeof options.wait === "number" && options.wait > 0)) {
2703
+ throw new TypeError("wait must be set to a positive numeric value");
2704
+ }
2705
+ return addHook({
2706
+ onExit,
2707
+ wait: options.wait,
2708
+ isSynchronous: false
2709
+ });
2710
+ }
2711
+ __name(asyncExitHook, "asyncExitHook");
2712
+ function gracefulExit(signal = 0) {
2713
+ exit(true, false, -128 + signal);
2714
+ }
2715
+ __name(gracefulExit, "gracefulExit");
2716
+ //! these are probably not relevant anymore, or needs to move to a plugin layer?
2717
+
2718
+ export { CoercionError, ConfigLoadError, DotEnvFileDataSource, EnvGraph2 as EnvGraph, EnvSourceParseError, ProcessEnvDataSource, ResolutionError, SchemaError, StaticValueResolver, ValidationError, ansis_default, asyncExitHook, checkIsFileGitIgnored, getItemSummary, gracefulExit, joinAndCompact, my_dash_default };
2719
+ //# sourceMappingURL=chunk-Y2RFMQ5X.js.map
2720
+ //# sourceMappingURL=chunk-Y2RFMQ5X.js.map