varlock 0.7.0 → 0.7.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (70) hide show
  1. package/dist/auto-load.js +2 -2
  2. package/dist/{chunk-OER3RWXM.js → chunk-4KSIULUK.js} +7 -5
  3. package/dist/chunk-4KSIULUK.js.map +1 -0
  4. package/dist/{chunk-QUZ6CTCN.js → chunk-4MCJ5H6K.js} +3 -3
  5. package/dist/{chunk-QUZ6CTCN.js.map → chunk-4MCJ5H6K.js.map} +1 -1
  6. package/dist/{chunk-CU6IMJWG.js → chunk-B6SVDIAN.js} +33 -4
  7. package/dist/chunk-B6SVDIAN.js.map +1 -0
  8. package/dist/{chunk-SHONHP24.js → chunk-BEV4WCAI.js} +3 -3
  9. package/dist/{chunk-SHONHP24.js.map → chunk-BEV4WCAI.js.map} +1 -1
  10. package/dist/{chunk-GMRNV7YA.js → chunk-CHWXFSUK.js} +5 -5
  11. package/dist/{chunk-GMRNV7YA.js.map → chunk-CHWXFSUK.js.map} +1 -1
  12. package/dist/{chunk-BXU4SN4C.js → chunk-EQGPMXDI.js} +5 -5
  13. package/dist/{chunk-BXU4SN4C.js.map → chunk-EQGPMXDI.js.map} +1 -1
  14. package/dist/{chunk-NBA3OXMK.js → chunk-GCEP6UVQ.js} +4 -4
  15. package/dist/{chunk-NBA3OXMK.js.map → chunk-GCEP6UVQ.js.map} +1 -1
  16. package/dist/{chunk-B3FGXIYM.js → chunk-JMJCAFEL.js} +10 -10
  17. package/dist/chunk-JMJCAFEL.js.map +1 -0
  18. package/dist/{chunk-ZLEBXP2N.js → chunk-JTK7LTYE.js} +6 -6
  19. package/dist/{chunk-ZLEBXP2N.js.map → chunk-JTK7LTYE.js.map} +1 -1
  20. package/dist/{chunk-TVFOIGJP.js → chunk-K6M42GW2.js} +4 -4
  21. package/dist/chunk-K6M42GW2.js.map +1 -0
  22. package/dist/{chunk-YO2BMQWY.js → chunk-MC4SUVBY.js} +5 -5
  23. package/dist/{chunk-YO2BMQWY.js.map → chunk-MC4SUVBY.js.map} +1 -1
  24. package/dist/{chunk-IVCAFVHJ.js → chunk-TQDVHRUW.js} +3 -3
  25. package/dist/{chunk-IVCAFVHJ.js.map → chunk-TQDVHRUW.js.map} +1 -1
  26. package/dist/{chunk-OILFXJ3P.js → chunk-UGUCGDKH.js} +5 -5
  27. package/dist/{chunk-OILFXJ3P.js.map → chunk-UGUCGDKH.js.map} +1 -1
  28. package/dist/{chunk-DIHMO4NV.js → chunk-WHSHSZQR.js} +4 -4
  29. package/dist/{chunk-DIHMO4NV.js.map → chunk-WHSHSZQR.js.map} +1 -1
  30. package/dist/{chunk-LNWUVR6Y.js → chunk-WKQ6WUA7.js} +19 -9
  31. package/dist/chunk-WKQ6WUA7.js.map +1 -0
  32. package/dist/cli/cli-executable.js +21 -21
  33. package/dist/cli/cli-executable.js.map +1 -1
  34. package/dist/config-item-VMLNH4QK.js +5 -0
  35. package/dist/{config-item-L25YE5DP.js.map → config-item-VMLNH4QK.js.map} +1 -1
  36. package/dist/dotenv-compat.js +2 -2
  37. package/dist/{env-graph-Bat7yIkB.d.ts → env-graph-BI5ASRYd.d.ts} +8 -0
  38. package/dist/index.d.ts +4 -2
  39. package/dist/index.js +5 -5
  40. package/dist/init.command-C2WNQ4UP.js +11 -0
  41. package/dist/{init.command-F4CPELAW.js.map → init.command-C2WNQ4UP.js.map} +1 -1
  42. package/dist/lib/exec-sync-varlock.js +1 -1
  43. package/dist/load.command-5X3BSCLF.js +11 -0
  44. package/dist/{load.command-GUYNXNTO.js.map → load.command-5X3BSCLF.js.map} +1 -1
  45. package/dist/plugin-lib.d.ts +2 -2
  46. package/dist/printenv.command-XZEQ3CZB.js +11 -0
  47. package/dist/{printenv.command-75MAGJZM.js.map → printenv.command-XZEQ3CZB.js.map} +1 -1
  48. package/dist/run.command-FE26WTNO.js +12 -0
  49. package/dist/{run.command-QRQ5IIXL.js.map → run.command-FE26WTNO.js.map} +1 -1
  50. package/dist/runtime/env.d.ts +1 -1
  51. package/dist/scan.command-2M4RN4ZP.js +12 -0
  52. package/dist/{scan.command-SMJLZV4G.js.map → scan.command-2M4RN4ZP.js.map} +1 -1
  53. package/dist/telemetry.command-SPOD3GAJ.js +10 -0
  54. package/dist/{telemetry.command-XPKAL5MV.js.map → telemetry.command-SPOD3GAJ.js.map} +1 -1
  55. package/dist/typegen.command-RUNVYBAM.js +11 -0
  56. package/dist/{typegen.command-ZWYOYJC4.js.map → typegen.command-RUNVYBAM.js.map} +1 -1
  57. package/package.json +3 -2
  58. package/dist/chunk-B3FGXIYM.js.map +0 -1
  59. package/dist/chunk-CU6IMJWG.js.map +0 -1
  60. package/dist/chunk-LNWUVR6Y.js.map +0 -1
  61. package/dist/chunk-OER3RWXM.js.map +0 -1
  62. package/dist/chunk-TVFOIGJP.js.map +0 -1
  63. package/dist/config-item-L25YE5DP.js +0 -5
  64. package/dist/init.command-F4CPELAW.js +0 -11
  65. package/dist/load.command-GUYNXNTO.js +0 -11
  66. package/dist/printenv.command-75MAGJZM.js +0 -11
  67. package/dist/run.command-QRQ5IIXL.js +0 -12
  68. package/dist/scan.command-SMJLZV4G.js +0 -12
  69. package/dist/telemetry.command-XPKAL5MV.js +0 -10
  70. package/dist/typegen.command-ZWYOYJC4.js +0 -11
