varlock 1.0.0 → 1.1.0

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 (109) hide show
  1. package/dist/auto-load.js +2 -2
  2. package/dist/{chunk-VODQDF4Q.js → chunk-6RF54KKR.js} +36 -7
  3. package/dist/chunk-6RF54KKR.js.map +1 -0
  4. package/dist/{chunk-UKFHSMKY.js → chunk-7GFD2ATN.js} +4 -4
  5. package/dist/{chunk-UKFHSMKY.js.map → chunk-7GFD2ATN.js.map} +1 -1
  6. package/dist/{chunk-QNTIIXD5.js → chunk-A6THM3IR.js} +5 -5
  7. package/dist/{chunk-QNTIIXD5.js.map → chunk-A6THM3IR.js.map} +1 -1
  8. package/dist/{chunk-FTVXXJMG.js → chunk-CDLU5P62.js} +3 -3
  9. package/dist/{chunk-FTVXXJMG.js.map → chunk-CDLU5P62.js.map} +1 -1
  10. package/dist/{chunk-V2MTE4J6.js → chunk-E3F6QKDZ.js} +5 -5
  11. package/dist/{chunk-V2MTE4J6.js.map → chunk-E3F6QKDZ.js.map} +1 -1
  12. package/dist/{chunk-YHOWSHVH.js → chunk-F5H5MJ6U.js} +32 -5
  13. package/dist/chunk-F5H5MJ6U.js.map +1 -0
  14. package/dist/{chunk-6DXWXIQV.js → chunk-GURKQO4J.js} +259 -149
  15. package/dist/chunk-GURKQO4J.js.map +1 -0
  16. package/dist/{chunk-2ABRAKHE.js → chunk-H6NILU2I.js} +4 -4
  17. package/dist/{chunk-2ABRAKHE.js.map → chunk-H6NILU2I.js.map} +1 -1
  18. package/dist/{chunk-2EEXFFKL.js → chunk-JIUWL2NT.js} +6 -6
  19. package/dist/{chunk-2EEXFFKL.js.map → chunk-JIUWL2NT.js.map} +1 -1
  20. package/dist/chunk-JUPAI2X4.js +30 -0
  21. package/dist/chunk-JUPAI2X4.js.map +1 -0
  22. package/dist/chunk-O3WTD6L4.js +37 -0
  23. package/dist/chunk-O3WTD6L4.js.map +1 -0
  24. package/dist/{chunk-GBCB7Y3B.js → chunk-QP7TS4SU.js} +6 -5
  25. package/dist/chunk-QP7TS4SU.js.map +1 -0
  26. package/dist/{chunk-AMNNQL7K.js → chunk-QSYH5IDD.js} +3 -3
  27. package/dist/{chunk-AMNNQL7K.js.map → chunk-QSYH5IDD.js.map} +1 -1
  28. package/dist/{chunk-JEZQ2DFL.js → chunk-RBFS2QGC.js} +9 -8
  29. package/dist/chunk-RBFS2QGC.js.map +1 -0
  30. package/dist/{chunk-XADO6HQG.js → chunk-S5O4AAVX.js} +6 -6
  31. package/dist/{chunk-XADO6HQG.js.map → chunk-S5O4AAVX.js.map} +1 -1
  32. package/dist/{chunk-CKWXLVMV.js → chunk-SDN53OAC.js} +4 -4
  33. package/dist/{chunk-CKWXLVMV.js.map → chunk-SDN53OAC.js.map} +1 -1
  34. package/dist/{chunk-QJ6NMN5H.js → chunk-TQXYC3G3.js} +5 -5
  35. package/dist/{chunk-QJ6NMN5H.js.map → chunk-TQXYC3G3.js.map} +1 -1
  36. package/dist/{chunk-6JKWTWLB.js → chunk-U2O3AUM2.js} +6 -6
  37. package/dist/{chunk-6JKWTWLB.js.map → chunk-U2O3AUM2.js.map} +1 -1
  38. package/dist/{chunk-LOIJO4MO.js → chunk-VN4LKYXR.js} +4 -4
  39. package/dist/{chunk-LOIJO4MO.js.map → chunk-VN4LKYXR.js.map} +1 -1
  40. package/dist/{chunk-U7RQPX5K.js → chunk-XWYFSG46.js} +27 -6
  41. package/dist/chunk-XWYFSG46.js.map +1 -0
  42. package/dist/{chunk-XTOUG72X.js → chunk-YO6WHPM4.js} +5 -5
  43. package/dist/{chunk-XTOUG72X.js.map → chunk-YO6WHPM4.js.map} +1 -1
  44. package/dist/{chunk-NJONB6CB.js → chunk-ZJNDICC4.js} +5 -5
  45. package/dist/{chunk-NJONB6CB.js.map → chunk-ZJNDICC4.js.map} +1 -1
  46. package/dist/cli/cli-executable.js +33 -33
  47. package/dist/cli/cli-executable.js.map +1 -1
  48. package/dist/config-item-6LTV4PNH.js +7 -0
  49. package/dist/{config-item-2FQ6I6PO.js.map → config-item-6LTV4PNH.js.map} +1 -1
  50. package/dist/dotenv-compat.js +2 -2
  51. package/dist/encrypt.command-F2OTB6HD.js +14 -0
  52. package/dist/{encrypt.command-K2SBJVQ5.js.map → encrypt.command-F2OTB6HD.js.map} +1 -1
  53. package/dist/{env-graph-CXTsI2Eg.d.ts → env-graph-iNQyTcya.d.ts} +4 -0
  54. package/dist/explain.command-TEIPRC7Q.js +15 -0
  55. package/dist/{explain.command-E6MR72IY.js.map → explain.command-TEIPRC7Q.js.map} +1 -1
  56. package/dist/index.d.ts +2 -2
  57. package/dist/index.js +7 -7
  58. package/dist/init.command-5LP3UFKD.js +13 -0
  59. package/dist/{init.command-TGDNXHJ7.js.map → init.command-5LP3UFKD.js.map} +1 -1
  60. package/dist/install-plugin.command-X7RSLPUJ.js +13 -0
  61. package/dist/{install-plugin.command-Z2S5DIFS.js.map → install-plugin.command-X7RSLPUJ.js.map} +1 -1
  62. package/dist/lib/exec-sync-varlock.d.ts +34 -9
  63. package/dist/lib/exec-sync-varlock.js +1 -1
  64. package/dist/load.command-7SQRDQ3E.js +15 -0
  65. package/dist/{load.command-K2IH3646.js.map → load.command-7SQRDQ3E.js.map} +1 -1
  66. package/dist/lock.command-4LTGMJA3.js +7 -0
  67. package/dist/{lock.command-GL4CLXED.js.map → lock.command-4LTGMJA3.js.map} +1 -1
  68. package/dist/plugin-lib.d.ts +2 -2
  69. package/dist/printenv.command-ON7RMFEU.js +15 -0
  70. package/dist/{printenv.command-34LGQT6W.js.map → printenv.command-ON7RMFEU.js.map} +1 -1
  71. package/dist/reveal.command-BW6XYVXH.js +15 -0
  72. package/dist/{reveal.command-WOHYRSYO.js.map → reveal.command-BW6XYVXH.js.map} +1 -1
  73. package/dist/run.command-5QADABYL.js +16 -0
  74. package/dist/{run.command-PPC2X2N7.js.map → run.command-5QADABYL.js.map} +1 -1
  75. package/dist/runtime/env.d.ts +1 -1
  76. package/dist/{scan.command-4DJBQEML.js → scan.command-ZVW3XAUG.js} +9 -9
  77. package/dist/{scan.command-4DJBQEML.js.map → scan.command-ZVW3XAUG.js.map} +1 -1
  78. package/dist/telemetry.command-PY6E4QSH.js +13 -0
  79. package/dist/{telemetry.command-LIOCXWQK.js.map → telemetry.command-PY6E4QSH.js.map} +1 -1
  80. package/dist/typegen.command-KZ4O5IKQ.js +15 -0
  81. package/dist/{typegen.command-COL35ALE.js.map → typegen.command-KZ4O5IKQ.js.map} +1 -1
  82. package/native-bins/darwin/VarlockEnclave.app/Contents/CodeResources +0 -0
  83. package/native-bins/darwin/VarlockEnclave.app/Contents/MacOS/varlock-local-encrypt +0 -0
  84. package/native-bins/linux-arm64/varlock-local-encrypt +0 -0
  85. package/native-bins/linux-x64/varlock-local-encrypt +0 -0
  86. package/native-bins/win32-x64/varlock-local-encrypt.exe +0 -0
  87. package/package.json +1 -1
  88. package/dist/chunk-6DXWXIQV.js.map +0 -1
  89. package/dist/chunk-7WB7HK5Z.js +0 -21
  90. package/dist/chunk-7WB7HK5Z.js.map +0 -1
  91. package/dist/chunk-GBCB7Y3B.js.map +0 -1
  92. package/dist/chunk-JEZQ2DFL.js.map +0 -1
  93. package/dist/chunk-U7RQPX5K.js.map +0 -1
  94. package/dist/chunk-UUDTMOJS.js +0 -22
  95. package/dist/chunk-UUDTMOJS.js.map +0 -1
  96. package/dist/chunk-VODQDF4Q.js.map +0 -1
  97. package/dist/chunk-YHOWSHVH.js.map +0 -1
  98. package/dist/config-item-2FQ6I6PO.js +0 -7
  99. package/dist/encrypt.command-K2SBJVQ5.js +0 -14
  100. package/dist/explain.command-E6MR72IY.js +0 -15
  101. package/dist/init.command-TGDNXHJ7.js +0 -13
  102. package/dist/install-plugin.command-Z2S5DIFS.js +0 -13
  103. package/dist/load.command-K2IH3646.js +0 -15
  104. package/dist/lock.command-GL4CLXED.js +0 -7
  105. package/dist/printenv.command-34LGQT6W.js +0 -15
  106. package/dist/reveal.command-WOHYRSYO.js +0 -15
  107. package/dist/run.command-PPC2X2N7.js +0 -16
  108. package/dist/telemetry.command-LIOCXWQK.js +0 -13
  109. package/dist/typegen.command-COL35ALE.js +0 -15
