varlock 0.1.1 → 0.1.3

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 (54) hide show
  1. package/dist/auto-load.js +6 -6
  2. package/dist/{chunk-RWBSXJV6.js → chunk-5IMCRQTM.js} +3 -3
  3. package/dist/{chunk-RWBSXJV6.js.map → chunk-5IMCRQTM.js.map} +1 -1
  4. package/dist/{chunk-R66KFGSX.js → chunk-7NW6BFR4.js} +7 -7
  5. package/dist/chunk-7NW6BFR4.js.map +1 -0
  6. package/dist/chunk-7SH6C6WJ.js +18 -0
  7. package/dist/{chunk-5NNVZXCM.js.map → chunk-7SH6C6WJ.js.map} +1 -1
  8. package/dist/{chunk-D7YI7IQX.js → chunk-BL44E664.js} +4 -4
  9. package/dist/{chunk-D7YI7IQX.js.map → chunk-BL44E664.js.map} +1 -1
  10. package/dist/{chunk-H3R4W3XK.js → chunk-F6JOK3GB.js} +3 -3
  11. package/dist/{chunk-H3R4W3XK.js.map → chunk-F6JOK3GB.js.map} +1 -1
  12. package/dist/{chunk-QT5E2RY6.js → chunk-FUDH2TTI.js} +6 -3
  13. package/dist/chunk-FUDH2TTI.js.map +1 -0
  14. package/dist/{chunk-7UWLKQXP.js → chunk-G7ZBO2TN.js} +68 -19
  15. package/dist/chunk-G7ZBO2TN.js.map +1 -0
  16. package/dist/{chunk-7FI2PPMC.js → chunk-HPNRKYVF.js} +3 -3
  17. package/dist/{chunk-7FI2PPMC.js.map → chunk-HPNRKYVF.js.map} +1 -1
  18. package/dist/{chunk-2VZORH2Y.js → chunk-JXRYPLCG.js} +4 -4
  19. package/dist/{chunk-2VZORH2Y.js.map → chunk-JXRYPLCG.js.map} +1 -1
  20. package/dist/{chunk-2JGPOSVQ.js → chunk-MSRPV5WH.js} +7 -6
  21. package/dist/chunk-MSRPV5WH.js.map +1 -0
  22. package/dist/{chunk-WDC67GVB.js → chunk-NSY7JMFV.js} +3 -3
  23. package/dist/{chunk-WDC67GVB.js.map → chunk-NSY7JMFV.js.map} +1 -1
  24. package/dist/{chunk-VYAOZFZB.js → chunk-UIMI2QPX.js} +4 -4
  25. package/dist/{chunk-VYAOZFZB.js.map → chunk-UIMI2QPX.js.map} +1 -1
  26. package/dist/{chunk-IBAUYNXV.js → chunk-YYQ2MFVT.js} +3 -3
  27. package/dist/{chunk-IBAUYNXV.js.map → chunk-YYQ2MFVT.js.map} +1 -1
  28. package/dist/cli/cli-executable.js +12 -12
  29. package/dist/cli/cli-executable.js.map +1 -1
  30. package/dist/dotenv-compat.js +6 -6
  31. package/dist/index.js +7 -7
  32. package/dist/init.command-UNUBEC3G.js +8 -0
  33. package/dist/{init.command-A52ZWKL2.js.map → init.command-UNUBEC3G.js.map} +1 -1
  34. package/dist/lib/exec-sync-varlock.js +1 -1
  35. package/dist/load.command-RBKBJTF5.js +8 -0
  36. package/dist/{load.command-C75DTSKP.js.map → load.command-RBKBJTF5.js.map} +1 -1
  37. package/dist/run.command-6RN6ROVR.js +8 -0
  38. package/dist/{run.command-YSQDB4GE.js.map → run.command-6RN6ROVR.js.map} +1 -1
  39. package/dist/runtime/env.js +1 -1
  40. package/dist/runtime/patch-console.js +2 -2
  41. package/dist/runtime/patch-response.js +2 -2
  42. package/dist/runtime/patch-server-response.js +2 -2
  43. package/dist/telemetry.command-SRZE3UNE.js +8 -0
  44. package/dist/{telemetry.command-JIHKG3ZH.js.map → telemetry.command-SRZE3UNE.js.map} +1 -1
  45. package/package.json +2 -2
  46. package/dist/chunk-2JGPOSVQ.js.map +0 -1
  47. package/dist/chunk-5NNVZXCM.js +0 -18
  48. package/dist/chunk-7UWLKQXP.js.map +0 -1
  49. package/dist/chunk-QT5E2RY6.js.map +0 -1
  50. package/dist/chunk-R66KFGSX.js.map +0 -1
  51. package/dist/init.command-A52ZWKL2.js +0 -8
  52. package/dist/load.command-C75DTSKP.js +0 -8
  53. package/dist/run.command-YSQDB4GE.js +0 -8
  54. package/dist/telemetry.command-JIHKG3ZH.js +0 -8
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/lib/exec-sync-varlock.ts"],"names":[],"mappings":";;;;;AAcO,SAAS,eAAA,CACd,SACA,IAAA,EAIA;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,KAAA,EAAO;AAAA,OACR,CAAA;AACD,MAAA,OAAO,OAAO,QAAA,EAAS;AAAA,IACzB,SAAS,GAAA,EAAK;AAEZ,MAAA,IAAK,GAAA,CAAY,MAAA,KAAW,GAAA,EAAK,MAAM,GAAA;AAAA,IACzC;AAKA,IAAA,IAAI,UAAA,GAAa,QAAQ,GAAA,EAAI;AAC7B,IAAA,OAAO,UAAA,EAAY;AACjB,MAAA,MAAM,eAAA,GAAkB,IAAA,CAAK,IAAA,CAAK,UAAA,EAAY,gBAAgB,MAAM,CAAA;AACpE,MAAA,IAAI,EAAA,CAAG,UAAA,CAAW,eAAe,CAAA,EAAG;AAClC,QAAA,MAAM,mBAAA,GAAsB,IAAA,CAAK,IAAA,CAAK,eAAA,EAAiB,SAAS,CAAA;AAChE,QAAA,IAAI,EAAA,CAAG,UAAA,CAAW,mBAAmB,CAAA,EAAG;AACtC,UAAA,MAAM,SAAS,QAAA,CAAS,CAAA,EAAG,mBAAmB,CAAA,CAAA,EAAI,OAAO,CAAA,CAAA,EAAI;AAAA,YAC3D,GAAG,IAAA;AAAA,YACH,KAAA,EAAO;AAAA,WACR,CAAA;AAGD,UAAA,OAAO,OAAO,QAAA,EAAS;AAAA,QACzB,CAAA,MAAO;AACL,UAAA,MAAM,IAAI,MAAM,mCAAmC,CAAA;AAAA,QACrD;AAAA,MACF;AAEA,MAAA,MAAM,SAAA,GAAY,IAAA,CAAK,OAAA,CAAQ,UAAU,CAAA;AACzC,MAAA,IAAI,cAAc,UAAA,EAAY;AAC9B,MAAA,UAAA,GAAa,IAAA,CAAK,QAAQ,UAAU,CAAA;AAAA,IACtC;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;AAhEgB,MAAA,CAAA,eAAA,EAAA,iBAAA,CAAA","file":"chunk-QT5E2RY6.js","sourcesContent":["import path from 'node:path';\nimport fs from 'node:fs';\nimport { 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\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) {\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 stdio: 'pipe',\n });\n return result.toString();\n } catch (err) {\n // code 127 means not found\n if ((err as any).status !== 127) throw err;\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 // so we'll walk up the directory tree looking for it\n let currentDir = process.cwd();\n while (currentDir) {\n const possibleBinPath = path.join(currentDir, 'node_modules', '.bin');\n if (fs.existsSync(possibleBinPath)) {\n const possibleVarlockPath = path.join(possibleBinPath, 'varlock');\n if (fs.existsSync(possibleVarlockPath)) {\n const result = execSync(`${possibleVarlockPath} ${command}`, {\n ...opts,\n stdio: 'pipe',\n });\n // const commandArgs = command.split(' ').filter(Boolean);\n // const result = execFileSync(possibleVarlockPath, commandArgs, opts);\n return result.toString();\n } else {\n throw new Error('Unable to find varlock executable');\n }\n }\n // when we reach the root, it will stop\n const parentDir = path.dirname(currentDir);\n if (parentDir === currentDir) break;\n currentDir = path.dirname(currentDir);\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 +0,0 @@
1
- {"version":3,"sources":["../src/cli/commands/load.command.ts"],"names":[],"mappings":"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","file":"chunk-R66KFGSX.js","sourcesContent":["import { define } from 'gunshi';\nimport _ from '@env-spec/utils/my-dash';\n\nimport { loadVarlockEnvGraph } from '../../lib/load-graph';\nimport { getItemSummary } from '../../lib/formatting';\nimport { checkForConfigErrors, checkForSchemaErrors } from '../helpers/error-checks';\nimport { type TypedGunshiCommandFn } from '../helpers/gunshi-type-utils';\nimport path from 'node:path';\nimport { FileBasedDataSource } from '../../env-graph';\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', 'json-full'],\n description: 'Format of output',\n default: 'pretty',\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 },\n});\n\n\nexport const commandFn: TypedGunshiCommandFn<typeof commandSpec> = async (ctx) => {\n const { format, 'show-all': showAll } = ctx.values;\n\n const envGraph = await loadVarlockEnvGraph({\n currentEnvFallback: ctx.values.env,\n });\n checkForSchemaErrors(envGraph);\n\n if (!envGraph.rootDataSource) throw new Error('expected root data source to be set');\n\n await envGraph.resolveEnvValues();\n\n // ideally we could be smarter about generating types without needing to resolve values\n // but for now the decorators are all resolved as part of the general resolution process\n const generateTypesDecs = envGraph.getRootDecFns('generateTypes');\n for (const generateTypesDec of generateTypesDecs) {\n const typeGenSettings = await generateTypesDec.resolve();\n\n if (!typeGenSettings.obj.lang) throw new Error('@generateTypes - must set `lang` arg');\n if (typeGenSettings.obj.lang !== 'ts') throw new Error(`@generateTypes - unsupported language: ${typeGenSettings.obj.lang}`);\n if (!typeGenSettings.obj.path) throw new Error('@generateTypes - must set `path` arg');\n if (!_.isString(typeGenSettings.obj.path)) throw new Error('@generateTypes - `path` arg must be a string');\n\n const outputPath = generateTypesDec.dataSource instanceof FileBasedDataSource\n ? path.resolve(generateTypesDec.dataSource.fullPath, '..', typeGenSettings.obj.path)\n : typeGenSettings.obj.path;\n\n await envGraph.generateTypes(typeGenSettings.obj.lang, outputPath);\n }\n\n checkForConfigErrors(envGraph, { showAll });\n\n if (format === 'pretty') {\n for (const itemKey in envGraph.configSchema) {\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 console.log(JSON.stringify(envGraph.getSerializedGraph(), null, 2));\n } else if (format === 'env') {\n const resolvedEnv = envGraph.getResolvedEnvObject();\n for (const key in resolvedEnv) {\n const value = resolvedEnv[key];\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(`${key}=${strValue}`);\n }\n } else {\n throw new Error(`Unknown format: ${format}`);\n }\n\n // const resolvedEnv = envGraph.getResolvedEnvObject();\n // console.log(resolvedEnv);\n};\n"]}
@@ -1,8 +0,0 @@
1
- export { commandFn, commandSpec } from './chunk-D7YI7IQX.js';
2
- import './chunk-IBAUYNXV.js';
3
- import './chunk-33ROL4J5.js';
4
- import './chunk-7UWLKQXP.js';
5
- import './chunk-FGMXIEFA.js';
6
- import './chunk-XN24GZXQ.js';
7
- //# sourceMappingURL=init.command-A52ZWKL2.js.map
8
- //# sourceMappingURL=init.command-A52ZWKL2.js.map
@@ -1,8 +0,0 @@
1
- export { commandFn, commandSpec } from './chunk-R66KFGSX.js';
2
- import './chunk-33ROL4J5.js';
3
- import './chunk-H3R4W3XK.js';
4
- import './chunk-7UWLKQXP.js';
5
- import './chunk-FGMXIEFA.js';
6
- import './chunk-XN24GZXQ.js';
7
- //# sourceMappingURL=load.command-C75DTSKP.js.map
8
- //# sourceMappingURL=load.command-C75DTSKP.js.map
@@ -1,8 +0,0 @@
1
- export { commandFn, commandSpec } from './chunk-VYAOZFZB.js';
2
- import './chunk-33ROL4J5.js';
3
- import './chunk-H3R4W3XK.js';
4
- import './chunk-7UWLKQXP.js';
5
- import './chunk-FGMXIEFA.js';
6
- import './chunk-XN24GZXQ.js';
7
- //# sourceMappingURL=run.command-YSQDB4GE.js.map
8
- //# sourceMappingURL=run.command-YSQDB4GE.js.map
@@ -1,8 +0,0 @@
1
- export { commandFn, commandSpec } from './chunk-2VZORH2Y.js';
2
- import './chunk-IBAUYNXV.js';
3
- import './chunk-33ROL4J5.js';
4
- import './chunk-7UWLKQXP.js';
5
- import './chunk-FGMXIEFA.js';
6
- import './chunk-XN24GZXQ.js';
7
- //# sourceMappingURL=telemetry.command-JIHKG3ZH.js.map
8
- //# sourceMappingURL=telemetry.command-JIHKG3ZH.js.map