package/dist/auto-load.js CHANGED
@@ -1,7 +1,7 @@
1
- import './chunk-SHONHP24.js';
1
+ import './chunk-BEV4WCAI.js';
2
2
  import './chunk-LVZSZAKN.js';
3
3
  import './chunk-MYHVSJ3X.js';
4
- import './chunk-TVFOIGJP.js';
4
+ import './chunk-K6M42GW2.js';
5
5
  import './chunk-BC7LU4LG.js';
6
6
  import './chunk-IMB5QAZS.js';
7
7
  import './chunk-XLYSNOR3.js';
@@ -1,5 +1,5 @@
1
- import { gracefulExit, getItemSummary, joinAndCompact } from './chunk-IVCAFVHJ.js';
2
- import { ansis_default, FileBasedDataSource } from './chunk-CU6IMJWG.js';
1
+ import { gracefulExit, getItemSummary, joinAndCompact } from './chunk-TQDVHRUW.js';
2
+ import { ansis_default, FileBasedDataSource } from './chunk-B6SVDIAN.js';
3
3
  import { VarlockError, my_dash_default } from './chunk-6CCHLM3U.js';
4
4
  import { __name } from './chunk-6PEHRAEP.js';
5
5
 
@@ -123,11 +123,13 @@ function checkForConfigErrors(envGraph, opts) {
123
123
  });
124
124
  }
125
125
  showPluginWarnings(envGraph);
126
- throw new InvalidEnvError();
126
+ if (!opts?.noThrow) {
127
+ throw new InvalidEnvError();
128
+ }
127
129
  }