@@ -1,22 +0,0 @@
1
- import { patchGlobalResponse } from './chunk-F6RTQ5QX.js';
2
- import { patchGlobalServerResponse } from './chunk-5DUWGI2N.js';
3
- import { execSyncVarlock } from './chunk-YHOWSHVH.js';
4
- import { patchGlobalConsole } from './chunk-R73FENLU.js';
5
- import { initVarlockEnv } from './chunk-MGWUDHT5.js';
6
-
7
- // src/auto-load.ts
8
- var execResult = execSyncVarlock("load --format json-full --compact", {
9
- exitOnError: true,
10
- showLogsOnError: true,
11
- // Pass the directory of this module so that in monorepos the binary search
12
- // starts from inside the varlock package (e.g. apps/web/node_modules/varlock)
13
- // rather than from process.cwd(), which may be an unrelated workspace root.
14
- callerDir: import.meta.dirname ?? new URL(".", import.meta.url).pathname
15
- });
16
- process.env.__VARLOCK_ENV = execResult;
17
- initVarlockEnv();
18
- patchGlobalConsole();
19
- patchGlobalServerResponse();
20
- patchGlobalResponse();
21
- //# sourceMappingURL=chunk-UUDTMOJS.js.map
22
- //# sourceMappingURL=chunk-UUDTMOJS.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/auto-load.ts"],"names":[],"mappings":";;;;;;;AAaA,IAAM,UAAA,GAAa,gBAAgB,mCAAA,EAAqC;AAAA,EACtE,WAAA,EAAa,IAAA;AAAA,EACb,eAAA,EAAiB,IAAA;AAAA;AAAA;AAAA;AAAA,EAIjB,SAAA,EAAW,YAAY,OAAA,IAAW,IAAI,IAAI,GAAA,EAAK,MAAA,CAAA,IAAA,CAAY,GAAG,CAAA,CAAE;AAClE,CAAC,CAAA;AACD,OAAA,CAAQ,IAAI,aAAA,GAAgB,UAAA;AAG5B,cAAA,EAAe;AAEf,kBAAA,EAAmB;AACnB,yBAAA,EAA0B;AAC1B,mBAAA,EAAoB","file":"chunk-UUDTMOJS.js","sourcesContent":["import { execSyncVarlock } from './lib/exec-sync-varlock';\n\nimport { initVarlockEnv } from './runtime/env';\nimport { patchGlobalConsole } from './runtime/patch-console';\nimport { patchGlobalServerResponse } from './runtime/patch-server-response';\nimport { patchGlobalResponse } from './runtime/patch-response';\n\n// The varlock loading process uses async calls, but we need this to run synchronously.\n// because even with top level await, we run into hoisting issues where things happen out of order\n// so we call out to the CLI using execSync\n// this also isolates the varlock loading process from the end user process\n\n\nconst execResult = execSyncVarlock('load --format json-full --compact', {\n exitOnError: true,\n showLogsOnError: true,\n // Pass the directory of this module so that in monorepos the binary search\n // starts from inside the varlock package (e.g. apps/web/node_modules/varlock)\n // rather than from process.cwd(), which may be an unrelated workspace root.\n callerDir: import.meta.dirname ?? new URL('.', import.meta.url).pathname,\n});\nprocess.env.__VARLOCK_ENV = execResult;\n\n// initialize varlock and patch globals as necessary\ninitVarlockEnv();\n// these will be no-ops if these are disabled by settings\npatchGlobalConsole();\npatchGlobalServerResponse();\npatchGlobalResponse();\n\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/cli/commands/load.command.ts"],"names":[],"mappings":"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","file":"chunk-VODQDF4Q.js","sourcesContent":["import { define } from 'gunshi';\nimport { gracefulExit } from 'exit-hook';\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 multiple: true,\n description: 'Path to a specific .env file or directory to use as the entry point (can be specified multiple times)',\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 -p ./envs -p ./overrides # Load from multiple directories\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\n/**\n * Formats a string value for safe use in a shell export statement.\n * Uses single-quoted strings to prevent shell injection via backticks, `$`, etc.\n * Single quotes within the value are escaped using the `'\\''` sequence.\n */\nexport function formatShellValue(value: string): string {\n return `'${value.replaceAll(\"'\", \"'\\\\''\")}'`;\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 entryFilePaths: ctx.values.path,\n });\n\n // For json-full, always output the serialized graph — it includes `errors` and\n // `configErrors` fields so consumers can handle failures gracefully.\n // For all other formats, exit on errors as before.\n if (format !== 'json-full') {\n checkForSchemaErrors(envGraph);\n checkForNoEnvFiles(envGraph);\n }\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\n if (format === 'json-full') {\n checkForConfigErrors(envGraph, { showAll, noThrow: true });\n } else {\n checkForConfigErrors(envGraph, { showAll });\n }\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 const serialized = envGraph.getSerializedGraph();\n console.log(JSON.stringify(serialized, null, indent));\n // Output JSON to stdout even on failure (so consumers can parse err.stdout),\n // but still exit non-zero so execSync callers know something is wrong\n if (serialized.errors) {\n gracefulExit(1);\n }\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 if (format === 'shell') {\n strValue = formatShellValue(value);\n } else {\n strValue = `\"${value.replaceAll('\"', '\\\\\"').replaceAll('\\n', '\\\\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 +0,0 @@
1
- {"version":3,"sources":["../src/lib/exec-sync-varlock.ts"],"names":[],"mappings":";;;;;;AASA,IAAM,QAAA,GAAW,GAAG,QAAA,EAAS;AAC7B,IAAM,SAAA,GAAY,QAAA,CAAS,KAAA,CAAM,OAAO,CAAA;AAOxC,SAAS,eAAe,QAAA,EAAiC;AAGvD,EAAA,MAAM,WAAW,SAAA,GAAY,CAAC,eAAe,aAAa,CAAA,GAAI,CAAC,SAAS,CAAA;AAExE,EAAA,IAAI,UAAA,GAAa,QAAA;AACjB,EAAA,OAAO,UAAA,EAAY;AACjB,IAAA,MAAM,eAAA,GAAkB,IAAA,CAAK,IAAA,CAAK,UAAA,EAAY,gBAAgB,MAAM,CAAA;AACpE,IAAA,IAAI,EAAA,CAAG,UAAA,CAAW,eAAe,CAAA,EAAG;AAClC,MAAA,KAAA,MAAW,WAAW,QAAA,EAAU;AAC9B,QAAA,MAAM,mBAAA,GAAsB,IAAA,CAAK,IAAA,CAAK,eAAA,EAAiB,OAAO,CAAA;AAC9D,QAAA,IAAI,EAAA,CAAG,UAAA,CAAW,mBAAmB,CAAA,EAAG;AACtC,UAAA,OAAO,mBAAA;AAAA,QACT;AAAA,MACF;AAAA,IAIF;AACA,IAAA,MAAM,SAAA,GAAY,IAAA,CAAK,OAAA,CAAQ,UAAU,CAAA;AACzC,IAAA,IAAI,cAAc,UAAA,EAAY;AAC9B,IAAA,UAAA,GAAa,SAAA;AAAA,EACf;AACA,EAAA,OAAO,IAAA;AACT;AAxBS,MAAA,CAAA,cAAA,EAAA,gBAAA,CAAA;AAgCF,SAAS,eAAA,CACd,SACA,IAAA,EAWA;AACA,EAAA,IAAI;AAIF,IAAA,IAAI;AACF,MAAA,MAAM,MAAA,GAAS,QAAA,CAAS,CAAA,QAAA,EAAW,OAAO,CAAA,CAAA,EAAI;AAAA,QAC5C,GAAG,IAAA,EAAM,GAAA,IAAO,EAAE,GAAA,EAAK,KAAK,GAAA,EAAI;AAAA,QAChC,GAAG,IAAA,EAAM,GAAA,IAAO,EAAE,GAAA,EAAK,KAAK,GAAA,EAAI;AAAA,QAChC,KAAA,EAAO;AAAA,OACR,CAAA;AACD,MAAA,OAAO,OAAO,QAAA,EAAS;AAAA,IACzB,SAAS,GAAA,EAAK;AAGZ,MAAA,IAAI,CAAC,aAAc,GAAA,CAAY,MAAA,KAAW,OAAQ,GAAA,CAAY,IAAA,KAAS,UAAU,MAAM,GAAA;AAAA,IAEzF;AAQA,IAAA,MAAM,SAAS,IAAA,EAAM,GAAA,GAAM,MAAA,CAAO,IAAA,CAAK,GAAG,CAAA,GAAI,KAAA,CAAA;AAC9C,IAAA,MAAM,UAAA,GAAa;AAAA,MACjB,GAAI,MAAA,GAAS,CAAC,MAAM,IAAI,EAAC;AAAA,MACzB,GAAI,IAAA,EAAM,SAAA,GAAY,CAAC,IAAA,CAAK,SAAS,IAAI,EAAC;AAAA,MAC1C,QAAQ,GAAA;AAAI,KACd;AAEA,IAAA,KAAA,MAAW,YAAY,UAAA,EAAY;AACjC,MAAA,MAAM,WAAA,GAAc,eAAe,QAAQ,CAAA;AAC3C,MAAA,IAAI,WAAA,EAAa;AAEf,QAAA,MAAM,UAAA,GAAa,WAAA,CAAY,QAAA,CAAS,MAAM,CAAA;AAC9C,QAAA,MAAM,SAAS,YAAA,CAAa,WAAA,EAAa,OAAA,CAAQ,KAAA,CAAM,GAAG,CAAA,EAAG;AAAA,UAC3D,GAAG,IAAA;AAAA,UACH,KAAA,EAAO,MAAA;AAAA,UACP,GAAI,UAAA,IAAc,EAAE,KAAA,EAAO,IAAA;AAAK,SACjC,CAAA;AACD,QAAA,OAAO,OAAO,QAAA,EAAS;AAAA,MACzB;AAAA,IACF;AACA,IAAA,MAAM,IAAI,MAAM,mCAAmC,CAAA;AAAA,EACrD,SAAS,GAAA,EAAK;AACZ,IAAA,MAAM,MAAA,GAAS,GAAA;AACf,IAAA,IAAI,MAAM,eAAA,EAAiB;AAEzB,MAAA,IAAI,OAAO,MAAA,EAAQ,OAAA,CAAQ,IAAI,MAAA,CAAO,MAAA,CAAO,UAAU,CAAA;AACvD,MAAA,IAAI,OAAO,MAAA,EAAQ,OAAA,CAAQ,MAAM,MAAA,CAAO,MAAA,CAAO,UAAU,CAAA;AAEzD,MAAA,IAAI,CAAC,MAAA,CAAO,MAAA,IAAU,CAAC,OAAO,MAAA,EAAQ;AACpC,QAAA,OAAA,CAAQ,MAAM,MAAM,CAAA;AAAA,MACtB;AAAA,IACF;AACA,IAAA,IAAI,MAAM,WAAA,EAAa;AACrB,MAAA,OAAA,CAAQ,IAAA,CAAM,GAAA,CAAY,MAAA,IAAU,CAAC,CAAA;AAAA,IACvC;AACA,IAAA,MAAM,GAAA;AAAA,EACR;AACF;AA3EgB,MAAA,CAAA,eAAA,EAAA,iBAAA,CAAA","file":"chunk-YHOWSHVH.js","sourcesContent":["import path from 'node:path';\nimport fs from 'node:fs';\nimport os from 'node:os';\nimport { execFileSync, execSync } from 'node:child_process';\n\n// weird tsup issue using `typeof execSync` from node:child_process\n// see https://github.com/egoist/tsup/issues/1367\nimport type { execSync as execSyncType } from 'child_process';\n\nconst platform = os.platform();\nconst isWindows = platform.match(/^win/i);\n\n\n/**\n * Walk up the directory tree from startDir looking for a node_modules/.bin/varlock binary.\n * Returns the full path to the binary if found, or null if not found.\n */\nfunction findVarlockBin(startDir: string): string | null {\n // On Windows, npm creates varlock.exe while pnpm only creates varlock.cmd\n // (and a shell script). Check .exe first, then fall back to .cmd.\n const binNames = isWindows ? ['varlock.exe', 'varlock.cmd'] : ['varlock'];\n\n let currentDir = startDir;\n while (currentDir) {\n const possibleBinPath = path.join(currentDir, 'node_modules', '.bin');\n if (fs.existsSync(possibleBinPath)) {\n for (const binName of binNames) {\n const possibleVarlockPath = path.join(possibleBinPath, binName);\n if (fs.existsSync(possibleVarlockPath)) {\n return possibleVarlockPath;\n }\n }\n // Found a .bin directory but varlock is not in it - keep walking up.\n // In a monorepo the root node_modules/.bin may exist without varlock,\n // which is installed only in a sub-package.\n }\n const parentDir = path.dirname(currentDir);\n if (parentDir === currentDir) break;\n currentDir = parentDir;\n }\n return null;\n}\n\n/**\n * small helper to call execSync and call the varlock cli\n *\n * when end user runs via a package manager, it will inject node_modules/.bin into PATH\n * but otherwise we may need to try to find that path ourselves\n */\nexport function execSyncVarlock(\n command: string,\n opts?: (Parameters<typeof execSyncType>[1] & {\n exitOnError?: boolean,\n showLogsOnError?: boolean,\n /**\n * Additional directory to start searching for the varlock binary from.\n * Searched before process.cwd(). Pass `import.meta.dirname` from the\n * call-site so that in monorepos the binary installed next to the\n * importing package is found even when cwd is an unrelated workspace root.\n */\n callerDir?: string,\n }),\n) {\n try {\n // in most cases, user will be running via their package manager\n // and a package.json script (ie `pnpm run start`)\n // which will inject node_modules/.bin into PATH\n try {\n const result = execSync(`varlock ${command}`, {\n ...opts?.env && { env: opts.env },\n ...opts?.cwd && { cwd: opts.cwd },\n stdio: 'pipe',\n });\n return result.toString();\n } catch (err) {\n // code 127 means not found (on linux only)\n // ENOENT from execSync means that a shell was not found\n if (!isWindows && (err as any).status !== 127 && (err as any).code !== 'ENOENT') throw err;\n // on windows, we'll just do the extra checks anyway\n }\n\n // if varlock was not found, it either means it is not installed\n // or we must find the path to node_modules/.bin ourselves.\n // Search from cwd (if provided), callerDir, then process.cwd().\n // This handles monorepo setups where cwd may be an unrelated workspace\n // root while varlock is only installed in a sub-package - the callerDir\n // supplied by auto-load.ts points inside that sub-package's node_modules.\n const cwdStr = opts?.cwd ? String(opts.cwd) : undefined;\n const searchDirs = [\n ...(cwdStr ? [cwdStr] : []),\n ...(opts?.callerDir ? [opts.callerDir] : []),\n process.cwd(),\n ];\n\n for (const startDir of searchDirs) {\n const varlockPath = findVarlockBin(startDir);\n if (varlockPath) {\n // .cmd files are batch scripts that must be run through cmd.exe\n const needsShell = varlockPath.endsWith('.cmd');\n const result = execFileSync(varlockPath, command.split(' '), {\n ...opts,\n stdio: 'pipe',\n ...(needsShell && { shell: true }),\n });\n return result.toString();\n }\n }\n throw new Error('Unable to find varlock executable');\n } catch (err) {\n const errAny = err as any;\n if (opts?.showLogsOnError) {\n /* eslint-disable no-console */\n if (errAny.stdout) console.log(errAny.stdout.toString());\n if (errAny.stderr) console.error(errAny.stderr.toString());\n\n if (!errAny.stdout && !errAny.stderr) {\n console.error(errAny);\n }\n }\n if (opts?.exitOnError) {\n process.exit((err as any).status ?? 1);\n }\n throw err;\n }\n}\n"]}
@@ -1,7 +0,0 @@
1
- export { ConfigItem } from './chunk-U7RQPX5K.js';
2
- import './chunk-7WB7HK5Z.js';
3
- import './chunk-HDKXXS2X.js';
4
- import './chunk-2PFIYNFA.js';
5
- import './chunk-6PEHRAEP.js';
6
- //# sourceMappingURL=config-item-2FQ6I6PO.js.map
7
- //# sourceMappingURL=config-item-2FQ6I6PO.js.map
@@ -1,14 +0,0 @@
1
- export { commandFn, commandSpec } from './chunk-2EEXFFKL.js';
2
- import './chunk-4A54P4EM.js';
3
- import './chunk-V2MTE4J6.js';
4
- import './chunk-6DXWXIQV.js';
5
- import './chunk-CHQDS2PI.js';
6
- import './chunk-GBCB7Y3B.js';
7
- import './chunk-U7RQPX5K.js';
8
- import './chunk-7WB7HK5Z.js';
9
- import './chunk-HDKXXS2X.js';
10
- import './chunk-2PFIYNFA.js';
11
- import './chunk-XLYSNOR3.js';
12
- import './chunk-6PEHRAEP.js';
13
- //# sourceMappingURL=encrypt.command-K2SBJVQ5.js.map
14
- //# sourceMappingURL=encrypt.command-K2SBJVQ5.js.map
@@ -1,15 +0,0 @@
1
- export { commandFn, commandSpec } from './chunk-XADO6HQG.js';
2
- import './chunk-4A54P4EM.js';
3
- import './chunk-UKFHSMKY.js';
4
- import './chunk-V2MTE4J6.js';
5
- import './chunk-6DXWXIQV.js';
6
- import './chunk-CHQDS2PI.js';
7
- import './chunk-GBCB7Y3B.js';
8
- import './chunk-U7RQPX5K.js';
9
- import './chunk-7WB7HK5Z.js';
10
- import './chunk-HDKXXS2X.js';
11
- import './chunk-2PFIYNFA.js';
12
- import './chunk-XLYSNOR3.js';
13
- import './chunk-6PEHRAEP.js';
14
- //# sourceMappingURL=explain.command-E6MR72IY.js.map
15
- //# sourceMappingURL=explain.command-E6MR72IY.js.map
@@ -1,13 +0,0 @@
1
- export { commandFn, commandSpec } from './chunk-CKWXLVMV.js';
2
- import './chunk-2ABRAKHE.js';
3
- import './chunk-4A54P4EM.js';
4
- import './chunk-CHQDS2PI.js';
5
- import './chunk-GBCB7Y3B.js';
6
- import './chunk-U7RQPX5K.js';
7
- import './chunk-7WB7HK5Z.js';
8
- import './chunk-HDKXXS2X.js';
9
- import './chunk-2PFIYNFA.js';
10
- import './chunk-XLYSNOR3.js';
11
- import './chunk-6PEHRAEP.js';
12
- //# sourceMappingURL=init.command-TGDNXHJ7.js.map
13
- //# sourceMappingURL=init.command-TGDNXHJ7.js.map
@@ -1,13 +0,0 @@
1
- export { commandFn, commandSpec } from './chunk-QNTIIXD5.js';
2
- import './chunk-GXNQVEXD.js';
3
- import './chunk-2ABRAKHE.js';
4
- import './chunk-4A54P4EM.js';
5
- import './chunk-GBCB7Y3B.js';
6
- import './chunk-U7RQPX5K.js';
7
- import './chunk-7WB7HK5Z.js';
8
- import './chunk-HDKXXS2X.js';
9
- import './chunk-2PFIYNFA.js';
10
- import './chunk-XLYSNOR3.js';
11
- import './chunk-6PEHRAEP.js';
12
- //# sourceMappingURL=install-plugin.command-Z2S5DIFS.js.map
13
- //# sourceMappingURL=install-plugin.command-Z2S5DIFS.js.map
@@ -1,15 +0,0 @@
1
- export { commandFn, commandSpec, formatShellValue } from './chunk-VODQDF4Q.js';
2
- import './chunk-4A54P4EM.js';
3
- import './chunk-UKFHSMKY.js';
4
- import './chunk-V2MTE4J6.js';
5
- import './chunk-6DXWXIQV.js';
6
- import './chunk-CHQDS2PI.js';
7
- import './chunk-GBCB7Y3B.js';
8
- import './chunk-U7RQPX5K.js';
9
- import './chunk-7WB7HK5Z.js';
10
- import './chunk-HDKXXS2X.js';
11
- import './chunk-2PFIYNFA.js';
12
- import './chunk-XLYSNOR3.js';
13
- import './chunk-6PEHRAEP.js';
14
- //# sourceMappingURL=load.command-K2IH3646.js.map
15
- //# sourceMappingURL=load.command-K2IH3646.js.map
@@ -1,7 +0,0 @@
1
- export { commandFn, commandSpec } from './chunk-AMNNQL7K.js';
2
- import './chunk-4A54P4EM.js';
3
- import './chunk-6DXWXIQV.js';
4
- import './chunk-7WB7HK5Z.js';
5
- import './chunk-6PEHRAEP.js';
6
- //# sourceMappingURL=lock.command-GL4CLXED.js.map
7
- //# sourceMappingURL=lock.command-GL4CLXED.js.map
@@ -1,15 +0,0 @@
1
- export { commandFn, commandSpec } from './chunk-NJONB6CB.js';
2
- import './chunk-4A54P4EM.js';
3
- import './chunk-UKFHSMKY.js';
4
- import './chunk-V2MTE4J6.js';
5
- import './chunk-6DXWXIQV.js';
6
- import './chunk-CHQDS2PI.js';
7
- import './chunk-GBCB7Y3B.js';
8
- import './chunk-U7RQPX5K.js';
9
- import './chunk-7WB7HK5Z.js';
10
- import './chunk-HDKXXS2X.js';
11
- import './chunk-2PFIYNFA.js';
12
- import './chunk-XLYSNOR3.js';
13
- import './chunk-6PEHRAEP.js';
14
- //# sourceMappingURL=printenv.command-34LGQT6W.js.map
15
- //# sourceMappingURL=printenv.command-34LGQT6W.js.map
@@ -1,15 +0,0 @@
1
- export { commandFn, commandSpec } from './chunk-JEZQ2DFL.js';
2
- import './chunk-4A54P4EM.js';
3
- import './chunk-UKFHSMKY.js';
4
- import './chunk-V2MTE4J6.js';
5
- import './chunk-6DXWXIQV.js';
6
- import './chunk-CHQDS2PI.js';
7
- import './chunk-GBCB7Y3B.js';
8
- import './chunk-U7RQPX5K.js';
9
- import './chunk-7WB7HK5Z.js';
10
- import './chunk-HDKXXS2X.js';
11
- import './chunk-2PFIYNFA.js';
12
- import './chunk-XLYSNOR3.js';
13
- import './chunk-6PEHRAEP.js';
14
- //# sourceMappingURL=reveal.command-WOHYRSYO.js.map
15
- //# sourceMappingURL=reveal.command-WOHYRSYO.js.map
@@ -1,16 +0,0 @@
1
- export { commandFn, commandSpec } from './chunk-LOIJO4MO.js';
2
- import './chunk-4A54P4EM.js';
3
- import './chunk-UKFHSMKY.js';
4
- import './chunk-V2MTE4J6.js';
5
- import './chunk-6DXWXIQV.js';
6
- import './chunk-CHQDS2PI.js';
7
- import './chunk-GBCB7Y3B.js';
8
- import './chunk-U7RQPX5K.js';
9
- import './chunk-7WB7HK5Z.js';
10
- import './chunk-HDKXXS2X.js';
11
- import './chunk-2PFIYNFA.js';
12
- import './chunk-MGWUDHT5.js';
13
- import './chunk-XLYSNOR3.js';
14
- import './chunk-6PEHRAEP.js';
15
- //# sourceMappingURL=run.command-PPC2X2N7.js.map
16
- //# sourceMappingURL=run.command-PPC2X2N7.js.map
@@ -1,13 +0,0 @@
1
- export { commandFn, commandSpec } from './chunk-XTOUG72X.js';
2
- import './chunk-2ABRAKHE.js';
3
- import './chunk-4A54P4EM.js';
4
- import './chunk-CHQDS2PI.js';
5
- import './chunk-GBCB7Y3B.js';
6
- import './chunk-U7RQPX5K.js';
7
- import './chunk-7WB7HK5Z.js';
8
- import './chunk-HDKXXS2X.js';
9
- import './chunk-2PFIYNFA.js';
10
- import './chunk-XLYSNOR3.js';
11
- import './chunk-6PEHRAEP.js';
12
- //# sourceMappingURL=telemetry.command-LIOCXWQK.js.map
13
- //# sourceMappingURL=telemetry.command-LIOCXWQK.js.map
@@ -1,15 +0,0 @@
1
- export { commandFn, commandSpec } from './chunk-QJ6NMN5H.js';
2
- import './chunk-4A54P4EM.js';
3
- import './chunk-UKFHSMKY.js';
4
- import './chunk-V2MTE4J6.js';
5
- import './chunk-6DXWXIQV.js';
6
- import './chunk-CHQDS2PI.js';
7
- import './chunk-GBCB7Y3B.js';
8
- import './chunk-U7RQPX5K.js';
9
- import './chunk-7WB7HK5Z.js';
10
- import './chunk-HDKXXS2X.js';
11
- import './chunk-2PFIYNFA.js';
12
- import './chunk-XLYSNOR3.js';
13
- import './chunk-6PEHRAEP.js';
14
- //# sourceMappingURL=typegen.command-COL35ALE.js.map
15
- //# sourceMappingURL=typegen.command-COL35ALE.js.map