varlock 0.6.1 → 0.6.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 (57) hide show
  1. package/dist/{chunk-NPPZVF24.js → chunk-3D6G5PKR.js} +4 -4
  2. package/dist/{chunk-NPPZVF24.js.map → chunk-3D6G5PKR.js.map} +1 -1
  3. package/dist/{chunk-PMBDCWD5.js → chunk-A2HUIC6U.js} +5 -5
  4. package/dist/{chunk-PMBDCWD5.js.map → chunk-A2HUIC6U.js.map} +1 -1
  5. package/dist/{chunk-2AGKN64R.js → chunk-CBO5NXPJ.js} +9 -7
  6. package/dist/chunk-CBO5NXPJ.js.map +1 -0
  7. package/dist/{chunk-JCJISIY6.js → chunk-HNG2WVGF.js} +6 -6
  8. package/dist/{chunk-JCJISIY6.js.map → chunk-HNG2WVGF.js.map} +1 -1
  9. package/dist/{chunk-TLEEAUD7.js → chunk-HSIHCSJK.js} +4 -4
  10. package/dist/{chunk-TLEEAUD7.js.map → chunk-HSIHCSJK.js.map} +1 -1
  11. package/dist/{chunk-EXG5VPNZ.js → chunk-HSRXSFTK.js} +4 -4
  12. package/dist/{chunk-EXG5VPNZ.js.map → chunk-HSRXSFTK.js.map} +1 -1
  13. package/dist/{chunk-J7PA7B2U.js → chunk-PPIQGMSC.js} +3 -3
  14. package/dist/{chunk-J7PA7B2U.js.map → chunk-PPIQGMSC.js.map} +1 -1
  15. package/dist/{chunk-ZLAUDWOL.js → chunk-PZZHI3DT.js} +5 -5
  16. package/dist/{chunk-ZLAUDWOL.js.map → chunk-PZZHI3DT.js.map} +1 -1
  17. package/dist/{chunk-3J7BFRB4.js → chunk-WZKWJ7U2.js} +5 -5
  18. package/dist/{chunk-3J7BFRB4.js.map → chunk-WZKWJ7U2.js.map} +1 -1
  19. package/dist/{chunk-4JMFWK65.js → chunk-XM6D5XIS.js} +5 -5
  20. package/dist/{chunk-4JMFWK65.js.map → chunk-XM6D5XIS.js.map} +1 -1
  21. package/dist/{chunk-G7FDCTNA.js → chunk-XQURF2UG.js} +7 -7
  22. package/dist/{chunk-G7FDCTNA.js.map → chunk-XQURF2UG.js.map} +1 -1
  23. package/dist/{chunk-FYZ7LKLX.js → chunk-YBSEQARI.js} +4 -4
  24. package/dist/{chunk-FYZ7LKLX.js.map → chunk-YBSEQARI.js.map} +1 -1
  25. package/dist/{chunk-UVWLW5KD.js → chunk-YQKD7US6.js} +6 -6
  26. package/dist/{chunk-UVWLW5KD.js.map → chunk-YQKD7US6.js.map} +1 -1
  27. package/dist/{chunk-KKNNZWYD.js → chunk-ZIMSE3Z5.js} +3 -3
  28. package/dist/{chunk-KKNNZWYD.js.map → chunk-ZIMSE3Z5.js.map} +1 -1
  29. package/dist/cli/cli-executable.js +22 -22
  30. package/dist/cli/cli-executable.js.map +1 -1
  31. package/dist/config-item-Z7JXVP27.js +5 -0
  32. package/dist/{config-item-NO5PKZRH.js.map → config-item-Z7JXVP27.js.map} +1 -1
  33. package/dist/index.js +5 -5
  34. package/dist/init.command-AAOBYCKW.js +12 -0
  35. package/dist/{init.command-AV4EWYIT.js.map → init.command-AAOBYCKW.js.map} +1 -1
  36. package/dist/load.command-SUKHW5LQ.js +11 -0
  37. package/dist/{load.command-5JQUW3H7.js.map → load.command-SUKHW5LQ.js.map} +1 -1
  38. package/dist/printenv.command-KDCKECCZ.js +12 -0
  39. package/dist/{printenv.command-SBB6GVC2.js.map → printenv.command-KDCKECCZ.js.map} +1 -1
  40. package/dist/run.command-KJFQBQGX.js +12 -0
  41. package/dist/{run.command-HTGTG6ER.js.map → run.command-KJFQBQGX.js.map} +1 -1
  42. package/dist/scan.command-NEPKTV65.js +13 -0
  43. package/dist/{scan.command-ADKVWN5T.js.map → scan.command-NEPKTV65.js.map} +1 -1
  44. package/dist/telemetry.command-V2RAWVUE.js +11 -0
  45. package/dist/{telemetry.command-CQFTGXPF.js.map → telemetry.command-V2RAWVUE.js.map} +1 -1
  46. package/dist/typegen.command-2TNVOO7Q.js +12 -0
  47. package/dist/{typegen.command-A544SFYM.js.map → typegen.command-2TNVOO7Q.js.map} +1 -1
  48. package/package.json +1 -1
  49. package/dist/chunk-2AGKN64R.js.map +0 -1
  50. package/dist/config-item-NO5PKZRH.js +0 -5
  51. package/dist/init.command-AV4EWYIT.js +0 -12
  52. package/dist/load.command-5JQUW3H7.js +0 -11
  53. package/dist/printenv.command-SBB6GVC2.js +0 -12
  54. package/dist/run.command-HTGTG6ER.js +0 -12
  55. package/dist/scan.command-ADKVWN5T.js +0 -13
  56. package/dist/telemetry.command-CQFTGXPF.js +0 -11
  57. package/dist/typegen.command-A544SFYM.js +0 -12