128
130
  }
129
131
  __name(checkForConfigErrors, "checkForConfigErrors");
130
132
 
131
133
  export { InvalidEnvError, checkForConfigErrors, checkForNoEnvFiles, checkForSchemaErrors, showPluginWarnings };
132
- //# sourceMappingURL=chunk-OER3RWXM.js.map
133
- //# sourceMappingURL=chunk-OER3RWXM.js.map
134
+ //# sourceMappingURL=chunk-4KSIULUK.js.map
135
+ //# sourceMappingURL=chunk-4KSIULUK.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/cli/helpers/error-checks.ts"],"names":[],"mappings":"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","file":"chunk-4KSIULUK.js","sourcesContent":["import ansis from 'ansis';\nimport { gracefulExit } from 'exit-hook';\nimport _ from '@env-spec/utils/my-dash';\nimport { EnvGraph, ConfigItem, FileBasedDataSource } from '../../env-graph';\nimport { getItemSummary, joinAndCompact } from '../../lib/formatting';\nimport { VarlockError } from '../../env-graph/lib/errors';\n\n\nfunction showErrorLocationDetails(err: Error) {\n if (!(err instanceof VarlockError) || !err.location) return;\n const errLoc = err.location;\n const errPreview = [\n errLoc.lineStr,\n `${ansis.gray('-'.repeat(errLoc.colNumber - 1))}${ansis.red('^')}`,\n ].join('\\n');\n\n console.error('');\n console.error(`📂 ${errLoc.id}:${errLoc.lineNumber}:${errLoc.colNumber}`);\n console.error(errPreview);\n}\n\nexport function checkForNoEnvFiles(envGraph: EnvGraph) {\n if (Object.keys(envGraph.configSchema).length === 0) {\n const displayPath = envGraph.basePath ?? process.cwd();\n const hasLoadedFiles = envGraph.sortedDataSources.some((s) => s instanceof FileBasedDataSource);\n if (!hasLoadedFiles) {\n console.error(`🚨 No .env files found in ${displayPath}\\n`);\n console.error('Run `varlock init` to create a .env.schema file, or use `--path` to specify a file or directory.');\n } else {\n console.error(`🚨 No config items defined in ${displayPath}\\n`);\n console.error('Add items to your .env.schema file to get started.');\n }\n return gracefulExit(1);\n }\n}\n\nexport function checkForSchemaErrors(envGraph: EnvGraph) {\n // first we check for loading/parse errors - some cases we may want to let it fail silently?\n for (const source of envGraph.sortedDataSources) {\n // do we care about loading errors from disabled sources?\n // if (source.disabled) continue;\n\n if (source.loadingError) {\n console.error(`🚨 Error encountered while loading ${source.label}\\n`);\n\n console.error(source.loadingError.message);\n showErrorLocationDetails(source.loadingError);\n\n // For plugin loading errors, show the full stack trace since it's usually\n // a runtime error from executing the plugin code\n if (source.loadingError.stack && !(source.loadingError instanceof VarlockError)) {\n console.error(`\\n${ansis.dim('Stack trace:')}`);\n console.error(ansis.dim(source.loadingError.stack));\n }\n\n return gracefulExit(1);\n }\n // TODO: unify this with the above!\n if (source.schemaErrors.length) {\n console.error(`🚨 Error(s) encountered in ${source.label}`);\n\n for (const schemaErr of source.schemaErrors) {\n console.error(`- ${schemaErr.message}`);\n showErrorLocationDetails(schemaErr);\n }\n return gracefulExit(1);\n }\n }\n\n // now we check for any schema errors - where something about how things are wired up is invalid\n // NOTE - we should not have run any resolution yet\n // TODO: make sure we are calling this before attempting to resolve values\n // const failingItems = _.filter(_.values(envGraph.configSchema), (item) => item.validationState === 'error');\n // if (failingItems.length > 0) {\n // throw new CliExitError('Schema is currently invalid');\n // }\n}\n\n\nexport function showPluginWarnings(envGraph: EnvGraph) {\n for (const plugin of envGraph.plugins) {\n if (!plugin.warnings.length) continue;\n for (const warning of plugin.warnings) {\n console.error(ansis.yellow(`[WARNING] ${warning.message}`));\n if (warning.tip) {\n for (const line of warning.tip.split('\\n')) {\n console.error(` ${line}`);\n }\n }\n }\n }\n}\n\nexport class InvalidEnvError extends Error {\n constructor() {\n super('Resolved config/env did not pass validation');\n }\n getFormattedOutput() {\n return `\\n💥 ${ansis.red(this.message)} 💥\\n`;\n }\n}\n\nexport function checkForConfigErrors(envGraph: EnvGraph, opts?: {\n showAll?: boolean;\n /** Log errors to stderr but don't throw — used when the caller will handle errors itself (e.g. json-full output) */\n noThrow?: boolean;\n}) {\n // check for root decorator \"execution\"\n for (const source of envGraph.sortedDataSources) {\n if (source.resolutionErrors.length) {\n console.error(`🚨 Root decorator error(s) in ${source.label}`);\n\n for (const err of source.resolutionErrors) {\n console.error(`- ${err.message}`);\n if (err instanceof VarlockError && err.tip) {\n for (const line of err.tip.split('\\n')) {\n console.error(` ${line}`);\n }\n }\n showErrorLocationDetails(err);\n }\n }\n }\n\n\n\n const failingItems = envGraph.sortedConfigKeys\n .map((k) => envGraph.configSchema[k])\n .filter((item) => item.validationState === 'error');\n\n // TODO: use service.isValid?\n if (failingItems.length > 0) {\n console.error(`\\n🚨 🚨 🚨 ${ansis.bold.underline('Configuration is currently invalid ')} 🚨 🚨 🚨\\n`);\n console.error('Invalid items:\\n');\n\n _.each(failingItems, (item: ConfigItem) => {\n console.error(getItemSummary(item));\n console.error();\n });\n if (opts?.showAll) {\n console.error();\n console.error(joinAndCompact([\n 'Valid items:',\n ansis.italic.gray('(remove `--show-all` flag to hide)'),\n ]));\n console.error();\n const validItems = envGraph.sortedConfigKeys\n .map((k) => envGraph.configSchema[k])\n .filter((i) => !!i.isValid);\n _.each(validItems, (item: ConfigItem) => {\n console.error(getItemSummary(item));\n });\n }\n\n showPluginWarnings(envGraph);\n if (!opts?.noThrow) {\n throw new InvalidEnvError();\n }\n }\n}\n"]}
@@ -1,4 +1,4 @@
1
- import { require_semver } from './chunk-CU6IMJWG.js';
1
+ import { require_semver } from './chunk-B6SVDIAN.js';
2
2
  import { __toESM, __name } from './chunk-6PEHRAEP.js';
