ultraenv 1.0.1 → 1.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (71) hide show
  1. package/README.md +67 -1857
  2. package/dist/{chunk-GC7RXHLA.js → chunk-2MBSLURI.js} +16 -17
  3. package/dist/{chunk-IGFVP24Q.js → chunk-3AF476D7.js} +1 -1
  4. package/dist/{chunk-N5PAV4NM.js → chunk-5WUBB633.js} +17 -26
  5. package/dist/{chunk-2USZPWLZ.js → chunk-6NFA23AY.js} +28 -39
  6. package/dist/{chunk-AWN6ADV7.js → chunk-6X3BUE5S.js} +45 -54
  7. package/dist/{chunk-NBOABPHM.js → chunk-72UKVOO5.js} +24 -40
  8. package/dist/{chunk-JB7RKV3C.js → chunk-7AHG2IP4.js} +1 -7
  9. package/dist/{chunk-6KS56D6E.js → chunk-7VJ7LK2M.js} +1 -1
  10. package/dist/{chunk-CIFMBJ4H.js → chunk-BNUHE2ZI.js} +57 -21
  11. package/dist/{chunk-HFXQGJY3.js → chunk-CVJPO3QY.js} +13 -27
  12. package/dist/{chunk-IKPTKALB.js → chunk-F7YSINGU.js} +1 -3
  13. package/dist/{chunk-3VYXPTYV.js → chunk-FSKVYBEP.js} +1 -1
  14. package/dist/{chunk-4XUYMRK5.js → chunk-GJC64ZG7.js} +4 -3
  15. package/dist/{chunk-YMMP4VQL.js → chunk-H3QEGEZ6.js} +1 -1
  16. package/dist/{chunk-CHVO6NWI.js → chunk-LFIKYFPS.js} +2 -2
  17. package/dist/{chunk-3UV2QNJL.js → chunk-LJSCUOD4.js} +19 -21
  18. package/dist/{chunk-YVWLXFUT.js → chunk-LQZK6BBQ.js} +2 -2
  19. package/dist/{chunk-5G2DU52U.js → chunk-N7GOHQBF.js} +7 -1
  20. package/dist/{chunk-MSXMESFP.js → chunk-OBLMAUCF.js} +8 -14
  21. package/dist/{chunk-UEWYFN6A.js → chunk-RJTUAMK3.js} +16 -29
  22. package/dist/{chunk-MNVFG7H4.js → chunk-XPZC32UY.js} +16 -25
  23. package/dist/{chunk-WMHN5RW2.js → chunk-YLGJQOMM.js} +3 -9
  24. package/dist/{ci-check-sync-VBMSVWIV.js → ci-check-sync-UO5PARKO.js} +4 -4
  25. package/dist/{ci-scan-24MT5XGS.js → ci-scan-5D7QBN5X.js} +2 -5
  26. package/dist/{ci-setup-C2NKEFRD.js → ci-setup-J34DS6KD.js} +2 -2
  27. package/dist/{ci-validate-7AW24LSQ.js → ci-validate-LWP5NBDN.js} +4 -4
  28. package/dist/cli/index.cjs +470 -390
  29. package/dist/cli/index.js +130 -55
  30. package/dist/comparator-AIRTWBOL.js +13 -0
  31. package/dist/{config-O5YRQP5Z.js → config-67GDO3CW.js} +3 -3
  32. package/dist/{debug-PTPXAF3K.js → debug-6VCX3QSP.js} +6 -6
  33. package/dist/{declaration-LEME4AFZ.js → declaration-YGOVZOXG.js} +3 -3
  34. package/dist/{doctor-FZAUPKHS.js → doctor-FF7QOTP2.js} +7 -5
  35. package/dist/{envs-compare-5K3HESX5.js → envs-compare-P7GPKGQX.js} +4 -4
  36. package/dist/{envs-create-2XXHXMGA.js → envs-create-ISG4SECU.js} +4 -4
  37. package/dist/{envs-list-NQM5252B.js → envs-list-PUW67HOC.js} +5 -5
  38. package/dist/{envs-switch-6L2AQYID.js → envs-switch-P4YDJ6LG.js} +4 -4
  39. package/dist/{envs-validate-FL73Q76T.js → envs-validate-VNKBKYO3.js} +6 -9
  40. package/dist/{fs-VH7ATUS3.js → fs-7HKOZY5K.js} +2 -2
  41. package/dist/{generator-LFZBMZZS.js → generator-O23ATCIY.js} +4 -4
  42. package/dist/{help-3XJBXEHE.js → help-THFLI6YT.js} +108 -26
  43. package/dist/index.cjs +295 -381
  44. package/dist/index.d.cts +1 -1
  45. package/dist/index.d.ts +1 -1
  46. package/dist/index.js +81 -100
  47. package/dist/{init-Y7JQ2KYJ.js → init-KBLVTHQW.js} +15 -11
  48. package/dist/{install-hook-SKXIV6NV.js → install-hook-42F22BLY.js} +2 -2
  49. package/dist/{json-schema-I26YNQBH.js → json-schema-YULPWDKA.js} +3 -3
  50. package/dist/{key-manager-O3G55WPU.js → key-manager-WDWPX3IQ.js} +3 -3
  51. package/dist/middleware/express.cjs +1 -3
  52. package/dist/middleware/express.js +1 -1
  53. package/dist/middleware/fastify.cjs +1 -7
  54. package/dist/middleware/fastify.js +1 -1
  55. package/dist/{module-IDIZPP4M.js → module-FGH2V6N2.js} +3 -3
  56. package/dist/{protect-NCWPM6VC.js → protect-A4G7LQFJ.js} +26 -24
  57. package/dist/{scan-TRLY36TT.js → scan-4BXGHR33.js} +1 -1
  58. package/dist/schema/index.cjs +57 -21
  59. package/dist/schema/index.js +1 -1
  60. package/dist/{sync-TMHMTLH2.js → sync-MYLMDDY6.js} +23 -14
  61. package/dist/{typegen-SQOSXBWM.js → typegen-GLBRHWSK.js} +17 -23
  62. package/dist/{validate-IOAM5HWS.js → validate-J73ETKXD.js} +5 -5
  63. package/dist/{vault-decrypt-U6HJZNBV.js → vault-decrypt-V3GY5HES.js} +7 -7
  64. package/dist/{vault-diff-B3ZOQTWI.js → vault-diff-QVE6S6KP.js} +5 -5
  65. package/dist/{vault-encrypt-GUSLCSKS.js → vault-encrypt-WUBY3OVF.js} +7 -7
  66. package/dist/{vault-init-GUBOTOUL.js → vault-init-EWSAED44.js} +5 -5
  67. package/dist/{vault-rekey-DAHT7JCN.js → vault-rekey-VODMGCNA.js} +7 -7
  68. package/dist/{vault-status-GDLRU2OK.js → vault-status-YXDK6O7X.js} +4 -4
  69. package/dist/{vault-verify-CD76FJSF.js → vault-verify-SSXGTVBK.js} +7 -7
  70. package/package.json +1 -1
  71. package/dist/comparator-RDKX3OI7.js +0 -13