@@ -1,5 +1,5 @@
1
- import { joinAndCompact } from './chunk-J7PA7B2U.js';
2
- import { ansis_default, my_dash_default } from './chunk-2AGKN64R.js';
1
+ import { joinAndCompact } from './chunk-PPIQGMSC.js';
2
+ import { ansis_default, my_dash_default } from './chunk-CBO5NXPJ.js';
3
3
  import { __name } from './chunk-6PEHRAEP.js';
4
4
 
5
5
  // src/cli/helpers/exit-error.ts
@@ -30,5 +30,5 @@ var CliExitError = class extends Error {
30
30
  };
31
31
 
32
32
  export { CliExitError };
33
- //# sourceMappingURL=chunk-NPPZVF24.js.map
34
- //# sourceMappingURL=chunk-NPPZVF24.js.map
33
+ //# sourceMappingURL=chunk-3D6G5PKR.js.map
34
+ //# sourceMappingURL=chunk-3D6G5PKR.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/cli/helpers/exit-error.ts"],"names":[],"mappings":";;;;;AAIO,IAAM,YAAA,GAAN,cAA2B,KAAA,CAAM;AAAA,EACtC,WAAA,CACE,SACQ,IAAA,EAMR;AACA,IAAA,KAAA,CAAM,OAAO,CAAA;AAPL,IAAA,IAAA,CAAA,IAAA,GAAA,IAAA;AAAA,EAQV;AAAA,EAfF;AAIwC,IAAA,MAAA,CAAA,IAAA,EAAA,cAAA,CAAA;AAAA;AAAA,EAatC,IAAI,SAAA,GAAY;AAAE,IAAA,OAAO,CAAC,CAAC,IAAA,CAAK,IAAA,EAAM,SAAA;AAAA,EAAW;AAAA,EAEjD,kBAAA,GAAqB;AACnB,IAAA,IAAI,GAAA,GAAM;AAAA,UAAA,EAAQ,aAAA,CAAM,GAAA,CAAI,IAAA,CAAK,OAAO,CAAC,CAAA;AAAA,CAAA;AAEzC,IAAA,IAAI,IAAA,CAAK,MAAM,OAAA,EAAS;AACtB,MAAA,GAAA,IAAO,eAAe,eAAA,CAAE,SAAA,CAAU,KAAK,IAAA,EAAM,OAAO,GAAG,IAAI,CAAA;AAAA,IAC7D;AAEA,IAAA,IAAI,IAAA,CAAK,MAAM,UAAA,EAAY;AACzB,MAAA,GAAA,IAAO,eAAe,eAAA,CAAE,SAAA,CAAU,KAAK,IAAA,EAAM,UAAU,GAAG,IAAI,CAAA;AAAA,IAChE;AAEA,IAAA,GAAA,IAAO,IAAA;AACP,IAAA,OAAO,GAAA;AAAA,EACT;AACF","file":"chunk-NPPZVF24.js","sourcesContent":["import ansis from 'ansis';\nimport _ from '@env-spec/utils/my-dash';\nimport { joinAndCompact } from '../../lib/formatting';\n\nexport class CliExitError extends Error {\n constructor(\n message: string,\n private more?: {\n details?: string | Array<string>,\n suggestion?: string | Array<string>,\n /** always triggers a full exit, even in watch mode - useful if problem is irrecoverable */\n forceExit?: boolean,\n },\n ) {\n super(message);\n }\n\n get forceExit() { return !!this.more?.forceExit; }\n\n getFormattedOutput() {\n let msg = `\\n💥 ${ansis.red(this.message)} 💥\\n`;\n\n if (this.more?.details) {\n msg += joinAndCompact(_.castArray(this.more?.details), '\\n');\n }\n\n if (this.more?.suggestion) {\n msg += joinAndCompact(_.castArray(this.more?.suggestion), '\\n');\n }\n\n msg += '\\n';\n return msg;\n }\n}\n"]}
1
+ {"version":3,"sources":["../src/cli/helpers/exit-error.ts"],"names":[],"mappings":";;;;;AAIO,IAAM,YAAA,GAAN,cAA2B,KAAA,CAAM;AAAA,EACtC,WAAA,CACE,SACQ,IAAA,EAMR;AACA,IAAA,KAAA,CAAM,OAAO,CAAA;AAPL,IAAA,IAAA,CAAA,IAAA,GAAA,IAAA;AAAA,EAQV;AAAA,EAfF;AAIwC,IAAA,MAAA,CAAA,IAAA,EAAA,cAAA,CAAA;AAAA;AAAA,EAatC,IAAI,SAAA,GAAY;AAAE,IAAA,OAAO,CAAC,CAAC,IAAA,CAAK,IAAA,EAAM,SAAA;AAAA,EAAW;AAAA,EAEjD,kBAAA,GAAqB;AACnB,IAAA,IAAI,GAAA,GAAM;AAAA,UAAA,EAAQ,aAAA,CAAM,GAAA,CAAI,IAAA,CAAK,OAAO,CAAC,CAAA;AAAA,CAAA;AAEzC,IAAA,IAAI,IAAA,CAAK,MAAM,OAAA,EAAS;AACtB,MAAA,GAAA,IAAO,eAAe,eAAA,CAAE,SAAA,CAAU,KAAK,IAAA,EAAM,OAAO,GAAG,IAAI,CAAA;AAAA,IAC7D;AAEA,IAAA,IAAI,IAAA,CAAK,MAAM,UAAA,EAAY;AACzB,MAAA,GAAA,IAAO,eAAe,eAAA,CAAE,SAAA,CAAU,KAAK,IAAA,EAAM,UAAU,GAAG,IAAI,CAAA;AAAA,IAChE;AAEA,IAAA,GAAA,IAAO,IAAA;AACP,IAAA,OAAO,GAAA;AAAA,EACT;AACF","file":"chunk-3D6G5PKR.js","sourcesContent":["import ansis from 'ansis';\nimport _ from '@env-spec/utils/my-dash';\nimport { joinAndCompact } from '../../lib/formatting';\n\nexport class CliExitError extends Error {\n constructor(\n message: string,\n private more?: {\n details?: string | Array<string>,\n suggestion?: string | Array<string>,\n /** always triggers a full exit, even in watch mode - useful if problem is irrecoverable */\n forceExit?: boolean,\n },\n ) {\n super(message);\n }\n\n get forceExit() { return !!this.more?.forceExit; }\n\n getFormattedOutput() {\n let msg = `\\n💥 ${ansis.red(this.message)} 💥\\n`;\n\n if (this.more?.details) {\n msg += joinAndCompact(_.castArray(this.more?.details), '\\n');\n }\n\n if (this.more?.suggestion) {\n msg += joinAndCompact(_.castArray(this.more?.suggestion), '\\n');\n }\n\n msg += '\\n';\n return msg;\n }\n}\n"]}
@@ -1,7 +1,7 @@
1
1
  import { define } from './chunk-4A54P4EM.js';