3
3
 
4
4
  // src/lib/check-bun-version.ts
@@ -18,5 +18,5 @@ Bun ${MIN_BUN_VERSION} introduced the \`--no-env-file\` flag which is required t
18
18
  __name(checkBunVersion, "checkBunVersion");
19
19
 
20
20
  export { checkBunVersion };
21
- //# sourceMappingURL=chunk-QUZ6CTCN.js.map
22
- //# sourceMappingURL=chunk-QUZ6CTCN.js.map
21
+ //# sourceMappingURL=chunk-4MCJ5H6K.js.map
22
+ //# sourceMappingURL=chunk-4MCJ5H6K.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/lib/check-bun-version.ts"],"names":["semver"],"mappings":";;;;AAAA,IAAA,aAAA,GAAmB,OAAA,CAAA,cAAA,EAAA,EAAA,CAAA,CAAA;AAQZ,IAAM,eAAA,GAAkB,OAAA;AAMxB,SAAS,eAAA,GAAkB;AAChC,EAAA,MAAM,UAAA,GAAa,QAAQ,QAAA,CAAS,GAAA;AACpC,EAAA,IAAI,CAAC,UAAA,EAAY;AAEjB,EAAA,IAAI,CAAC,aAAA,CAAAA,OAAAA,CAAO,GAAA,CAAI,UAAA,EAAY,eAAe,CAAA,EAAG;AAC5C,IAAA,MAAM,IAAI,KAAA;AAAA,MACR,CAAA,wBAAA,EAA2B,eAAe,CAAA,wBAAA,EAA2B,UAAU,CAAA;AAAA;AAAA,IAAA,EAEtE,eAAe,CAAA,8GAAA;AAAA,KAE1B;AAAA,EACF;AACF;AAZgB,MAAA,CAAA,eAAA,EAAA,iBAAA,CAAA","file":"chunk-QUZ6CTCN.js","sourcesContent":["import semver from 'semver';\n\n/**\n * Minimum Bun version required for varlock to work correctly.\n * Bun v1.3.3 introduced the ability to disable built-in .env file loading\n * via `--no-env-file` flag or `env = false` in bunfig.toml, which is necessary\n * to prevent conflicts with varlock's own .env loading.\n */\nexport const MIN_BUN_VERSION = '1.3.3';\n\n/**\n * Checks if the current Bun version meets the minimum requirement.\n * Throws an error if running on an unsupported Bun version.\n */\nexport function checkBunVersion() {\n const bunVersion = process.versions.bun;\n if (!bunVersion) return;\n\n if (!semver.gte(bunVersion, MIN_BUN_VERSION)) {\n throw new Error(\n `Varlock requires Bun >= ${MIN_BUN_VERSION}, but you are using Bun ${bunVersion}.\\n`\n + 'Please upgrade Bun by running: `bun upgrade`\\n'\n + `Bun ${MIN_BUN_VERSION} introduced the \\`--no-env-file\\` flag which is required to prevent `\n + 'conflicts with varlock\\'s own .env loading.',\n );\n }\n}\n"]}
1
+ {"version":3,"sources":["../src/lib/check-bun-version.ts"],"names":["semver"],"mappings":";;;;AAAA,IAAA,aAAA,GAAmB,OAAA,CAAA,cAAA,EAAA,EAAA,CAAA,CAAA;AAQZ,IAAM,eAAA,GAAkB,OAAA;AAMxB,SAAS,eAAA,GAAkB;AAChC,EAAA,MAAM,UAAA,GAAa,QAAQ,QAAA,CAAS,GAAA;AACpC,EAAA,IAAI,CAAC,UAAA,EAAY;AAEjB,EAAA,IAAI,CAAC,aAAA,CAAAA,OAAAA,CAAO,GAAA,CAAI,UAAA,EAAY,eAAe,CAAA,EAAG;AAC5C,IAAA,MAAM,IAAI,KAAA;AAAA,MACR,CAAA,wBAAA,EAA2B,eAAe,CAAA,wBAAA,EAA2B,UAAU,CAAA;AAAA;AAAA,IAAA,EAEtE,eAAe,CAAA,8GAAA;AAAA,KAE1B;AAAA,EACF;AACF;AAZgB,MAAA,CAAA,eAAA,EAAA,iBAAA,CAAA","file":"chunk-4MCJ5H6K.js","sourcesContent":["import semver from 'semver';\n\n/**\n * Minimum Bun version required for varlock to work correctly.\n * Bun v1.3.3 introduced the ability to disable built-in .env file loading\n * via `--no-env-file` flag or `env = false` in bunfig.toml, which is necessary\n * to prevent conflicts with varlock's own .env loading.\n */\nexport const MIN_BUN_VERSION = '1.3.3';\n\n/**\n * Checks if the current Bun version meets the minimum requirement.\n * Throws an error if running on an unsupported Bun version.\n */\nexport function checkBunVersion() {\n const bunVersion = process.versions.bun;\n if (!bunVersion) return;\n\n if (!semver.gte(bunVersion, MIN_BUN_VERSION)) {\n throw new Error(\n `Varlock requires Bun >= ${MIN_BUN_VERSION}, but you are using Bun ${bunVersion}.\\n`\n + 'Please upgrade Bun by running: `bun upgrade`\\n'\n + `Bun ${MIN_BUN_VERSION} introduced the \\`--no-env-file\\` flag which is required to prevent `\n + 'conflicts with varlock\\'s own .env loading.',\n );\n }\n}\n"]}
@@ -6890,7 +6890,7 @@ var StringDataType = createEnvGraphDataType(
6890
6890
  errors.push(new ValidationError(`Value must start with "${settings.startsWith}"`));
6891
6891
  }
6892
6892
  if (settings?.endsWith && !val.endsWith(settings.endsWith)) {
6893
- errors.push(new ValidationError(`Value must start with "${settings.endsWith}"`));
6893
+ errors.push(new ValidationError(`Value must end with "${settings.endsWith}"`));
6894
6894
  }
6895
6895
  if (settings?.matches) {
6896
6896
  const regex = my_dash_default.isString(settings.matches) ? new RegExp(settings.matches) : settings.matches;
@@ -7571,7 +7571,7 @@ var builtInRootDecorators = [
7571
7571
  dataSource._loadingError = err instanceof SchemaError ? err : new SchemaError(err);
7572
7572
  return;
7573
7573
  }
7574
- const { ConfigItem: ConfigItem2 } = await import('./config-item-L25YE5DP.js');
7574
+ const { ConfigItem: ConfigItem2 } = await import('./config-item-VMLNH4QK.js');
7575
7575
  for (const [key, entry] of Object.entries(entries)) {
7576
7576
  const existsInSchema = key in graph.configSchema;
7577
7577
  if (!existsInSchema && !createMissing) {
@@ -10618,6 +10618,35 @@ var EnvGraph2 = class {
10618
10618
  }
10619
10619
  serializedGraph.settings.redactLogs = this.getRootDec("redactLogs")?.resolvedValue ?? true;
10620
10620
  serializedGraph.settings.preventLeaks = this.getRootDec("preventLeaks")?.resolvedValue ?? true;
10621
+ const errors = {};
10622
+ const rootErrors = [];
10623
+ for (const source of this.sortedDataSources) {
10624
+ if (source.loadingError) {
10625
+ rootErrors.push(`${source.label}: ${source.loadingError.message}`);
10626
+ }
10627
+ for (const err of source.schemaErrors) {
10628
+ rootErrors.push(`${source.label}: ${err.message}`);
10629
+ }
10630
+ for (const err of source.resolutionErrors) {
10631
+ rootErrors.push(`${source.label}: ${err.message}`);
10632
+ }
10633
+ }
10634
+ if (rootErrors.length > 0) {
10635
+ errors.root = rootErrors;
10636
+ }
10637
+ const configItemErrors = {};
10638
+ for (const itemKey of this.sortedConfigKeys) {
10639
+ const item = this.configSchema[itemKey];
10640
+ if (item.validationState === "error") {
10641
+ configItemErrors[itemKey] = item.errors.map((e) => e.message).join("; ");
10642
+ }
10643
+ }
10644
+ if (Object.keys(configItemErrors).length > 0) {
10645
+ errors.configItems = configItemErrors;
10646
+ }
10647
+ if (errors.root || errors.configItems) {
10648
+ serializedGraph.errors = errors;
10649
+ }
10621
10650
  return serializedGraph;
10622
10651
  }
10623
10652
  get isInvalid() {
@@ -11271,5 +11300,5 @@ var ConfigItem = class {
11271
11300
  };
11272
11301
 
11273
11302
  export { ConfigItem, DirectoryDataSource, DotEnvFileDataSource, EnvGraph2 as EnvGraph, FileBasedDataSource, ParsedEnvSpecStaticValue, ansis_default, detectWorkspaceInfo, envSpecUpdater, getUserVarlockDir, parseEnvSpecDotEnvFile, pathExists, require_semver2 as require_semver, runWithWorkspaceInfo, tryCatch };
11274
- //# sourceMappingURL=chunk-CU6IMJWG.js.map
11275
- //# sourceMappingURL=chunk-CU6IMJWG.js.map
11303
+ //# sourceMappingURL=chunk-B6SVDIAN.js.map
11304
+ //# sourceMappingURL=chunk-B6SVDIAN.js.map