package/dist/cli/index.js CHANGED
@@ -10,14 +10,14 @@ import {
10
10
  } from "../chunk-YN2KGTCB.js";
11
11
  import {
12
12
  loadConfig
13
- } from "../chunk-4XUYMRK5.js";
14
- import "../chunk-3VYXPTYV.js";
13
+ } from "../chunk-GJC64ZG7.js";
14
+ import "../chunk-FSKVYBEP.js";
15
15
  import {
16
16
  VERSION
17
17
  } from "../chunk-XC65ORJ5.js";
18
18
  import {
19
19
  UltraenvError
20
- } from "../chunk-5G2DU52U.js";
20
+ } from "../chunk-N7GOHQBF.js";
21
21
 
22
22
  // src/cli/parser.ts
23
23
  var KNOWN_COMMANDS = /* @__PURE__ */ new Set([
@@ -46,19 +46,8 @@ var VAULT_SUBCOMMANDS = /* @__PURE__ */ new Set([
46
46
  "diff",
47
47
  "verify"
48
48
  ]);
49
- var ENVS_SUBCOMMANDS = /* @__PURE__ */ new Set([
50
- "list",
51
- "compare",
52
- "validate",
53
- "create",
54
- "switch"
55
- ]);
56
- var CI_SUBCOMMANDS = /* @__PURE__ */ new Set([
57
- "validate",
58
- "check-sync",
59
- "scan",
60
- "setup"
61
- ]);
49
+ var ENVS_SUBCOMMANDS = /* @__PURE__ */ new Set(["list", "compare", "validate", "create", "switch"]);
50
+ var CI_SUBCOMMANDS = /* @__PURE__ */ new Set(["validate", "check-sync", "scan", "setup"]);
62
51
  var OPTIONS_WITH_VALUES = /* @__PURE__ */ new Set([
63
52
  "--config",
64
53
  "--format",
@@ -191,37 +180,97 @@ function showWelcome() {
191
180
  import { resolve } from "path";
192
181
  var COMMAND_REGISTRY = {
193
182
  // Core commands
194
- "init": () => import("../init-Y7JQ2KYJ.js").then((m) => ({ runner: m.run, description: "Initialize project" })),
195
- "validate": () => import("../validate-IOAM5HWS.js").then((m) => ({ runner: m.run, description: "Validate environment" })),
196
- "typegen": () => import("../typegen-SQOSXBWM.js").then((m) => ({ runner: m.run, description: "Generate TypeScript types" })),
197
- "sync": () => import("../sync-TMHMTLH2.js").then((m) => ({ runner: m.run, description: "Sync .env.example" })),
198
- "scan": () => import("../scan-TRLY36TT.js").then((m) => ({ runner: m.run, description: "Scan for secrets" })),
199
- "debug": () => import("../debug-PTPXAF3K.js").then((m) => ({ runner: m.run, description: "Show diagnostics" })),
200
- "protect": () => import("../protect-NCWPM6VC.js").then((m) => ({ runner: m.run, description: "Check .gitignore" })),
183
+ init: () => import("../init-KBLVTHQW.js").then((m) => ({
184
+ runner: m.run,
185
+ description: "Initialize project"
186
+ })),
187
+ validate: () => import("../validate-J73ETKXD.js").then((m) => ({
188
+ runner: m.run,
189
+ description: "Validate environment"
190
+ })),
191
+ typegen: () => import("../typegen-GLBRHWSK.js").then((m) => ({
192
+ runner: m.run,
193
+ description: "Generate TypeScript types"
194
+ })),
195
+ sync: () => import("../sync-MYLMDDY6.js").then((m) => ({ runner: m.run, description: "Sync .env.example" })),
196
+ scan: () => import("../scan-4BXGHR33.js").then((m) => ({ runner: m.run, description: "Scan for secrets" })),
197
+ debug: () => import("../debug-6VCX3QSP.js").then((m) => ({ runner: m.run, description: "Show diagnostics" })),
198
+ protect: () => import("../protect-A4G7LQFJ.js").then((m) => ({
199
+ runner: m.run,
200
+ description: "Check .gitignore"
201
+ })),
201
202
  // Vault subcommands
202
- "vault.init": () => import("../vault-init-GUBOTOUL.js").then((m) => ({ runner: m.run, description: "Initialize vault" })),
203
- "vault.encrypt": () => import("../vault-encrypt-GUSLCSKS.js").then((m) => ({ runner: m.run, description: "Encrypt to vault" })),
204
- "vault.decrypt": () => import("../vault-decrypt-U6HJZNBV.js").then((m) => ({ runner: m.run, description: "Decrypt from vault" })),
205
- "vault.rekey": () => import("../vault-rekey-DAHT7JCN.js").then((m) => ({ runner: m.run, description: "Rotate keys" })),
206
- "vault.status": () => import("../vault-status-GDLRU2OK.js").then((m) => ({ runner: m.run, description: "Vault status" })),
207
- "vault.diff": () => import("../vault-diff-B3ZOQTWI.js").then((m) => ({ runner: m.run, description: "Compare vs vault" })),
208
- "vault.verify": () => import("../vault-verify-CD76FJSF.js").then((m) => ({ runner: m.run, description: "Verify integrity" })),
203
+ "vault.init": () => import("../vault-init-EWSAED44.js").then((m) => ({
204
+ runner: m.run,
205
+ description: "Initialize vault"
206
+ })),
207
+ "vault.encrypt": () => import("../vault-encrypt-WUBY3OVF.js").then((m) => ({
208
+ runner: m.run,
209
+ description: "Encrypt to vault"
210
+ })),
211
+ "vault.decrypt": () => import("../vault-decrypt-V3GY5HES.js").then((m) => ({
212
+ runner: m.run,
213
+ description: "Decrypt from vault"
214
+ })),
215
+ "vault.rekey": () => import("../vault-rekey-VODMGCNA.js").then((m) => ({
216
+ runner: m.run,
217
+ description: "Rotate keys"
218
+ })),
219
+ "vault.status": () => import("../vault-status-YXDK6O7X.js").then((m) => ({
220
+ runner: m.run,
221
+ description: "Vault status"
222
+ })),
223
+ "vault.diff": () => import("../vault-diff-QVE6S6KP.js").then((m) => ({
224
+ runner: m.run,
225
+ description: "Compare vs vault"
226
+ })),
227
+ "vault.verify": () => import("../vault-verify-SSXGTVBK.js").then((m) => ({
228
+ runner: m.run,
229
+ description: "Verify integrity"
230
+ })),
209
231
  // Environment subcommands
210
- "envs.list": () => import("../envs-list-NQM5252B.js").then((m) => ({ runner: m.run, description: "List environments" })),
211
- "envs.compare": () => import("../envs-compare-5K3HESX5.js").then((m) => ({ runner: m.run, description: "Compare envs" })),
212
- "envs.validate": () => import("../envs-validate-FL73Q76T.js").then((m) => ({ runner: m.run, description: "Validate envs" })),
213
- "envs.create": () => import("../envs-create-2XXHXMGA.js").then((m) => ({ runner: m.run, description: "Create environment" })),
214
- "envs.switch": () => import("../envs-switch-6L2AQYID.js").then((m) => ({ runner: m.run, description: "Switch environment" })),
232
+ "envs.list": () => import("../envs-list-PUW67HOC.js").then((m) => ({
233
+ runner: m.run,
234
+ description: "List environments"
235
+ })),
236
+ "envs.compare": () => import("../envs-compare-P7GPKGQX.js").then((m) => ({
237
+ runner: m.run,
238
+ description: "Compare envs"
239
+ })),
240
+ "envs.validate": () => import("../envs-validate-VNKBKYO3.js").then((m) => ({
241
+ runner: m.run,
242
+ description: "Validate envs"
243
+ })),
244
+ "envs.create": () => import("../envs-create-ISG4SECU.js").then((m) => ({
245
+ runner: m.run,
246
+ description: "Create environment"
247
+ })),
248
+ "envs.switch": () => import("../envs-switch-P4YDJ6LG.js").then((m) => ({
249
+ runner: m.run,
250
+ description: "Switch environment"
251
+ })),
215
252
  // CI subcommands
216
- "ci.validate": () => import("../ci-validate-7AW24LSQ.js").then((m) => ({ runner: m.run, description: "CI validate" })),
217
- "ci.check-sync": () => import("../ci-check-sync-VBMSVWIV.js").then((m) => ({ runner: m.run, description: "CI sync check" })),
218
- "ci.scan": () => import("../ci-scan-24MT5XGS.js").then((m) => ({ runner: m.run, description: "CI scan" })),
219
- "ci.setup": () => import("../ci-setup-C2NKEFRD.js").then((m) => ({ runner: m.run, description: "CI setup" })),
253
+ "ci.validate": () => import("../ci-validate-LWP5NBDN.js").then((m) => ({
254
+ runner: m.run,
255
+ description: "CI validate"
256
+ })),
257
+ "ci.check-sync": () => import("../ci-check-sync-UO5PARKO.js").then((m) => ({
258
+ runner: m.run,
259
+ description: "CI sync check"
260
+ })),
261
+ "ci.scan": () => import("../ci-scan-5D7QBN5X.js").then((m) => ({ runner: m.run, description: "CI scan" })),
262
+ "ci.setup": () => import("../ci-setup-J34DS6KD.js").then((m) => ({ runner: m.run, description: "CI setup" })),
220
263
  // Utility commands
221
- "install-hook": () => import("../install-hook-SKXIV6NV.js").then((m) => ({ runner: m.run, description: "Install git hook" })),
222
- "doctor": () => import("../doctor-FZAUPKHS.js").then((m) => ({ runner: m.run, description: "Self-check" })),
223
- "completion": () => import("../completion-MW35C2XO.js").then((m) => ({ runner: m.run, description: "Shell completions" })),
224
- "help": () => import("../help-3XJBXEHE.js").then((m) => ({ runner: m.run, description: "Show help" }))
264
+ "install-hook": () => import("../install-hook-42F22BLY.js").then((m) => ({
265
+ runner: m.run,
266
+ description: "Install git hook"
267
+ })),
268
+ doctor: () => import("../doctor-FF7QOTP2.js").then((m) => ({ runner: m.run, description: "Self-check" })),
269
+ completion: () => import("../completion-MW35C2XO.js").then((m) => ({
270
+ runner: m.run,
271
+ description: "Shell completions"
272
+ })),
273
+ help: () => import("../help-THFLI6YT.js").then((m) => ({ runner: m.run, description: "Show help" }))
225
274
  };
226
275
  function handleVersion() {
227
276
  writeLine(`ultraenv v${VERSION}`);
@@ -252,14 +301,28 @@ async function run(argv) {
252
301
  const helpCmd2 = COMMAND_REGISTRY["help"];
253
302
  if (helpCmd2) {
254
303
  const entry = await helpCmd2();
255
- return entry.runner(args, { config: config2.config, cwd: config2.cwd, colorEnabled: true, debug: config2.debug, quiet: config2.quiet, outputFormat: config2.outputFormat });
304
+ return entry.runner(args, {
305
+ config: config2.config,
306
+ cwd: config2.cwd,
307
+ colorEnabled: true,
308
+ debug: config2.debug,
309
+ quiet: config2.quiet,
310
+ outputFormat: config2.outputFormat
311
+ });
256
312
  }
257
313
  return 1;
258
314
  }
259
315
  const helpCmd = COMMAND_REGISTRY["help"];
260
316
  if (helpCmd) {
261
317
  const entry = await helpCmd();
262
- return entry.runner(args, { config: config2.config, cwd: config2.cwd, colorEnabled: true, debug: config2.debug, quiet: config2.quiet, outputFormat: config2.outputFormat });
318
+ return entry.runner(args, {
319
+ config: config2.config,
320
+ cwd: config2.cwd,
321
+ colorEnabled: true,
322
+ debug: config2.debug,
323
+ quiet: config2.quiet,
324
+ outputFormat: config2.outputFormat
325
+ });
263
326
  }
264
327
  return 1;
265
328
  }
@@ -299,12 +362,18 @@ async function run(argv) {
299
362
  } catch (error) {
300
363
  if (error instanceof UltraenvError) {
301
364
  if (outputFormat === "json") {
302
- writeError(JSON.stringify({
303
- error: true,
304
- code: error.code,
305
- message: error.message,
306
- hint: error.hint
307
- }, null, 2));
365
+ writeError(
366
+ JSON.stringify(
367
+ {
368
+ error: true,
369
+ code: error.code,
370
+ message: error.message,
371
+ hint: error.hint
372
+ },
373
+ null,
374
+ 2
375
+ )
376
+ );
308
377
  } else {
309
378
  writeError("");
310
379
  writeError(red(bold(` [${error.code}] ${error.message}`)));
@@ -317,10 +386,16 @@ async function run(argv) {
317
386
  return 1;
318
387
  }
319
388
  if (outputFormat === "json") {
320
- writeError(JSON.stringify({
321
- error: true,
322
- message: error instanceof Error ? error.message : String(error)
323
- }, null, 2));
389
+ writeError(
390
+ JSON.stringify(
391
+ {
392
+ error: true,
393
+ message: error instanceof Error ? error.message : String(error)
394
+ },
395
+ null,
396
+ 2
397
+ )
398
+ );
324
399
  } else {
325
400
  writeError("");
326
401
  writeError(red(bold(" Unexpected error:")));
@@ -0,0 +1,13 @@
1
+ import {
2
+ compareSync,
3
+ compareValues,
4
+ formatSyncDiff
5
+ } from "./chunk-LQZK6BBQ.js";
6
+ import "./chunk-CVJPO3QY.js";
7
+ import "./chunk-FSKVYBEP.js";
8
+ import "./chunk-N7GOHQBF.js";
9
+ export {
10
+ compareSync,
11
+ compareValues,
12
+ formatSyncDiff
13
+ };
@@ -2,10 +2,10 @@ import {
2
2
  DEFAULT_CONFIG,
3
3
  findConfig,
4
4
  loadConfig
5
- } from "./chunk-4XUYMRK5.js";
6
- import "./chunk-3VYXPTYV.js";
5
+ } from "./chunk-GJC64ZG7.js";
6
+ import "./chunk-FSKVYBEP.js";
7
7
  import "./chunk-XC65ORJ5.js";
8
- import "./chunk-5G2DU52U.js";
8
+ import "./chunk-N7GOHQBF.js";
9
9
  export {
10
10
  DEFAULT_CONFIG,
11
11
  findConfig,
@@ -1,13 +1,13 @@
1
1
  import {
2
2
  drawTable
3
- } from "./chunk-WMHN5RW2.js";
3
+ } from "./chunk-YLGJQOMM.js";
4
4
  import {
5
5
  isGitRepository
6
6
  } from "./chunk-R7PZRSZ7.js";
7
7
  import {
8
8
  loadWithResult
9
- } from "./chunk-MNVFG7H4.js";
10
- import "./chunk-HFXQGJY3.js";
9
+ } from "./chunk-XPZC32UY.js";
10
+ import "./chunk-CVJPO3QY.js";
11
11
  import {
12
12
  bold,
13
13
  cyan,
@@ -22,12 +22,12 @@ import {
22
22
  } from "./chunk-YN2KGTCB.js";
23
23
  import {
24
24
  findConfig
25
- } from "./chunk-4XUYMRK5.js";
26
- import "./chunk-3VYXPTYV.js";
25
+ } from "./chunk-GJC64ZG7.js";
26
+ import "./chunk-FSKVYBEP.js";
27
27
  import {
28
28
  VERSION
29
29
  } from "./chunk-XC65ORJ5.js";
30
- import "./chunk-5G2DU52U.js";
30
+ import "./chunk-N7GOHQBF.js";
31
31
 
32
32
  // src/cli/commands/debug.ts
33
33
  import { resolve } from "path";
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  generateDeclaration,
3
3
  generateDeclarationContent
4
- } from "./chunk-IGFVP24Q.js";
5
- import "./chunk-3VYXPTYV.js";
6
- import "./chunk-5G2DU52U.js";
4
+ } from "./chunk-3AF476D7.js";
5
+ import "./chunk-FSKVYBEP.js";
6
+ import "./chunk-N7GOHQBF.js";
7
7
  export {
8
8
  generateDeclaration,
9
9
  generateDeclarationContent
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  drawTable
3
- } from "./chunk-WMHN5RW2.js";
3
+ } from "./chunk-YLGJQOMM.js";
4
4
  import {
5
5
  isGitRepository
6
6
  } from "./chunk-R7PZRSZ7.js";
@@ -18,8 +18,8 @@ import {
18
18
  } from "./chunk-YN2KGTCB.js";
19
19
  import {
20
20
  exists
21
- } from "./chunk-3VYXPTYV.js";
22
- import "./chunk-5G2DU52U.js";
21
+ } from "./chunk-FSKVYBEP.js";
22
+ import "./chunk-N7GOHQBF.js";
23
23
 
24
24
  // src/cli/commands/doctor.ts
25
25
  import { resolve, join } from "path";
@@ -82,7 +82,7 @@ async function run(args, ctx) {
82
82
  status: exampleExists ? "pass" : "warn",
83
83
  message: exampleExists ? "Found" : "Not found"
84
84
  });
85
- const { findConfig } = await import("./config-O5YRQP5Z.js");
85
+ const { findConfig } = await import("./config-67GDO3CW.js");
86
86
  const configPath = findConfig(baseDir);
87
87
  checks.push({
88
88
  name: "Configuration",
@@ -109,7 +109,9 @@ async function run(args, ctx) {
109
109
  writeJson({ checks, summary: { passed, warnings, failed, total: checks.length } });
110
110
  return failed > 0 ? 1 : 0;
111
111
  }
112
- writeLine(cyan(` ${passed}/${checks.length} passed, ${warnings} warning(s), ${failed} failure(s)`));
112
+ writeLine(
113
+ cyan(` ${passed}/${checks.length} passed, ${warnings} warning(s), ${failed} failure(s)`)
114
+ );
113
115
  writeLine("");
114
116
  if (failed > 0) {
115
117
  writeLine(red(bold(" Some checks failed. Fix the issues above.")));
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  compareEnvironments,
3
3
  formatComparison
4
- } from "./chunk-3UV2QNJL.js";
4
+ } from "./chunk-LJSCUOD4.js";
5
5
  import "./chunk-TE7HPLA6.js";
6
- import "./chunk-HFXQGJY3.js";
6
+ import "./chunk-CVJPO3QY.js";
7
7
  import {
8
8
  bold,
9
9
  red,
@@ -13,8 +13,8 @@ import {
13
13
  writeError,
14
14
  writeLine
15
15
  } from "./chunk-YN2KGTCB.js";
16
- import "./chunk-3VYXPTYV.js";
17
- import "./chunk-5G2DU52U.js";
16
+ import "./chunk-FSKVYBEP.js";
17
+ import "./chunk-N7GOHQBF.js";
18
18
 
19
19
  // src/cli/commands/envs-compare.ts
20
20
  async function run(args, ctx) {
@@ -1,8 +1,8 @@
1
1
  import {
2
2
  createEnvironment,
3
3
  listTemplates
4
- } from "./chunk-AWN6ADV7.js";
5
- import "./chunk-HFXQGJY3.js";
4
+ } from "./chunk-6X3BUE5S.js";
5
+ import "./chunk-CVJPO3QY.js";
6
6
  import {
7
7
  bold,
8
8
  cyan,
@@ -14,8 +14,8 @@ import {
14
14
  writeError,
15
15
  writeLine
16
16
  } from "./chunk-YN2KGTCB.js";
17
- import "./chunk-3VYXPTYV.js";
18
- import "./chunk-5G2DU52U.js";
17
+ import "./chunk-FSKVYBEP.js";
18
+ import "./chunk-N7GOHQBF.js";
19
19
 
20
20
  // src/cli/commands/envs-create.ts
21
21
  async function run(args, ctx) {
@@ -1,10 +1,10 @@
1
1
  import {
2
2
  drawTable
3
- } from "./chunk-WMHN5RW2.js";
3
+ } from "./chunk-YLGJQOMM.js";
4
4
  import {
5
5
  listEnvironments
6
- } from "./chunk-GC7RXHLA.js";
7
- import "./chunk-HFXQGJY3.js";
6
+ } from "./chunk-2MBSLURI.js";
7
+ import "./chunk-CVJPO3QY.js";
8
8
  import {
9
9
  bold,
10
10
  cyan,
@@ -16,8 +16,8 @@ import {
16
16
  writeJson,
17
17
  writeLine
18
18
  } from "./chunk-YN2KGTCB.js";
19
- import "./chunk-3VYXPTYV.js";
20
- import "./chunk-5G2DU52U.js";
19
+ import "./chunk-FSKVYBEP.js";
20
+ import "./chunk-N7GOHQBF.js";
21
21
 
22
22
  // src/cli/commands/envs-list.ts
23
23
  async function run(args, ctx) {
@@ -1,8 +1,8 @@
1
1
  import {
2
2
  getActiveEnvironment,
3
3
  switchEnvironment
4
- } from "./chunk-GC7RXHLA.js";
5
- import "./chunk-HFXQGJY3.js";
4
+ } from "./chunk-2MBSLURI.js";
5
+ import "./chunk-CVJPO3QY.js";
6
6
  import {
7
7
  bold,
8
8
  cyan,
@@ -14,8 +14,8 @@ import {
14
14
  writeError,
15
15
  writeLine
16
16
  } from "./chunk-YN2KGTCB.js";
17
- import "./chunk-3VYXPTYV.js";
18
- import "./chunk-5G2DU52U.js";
17
+ import "./chunk-FSKVYBEP.js";
18
+ import "./chunk-N7GOHQBF.js";
19
19
 
20
20
  // src/cli/commands/envs-switch.ts
21
21
  async function run(args, ctx) {
@@ -1,10 +1,10 @@
1
1
  import {
2
2
  drawTable
3
- } from "./chunk-WMHN5RW2.js";
3
+ } from "./chunk-YLGJQOMM.js";
4
4
  import {
5
5
  validateAllEnvironments
6
- } from "./chunk-GC7RXHLA.js";
7
- import "./chunk-HFXQGJY3.js";
6
+ } from "./chunk-2MBSLURI.js";
7
+ import "./chunk-CVJPO3QY.js";
8
8
  import {
9
9
  bold,
10
10
  green,
@@ -16,8 +16,8 @@ import {
16
16
  writeJson,
17
17
  writeLine
18
18
  } from "./chunk-YN2KGTCB.js";
19
- import "./chunk-3VYXPTYV.js";
20
- import "./chunk-5G2DU52U.js";
19
+ import "./chunk-FSKVYBEP.js";
20
+ import "./chunk-N7GOHQBF.js";
21
21
 
22
22
  // src/cli/commands/envs-validate.ts
23
23
  async function run(args, ctx) {
@@ -30,10 +30,7 @@ async function run(args, ctx) {
30
30
  writeLine(yellow(" No schema defined in configuration. Basic validation only."));
31
31
  writeLine("");
32
32
  }
33
- const results = await validateAllEnvironments(
34
- ctx.config.schema?.definitions ?? {},
35
- cwd
36
- );
33
+ const results = await validateAllEnvironments(ctx.config.schema?.definitions ?? {}, cwd);
37
34
  if (ctx.outputFormat === "json") {
38
35
  const jsonResults = {};
39
36
  for (const [name, result] of results) {
@@ -12,8 +12,8 @@ import {
12
12
  readFileSync,
13
13
  removeFile,
14
14
  writeFile
15
- } from "./chunk-3VYXPTYV.js";
16
- import "./chunk-5G2DU52U.js";
15
+ } from "./chunk-FSKVYBEP.js";
16
+ import "./chunk-N7GOHQBF.js";
17
17
  export {
18
18
  copyFile,
19
19
  ensureDir,
@@ -2,11 +2,11 @@ import {
2
2
  generateExampleContent,
3
3
  generateExampleFile,
4
4
  needsUpdate
5
- } from "./chunk-CHVO6NWI.js";
5
+ } from "./chunk-LFIKYFPS.js";
6
6
  import "./chunk-TE7HPLA6.js";
7
- import "./chunk-HFXQGJY3.js";
8
- import "./chunk-3VYXPTYV.js";
9
- import "./chunk-5G2DU52U.js";
7
+ import "./chunk-CVJPO3QY.js";
8
+ import "./chunk-FSKVYBEP.js";
9
+ import "./chunk-N7GOHQBF.js";
10
10
  export {
11
11
  generateExampleContent,
12
12
  generateExampleFile,