2
- import { checkForSchemaErrors, checkForNoEnvFiles, checkForConfigErrors, showPluginWarnings } from './chunk-FYZ7LKLX.js';
3
- import { loadVarlockEnvGraph } from './chunk-EXG5VPNZ.js';
4
- import { getItemSummary } from './chunk-J7PA7B2U.js';
2
+ import { checkForSchemaErrors, checkForNoEnvFiles, checkForConfigErrors, showPluginWarnings } from './chunk-YBSEQARI.js';
3
+ import { loadVarlockEnvGraph } from './chunk-HSRXSFTK.js';
4
+ import { getItemSummary } from './chunk-PPIQGMSC.js';
5
5
  import { __name } from './chunk-6PEHRAEP.js';
6
6
 
7
7
  // src/cli/commands/load.command.ts
@@ -96,5 +96,5 @@ var commandFn = /* @__PURE__ */ __name(async (ctx) => {
96
96
  }, "commandFn");
97
97
 
98
98
  export { commandFn, commandSpec };
99
- //# sourceMappingURL=chunk-PMBDCWD5.js.map
100
- //# sourceMappingURL=chunk-PMBDCWD5.js.map
99
+ //# sourceMappingURL=chunk-A2HUIC6U.js.map
100
+ //# sourceMappingURL=chunk-A2HUIC6U.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/cli/commands/load.command.ts"],"names":[],"mappings":"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","file":"chunk-PMBDCWD5.js","sourcesContent":["import { define } from 'gunshi';\n\nimport { loadVarlockEnvGraph } from '../../lib/load-graph';\nimport { getItemSummary } from '../../lib/formatting';\nimport {\n checkForConfigErrors, checkForNoEnvFiles, checkForSchemaErrors, showPluginWarnings,\n} from '../helpers/error-checks';\nimport { type TypedGunshiCommandFn } from '../helpers/gunshi-type-utils';\n\nexport const commandSpec = define({\n name: 'load',\n description: 'Load env according to schema and resolve values',\n args: {\n format: {\n type: 'enum',\n short: 'f',\n choices: ['pretty', 'json', 'env', 'shell', 'json-full'],\n description: 'Format of output',\n default: 'pretty',\n },\n compact: {\n type: 'boolean',\n description: 'Use compact format (for json-full: no indentation, for env/shell: skip undefined values)',\n },\n 'show-all': {\n type: 'boolean',\n description: 'When load is failing, show all items rather than only failing items',\n },\n env: {\n type: 'string',\n description: 'Set the environment (e.g., production, development, etc) - will be overridden by @currentEnv in the schema if present',\n },\n path: {\n type: 'string',\n short: 'p',\n description: 'Path to a specific .env file or directory to use as the entry point',\n },\n },\n examples: `\nLoads and validates environment variables according to your .env files, and prints the results.\nUseful for debugging locally, and in CI to print out a summary of env vars.\n\nExamples:\n varlock load # Load and validate with pretty output\n varlock load --format json # Output in JSON format\n eval \"$(varlock load --format shell)\" # Load vars into current shell (useful with direnv)\n varlock load --show-all # Show all items when validation fails\n varlock load --path .env.prod # Load from a specific .env file\n varlock load --compact # Use compact format - skips undefined values, no indentation for json-full\n varlock load --env production # Load for a specific environment (⚠️ ignored if using @currentEnv!)\n`.trim(),\n});\n\n\nexport const commandFn: TypedGunshiCommandFn<typeof commandSpec> = async (ctx) => {\n const { format, compact, 'show-all': showAll } = ctx.values;\n\n const envGraph = await loadVarlockEnvGraph({\n currentEnvFallback: ctx.values.env,\n entryFilePath: ctx.values.path,\n });\n checkForSchemaErrors(envGraph);\n checkForNoEnvFiles(envGraph);\n\n if (!envGraph.rootDataSource) throw new Error('expected root data source to be set');\n\n // Generate types before resolving values — uses only non-env-specific schema info\n await envGraph.generateTypesIfNeeded();\n\n await envGraph.resolveEnvValues();\n checkForConfigErrors(envGraph, { showAll });\n\n if (format === 'pretty') {\n showPluginWarnings(envGraph);\n for (const itemKey of envGraph.sortedConfigKeys) {\n const item = envGraph.configSchema[itemKey];\n console.log(getItemSummary(item));\n }\n } else if (format === 'json') {\n console.log(JSON.stringify(envGraph.getResolvedEnvObject(), null, 2));\n } else if (format === 'json-full') {\n const indent = compact ? 0 : 2;\n console.log(JSON.stringify(envGraph.getSerializedGraph(), null, indent));\n } else if (format === 'env' || format === 'shell') {\n const resolvedEnv = envGraph.getResolvedEnvObject();\n const skipUndefined = compact === true;\n const prefix = format === 'shell' ? 'export ' : '';\n\n for (const key in resolvedEnv) {\n const value = resolvedEnv[key];\n\n if (value === undefined && skipUndefined) {\n continue;\n }\n\n let strValue: string;\n if (value === undefined) {\n strValue = '';\n } else if (typeof value === 'string') {\n strValue = `\"${value.replaceAll('\"', '\\\\\"').replaceAll('\\n', '\\\\n')}\"`;\n } else {\n strValue = JSON.stringify(value);\n }\n console.log(`${prefix}${key}=${strValue}`);\n }\n } else {\n throw new Error(`Unknown format: ${format}`);\n }\n};\n"]}
1
+ {"version":3,"sources":["../src/cli/commands/load.command.ts"],"names":[],"mappings":"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","file":"chunk-A2HUIC6U.js","sourcesContent":["import { define } from 'gunshi';\n\nimport { loadVarlockEnvGraph } from '../../lib/load-graph';\nimport { getItemSummary } from '../../lib/formatting';\nimport {\n checkForConfigErrors, checkForNoEnvFiles, checkForSchemaErrors, showPluginWarnings,\n} from '../helpers/error-checks';\nimport { type TypedGunshiCommandFn } from '../helpers/gunshi-type-utils';\n\nexport const commandSpec = define({\n name: 'load',\n description: 'Load env according to schema and resolve values',\n args: {\n format: {\n type: 'enum',\n short: 'f',\n choices: ['pretty', 'json', 'env', 'shell', 'json-full'],\n description: 'Format of output',\n default: 'pretty',\n },\n compact: {\n type: 'boolean',\n description: 'Use compact format (for json-full: no indentation, for env/shell: skip undefined values)',\n },\n 'show-all': {\n type: 'boolean',\n description: 'When load is failing, show all items rather than only failing items',\n },\n env: {\n type: 'string',\n description: 'Set the environment (e.g., production, development, etc) - will be overridden by @currentEnv in the schema if present',\n },\n path: {\n type: 'string',\n short: 'p',\n description: 'Path to a specific .env file or directory to use as the entry point',\n },\n },\n examples: `\nLoads and validates environment variables according to your .env files, and prints the results.\nUseful for debugging locally, and in CI to print out a summary of env vars.\n\nExamples:\n varlock load # Load and validate with pretty output\n varlock load --format json # Output in JSON format\n eval \"$(varlock load --format shell)\" # Load vars into current shell (useful with direnv)\n varlock load --show-all # Show all items when validation fails\n varlock load --path .env.prod # Load from a specific .env file\n varlock load --compact # Use compact format - skips undefined values, no indentation for json-full\n varlock load --env production # Load for a specific environment (⚠️ ignored if using @currentEnv!)\n`.trim(),\n});\n\n\nexport const commandFn: TypedGunshiCommandFn<typeof commandSpec> = async (ctx) => {\n const { format, compact, 'show-all': showAll } = ctx.values;\n\n const envGraph = await loadVarlockEnvGraph({\n currentEnvFallback: ctx.values.env,\n entryFilePath: ctx.values.path,\n });\n checkForSchemaErrors(envGraph);\n checkForNoEnvFiles(envGraph);\n\n if (!envGraph.rootDataSource) throw new Error('expected root data source to be set');\n\n // Generate types before resolving values — uses only non-env-specific schema info\n await envGraph.generateTypesIfNeeded();\n\n await envGraph.resolveEnvValues();\n checkForConfigErrors(envGraph, { showAll });\n\n if (format === 'pretty') {\n showPluginWarnings(envGraph);\n for (const itemKey of envGraph.sortedConfigKeys) {\n const item = envGraph.configSchema[itemKey];\n console.log(getItemSummary(item));\n }\n } else if (format === 'json') {\n console.log(JSON.stringify(envGraph.getResolvedEnvObject(), null, 2));\n } else if (format === 'json-full') {\n const indent = compact ? 0 : 2;\n console.log(JSON.stringify(envGraph.getSerializedGraph(), null, indent));\n } else if (format === 'env' || format === 'shell') {\n const resolvedEnv = envGraph.getResolvedEnvObject();\n const skipUndefined = compact === true;\n const prefix = format === 'shell' ? 'export ' : '';\n\n for (const key in resolvedEnv) {\n const value = resolvedEnv[key];\n\n if (value === undefined && skipUndefined) {\n continue;\n }\n\n let strValue: string;\n if (value === undefined) {\n strValue = '';\n } else if (typeof value === 'string') {\n strValue = `\"${value.replaceAll('\"', '\\\\\"').replaceAll('\\n', '\\\\n')}\"`;\n } else {\n strValue = JSON.stringify(value);\n }\n console.log(`${prefix}${key}=${strValue}`);\n }\n } else {\n throw new Error(`Unknown format: ${format}`);\n }\n};\n"]}
@@ -8282,7 +8282,7 @@ var DecoratorInstance = class {
8282
8282
  if (this.isResolved) return this.resolvedValue;
8283
8283
  await this.process();
8284
8284
  if (!this.decValueResolver) {
8285
- if (this._schemaErrors.length > 0) return;
8285
+ if (this._schemaErrors.some((e) => !e.isWarning)) return;
8286
8286
  throw new Error("expected decorator to have a value resolver");
8287
8287
  }
8288
8288
  try {
@@ -8501,7 +8501,7 @@ var builtInRootDecorators = [
8501
8501
  dataSource._loadingError = err instanceof SchemaError ? err : new SchemaError(err);
8502
8502
  return;
8503
8503
  }
8504
- const { ConfigItem: ConfigItem2 } = await import('./config-item-NO5PKZRH.js');
8504
+ const { ConfigItem: ConfigItem2 } = await import('./config-item-Z7JXVP27.js');
8505
8505
  for (const [key, entry] of Object.entries(entries)) {
8506
8506
  const existsInSchema = key in graph.configSchema;
8507
8507
  if (!existsInSchema && !createMissing) {
@@ -8557,7 +8557,9 @@ var builtInItemDecorators = [
8557
8557
  },
8558
8558
  {
8559
8559
  name: "icon"
8560
- }
8560
+ },
8561
+ // test-only decorators — dropped in release builds
8562
+ ...[]
8561
8563
  ];
8562
8564
 
8563
8565
  // ../ci-env-info/dist/index.js
@@ -10700,7 +10702,7 @@ var EnvGraphDataSource2 = class {
10700
10702
  return my_dash_default.compact([...this.rootDecorators.flatMap((d) => d._executionError)]);
10701
10703
  }
10702
10704
  get isValid() {
10703
- return !this.loadingError && !this.schemaErrors.length && !this.resolutionErrors.length;
10705
+ return !this.loadingError && !this.schemaErrors.some((e) => !e.isWarning) && !this.resolutionErrors.length;
10704
10706
  }
10705
10707
  configItemDefs = {};
10706
10708
  decorators = [];
@@ -11291,7 +11293,7 @@ var EnvGraph2 = class {
11291
11293
  for (const itemKey in this.configSchema) {
11292
11294
  const item = this.configSchema[itemKey];
11293
11295
  await item.process();
11294
- if (item.errors.length) processingError = true;
11296
+ if (item.errors.some((e) => !e.isWarning)) processingError = true;
11295
11297
  }
11296
11298
  if (processingError) return;
11297
11299
  const cycles = findGraphCycles(this.graphAdjacencyList);
@@ -12082,5 +12084,5 @@ var ConfigItem = class {
12082
12084
  //! these are probably not relevant anymore, or needs to move to a plugin layer?
12083
12085
 
12084
12086
  export { CoercionError, ConfigItem, ConfigLoadError, DirectoryDataSource, DotEnvFileDataSource, EnvGraph2 as EnvGraph, ParsedEnvSpecStaticValue, ResolutionError, SchemaError, ValidationError, VarlockError, ansis_default, detectWorkspaceInfo, envSpecUpdater, getUserVarlockDir, my_dash_default, parseEnvSpecDotEnvFile, pathExists, require_semver2 as require_semver, runWithWorkspaceInfo, tryCatch };
12085
- //# sourceMappingURL=chunk-2AGKN64R.js.map
12086
- //# sourceMappingURL=chunk-2AGKN64R.js.map
12087
+ //# sourceMappingURL=chunk-CBO5NXPJ.js.map
12088
+ //# sourceMappingURL=chunk-CBO5NXPJ.js.map