varlock 0.0.3 → 0.0.5

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 (102) hide show
  1. package/README.md +48 -25
  2. package/dist/auto-load.js +5 -6
  3. package/dist/{chunk-7UQXFWKN.js → chunk-365YVT72.js} +93 -3
  4. package/dist/chunk-365YVT72.js.map +1 -0
  5. package/dist/{chunk-CPA2D42B.js → chunk-7SCZ3YWG.js} +10 -9
  6. package/dist/chunk-7SCZ3YWG.js.map +1 -0
  7. package/dist/{chunk-RF3YMFUX.js → chunk-C2ZQAQUU.js} +3 -4
  8. package/dist/chunk-C2ZQAQUU.js.map +1 -0
  9. package/dist/chunk-EVHLEWHL.js +59 -0
  10. package/dist/chunk-EVHLEWHL.js.map +1 -0
  11. package/dist/{chunk-3KZR56NU.js → chunk-GAQWSZCY.js} +3 -4
  12. package/dist/chunk-GAQWSZCY.js.map +1 -0
  13. package/dist/{chunk-7QXRUUDC.js → chunk-GCUCCUG5.js} +29 -7
  14. package/dist/chunk-GCUCCUG5.js.map +1 -0
  15. package/dist/{chunk-2CM6PMED.js → chunk-GVAD672U.js} +15 -27
  16. package/dist/chunk-GVAD672U.js.map +1 -0
  17. package/dist/{chunk-RPLDMNWT.js → chunk-HMRN5QZL.js} +3 -3
  18. package/dist/{chunk-RPLDMNWT.js.map → chunk-HMRN5QZL.js.map} +1 -1
  19. package/dist/{chunk-TYL3Q4QG.js → chunk-K2N2TG4M.js} +1227 -1259
  20. package/dist/chunk-K2N2TG4M.js.map +1 -0
  21. package/dist/chunk-LHTLO65N.js +99 -0
  22. package/dist/chunk-LHTLO65N.js.map +1 -0
  23. package/dist/{chunk-OXV76U3Y.js → chunk-LU2R63B4.js} +3 -4
  24. package/dist/chunk-LU2R63B4.js.map +1 -0
  25. package/dist/{chunk-B4UBSMSZ.js → chunk-PUGFIZE3.js} +4 -3
  26. package/dist/chunk-PUGFIZE3.js.map +1 -0
  27. package/dist/chunk-PZE4KJJW.js +14 -0
  28. package/dist/{chunk-3EBGAOLH.js.map → chunk-PZE4KJJW.js.map} +1 -1
  29. package/dist/{chunk-RCHPHIHX.js → chunk-RZT65DRA.js} +2 -2
  30. package/dist/chunk-RZT65DRA.js.map +1 -0
  31. package/dist/chunk-UFAGBKYG.js +54 -0
  32. package/dist/chunk-UFAGBKYG.js.map +1 -0
  33. package/dist/{chunk-5HDQH7UC.js → chunk-VVJO4FC3.js} +28 -169
  34. package/dist/chunk-VVJO4FC3.js.map +1 -0
  35. package/dist/chunk-VVKXMIKQ.js +180 -0
  36. package/dist/chunk-VVKXMIKQ.js.map +1 -0
  37. package/dist/{chunk-OSSLRXKM.js → chunk-WFN3ZXGS.js} +6 -6
  38. package/dist/chunk-WFN3ZXGS.js.map +1 -0
  39. package/dist/chunk-Y7WD33L3.js +17 -0
  40. package/dist/chunk-Y7WD33L3.js.map +1 -0
  41. package/dist/{chunk-NAZPFZOO.js → chunk-Z5KNSSLC.js} +10 -8
  42. package/dist/chunk-Z5KNSSLC.js.map +1 -0
  43. package/dist/cli/cli-executable.js +702 -158
  44. package/dist/cli/cli-executable.js.map +1 -1
  45. package/dist/doctor.command-NUG3BYDQ.js +7 -0
  46. package/dist/{doctor.command-L3P5LBOW.js.map → doctor.command-NUG3BYDQ.js.map} +1 -1
  47. package/dist/dotenv-compat.js +5 -6
  48. package/dist/encrypt.command-AGHQ4KTI.js +7 -0
  49. package/dist/{encrypt.command-VGJABHNK.js.map → encrypt.command-AGHQ4KTI.js.map} +1 -1
  50. package/dist/env-B8lQt2sl.d.ts +42 -0
  51. package/dist/help.command-B7VWA53B.js +5 -0
  52. package/dist/{help.command-YZDL2VEQ.js.map → help.command-B7VWA53B.js.map} +1 -1
  53. package/dist/index.d.ts +1 -2
  54. package/dist/index.js +11 -10
  55. package/dist/index.js.map +1 -1
  56. package/dist/init.command-DHE2Q6FX.js +13 -0
  57. package/dist/{init.command-Q4YBHAEG.js.map → init.command-DHE2Q6FX.js.map} +1 -1
  58. package/dist/load.command-GGE4OANH.js +12 -0
  59. package/dist/{load.command-K22PEH3D.js.map → load.command-GGE4OANH.js.map} +1 -1
  60. package/dist/login.command-25PKQUGR.js +10 -0
  61. package/dist/{login.command-22RUZJLR.js.map → login.command-25PKQUGR.js.map} +1 -1
  62. package/dist/run.command-BLL6AL52.js +12 -0
  63. package/dist/{run.command-DUAYGL6F.js.map → run.command-BLL6AL52.js.map} +1 -1
  64. package/dist/runtime/env.d.ts +1 -27
  65. package/dist/runtime/env.js +1 -1
  66. package/dist/runtime/patch-console.js +2 -3
  67. package/dist/runtime/patch-response.js +2 -3
  68. package/dist/runtime/patch-server-response.js +2 -3
  69. package/dist/telemetry.command-MVL3E366.js +10 -0
  70. package/dist/telemetry.command-MVL3E366.js.map +1 -0
  71. package/package.json +6 -2
  72. package/dist/chunk-2CM6PMED.js.map +0 -1
  73. package/dist/chunk-3EBGAOLH.js +0 -14
  74. package/dist/chunk-3KZR56NU.js.map +0 -1
  75. package/dist/chunk-5HDQH7UC.js.map +0 -1
  76. package/dist/chunk-7QXRUUDC.js.map +0 -1
  77. package/dist/chunk-7UQXFWKN.js.map +0 -1
  78. package/dist/chunk-B4UBSMSZ.js.map +0 -1
  79. package/dist/chunk-CPA2D42B.js.map +0 -1
  80. package/dist/chunk-LQZ6ICSS.js +0 -21
  81. package/dist/chunk-LQZ6ICSS.js.map +0 -1
  82. package/dist/chunk-NAZPFZOO.js.map +0 -1
  83. package/dist/chunk-OSSLRXKM.js.map +0 -1
  84. package/dist/chunk-OXV76U3Y.js.map +0 -1
  85. package/dist/chunk-Q5P7F3WA.js +0 -107
  86. package/dist/chunk-Q5P7F3WA.js.map +0 -1
  87. package/dist/chunk-QCC3P7BT.js +0 -39
  88. package/dist/chunk-QCC3P7BT.js.map +0 -1
  89. package/dist/chunk-RCHPHIHX.js.map +0 -1
  90. package/dist/chunk-RF3YMFUX.js.map +0 -1
  91. package/dist/chunk-TYL3Q4QG.js.map +0 -1
  92. package/dist/chunk-XHOJF7U7.js +0 -12
  93. package/dist/chunk-XHOJF7U7.js.map +0 -1
  94. package/dist/doctor.command-L3P5LBOW.js +0 -6
  95. package/dist/encrypt.command-VGJABHNK.js +0 -6
  96. package/dist/help.command-YZDL2VEQ.js +0 -5
  97. package/dist/init.command-Q4YBHAEG.js +0 -11
  98. package/dist/load.command-K22PEH3D.js +0 -10
  99. package/dist/login.command-22RUZJLR.js +0 -7
  100. package/dist/opt-out.command-Y4KUQ6PQ.js +0 -5
  101. package/dist/opt-out.command-Y4KUQ6PQ.js.map +0 -1
  102. package/dist/run.command-DUAYGL6F.js +0 -10
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/lib/ascii-art.ts","../../src/cli/helpers/analytics.ts","../../package.json","../../src/cli/cli-executable.ts"],"names":["commandSpec"],"mappings":"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","file":"cli-executable.js","sourcesContent":["import ansis from 'ansis';\n\nexport const VARLOCK_BANNER2 = [\n ' ▄ ██ █▄▄▄▄ █ ████▄ ▄█▄ █ █▀ ',\n ' █ █ █ █ ▄▀ █ █ █ █▀ ▀▄ █▄█ ',\n '█ █ █▄▄█ █▀▀▌ █ █ █ █ ▀ █▀▄ ',\n ' █ █ █ █ █ █ ███▄ ▀████ █▄ ▄▀ █ █ ',\n ' █ █ █ █ ▀ ▀███▀ █ ',\n ' █▐ █ ▀ ▀ ',\n ' ▐ ▀ ',\n].join('\\n');\n\nexport const VARLOCK_BANNER = [\n '',\n ' ██▒ █▓ ▄▄▄ ██▀███ ██▓ ▒█████ ▄████▄ ██ ▄█▀',\n ' ▓██░ █▒▒████▄ ▓██ ▒ ██▒▓██▒ ▒██▒ ██▒▒██▀ ▀█ ██▄█▒ ',\n ' ▓██ █▒░▒██ ▀█▄ ▓██ ░▄█ ▒▒██░ ▒██░ ██▒▒██ ▄ ▓███▄░ ',\n ' ▒██ █░░░██▄▄▄▄██ ▒██▀▀█▄ ▒██░ ▒██ ██░▒██▄ ▄██▒▓██ █▄ ',\n ' ▒▀█░ ▓█ ▓██▒░██▓ ▒██▒░██████▒░ █████▒░▒ ████▀ ░▒██▒ █▄',\n ' ░ ▐░ ▒▒ ▓▒█░░ ▒▓ ░▒▓░░ ▒░▓ ░░ ▒░▒░▒░ ░ ░▒ ▒ ░▒ ▒▒ ▓▒',\n ' ░ ░░ ▒ ▒▒ ░ ░▒ ░ ▒░░ ░ ▒ ░ ░ ▒ ▒░ ░ ▒ ░ ░▒ ▒░',\n ' ░░ ░ ▒ ░░ ░ ░ ░ ░ ░ ░ ▒ ░ ░ ░░ ░ ',\n ' ░ ░ ░ ░ ░ ░ ░ ░ ░ ░ ░ ░ ',\n // ' ░ ░ ',\n].join('\\n');\n\n\nexport const FIRE = [\n ' ▚▐▟ ',\n '▗▗█▓▓█ ',\n '▟█▓░▓█▙',\n '▜█░▒░█▛',\n ' ▜▓░▓▛ ',\n ' ▀▀▀ ',\n].join('\\n');\n\n// const SOLID_BLOCK_CHARS = '▀▁▂▃▄▅▆▇█▉▊▋▌▍▎▏▐▔▕▖▗▘▙▚▛▜▝▞▟';\n// const LIGHT_BLOCK_CHARS = '░▒▓';\n\nexport const VARLOCK_BANNER_COLOR = VARLOCK_BANNER\n .replaceAll(/([▀▁▂▃▄▅▆▇█▉▊▋▌▍▎▏▐▔▕▖▗▘▙▚▛▜▝▞▟]+)/g, (m) => ansis.hex('#DD0000')(m))\n .replaceAll(/([▓░▒]+)/g, (m) => ansis.blue(m));\n\n\n","import { homedir } from 'os';\nimport { join } from 'path';\nimport { existsSync, readFileSync } from 'node:fs';\n\nimport { CONFIG } from '../../config';\n\nfunction checkIsOptedOut() {\n // Check environment variable first\n if (process.env.PH_OPT_OUT === 'true') {\n return true;\n }\n\n // Then check config file\n const configPath = join(homedir(), '.varlock', 'config.json');\n if (existsSync(configPath)) {\n try {\n const configContent = readFileSync(configPath, 'utf-8');\n const config = JSON.parse(configContent);\n return config.analytics_opt_out === true;\n } catch (error) {\n console.debug('Failed to read analytics config:', error);\n }\n }\n return false;\n}\n\nconst DEBUG_PH = !!process.env.DEBUG_PH;\n\nconst isOptedOut = checkIsOptedOut();\nif (DEBUG_PH) console.log('posthog opted out: ', isOptedOut);\n\nasync function posthogCapture(event: string, properties?: Record<string, any>) {\n if (isOptedOut) return;\n\n const payload = {\n api_key: CONFIG.POSTHOG_API_KEY,\n event,\n properties: {\n $process_person_profile: false,\n ...properties,\n },\n distinct_id: 'anonymous',\n };\n\n const res = await fetch(`${CONFIG.POSTHOG_HOST}/i/v0/e/`, {\n method: 'POST',\n body: JSON.stringify(payload),\n headers: {\n 'Content-Type': 'application/json',\n },\n });\n if (DEBUG_PH) console.log('res', await res.text());\n}\n\nexport async function trackCommand(command: string, properties?: Record<string, any>) {\n await posthogCapture('cli_command_executed', {\n command,\n ...properties,\n });\n}\n\nexport async function trackInstall(source: 'brew' | 'curl') {\n await posthogCapture('cli_install', {\n source,\n });\n}\n\n","{\n \"name\": \"varlock\",\n \"version\": \"0.0.3\",\n \"description\": \"\",\n \"main\": \"index.js\",\n \"type\": \"module\",\n \"author\": \"dmno-dev\",\n \"license\": \"MIT\",\n \"repository\": {\n \"type\": \"git\",\n \"url\": \"https://github.com/dmno-dev/varlock.git\",\n \"directory\": \"packages/varlock\"\n },\n \"scripts\": {\n \"build\": \"tsup\",\n \"build:sea\": \"tsup --config tsup-sea.config.ts\",\n \"dev\": \"tsup\",\n \"test\": \"vitest\",\n \"lint\": \"eslint .\",\n \"lint:fix\": \"pnpm run lint --fix\"\n },\n \"keywords\": [],\n \"files\": [\n \"/bin\",\n \"/dist\"\n ],\n \"bin\": {\n \"varlock\": \"./bin/cli.js\"\n },\n \"engines\": {\n \"node\": \">=22\"\n },\n \"exports\": {\n \".\": {\n \"ts-src\": \"./src/index.ts\",\n \"types\": \"./dist/index.d.ts\",\n \"default\": \"./dist/index.js\"\n },\n \"./env\": {\n \"ts-src\": \"./src/runtime/env.ts\",\n \"types\": \"./dist/runtime/env.d.ts\",\n \"default\": \"./dist/runtime/env.js\"\n },\n \"./auto-load\": {\n \"ts-src\": \"./src/auto-load.ts\",\n \"types\": \"./dist/auto-load.d.ts\",\n \"default\": \"./dist/auto-load.js\"\n },\n \"./patch-console\": {\n \"ts-src\": \"./src/runtime/patch-console.ts\",\n \"types\": \"./dist/runtime/patch-console.d.ts\",\n \"default\": \"./dist/runtime/patch-console.js\"\n },\n \"./patch-response\": {\n \"ts-src\": \"./src/runtime/patch-response.ts\",\n \"types\": \"./dist/runtime/patch-response.d.ts\",\n \"default\": \"./dist/runtime/patch-response.js\"\n },\n \"./patch-server-response\": {\n \"ts-src\": \"./src/runtime/patch-server-response.ts\",\n \"types\": \"./dist/runtime/patch-server-response.d.ts\",\n \"default\": \"./dist/runtime/patch-server-response.js\"\n },\n \"./config\": {\n \"ts-src\": \"./src/config.ts\",\n \"types\": \"./dist/dotenv-compat.d.ts\",\n \"default\": \"./dist/dotenv-compat.js\"\n },\n \"./config.js\": {\n \"ts-src\": \"./src/config.ts\",\n \"types\": \"./dist/dotenv-compat.d.ts\",\n \"default\": \"./dist/dotenv-compat.js\"\n }\n },\n \"dependencies\": {\n \"@env-spec/parser\": \"workspace:*\",\n \"debug\": \"catalog:\",\n \"execa\": \"^9.6.0\",\n \"which\": \"^5.0.0\"\n },\n \"devDependencies\": {\n \"@clack/core\": \"^0.5.0\",\n \"@clack/prompts\": \"^0.11.0\",\n \"@env-spec/env-graph\": \"workspace:*\",\n \"@env-spec/utils\": \"workspace:*\",\n \"@sindresorhus/is\": \"catalog:\",\n \"@types/debug\": \"catalog:\",\n \"@types/node\": \"catalog:\",\n \"@types/which\": \"^3.0.4\",\n \"@yao-pkg/pkg\": \"^6.5.1\",\n \"ansis\": \"catalog:\",\n \"browser-or-node\": \"^3.0.0\",\n \"gunshi\": \"^0.26.3\",\n \"is-unicode-supported\": \"^2.1.0\",\n \"outdent\": \"catalog:\",\n \"tsup\": \"catalog:\",\n \"vitest\": \"catalog:\"\n }\n}\n","import { cli, Command, define } from 'gunshi';\n\nimport { VARLOCK_BANNER, VARLOCK_BANNER_COLOR } from '../lib/ascii-art';\nimport { CliExitError } from './helpers/exit-error';\nimport { EnvSourceParseError } from '@env-spec/env-graph';\nimport ansis from 'ansis';\nimport { fmt } from './helpers/pretty-format';\nimport { trackCommand, trackInstall } from './helpers/analytics';\nimport { InvalidEnvError } from './helpers/error-checks';\nimport packageJson from '../../package.json';\n\n// we'll import just the spec from each, so the implementations can be lazy loaded\nimport { commandSpec as initCommandSpec } from './commands/init.command';\nimport { commandSpec as loadCommandSpec } from './commands/load.command';\nimport { commandSpec as runCommandSpec } from './commands/run.command';\nimport { commandSpec as encryptCommandSpec } from './commands/encrypt.command';\nimport { commandSpec as doctorCommandSpec } from './commands/doctor.command';\nimport { commandSpec as helpCommandSpec } from './commands/help.command';\nimport { commandSpec as optOutCommandSpec } from './commands/opt-out.command';\nimport { commandSpec as loginCommandSpec } from './commands/login.command';\n\n\nconst mainCommand = {\n run: () => {\n console.log('Use one of the sub-commands...');\n },\n};\n\n\n// TODO: this is not splitting the bundle correctly to actually lazy load the command fns\n\nfunction buildLazyCommand(\n commandSpec: Command<any>,\n loadCommandFn: () => Promise<{ commandSpec: Command<any>, commandFn: any }>,\n) {\n const commandName = commandSpec.name!;\n return {\n ...commandSpec,\n run: async (...args: Array<any>) => {\n // Track command execution\n await trackCommand(commandName, { command: commandName });\n // load the command fn and run it\n const commandSpecAndFn = await loadCommandFn();\n return commandSpecAndFn.commandFn(...args);\n },\n };\n}\n\nconst subCommands = new Map();\nsubCommands.set('init', buildLazyCommand(initCommandSpec, async () => await import('./commands/init.command')));\nsubCommands.set('load', buildLazyCommand(loadCommandSpec, async () => await import('./commands/load.command')));\nsubCommands.set('run', buildLazyCommand(runCommandSpec, async () => await import('./commands/run.command')));\nsubCommands.set('encrypt', buildLazyCommand(encryptCommandSpec, async () => await import('./commands/encrypt.command')));\nsubCommands.set('doctor', buildLazyCommand(doctorCommandSpec, async () => await import('./commands/doctor.command')));\nsubCommands.set('help', buildLazyCommand(helpCommandSpec, async () => await import('./commands/help.command')));\nsubCommands.set('opt-out', buildLazyCommand(optOutCommandSpec, async () => await import('./commands/opt-out.command')));\nsubCommands.set('login', buildLazyCommand(loginCommandSpec, async () => await import('./commands/login.command')));\n\n// subCommandsArray.forEach((commandSpec) => {\n// const commandName = commandSpec.name!;\n// subCommands.set(commandName, {\n// ...commandSpec,\n// run: async (...args: Array<any>) => {\n// const commandSpecAndFn = await import(`./commands/${commandName}.command.ts`);\n// // Track command execution\n// await trackCommand(commandName, { command: commandName });\n// // Run the actual command\n// return commandSpecAndFn.commandFn(...args);\n// },\n// });\n// });\n\n\n(async function go() {\n try {\n let args = process.argv.slice(2);\n\n // TODO: remove this once we have a better way to re-trigger help\n if (args[0] === 'help') args = ['--help'];\n\n // track standalone installs via hombrew/curl\n if (__VARLOCK_SEA_BUILD__) {\n if (args[0] === '--post-install') {\n await trackInstall(args[1] as 'brew' | 'curl');\n // TODO track version, inject post build?\n process.exit(0);\n }\n }\n\n await cli(args, mainCommand, {\n name: 'varlock',\n description: 'Encrypt and protect your env vars',\n version: packageJson.version,\n subCommands,\n renderHeader: async (ctx) => {\n // do not show header if we are running a sub-command\n if (ctx.name) return '';\n return VARLOCK_BANNER_COLOR;\n },\n });\n process.exit(0);\n } catch (error) {\n if (error instanceof CliExitError || error instanceof InvalidEnvError) {\n // in watch mode, we just log but do not actually exit\n console.error(error.getFormattedOutput());\n // TODO: we'll probably want to implement watch mode, so it wont actually exit\n } else if (error instanceof EnvSourceParseError) {\n console.log(`🚨 Error encountered while loading ${error.location.path}`);\n console.log(error.message);\n\n const errLoc = error.location as any;\n\n const errPreview = [\n errLoc.lineStr,\n `${ansis.gray('-'.repeat(errLoc.colNumber - 1))}${ansis.red('^')}`,\n ].join('\\n');\n\n console.log('Error parsing .env file');\n console.log(fmt.filePath(`${errLoc.path}:${errLoc.lineNumber}:${errLoc.colNumber}`));\n console.log(errPreview);\n\n process.exit(1);\n } else {\n throw error;\n }\n\n process.exit(1);\n }\n}());\n"]}
1
+ {"version":3,"sources":["../../../../node_modules/.pnpm/ci-info@4.3.0/node_modules/ci-info/vendors.json","../../../../node_modules/.pnpm/ci-info@4.3.0/node_modules/ci-info/index.js","../../src/lib/ascii-art.ts","../../src/cli/helpers/telemetry.ts","../../../../node_modules/.pnpm/is-docker@3.0.0/node_modules/is-docker/index.js","../../../../node_modules/.pnpm/is-inside-container@1.0.0/node_modules/is-inside-container/index.js","../../../../node_modules/.pnpm/is-wsl@3.1.0/node_modules/is-wsl/index.js","../../package.json","../../src/cli/cli-executable.ts"],"names":["isCI","fs","process","os","ciName","commandSpec"],"mappings":"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","file":"cli-executable.js","sourcesContent":["[\n {\n \"name\": \"Agola CI\",\n \"constant\": \"AGOLA\",\n \"env\": \"AGOLA_GIT_REF\",\n \"pr\": \"AGOLA_PULL_REQUEST_ID\"\n },\n {\n \"name\": \"Appcircle\",\n \"constant\": \"APPCIRCLE\",\n \"env\": \"AC_APPCIRCLE\",\n \"pr\": {\n \"env\": \"AC_GIT_PR\",\n \"ne\": \"false\"\n }\n },\n {\n \"name\": \"AppVeyor\",\n \"constant\": \"APPVEYOR\",\n \"env\": \"APPVEYOR\",\n \"pr\": \"APPVEYOR_PULL_REQUEST_NUMBER\"\n },\n {\n \"name\": \"AWS CodeBuild\",\n \"constant\": \"CODEBUILD\",\n \"env\": \"CODEBUILD_BUILD_ARN\",\n \"pr\": {\n \"env\": \"CODEBUILD_WEBHOOK_EVENT\",\n \"any\": [\n \"PULL_REQUEST_CREATED\",\n \"PULL_REQUEST_UPDATED\",\n \"PULL_REQUEST_REOPENED\"\n ]\n }\n },\n {\n \"name\": \"Azure Pipelines\",\n \"constant\": \"AZURE_PIPELINES\",\n \"env\": \"TF_BUILD\",\n \"pr\": {\n \"BUILD_REASON\": \"PullRequest\"\n }\n },\n {\n \"name\": \"Bamboo\",\n \"constant\": \"BAMBOO\",\n \"env\": \"bamboo_planKey\"\n },\n {\n \"name\": \"Bitbucket Pipelines\",\n \"constant\": \"BITBUCKET\",\n \"env\": \"BITBUCKET_COMMIT\",\n \"pr\": \"BITBUCKET_PR_ID\"\n },\n {\n \"name\": \"Bitrise\",\n \"constant\": \"BITRISE\",\n \"env\": \"BITRISE_IO\",\n \"pr\": \"BITRISE_PULL_REQUEST\"\n },\n {\n \"name\": \"Buddy\",\n \"constant\": \"BUDDY\",\n \"env\": \"BUDDY_WORKSPACE_ID\",\n \"pr\": \"BUDDY_EXECUTION_PULL_REQUEST_ID\"\n },\n {\n \"name\": \"Buildkite\",\n \"constant\": \"BUILDKITE\",\n \"env\": \"BUILDKITE\",\n \"pr\": {\n \"env\": \"BUILDKITE_PULL_REQUEST\",\n \"ne\": \"false\"\n }\n },\n {\n \"name\": \"CircleCI\",\n \"constant\": \"CIRCLE\",\n \"env\": \"CIRCLECI\",\n \"pr\": \"CIRCLE_PULL_REQUEST\"\n },\n {\n \"name\": \"Cirrus CI\",\n \"constant\": \"CIRRUS\",\n \"env\": \"CIRRUS_CI\",\n \"pr\": \"CIRRUS_PR\"\n },\n {\n \"name\": \"Cloudflare Pages\",\n \"constant\": \"CLOUDFLARE_PAGES\",\n \"env\": \"CF_PAGES\"\n },\n {\n \"name\": \"Cloudflare Workers\",\n \"constant\": \"CLOUDFLARE_WORKERS\",\n \"env\": \"WORKERS_CI\"\n },\n {\n \"name\": \"Codefresh\",\n \"constant\": \"CODEFRESH\",\n \"env\": \"CF_BUILD_ID\",\n \"pr\": {\n \"any\": [\n \"CF_PULL_REQUEST_NUMBER\",\n \"CF_PULL_REQUEST_ID\"\n ]\n }\n },\n {\n \"name\": \"Codemagic\",\n \"constant\": \"CODEMAGIC\",\n \"env\": \"CM_BUILD_ID\",\n \"pr\": \"CM_PULL_REQUEST\"\n },\n {\n \"name\": \"Codeship\",\n \"constant\": \"CODESHIP\",\n \"env\": {\n \"CI_NAME\": \"codeship\"\n }\n },\n {\n \"name\": \"Drone\",\n \"constant\": \"DRONE\",\n \"env\": \"DRONE\",\n \"pr\": {\n \"DRONE_BUILD_EVENT\": \"pull_request\"\n }\n },\n {\n \"name\": \"dsari\",\n \"constant\": \"DSARI\",\n \"env\": \"DSARI\"\n },\n {\n \"name\": \"Earthly\",\n \"constant\": \"EARTHLY\",\n \"env\": \"EARTHLY_CI\"\n },\n {\n \"name\": \"Expo Application Services\",\n \"constant\": \"EAS\",\n \"env\": \"EAS_BUILD\"\n },\n {\n \"name\": \"Gerrit\",\n \"constant\": \"GERRIT\",\n \"env\": \"GERRIT_PROJECT\"\n },\n {\n \"name\": \"Gitea Actions\",\n \"constant\": \"GITEA_ACTIONS\",\n \"env\": \"GITEA_ACTIONS\"\n },\n {\n \"name\": \"GitHub Actions\",\n \"constant\": \"GITHUB_ACTIONS\",\n \"env\": \"GITHUB_ACTIONS\",\n \"pr\": {\n \"GITHUB_EVENT_NAME\": \"pull_request\"\n }\n },\n {\n \"name\": \"GitLab CI\",\n \"constant\": \"GITLAB\",\n \"env\": \"GITLAB_CI\",\n \"pr\": \"CI_MERGE_REQUEST_ID\"\n },\n {\n \"name\": \"GoCD\",\n \"constant\": \"GOCD\",\n \"env\": \"GO_PIPELINE_LABEL\"\n },\n {\n \"name\": \"Google Cloud Build\",\n \"constant\": \"GOOGLE_CLOUD_BUILD\",\n \"env\": \"BUILDER_OUTPUT\"\n },\n {\n \"name\": \"Harness CI\",\n \"constant\": \"HARNESS\",\n \"env\": \"HARNESS_BUILD_ID\"\n },\n {\n \"name\": \"Heroku\",\n \"constant\": \"HEROKU\",\n \"env\": {\n \"env\": \"NODE\",\n \"includes\": \"/app/.heroku/node/bin/node\"\n }\n },\n {\n \"name\": \"Hudson\",\n \"constant\": \"HUDSON\",\n \"env\": \"HUDSON_URL\"\n },\n {\n \"name\": \"Jenkins\",\n \"constant\": \"JENKINS\",\n \"env\": [\n \"JENKINS_URL\",\n \"BUILD_ID\"\n ],\n \"pr\": {\n \"any\": [\n \"ghprbPullId\",\n \"CHANGE_ID\"\n ]\n }\n },\n {\n \"name\": \"LayerCI\",\n \"constant\": \"LAYERCI\",\n \"env\": \"LAYERCI\",\n \"pr\": \"LAYERCI_PULL_REQUEST\"\n },\n {\n \"name\": \"Magnum CI\",\n \"constant\": \"MAGNUM\",\n \"env\": \"MAGNUM\"\n },\n {\n \"name\": \"Netlify CI\",\n \"constant\": \"NETLIFY\",\n \"env\": \"NETLIFY\",\n \"pr\": {\n \"env\": \"PULL_REQUEST\",\n \"ne\": \"false\"\n }\n },\n {\n \"name\": \"Nevercode\",\n \"constant\": \"NEVERCODE\",\n \"env\": \"NEVERCODE\",\n \"pr\": {\n \"env\": \"NEVERCODE_PULL_REQUEST\",\n \"ne\": \"false\"\n }\n },\n {\n \"name\": \"Prow\",\n \"constant\": \"PROW\",\n \"env\": \"PROW_JOB_ID\"\n },\n {\n \"name\": \"ReleaseHub\",\n \"constant\": \"RELEASEHUB\",\n \"env\": \"RELEASE_BUILD_ID\"\n },\n {\n \"name\": \"Render\",\n \"constant\": \"RENDER\",\n \"env\": \"RENDER\",\n \"pr\": {\n \"IS_PULL_REQUEST\": \"true\"\n }\n },\n {\n \"name\": \"Sail CI\",\n \"constant\": \"SAIL\",\n \"env\": \"SAILCI\",\n \"pr\": \"SAIL_PULL_REQUEST_NUMBER\"\n },\n {\n \"name\": \"Screwdriver\",\n \"constant\": \"SCREWDRIVER\",\n \"env\": \"SCREWDRIVER\",\n \"pr\": {\n \"env\": \"SD_PULL_REQUEST\",\n \"ne\": \"false\"\n }\n },\n {\n \"name\": \"Semaphore\",\n \"constant\": \"SEMAPHORE\",\n \"env\": \"SEMAPHORE\",\n \"pr\": \"PULL_REQUEST_NUMBER\"\n },\n {\n \"name\": \"Sourcehut\",\n \"constant\": \"SOURCEHUT\",\n \"env\": {\n \"CI_NAME\": \"sourcehut\"\n }\n },\n {\n \"name\": \"Strider CD\",\n \"constant\": \"STRIDER\",\n \"env\": \"STRIDER\"\n },\n {\n \"name\": \"TaskCluster\",\n \"constant\": \"TASKCLUSTER\",\n \"env\": [\n \"TASK_ID\",\n \"RUN_ID\"\n ]\n },\n {\n \"name\": \"TeamCity\",\n \"constant\": \"TEAMCITY\",\n \"env\": \"TEAMCITY_VERSION\"\n },\n {\n \"name\": \"Travis CI\",\n \"constant\": \"TRAVIS\",\n \"env\": \"TRAVIS\",\n \"pr\": {\n \"env\": \"TRAVIS_PULL_REQUEST\",\n \"ne\": \"false\"\n }\n },\n {\n \"name\": \"Vela\",\n \"constant\": \"VELA\",\n \"env\": \"VELA\",\n \"pr\": {\n \"VELA_PULL_REQUEST\": \"1\"\n }\n },\n {\n \"name\": \"Vercel\",\n \"constant\": \"VERCEL\",\n \"env\": {\n \"any\": [\n \"NOW_BUILDER\",\n \"VERCEL\"\n ]\n },\n \"pr\": \"VERCEL_GIT_PULL_REQUEST_ID\"\n },\n {\n \"name\": \"Visual Studio App Center\",\n \"constant\": \"APPCENTER\",\n \"env\": \"APPCENTER_BUILD_ID\"\n },\n {\n \"name\": \"Woodpecker\",\n \"constant\": \"WOODPECKER\",\n \"env\": {\n \"CI\": \"woodpecker\"\n },\n \"pr\": {\n \"CI_BUILD_EVENT\": \"pull_request\"\n }\n },\n {\n \"name\": \"Xcode Cloud\",\n \"constant\": \"XCODE_CLOUD\",\n \"env\": \"CI_XCODE_PROJECT\",\n \"pr\": \"CI_PULL_REQUEST_NUMBER\"\n },\n {\n \"name\": \"Xcode Server\",\n \"constant\": \"XCODE_SERVER\",\n \"env\": \"XCS\"\n }\n]\n","'use strict'\n\nconst vendors = require('./vendors.json')\n\nconst env = process.env\n\n// Used for testing only\nObject.defineProperty(exports, '_vendors', {\n value: vendors.map(function (v) {\n return v.constant\n })\n})\n\nexports.name = null\nexports.isPR = null\nexports.id = null\n\nvendors.forEach(function (vendor) {\n const envs = Array.isArray(vendor.env) ? vendor.env : [vendor.env]\n const isCI = envs.every(function (obj) {\n return checkEnv(obj)\n })\n\n exports[vendor.constant] = isCI\n\n if (!isCI) {\n return\n }\n\n exports.name = vendor.name\n exports.isPR = checkPR(vendor)\n exports.id = vendor.constant\n})\n\nexports.isCI = !!(\n env.CI !== 'false' && // Bypass all checks if CI env is explicitly set to 'false'\n (env.BUILD_ID || // Jenkins, Cloudbees\n env.BUILD_NUMBER || // Jenkins, TeamCity\n env.CI || // Travis CI, CircleCI, Cirrus CI, Gitlab CI, Appveyor, CodeShip, dsari, Cloudflare Pages/Workers\n env.CI_APP_ID || // Appflow\n env.CI_BUILD_ID || // Appflow\n env.CI_BUILD_NUMBER || // Appflow\n env.CI_NAME || // Codeship and others\n env.CONTINUOUS_INTEGRATION || // Travis CI, Cirrus CI\n env.RUN_ID || // TaskCluster, dsari\n exports.name ||\n false)\n)\n\nfunction checkEnv (obj) {\n // \"env\": \"CIRRUS\"\n if (typeof obj === 'string') return !!env[obj]\n\n // \"env\": { \"env\": \"NODE\", \"includes\": \"/app/.heroku/node/bin/node\" }\n if ('env' in obj) {\n // Currently there are no other types, uncomment when there are\n // if ('includes' in obj) {\n return env[obj.env] && env[obj.env].includes(obj.includes)\n // }\n }\n\n if ('any' in obj) {\n return obj.any.some(function (k) {\n return !!env[k]\n })\n }\n\n return Object.keys(obj).every(function (k) {\n return env[k] === obj[k]\n })\n}\n\nfunction checkPR (vendor) {\n switch (typeof vendor.pr) {\n case 'string':\n // \"pr\": \"CIRRUS_PR\"\n return !!env[vendor.pr]\n case 'object':\n if ('env' in vendor.pr) {\n if ('any' in vendor.pr) {\n // \"pr\": { \"env\": \"CODEBUILD_WEBHOOK_EVENT\", \"any\": [\"PULL_REQUEST_CREATED\", \"PULL_REQUEST_UPDATED\"] }\n return vendor.pr.any.some(function (key) {\n return env[vendor.pr.env] === key\n })\n } else {\n // \"pr\": { \"env\": \"BUILDKITE_PULL_REQUEST\", \"ne\": \"false\" }\n return vendor.pr.env in env && env[vendor.pr.env] !== vendor.pr.ne\n }\n } else if ('any' in vendor.pr) {\n // \"pr\": { \"any\": [\"ghprbPullId\", \"CHANGE_ID\"] }\n return vendor.pr.any.some(function (key) {\n return !!env[key]\n })\n } else {\n // \"pr\": { \"DRONE_BUILD_EVENT\": \"pull_request\" }\n return checkEnv(vendor.pr)\n }\n default:\n // PR detection not supported for this vendor\n return null\n }\n}\n","import ansis from 'ansis';\n\nexport const VARLOCK_BANNER2 = [\n ' ▄ ██ █▄▄▄▄ █ ████▄ ▄█▄ █ █▀ ',\n ' █ █ █ █ ▄▀ █ █ █ █▀ ▀▄ █▄█ ',\n '█ █ █▄▄█ █▀▀▌ █ █ █ █ ▀ █▀▄ ',\n ' █ █ █ █ █ █ ███▄ ▀████ █▄ ▄▀ █ █ ',\n ' █ █ █ █ ▀ ▀███▀ █ ',\n ' █▐ █ ▀ ▀ ',\n ' ▐ ▀ ',\n].join('\\n');\n\nexport const VARLOCK_BANNER = [\n '',\n ' ██▒ █▓ ▄▄▄ ██▀███ ██▓ ▒█████ ▄████▄ ██ ▄█▀',\n ' ▓██░ █▒▒████▄ ▓██ ▒ ██▒▓██▒ ▒██▒ ██▒▒██▀ ▀█ ██▄█▒ ',\n ' ▓██ █▒░▒██ ▀█▄ ▓██ ░▄█ ▒▒██░ ▒██░ ██▒▒██ ▄ ▓███▄░ ',\n ' ▒██ █░░░██▄▄▄▄██ ▒██▀▀█▄ ▒██░ ▒██ ██░▒██▄ ▄██▒▓██ █▄ ',\n ' ▒▀█░ ▓█ ▓██▒░██▓ ▒██▒░██████▒░ █████▒░▒ ████▀ ░▒██▒ █▄',\n ' ░ ▐░ ▒▒ ▓▒█░░ ▒▓ ░▒▓░░ ▒░▓ ░░ ▒░▒░▒░ ░ ░▒ ▒ ░▒ ▒▒ ▓▒',\n ' ░ ░░ ▒ ▒▒ ░ ░▒ ░ ▒░░ ░ ▒ ░ ░ ▒ ▒░ ░ ▒ ░ ░▒ ▒░',\n ' ░░ ░ ▒ ░░ ░ ░ ░ ░ ░ ░ ▒ ░ ░ ░░ ░ ',\n ' ░ ░ ░ ░ ░ ░ ░ ░ ░ ░ ░ ░ ',\n // ' ░ ░ ',\n].join('\\n');\n\n\nexport const FIRE = [\n ' ▚▐▟ ',\n '▗▗█▓▓█ ',\n '▟█▓░▓█▙',\n '▜█░▒░█▛',\n ' ▜▓░▓▛ ',\n ' ▀▀▀ ',\n].join('\\n');\n\n// const SOLID_BLOCK_CHARS = '▀▁▂▃▄▅▆▇█▉▊▋▌▍▎▏▐▔▕▖▗▘▙▚▛▜▝▞▟';\n// const LIGHT_BLOCK_CHARS = '░▒▓';\n\nexport const VARLOCK_BANNER_COLOR = VARLOCK_BANNER\n .replaceAll(/([▀▁▂▃▄▅▆▇█▉▊▋▌▍▎▏▐▔▕▖▗▘▙▚▛▜▝▞▟]+)/g, (m) => ansis.hex('#DD0000')(m))\n .replaceAll(/([▓░▒]+)/g, (m) => ansis.blue(m));\n\n\n","import os from 'node:os';\nimport crypto, { BinaryLike, createHash } from 'node:crypto';\nimport { join } from 'node:path';\nimport {\n existsSync, readFileSync, writeFileSync, readdirSync,\n mkdirSync,\n} from 'node:fs';\nimport { asyncExitHook } from 'exit-hook';\nimport Debug from 'debug';\nimport { name as ciName, isCI } from 'ci-info';\nimport isDocker from 'is-docker';\nimport isWSL from 'is-wsl';\n\n\nimport packageJson from '../../../package.json';\n\nimport { CONFIG } from '../../config';\n\n\nconst debug = Debug('varlock:telemetry');\n\nconst TRUE_ENV_VAR_VALUES = ['true', '1', 't'];\n\nconst varlockConfigDirPath = join(os.homedir(), '.varlock');\nconst varlockConfigFilePath = join(varlockConfigDirPath, 'config.json');\nlet varlockConfigFileContents: Record<string, any> | undefined;\nfunction getConfigFileContents() {\n if (varlockConfigFileContents) return varlockConfigFileContents;\n try {\n const configContent = readFileSync(varlockConfigFilePath, 'utf-8');\n varlockConfigFileContents = JSON.parse(configContent);\n return varlockConfigFileContents;\n } catch (error) {\n debug('Failed to read varlock config:', error);\n return {};\n }\n}\n\n// we will identify users using a random UUID stored in the `~/.varlock/config.json` file\nlet cachedAnonymousId: string | undefined;\nfunction getAnonymousId() {\n if (cachedAnonymousId) return cachedAnonymousId;\n\n const configFileContents = getConfigFileContents();\n if (configFileContents?.anonymousId) {\n cachedAnonymousId = configFileContents.anonymousId;\n return configFileContents.anonymousId;\n }\n\n const newAnonymousId = `${isCI ? 'ci-' : ''}${crypto.randomUUID()}`;\n\n if (!existsSync(varlockConfigDirPath)) {\n mkdirSync(varlockConfigDirPath, { recursive: true });\n }\n\n writeFileSync(\n varlockConfigFilePath,\n JSON.stringify({\n ...configFileContents,\n anonymousId: newAnonymousId,\n }, null, 2),\n { flag: 'w' },\n );\n cachedAnonymousId = newAnonymousId;\n return newAnonymousId;\n}\n\n\nfunction checkIsOptedOut() {\n // Check if this is a dev build, rather than a published npm package or standalone binary\n if (__VARLOCK_BUILD_TYPE__ === 'dev') {\n debug('telemetry opted out - dev build');\n return true;\n }\n\n // Check environment variable\n if (\n process.env.PH_OPT_OUT === 'true' // legacy\n || TRUE_ENV_VAR_VALUES.includes((process.env.VARLOCK_TELEMETRY_DISABLED || '').toLowerCase())\n ) {\n debug('telemetry opted out - env var');\n return true;\n }\n\n // Check config file\n const varlockConfigFile = getConfigFileContents();\n if (varlockConfigFile?.analytics_opt_out || varlockConfigFile?.telemetryDisabled) {\n debug('telemetry opted out - config file');\n return true;\n }\n return false;\n}\n\n\n\nfunction anonymizeValue(payload: BinaryLike): string {\n // We use empty string to represent an empty value. Avoid hashing this\n // since that would create a real hash and remove its \"empty\" meaning.\n if (payload === '') {\n return payload;\n }\n // Otherwise, create a new hash from the payload and return it.\n const hash = createHash('sha256');\n hash.update(payload);\n return hash.digest('hex');\n}\n\nfunction getProjectGitRemoteUrl(): string | undefined {\n try {\n // Find the git directory by scanning upwards\n let gitDirPath: string | undefined;\n let currentDir = process.cwd();\n while (currentDir && currentDir !== '/') {\n const possibleGitDirPath = join(currentDir, '.git');\n if (existsSync(possibleGitDirPath)) {\n gitDirPath = possibleGitDirPath;\n break;\n }\n currentDir = join(currentDir, '..');\n }\n if (!gitDirPath) return undefined;\n const gitConfigContents = readFileSync(join(gitDirPath, 'config'), 'utf-8');\n // first look for upstream\n const remoteUpstreamPos = gitConfigContents.indexOf('[remote \"upstream\"]');\n if (remoteUpstreamPos !== -1) {\n const remoteUpstreamUrl = gitConfigContents.slice(remoteUpstreamPos).match(/url = (.+)/)?.[1];\n return remoteUpstreamUrl;\n }\n // otherwise fallback to origin\n const remoteOriginPos = gitConfigContents.indexOf('[remote \"origin\"]');\n if (remoteOriginPos === -1) return undefined;\n const remoteOriginUrl = gitConfigContents.slice(remoteOriginPos).match(/url = (.+)/)?.[1];\n return remoteOriginUrl;\n } catch (err) {\n return undefined;\n }\n}\nfunction getAnonymousProjectId() {\n // we want a project ID tied to the git repo, so we can group telemetry data by project\n // we could use the first commit hash, but this is more costly to compute, as we either need to rely\n // on the git cli and execSync, or we need to parse the git objects directly\n // so for now, we'll use the git remote URL (upstream if it exists, or origin)\n const gitRemoteUrl = getProjectGitRemoteUrl();\n if (!gitRemoteUrl) return null;\n return anonymizeValue(gitRemoteUrl);\n}\n\n\ntype TelemetryMeta = {\n // project info\n anonymous_project_id: string | null;\n // version information\n node_version: string;\n varlock_version: string;\n // OS information\n system_platform: string;\n system_release: string;\n system_architecture: string;\n // Machine information\n cpu_count: number,\n cpu_model: string | null,\n cpu_speed: number | null,\n memory_mb: number,\n // Environment information\n is_docker: boolean,\n is_tty: boolean,\n is_wsl: boolean,\n is_ci: boolean,\n ci_name: string | null,\n is_sea: boolean,\n};\n\nlet cachedTelemetryMetadata: TelemetryMeta | undefined;\nfunction getTelemetryMeta() {\n if (cachedTelemetryMetadata) return cachedTelemetryMetadata;\n\n const cpus = os.cpus() || [];\n\n let versionIdentifier = packageJson.version;\n // TODO: for preview builds, it would be nice to track which preview it is (PR number or commit hash)\n if (__VARLOCK_BUILD_TYPE__ !== 'release') versionIdentifier += `-${__VARLOCK_BUILD_TYPE__}`;\n\n cachedTelemetryMetadata = {\n anonymous_project_id: getAnonymousProjectId(),\n node_version: process.version.replace(/^v?/, ''),\n varlock_version: versionIdentifier,\n // TODO: pass through version info for specific integrations/plugins?\n system_platform: os.platform(),\n system_release: os.release(),\n system_architecture: os.arch(),\n cpu_count: cpus.length,\n cpu_model: cpus.length ? cpus[0].model : null,\n cpu_speed: cpus.length ? cpus[0].speed : null,\n memory_mb: Math.trunc(os.totalmem() / 1024 ** 2),\n is_docker: isDocker(),\n is_tty: process.stdout.isTTY,\n is_wsl: isWSL,\n is_ci: isCI,\n ci_name: ciName,\n is_sea: __VARLOCK_SEA_BUILD__,\n };\n return cachedTelemetryMetadata;\n}\n\n\nconst isOptedOut = checkIsOptedOut();\n\nlet lastTelemetryReq: Promise<any> | undefined;\n\nasync function posthogCapture(event: string, properties?: Record<string, any>) {\n const telemetryMeta = getTelemetryMeta();\n const payload = {\n api_key: CONFIG.POSTHOG_API_KEY,\n event,\n properties: {\n $process_person_profile: false,\n ...telemetryMeta,\n ...properties,\n },\n distinct_id: getAnonymousId(),\n };\n\n debug(`track${isOptedOut ? ' (disabled)' : ''}`, payload);\n\n if (isOptedOut) return;\n\n // add exit hook, so we can give the request a little time to finish\n const removeExitHook = asyncExitHook(async () => {\n // will still exit if the timeout is met, but will finish early if the request completes\n await lastTelemetryReq;\n }, { wait: 500 });\n\n // Make the fetch call\n lastTelemetryReq = fetch(`${CONFIG.POSTHOG_HOST}/i/v0/e/`, {\n method: 'POST',\n body: JSON.stringify(payload),\n headers: {\n 'Content-Type': 'application/json',\n },\n })\n .then((res) => {\n if (!res.ok) throw new Error(`HTTP error! status: ${res.status}`);\n return res.text();\n })\n .then((text) => debug('telemetry response:', text))\n .catch((error) => {\n debug('telemetry error:', error);\n })\n .finally(() => {\n removeExitHook();\n });\n}\n\n\n\nexport async function trackCommand(command: string, properties?: Record<string, any>) {\n await posthogCapture('cli_command_executed', {\n command,\n ...properties,\n });\n}\n\nexport async function trackInstall(source: 'brew' | 'curl') {\n await posthogCapture('cli_install', {\n source,\n });\n}\n\n","import fs from 'node:fs';\n\nlet isDockerCached;\n\nfunction hasDockerEnv() {\n\ttry {\n\t\tfs.statSync('/.dockerenv');\n\t\treturn true;\n\t} catch {\n\t\treturn false;\n\t}\n}\n\nfunction hasDockerCGroup() {\n\ttry {\n\t\treturn fs.readFileSync('/proc/self/cgroup', 'utf8').includes('docker');\n\t} catch {\n\t\treturn false;\n\t}\n}\n\nexport default function isDocker() {\n\t// TODO: Use `??=` when targeting Node.js 16.\n\tif (isDockerCached === undefined) {\n\t\tisDockerCached = hasDockerEnv() || hasDockerCGroup();\n\t}\n\n\treturn isDockerCached;\n}\n","import fs from 'node:fs';\nimport isDocker from 'is-docker';\n\nlet cachedResult;\n\n// Podman detection\nconst hasContainerEnv = () => {\n\ttry {\n\t\tfs.statSync('/run/.containerenv');\n\t\treturn true;\n\t} catch {\n\t\treturn false;\n\t}\n};\n\nexport default function isInsideContainer() {\n\t// TODO: Use `??=` when targeting Node.js 16.\n\tif (cachedResult === undefined) {\n\t\tcachedResult = hasContainerEnv() || isDocker();\n\t}\n\n\treturn cachedResult;\n}\n","import process from 'node:process';\nimport os from 'node:os';\nimport fs from 'node:fs';\nimport isInsideContainer from 'is-inside-container';\n\nconst isWsl = () => {\n\tif (process.platform !== 'linux') {\n\t\treturn false;\n\t}\n\n\tif (os.release().toLowerCase().includes('microsoft')) {\n\t\tif (isInsideContainer()) {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn true;\n\t}\n\n\ttry {\n\t\treturn fs.readFileSync('/proc/version', 'utf8').toLowerCase().includes('microsoft')\n\t\t\t? !isInsideContainer() : false;\n\t} catch {\n\t\treturn false;\n\t}\n};\n\nexport default process.env.__IS_WSL_TEST__ ? isWsl : isWsl();\n","{\n \"name\": \"varlock\",\n \"version\": \"0.0.5\",\n \"description\": \"\",\n \"main\": \"index.js\",\n \"type\": \"module\",\n \"author\": \"dmno-dev\",\n \"license\": \"MIT\",\n \"repository\": {\n \"type\": \"git\",\n \"url\": \"https://github.com/dmno-dev/varlock.git\",\n \"directory\": \"packages/varlock\"\n },\n \"scripts\": {\n \"build\": \"tsup\",\n \"build:sea\": \"tsup --config tsup-sea.config.ts\",\n \"dev\": \"tsup\",\n \"test\": \"vitest\",\n \"lint\": \"eslint .\",\n \"lint:fix\": \"pnpm run lint --fix\"\n },\n \"keywords\": [],\n \"files\": [\n \"/bin\",\n \"/dist\"\n ],\n \"bin\": {\n \"varlock\": \"./bin/cli.js\"\n },\n \"engines\": {\n \"node\": \">=22\"\n },\n \"exports\": {\n \".\": {\n \"ts-src\": \"./src/index.ts\",\n \"types\": \"./dist/index.d.ts\",\n \"default\": \"./dist/index.js\"\n },\n \"./env\": {\n \"ts-src\": \"./src/runtime/env.ts\",\n \"types\": \"./dist/runtime/env.d.ts\",\n \"default\": \"./dist/runtime/env.js\"\n },\n \"./auto-load\": {\n \"ts-src\": \"./src/auto-load.ts\",\n \"types\": \"./dist/auto-load.d.ts\",\n \"default\": \"./dist/auto-load.js\"\n },\n \"./patch-console\": {\n \"ts-src\": \"./src/runtime/patch-console.ts\",\n \"types\": \"./dist/runtime/patch-console.d.ts\",\n \"default\": \"./dist/runtime/patch-console.js\"\n },\n \"./patch-response\": {\n \"ts-src\": \"./src/runtime/patch-response.ts\",\n \"types\": \"./dist/runtime/patch-response.d.ts\",\n \"default\": \"./dist/runtime/patch-response.js\"\n },\n \"./patch-server-response\": {\n \"ts-src\": \"./src/runtime/patch-server-response.ts\",\n \"types\": \"./dist/runtime/patch-server-response.d.ts\",\n \"default\": \"./dist/runtime/patch-server-response.js\"\n },\n \"./config\": {\n \"ts-src\": \"./src/config.ts\",\n \"types\": \"./dist/dotenv-compat.d.ts\",\n \"default\": \"./dist/dotenv-compat.js\"\n },\n \"./config.js\": {\n \"ts-src\": \"./src/config.ts\",\n \"types\": \"./dist/dotenv-compat.d.ts\",\n \"default\": \"./dist/dotenv-compat.js\"\n }\n },\n \"dependencies\": {\n \"@env-spec/parser\": \"workspace:^\",\n \"debug\": \"catalog:\",\n \"execa\": \"^9.6.0\",\n \"which\": \"^5.0.0\"\n },\n \"devDependencies\": {\n \"@clack/core\": \"^0.5.0\",\n \"@clack/prompts\": \"^0.11.0\",\n \"@env-spec/env-graph\": \"workspace:*\",\n \"@env-spec/utils\": \"workspace:*\",\n \"@sindresorhus/is\": \"catalog:\",\n \"@types/debug\": \"catalog:\",\n \"@types/node\": \"catalog:\",\n \"@types/which\": \"^3.0.4\",\n \"@yao-pkg/pkg\": \"^6.5.1\",\n \"ansis\": \"catalog:\",\n \"browser-or-node\": \"^3.0.0\",\n \"ci-info\": \"^4.3.0\",\n \"exit-hook\": \"^4.0.0\",\n \"gunshi\": \"^0.26.3\",\n \"is-docker\": \"^3.0.0\",\n \"is-unicode-supported\": \"^2.1.0\",\n \"is-wsl\": \"^3.1.0\",\n \"outdent\": \"catalog:\",\n \"tsup\": \"catalog:\",\n \"vitest\": \"catalog:\"\n }\n}\n","import { cli, type Command, define } from 'gunshi';\nimport { gracefulExit } from 'exit-hook';\n\nimport { VARLOCK_BANNER, VARLOCK_BANNER_COLOR } from '../lib/ascii-art';\nimport { CliExitError } from './helpers/exit-error';\nimport { EnvSourceParseError } from '@env-spec/env-graph';\nimport ansis from 'ansis';\nimport { fmt } from './helpers/pretty-format';\nimport { trackCommand, trackInstall } from './helpers/telemetry';\nimport { InvalidEnvError } from './helpers/error-checks';\nimport packageJson from '../../package.json';\n\n// we'll import just the spec from each, so the implementations can be lazy loaded\nimport { commandSpec as initCommandSpec } from './commands/init.command';\nimport { commandSpec as loadCommandSpec } from './commands/load.command';\nimport { commandSpec as runCommandSpec } from './commands/run.command';\nimport { commandSpec as encryptCommandSpec } from './commands/encrypt.command';\nimport { commandSpec as doctorCommandSpec } from './commands/doctor.command';\nimport { commandSpec as helpCommandSpec } from './commands/help.command';\nimport { commandSpec as telemetryCommandSpec } from './commands/telemetry.command';\nimport { commandSpec as loginCommandSpec } from './commands/login.command';\n\nlet versionId = packageJson.version;\nif (__VARLOCK_BUILD_TYPE__ !== 'release') versionId += `-${__VARLOCK_BUILD_TYPE__}`;\n\n// TODO: this is not splitting the bundle correctly to actually lazy load the command fns\nfunction buildLazyCommand(\n commandSpec: Command<any>,\n loadCommandFn: () => Promise<{ commandSpec: Command<any>, commandFn: any }>,\n) {\n const commandName = commandSpec.name!;\n return {\n ...commandSpec,\n run: async (...args: Array<any>) => {\n // Track command execution\n await trackCommand(commandName, { command: commandName });\n // load the command fn and run it\n const commandSpecAndFn = await loadCommandFn();\n return commandSpecAndFn.commandFn(...args);\n },\n };\n}\n\nconst subCommands = new Map();\nsubCommands.set('init', buildLazyCommand(initCommandSpec, async () => await import('./commands/init.command')));\nsubCommands.set('load', buildLazyCommand(loadCommandSpec, async () => await import('./commands/load.command')));\nsubCommands.set('run', buildLazyCommand(runCommandSpec, async () => await import('./commands/run.command')));\nsubCommands.set('encrypt', buildLazyCommand(encryptCommandSpec, async () => await import('./commands/encrypt.command')));\nsubCommands.set('doctor', buildLazyCommand(doctorCommandSpec, async () => await import('./commands/doctor.command')));\nsubCommands.set('help', buildLazyCommand(helpCommandSpec, async () => await import('./commands/help.command')));\nsubCommands.set('telemetry', buildLazyCommand(telemetryCommandSpec, async () => await import('./commands/telemetry.command')));\nsubCommands.set('login', buildLazyCommand(loginCommandSpec, async () => await import('./commands/login.command')));\n\n(async function go() {\n try {\n let args = process.argv.slice(2);\n\n // TODO: remove this once we have a better way to re-trigger help\n if (args[0] === 'help') args = ['--help'];\n\n // track standalone installs via hombrew/curl\n if (__VARLOCK_SEA_BUILD__) {\n if (args[0] === '--post-install') {\n await trackInstall(args[1] as 'brew' | 'curl');\n //! this ouput is used by homebrew formula to check installed version is correct\n console.log(versionId);\n gracefulExit();\n }\n }\n\n if (args[0] === '--version') {\n await trackCommand('version');\n }\n\n await cli(args, {\n // main command - triggered if you just run `varlock` with no args\n run: () => {\n console.log('Please run one of the sub-commands. Run `varlock --help` for more info.');\n },\n }, {\n name: 'varlock',\n description: 'Encrypt and protect your env vars',\n version: versionId,\n subCommands,\n renderHeader: async (ctx) => {\n // do not show header if we are running a sub-command\n if (ctx.name) return '';\n return VARLOCK_BANNER_COLOR;\n },\n });\n gracefulExit();\n } catch (error) {\n if (error instanceof Error && error.message.startsWith('Command not found: ')) {\n const badCommandName = error.message.split(': ')[1];\n const badCommandErr = new CliExitError(`Invalid subcommand: ${badCommandName}`, {\n suggestion: `Run \\`${fmt.command('varlock --help', { jsPackageManager: true })}\\` for more info.`,\n });\n console.error(badCommandErr.getFormattedOutput());\n gracefulExit(1);\n } else if (error instanceof CliExitError || error instanceof InvalidEnvError) {\n // in watch mode, we just log but do not actually exit\n console.error(error.getFormattedOutput());\n // TODO: we'll probably want to implement watch mode, so it wont actually exit\n } else if (error instanceof EnvSourceParseError) {\n console.error(`🚨 Error encountered while loading ${error.location.path}`);\n console.error(error.message);\n\n const errLoc = error.location as any;\n\n const errPreview = [\n errLoc.lineStr,\n `${ansis.gray('-'.repeat(errLoc.colNumber - 1))}${ansis.red('^')}`,\n ].join('\\n');\n\n console.error('Error parsing .env file');\n console.error(fmt.filePath(`${errLoc.path}:${errLoc.lineNumber}:${errLoc.colNumber}`));\n console.error(errPreview);\n\n gracefulExit(1);\n } else {\n throw error;\n }\n\n gracefulExit(1);\n }\n}());\n"]}
@@ -0,0 +1,7 @@
1
+ export { commandFn, commandSpec } from './chunk-HMRN5QZL.js';
2
+ import './chunk-33ROL4J5.js';
3
+ import './chunk-EVHLEWHL.js';
4
+ import './chunk-K2N2TG4M.js';
5
+ import './chunk-XN24GZXQ.js';
6
+ //# sourceMappingURL=doctor.command-NUG3BYDQ.js.map
7
+ //# sourceMappingURL=doctor.command-NUG3BYDQ.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":[],"names":[],"mappings":"","file":"doctor.command-L3P5LBOW.js"}
1
+ {"version":3,"sources":[],"names":[],"mappings":"","file":"doctor.command-NUG3BYDQ.js"}
@@ -1,9 +1,8 @@
1
- import './chunk-3EBGAOLH.js';
2
- import './chunk-3KZR56NU.js';
3
- import './chunk-OXV76U3Y.js';
4
- import './chunk-RF3YMFUX.js';
5
- import './chunk-XHOJF7U7.js';
6
- import './chunk-7QXRUUDC.js';
1
+ import './chunk-PZE4KJJW.js';
2
+ import './chunk-GAQWSZCY.js';
3
+ import './chunk-LU2R63B4.js';
4
+ import './chunk-C2ZQAQUU.js';
5
+ import './chunk-GCUCCUG5.js';
7
6
  import './chunk-FGMXIEFA.js';
8
7
  import './chunk-XN24GZXQ.js';
9
8
  //# sourceMappingURL=dotenv-compat.js.map
@@ -0,0 +1,7 @@
1
+ export { commandFn, commandSpec } from './chunk-PUGFIZE3.js';
2
+ import './chunk-DAZNZPLN.js';
3
+ import './chunk-33ROL4J5.js';
4
+ import './chunk-LHTLO65N.js';
5
+ import './chunk-XN24GZXQ.js';
6
+ //# sourceMappingURL=encrypt.command-AGHQ4KTI.js.map
7
+ //# sourceMappingURL=encrypt.command-AGHQ4KTI.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":[],"names":[],"mappings":"","file":"encrypt.command-VGJABHNK.js"}
1
+ {"version":3,"sources":[],"names":[],"mappings":"","file":"encrypt.command-AGHQ4KTI.js"}
@@ -0,0 +1,42 @@
1
+ type SerializedEnvGraph = {
2
+ basePath?: string;
3
+ sources: Array<{
4
+ label: string;
5
+ enabled: boolean;
6
+ path?: string;
7
+ }>;
8
+ settings: {
9
+ redactLogs?: boolean;
10
+ preventLeaks?: boolean;
11
+ };
12
+ config: Record<string, {
13
+ value: any;
14
+ isSensitive: boolean;
15
+ }>;
16
+ };
17
+
18
+ declare function resetRedactionMap(graph: SerializedEnvGraph): void;
19
+ /**
20
+ * Redacts senstive config values from any string/array/object/etc
21
+ *
22
+ * NOTE - must be used only after varlock has loaded config
23
+ * */
24
+ declare function redactSensitiveConfig(o: any): any;
25
+ /**
26
+ * utility to unmask a secret/sensitive value when logging to the console
27
+ * currently this only works on a single secret, not objects or aggregated strings
28
+ * */
29
+ declare function revealSensitiveConfig(secretStr: string): string;
30
+ declare function scanForLeaks(toScan: string | Response | ReadableStream, meta?: {
31
+ method?: string;
32
+ file?: string;
33
+ }): string | Response | ReadableStream<any>;
34
+ declare const varlockSettings: Record<string, any>;
35
+ declare function initVarlockEnv(opts?: {
36
+ setProcessEnv?: boolean;
37
+ }): void;
38
+ interface TypedEnvSchema {
39
+ }
40
+ declare const ENV: TypedEnvSchema;
41
+
42
+ export { ENV as E, type SerializedEnvGraph as S, type TypedEnvSchema as T, redactSensitiveConfig as a, revealSensitiveConfig as b, initVarlockEnv as i, resetRedactionMap as r, scanForLeaks as s, varlockSettings as v };
@@ -0,0 +1,5 @@
1
+ export { commandFn, commandSpec } from './chunk-RZT65DRA.js';
2
+ import './chunk-33ROL4J5.js';
3
+ import './chunk-XN24GZXQ.js';
4
+ //# sourceMappingURL=help.command-B7VWA53B.js.map
5
+ //# sourceMappingURL=help.command-B7VWA53B.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":[],"names":[],"mappings":"","file":"help.command-YZDL2VEQ.js"}
1
+ {"version":3,"sources":[],"names":[],"mappings":"","file":"help.command-B7VWA53B.js"}
package/dist/index.d.ts CHANGED
@@ -1,8 +1,7 @@
1
- export { SerializedEnvGraph } from '@env-spec/env-graph';
1
+ export { E as ENV, S as SerializedEnvGraph } from './env-B8lQt2sl.js';
2
2
  export { patchGlobalConsole } from './runtime/patch-console.js';
3
3
  export { patchGlobalServerResponse } from './runtime/patch-server-response.js';
4
4
  export { patchGlobalResponse } from './runtime/patch-response.js';
5
- export { ENV } from './runtime/env.js';
6
5
 
7
6
  declare function load(): Promise<void>;
8
7
  declare function getBuildTimeReplacements(opts?: {
package/dist/index.js CHANGED
@@ -1,13 +1,14 @@
1
- import { checkForConfigErrors } from './chunk-OSSLRXKM.js';
2
- import { loadVarlockEnvGraph } from './chunk-Q5P7F3WA.js';
3
- import './chunk-7UQXFWKN.js';
4
- import './chunk-TYL3Q4QG.js';
5
- export { patchGlobalConsole } from './chunk-3KZR56NU.js';
6
- export { patchGlobalResponse } from './chunk-OXV76U3Y.js';
7
- export { patchGlobalServerResponse } from './chunk-RF3YMFUX.js';
8
- import './chunk-XHOJF7U7.js';
9
- import { initVarlockEnv } from './chunk-7QXRUUDC.js';
10
- export { ENV } from './chunk-7QXRUUDC.js';
1
+ import { checkForConfigErrors } from './chunk-WFN3ZXGS.js';
2
+ import { loadVarlockEnvGraph } from './chunk-Y7WD33L3.js';
3
+ import './chunk-365YVT72.js';
4
+ import './chunk-LHTLO65N.js';
5
+ import './chunk-EVHLEWHL.js';
6
+ import './chunk-K2N2TG4M.js';
7
+ export { patchGlobalConsole } from './chunk-GAQWSZCY.js';
8
+ export { patchGlobalResponse } from './chunk-LU2R63B4.js';
9
+ export { patchGlobalServerResponse } from './chunk-C2ZQAQUU.js';
10
+ import { initVarlockEnv } from './chunk-GCUCCUG5.js';
11
+ export { ENV } from './chunk-GCUCCUG5.js';
11
12
  import './chunk-FGMXIEFA.js';
12
13
  import { __name } from './chunk-XN24GZXQ.js';
13
14
 
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAOA,eAAsB,IAAO,GAAA;AAE3B,EAAM,MAAA,QAAA,GAAW,MAAM,mBAAoB,EAAA;AAC3C,EAAA,MAAM,SAAS,gBAAiB,EAAA;AAChC,EAAA,oBAAA,CAAqB,QAAQ,CAAA;AAG7B,EAAA,OAAA,CAAQ,IAAI,aAAgB,GAAA,IAAA,CAAK,SAAU,CAAA,QAAA,CAAS,oBAAoB,CAAA;AACxE,EAAe,cAAA,EAAA;AAEjB;AAVsB,MAAA,CAAA,IAAA,EAAA,MAAA,CAAA;AAaf,SAAS,yBAAyB,IAGtC,EAAA;AACD,EAAA,IAAI,CAAC,OAAA,CAAQ,GAAI,CAAA,aAAA,SAAsB,EAAC;AACxC,EAAA,MAAM,OAAU,GAAA,IAAA,CAAK,KAAM,CAAA,OAAA,CAAQ,IAAI,aAAa,CAAA;AACpD,EAAA,MAAM,eAAe,EAAC;AACtB,EAAW,KAAA,MAAA,GAAA,IAAO,QAAQ,MAAQ,EAAA;AAChC,IAAM,MAAA,QAAA,GAAW,OAAQ,CAAA,MAAA,CAAO,GAAG,CAAA;AACnC,IAAA,MAAM,WAAc,GAAA,CAAC,QAAS,CAAA,WAAA,IAAe,IAAM,EAAA,gBAAA;AACnD,IAAA,IAAI,CAAC,WAAa,EAAA;AAClB,IAAA,YAAA,CAAa,CAAG,EAAA,IAAA,EAAM,SAAa,IAAA,KAAK,IAAI,GAAG,CAAA,CAAE,CAAI,GAAA,IAAA,CAAK,SAAU,CAAA,OAAA,CAAQ,MAAO,CAAA,GAAG,EAAE,KAAK,CAAA;AAAA;AAE/F,EAAO,OAAA,YAAA;AACT;AAdgB,MAAA,CAAA,wBAAA,EAAA,0BAAA,CAAA","file":"index.js","sourcesContent":["import { SerializedEnvGraph } from '@env-spec/env-graph';\nexport { SerializedEnvGraph };\n\nimport { checkForConfigErrors } from './cli/helpers/error-checks';\nimport { loadVarlockEnvGraph } from './lib/load-graph';\nimport { initVarlockEnv } from './runtime/env';\n\nexport async function load() {\n // TODO: add some options\n const envGraph = await loadVarlockEnvGraph();\n await envGraph.resolveEnvValues();\n checkForConfigErrors(envGraph);\n\n // loadFromSerializedGraph(envGraph.getSerializedGraph());\n process.env.__VARLOCK_ENV = JSON.stringify(envGraph.getSerializedGraph());\n initVarlockEnv();\n // TODO: return resolved env and schema / meta info\n}\n\n\nexport function getBuildTimeReplacements(opts?: {\n objectKey?: string,\n includeSensitive?: boolean,\n}) {\n if (!process.env.__VARLOCK_ENV) return {};\n const envInfo = JSON.parse(process.env.__VARLOCK_ENV) as SerializedEnvGraph;\n const replacements = {} as Record<string, string>;\n for (const key in envInfo.config) {\n const itemInfo = envInfo.config[key];\n const replaceItem = !itemInfo.isSensitive || opts?.includeSensitive;\n if (!replaceItem) continue;\n replacements[`${opts?.objectKey || 'ENV'}.${key}`] = JSON.stringify(envInfo.config[key].value);\n }\n return replacements;\n}\n\nexport { patchGlobalConsole } from './runtime/patch-console';\nexport { patchGlobalServerResponse } from './runtime/patch-server-response';\nexport { patchGlobalResponse } from './runtime/patch-response';\nexport { ENV } from './runtime/env';\n"]}
1
+ {"version":3,"sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAOA,eAAsB,IAAO,GAAA;AAE3B,EAAM,MAAA,QAAA,GAAW,MAAM,mBAAoB,EAAA;AAC3C,EAAA,MAAM,SAAS,gBAAiB,EAAA;AAChC,EAAA,oBAAA,CAAqB,QAAQ,CAAA;AAG7B,EAAA,OAAA,CAAQ,IAAI,aAAgB,GAAA,IAAA,CAAK,SAAU,CAAA,QAAA,CAAS,oBAAoB,CAAA;AACxE,EAAe,cAAA,EAAA;AAEjB;AAVsB,MAAA,CAAA,IAAA,EAAA,MAAA,CAAA;AAaf,SAAS,yBAAyB,IAGtC,EAAA;AACD,EAAA,IAAI,CAAC,OAAA,CAAQ,GAAI,CAAA,aAAA,SAAsB,EAAC;AACxC,EAAA,MAAM,OAAU,GAAA,IAAA,CAAK,KAAM,CAAA,OAAA,CAAQ,IAAI,aAAa,CAAA;AACpD,EAAA,MAAM,eAAe,EAAC;AACtB,EAAW,KAAA,MAAA,GAAA,IAAO,QAAQ,MAAQ,EAAA;AAChC,IAAM,MAAA,QAAA,GAAW,OAAQ,CAAA,MAAA,CAAO,GAAG,CAAA;AACnC,IAAA,MAAM,WAAc,GAAA,CAAC,QAAS,CAAA,WAAA,IAAe,IAAM,EAAA,gBAAA;AACnD,IAAA,IAAI,CAAC,WAAa,EAAA;AAClB,IAAA,YAAA,CAAa,CAAG,EAAA,IAAA,EAAM,SAAa,IAAA,KAAK,IAAI,GAAG,CAAA,CAAE,CAAI,GAAA,IAAA,CAAK,SAAU,CAAA,OAAA,CAAQ,MAAO,CAAA,GAAG,EAAE,KAAK,CAAA;AAAA;AAE/F,EAAO,OAAA,YAAA;AACT;AAdgB,MAAA,CAAA,wBAAA,EAAA,0BAAA,CAAA","file":"index.js","sourcesContent":["import { type SerializedEnvGraph } from './serialized-env-graph';\nexport { type SerializedEnvGraph };\n\nimport { checkForConfigErrors } from './cli/helpers/error-checks';\nimport { loadVarlockEnvGraph } from './lib/load-graph';\nimport { initVarlockEnv } from './runtime/env';\n\nexport async function load() {\n // TODO: add some options\n const envGraph = await loadVarlockEnvGraph();\n await envGraph.resolveEnvValues();\n checkForConfigErrors(envGraph);\n\n // loadFromSerializedGraph(envGraph.getSerializedGraph());\n process.env.__VARLOCK_ENV = JSON.stringify(envGraph.getSerializedGraph());\n initVarlockEnv();\n // TODO: return resolved env and schema / meta info\n}\n\n\nexport function getBuildTimeReplacements(opts?: {\n objectKey?: string,\n includeSensitive?: boolean,\n}) {\n if (!process.env.__VARLOCK_ENV) return {};\n const envInfo = JSON.parse(process.env.__VARLOCK_ENV) as SerializedEnvGraph;\n const replacements = {} as Record<string, string>;\n for (const key in envInfo.config) {\n const itemInfo = envInfo.config[key];\n const replaceItem = !itemInfo.isSensitive || opts?.includeSensitive;\n if (!replaceItem) continue;\n replacements[`${opts?.objectKey || 'ENV'}.${key}`] = JSON.stringify(envInfo.config[key].value);\n }\n return replacements;\n}\n\nexport { patchGlobalConsole } from './runtime/patch-console';\nexport { patchGlobalServerResponse } from './runtime/patch-server-response';\nexport { patchGlobalResponse } from './runtime/patch-response';\nexport { ENV } from './runtime/env';\n"]}
@@ -0,0 +1,13 @@
1
+ export { commandFn, commandSpec } from './chunk-VVJO4FC3.js';
2
+ import './chunk-VVKXMIKQ.js';
3
+ import './chunk-DAZNZPLN.js';
4
+ import './chunk-33ROL4J5.js';
5
+ import './chunk-Y7WD33L3.js';
6
+ import './chunk-365YVT72.js';
7
+ import './chunk-LHTLO65N.js';
8
+ import './chunk-EVHLEWHL.js';
9
+ import './chunk-K2N2TG4M.js';
10
+ import './chunk-FGMXIEFA.js';
11
+ import './chunk-XN24GZXQ.js';
12
+ //# sourceMappingURL=init.command-DHE2Q6FX.js.map
13
+ //# sourceMappingURL=init.command-DHE2Q6FX.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":[],"names":[],"mappings":"","file":"init.command-Q4YBHAEG.js"}
1
+ {"version":3,"sources":[],"names":[],"mappings":"","file":"init.command-DHE2Q6FX.js"}
@@ -0,0 +1,12 @@
1
+ export { commandFn, commandSpec } from './chunk-Z5KNSSLC.js';
2
+ import './chunk-33ROL4J5.js';
3
+ import './chunk-WFN3ZXGS.js';
4
+ import './chunk-Y7WD33L3.js';
5
+ import './chunk-365YVT72.js';
6
+ import './chunk-LHTLO65N.js';
7
+ import './chunk-EVHLEWHL.js';
8
+ import './chunk-K2N2TG4M.js';
9
+ import './chunk-FGMXIEFA.js';
10
+ import './chunk-XN24GZXQ.js';
11
+ //# sourceMappingURL=load.command-GGE4OANH.js.map
12
+ //# sourceMappingURL=load.command-GGE4OANH.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":[],"names":[],"mappings":"","file":"load.command-K22PEH3D.js"}
1
+ {"version":3,"sources":[],"names":[],"mappings":"","file":"load.command-GGE4OANH.js"}
@@ -0,0 +1,10 @@
1
+ export { commandFn, commandSpec } from './chunk-7SCZ3YWG.js';
2
+ import './chunk-VVKXMIKQ.js';
3
+ import './chunk-33ROL4J5.js';
4
+ import './chunk-365YVT72.js';
5
+ import './chunk-LHTLO65N.js';
6
+ import './chunk-K2N2TG4M.js';
7
+ import './chunk-FGMXIEFA.js';
8
+ import './chunk-XN24GZXQ.js';
9
+ //# sourceMappingURL=login.command-25PKQUGR.js.map
10
+ //# sourceMappingURL=login.command-25PKQUGR.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":[],"names":[],"mappings":"","file":"login.command-22RUZJLR.js"}
1
+ {"version":3,"sources":[],"names":[],"mappings":"","file":"login.command-25PKQUGR.js"}
@@ -0,0 +1,12 @@
1
+ export { commandFn, commandSpec } from './chunk-GVAD672U.js';
2
+ import './chunk-33ROL4J5.js';
3
+ import './chunk-WFN3ZXGS.js';
4
+ import './chunk-Y7WD33L3.js';
5
+ import './chunk-365YVT72.js';
6
+ import './chunk-LHTLO65N.js';
7
+ import './chunk-EVHLEWHL.js';
8
+ import './chunk-K2N2TG4M.js';
9
+ import './chunk-FGMXIEFA.js';
10
+ import './chunk-XN24GZXQ.js';
11
+ //# sourceMappingURL=run.command-BLL6AL52.js.map
12
+ //# sourceMappingURL=run.command-BLL6AL52.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":[],"names":[],"mappings":"","file":"run.command-DUAYGL6F.js"}
1
+ {"version":3,"sources":[],"names":[],"mappings":"","file":"run.command-BLL6AL52.js"}
@@ -1,27 +1 @@
1
- import { SerializedEnvGraph } from '@env-spec/env-graph';
2
-
3
- declare function resetRedactionMap(graph: SerializedEnvGraph): void;
4
- /**
5
- * Redacts senstive config values from any string/array/object/etc
6
- *
7
- * NOTE - must be used only after varlock has loaded config
8
- * */
9
- declare function redactSensitiveConfig(o: any): any;
10
- /**
11
- * utility to unmask a secret/sensitive value when logging to the console
12
- * currently this only works on a single secret, not objects or aggregated strings
13
- * */
14
- declare function revealSensitiveConfig(secretStr: string): string;
15
- declare function scanForLeaks(toScan: string | Response | ReadableStream, meta?: {
16
- method?: string;
17
- file?: string;
18
- }): string | Response | ReadableStream<any>;
19
- declare const varlockSettings: Record<string, any>;
20
- declare function initVarlockEnv(opts?: {
21
- setProcessEnv?: boolean;
22
- }): void;
23
- interface TypedEnvSchema {
24
- }
25
- declare const ENV: TypedEnvSchema;
26
-
27
- export { ENV, type TypedEnvSchema, initVarlockEnv, redactSensitiveConfig, resetRedactionMap, revealSensitiveConfig, scanForLeaks, varlockSettings };
1
+ export { E as ENV, T as TypedEnvSchema, i as initVarlockEnv, a as redactSensitiveConfig, r as resetRedactionMap, b as revealSensitiveConfig, s as scanForLeaks, v as varlockSettings } from '../env-B8lQt2sl.js';
@@ -1,4 +1,4 @@
1
- export { ENV, initVarlockEnv, redactSensitiveConfig, resetRedactionMap, revealSensitiveConfig, scanForLeaks, varlockSettings } from '../chunk-7QXRUUDC.js';
1
+ export { ENV, initVarlockEnv, redactSensitiveConfig, resetRedactionMap, revealSensitiveConfig, scanForLeaks, varlockSettings } from '../chunk-GCUCCUG5.js';
2
2
  import '../chunk-FGMXIEFA.js';
3
3
  import '../chunk-XN24GZXQ.js';
4
4
  //# sourceMappingURL=env.js.map
@@ -1,6 +1,5 @@
1
- export { patchGlobalConsole, unpatchGlobalConsole } from '../chunk-3KZR56NU.js';
2
- import '../chunk-XHOJF7U7.js';
3
- import '../chunk-7QXRUUDC.js';
1
+ export { patchGlobalConsole, unpatchGlobalConsole } from '../chunk-GAQWSZCY.js';
2
+ import '../chunk-GCUCCUG5.js';
4
3
  import '../chunk-FGMXIEFA.js';
5
4
  import '../chunk-XN24GZXQ.js';
6
5
  //# sourceMappingURL=patch-console.js.map
@@ -1,6 +1,5 @@
1
- export { patchGlobalResponse } from '../chunk-OXV76U3Y.js';
2
- import '../chunk-XHOJF7U7.js';
3
- import '../chunk-7QXRUUDC.js';
1
+ export { patchGlobalResponse } from '../chunk-LU2R63B4.js';
2
+ import '../chunk-GCUCCUG5.js';
4
3
  import '../chunk-FGMXIEFA.js';
5
4
  import '../chunk-XN24GZXQ.js';
6
5
  //# sourceMappingURL=patch-response.js.map
@@ -1,6 +1,5 @@
1
- export { patchGlobalServerResponse } from '../chunk-RF3YMFUX.js';
2
- import '../chunk-XHOJF7U7.js';
3
- import '../chunk-7QXRUUDC.js';
1
+ export { patchGlobalServerResponse } from '../chunk-C2ZQAQUU.js';
2
+ import '../chunk-GCUCCUG5.js';
4
3
  import '../chunk-FGMXIEFA.js';
5
4
  import '../chunk-XN24GZXQ.js';
6
5
  //# sourceMappingURL=patch-server-response.js.map
@@ -0,0 +1,10 @@
1
+ export { commandFn, commandSpec } from './chunk-UFAGBKYG.js';
2
+ import './chunk-VVKXMIKQ.js';
3
+ import './chunk-33ROL4J5.js';
4
+ import './chunk-365YVT72.js';
5
+ import './chunk-LHTLO65N.js';
6
+ import './chunk-K2N2TG4M.js';
7
+ import './chunk-FGMXIEFA.js';
8
+ import './chunk-XN24GZXQ.js';
9
+ //# sourceMappingURL=telemetry.command-MVL3E366.js.map
10
+ //# sourceMappingURL=telemetry.command-MVL3E366.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"names":[],"mappings":"","file":"telemetry.command-MVL3E366.js"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "varlock",
3
- "version": "0.0.3",
3
+ "version": "0.0.5",
4
4
  "description": "",
5
5
  "main": "index.js",
6
6
  "type": "module",
@@ -68,7 +68,7 @@
68
68
  "debug": "^4.3.4",
69
69
  "execa": "^9.6.0",
70
70
  "which": "^5.0.0",
71
- "@env-spec/parser": "0.0.2"
71
+ "@env-spec/parser": "^0.0.2"
72
72
  },
73
73
  "devDependencies": {
74
74
  "@clack/core": "^0.5.0",
@@ -80,8 +80,12 @@
80
80
  "@yao-pkg/pkg": "^6.5.1",
81
81
  "ansis": "^4.1.0",
82
82
  "browser-or-node": "^3.0.0",
83
+ "ci-info": "^4.3.0",
84
+ "exit-hook": "^4.0.0",
83
85
  "gunshi": "^0.26.3",
86
+ "is-docker": "^3.0.0",
84
87
  "is-unicode-supported": "^2.1.0",
88
+ "is-wsl": "^3.1.0",
85
89
  "outdent": "^0.8.0",
86
90
  "tsup": "^8.2.4",
87
91
  "vitest": "^3.2.4",
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/cli/commands/run.command.ts"],"names":[],"mappings":";;;;;;;AASO,IAAM,cAAc,MAAO,CAAA;AAAA,EAChC,IAAM,EAAA,KAAA;AAAA,EACN,WAAa,EAAA,wEAAA;AAAA,EACb,IAAM,EAAA;AAAA,IACJ,KAAO,EAAA;AAAA,MACL,IAAM,EAAA,SAAA;AAAA,MACN,KAAO,EAAA,GAAA;AAAA,MACP,WAAa,EAAA;AAAA;AACf;AAEJ,CAAC;AAED,IAAI,cAAA;AACJ,IAAI,6BAAgC,GAAA,KAAA;AAGvB,IAAA,SAAA,iCAA6D,GAAQ,KAAA;AAEhF,EAAA,MAAM,IAAO,GAAA,OAAA,CAAQ,IAAK,CAAA,KAAA,CAAM,CAAC,CAAA;AAEjC,EAAA,IAAI,kBAAiC,EAAC;AACtC,EAAI,IAAA,IAAA,CAAK,QAAS,CAAA,IAAI,CAAG,EAAA;AACvB,IAAM,MAAA,eAAA,GAAkB,IAAK,CAAA,OAAA,CAAQ,IAAI,CAAA;AACzC,IAAc,IAAA,CAAK,KAAM,CAAA,CAAA,EAAG,eAAe,CAAA;AAC3C,IAAkB,eAAA,GAAA,IAAA,CAAK,KAAM,CAAA,eAAA,GAAkB,CAAC,CAAA;AAAA,GAC3C,MAAA;AACL,IAAM,MAAA,IAAI,MAAM,kFAAkF,CAAA;AAAA;AAEpG,EAAA,MAAM,kBAAqB,GAAA,eAAA;AAC3B,EAAM,MAAA,eAAA,GAAkB,eAAgB,CAAA,IAAA,CAAK,GAAG,CAAA;AAEhD,EAAM,MAAA,UAAA,GAAa,mBAAmB,CAAC,CAAA;AACvC,EAAM,MAAA,eAAA,GAAkB,kBAAmB,CAAA,KAAA,CAAM,CAAC,CAAA;AAClD,EAAA,MAAM,mBAAmB,KAAM,CAAA,IAAA,CAAK,YAAY,EAAE,OAAA,EAAS,MAAM,CAAA;AAEjE,EAAM,MAAA,cAAA,GAAiB,IAAI,MAAO,CAAA,KAAA;AAKlC,EAAM,MAAA,QAAA,GAAW,MAAM,mBAAoB,EAAA;AAC3C,EAAA,oBAAA,CAAqB,QAAQ,CAAA;AAC7B,EAAA,MAAM,SAAS,gBAAiB,EAAA;AAChC,EAAA,oBAAA,CAAqB,QAAQ,CAAA;AAI7B,EAAM,MAAA,WAAA,GAAc,SAAS,oBAAqB,EAAA;AAIlD,EAAA,MAAM,eAAkB,GAAA;AAAA,IACtB,GAAG,OAAQ,CAAA,GAAA;AAAA,IACX,GAAG,WAAA;AAAA,IACH,aAAe,EAAA,GAAA;AAAA;AAAA,IACf,aAAe,EAAA,IAAA,CAAK,SAAU,CAAA,QAAA,CAAS,oBAAoB;AAAA,GAC7D;AAEA,EAAiB,cAAA,GAAA,KAAA,CAAM,gBAAoB,IAAA,UAAA,EAAY,eAAiB,EAAA;AAAA,IACtE,KAAO,EAAA,SAAA;AAAA,IACP,GAAK,EAAA;AAAA,GACN,CAAA;AAKD,EAAyB;AAEvB,IAAA,OAAA,CAAQ,EAAG,CAAA,MAAA,EAAQ,CAAC,IAAA,EAAW,MAAgB,KAAA;AAM7C,MAAA,cAAA,EAAgB,KAAK,CAAC,CAAA;AAAA,KACvB,CAAA;AAED,IAAA,CAAC,SAAW,EAAA,QAAQ,CAAE,CAAA,OAAA,CAAQ,CAAC,MAAW,KAAA;AACxC,MAAQ,OAAA,CAAA,EAAA,CAAG,QAAQ,MAAM;AAEvB,QAAA,cAAA,EAAgB,KAAK,CAAC,CAAA;AACtB,QAAA,OAAA,CAAQ,KAAK,CAAC,CAAA;AAAA,OACf,CAAA;AAAA,KACF,CAAA;AAAA;AAKH,EAAI,IAAA,QAAA;AACJ,EAAI,IAAA;AACF,IAAA,MAAM,gBAAgB,MAAM,cAAA;AAC5B,IAAA,QAAA,GAAW,aAAc,CAAA,QAAA;AAAA,WAClB,KAAO,EAAA;AAEd,IAAK,IAAA,KAAA,CAAc,MAAW,KAAA,QAAA,IAAY,6BAA+B,EAAA;AAOzE,IAAA,IAAK,KAAc,CAAA,MAAA,KAAW,QAAa,IAAA,KAAA,CAAc,WAAW,SAAW,EAAA;AAC7E,MAAA,OAAA,CAAQ,KAAK,CAAC,CAAA;AAAA,KACT,MAAA;AACL,MAAQ,OAAA,CAAA,GAAA,CAAK,MAAgB,OAAO,CAAA;AACpC,MAAQ,OAAA,CAAA,GAAA,CAAI,CAAY,SAAA,EAAA,eAAe,CAAU,QAAA,CAAA,CAAA;AACjD,MAAA,OAAA,CAAQ,IAAI,2CAA2C,CAAA;AACvD,MAAA,OAAA,CAAQ,IAAI,2DAA2D,CAAA;AAAA;AAGzE,IAAA,QAAA,GAAY,MAAc,QAAY,IAAA,CAAA;AAAA;AAGxC,EAAA,IAAI,cAAgB,EAAA;AAClB,IAAoC;AAClC,MAAA,IAAI,aAAa,CAAG,EAAA;AAClB,QAAA,OAAA,CAAQ,IAAI,yCAAoC,CAAA;AAAA,OAC3C,MAAA;AACL,QAAA,OAAA,CAAQ,GAAI,CAAA;AAAA,uCAAA,EAAqC,QAAQ,CAAE,CAAA,CAAA;AAAA;AAC7D;AACF;AAGF,EAAA,IAAI,CAAC,cAAgB,EAAA;AACnB,IAAA,OAAA,CAAQ,KAAK,QAAQ,CAAA;AAAA,GAChB,MAAA;AACL,IAAA,OAAA,CAAQ,IAAI,8BAA8B,CAAA;AAAA;AAG9C,CAjHmE,EAAA,WAAA","file":"chunk-2CM6PMED.js","sourcesContent":["import { execa, type ResultPromise } from 'execa';\nimport which from 'which';\nimport { define } from 'gunshi';\n\nimport { loadVarlockEnvGraph } from '../../lib/load-graph';\nimport { checkForConfigErrors, checkForSchemaErrors } from '../helpers/error-checks';\nimport { TypedGunshiCommandFn } from '../helpers/gunshi-type-utils';\n\n\nexport const commandSpec = define({\n name: 'run',\n description: 'Run a command with the environment variables loaded from the .env file',\n args: {\n watch: {\n type: 'boolean',\n short: 'w',\n description: 'Watch mode',\n },\n },\n});\n\nlet commandProcess: ResultPromise | undefined;\nlet childCommandKilledFromRestart = false;\nlet isWatchModeRestart = false;\n\nexport const commandFn: TypedGunshiCommandFn<typeof commandSpec> = async (ctx) => {\n // if \"--\" is present, split the args into our command and the rest, which will be another external command\n const argv = process.argv.slice(2);\n let commandArgs: Array<string> = [];\n let restCommandArgs: Array<string> = [];\n if (argv.includes('--')) {\n const doubleDashIndex = argv.indexOf('--');\n commandArgs = argv.slice(0, doubleDashIndex);\n restCommandArgs = argv.slice(doubleDashIndex + 1);\n } else {\n throw new Error('No command to run! Your command should look like `varlock run -- <your-command>`');\n }\n const commandToRunAsArgs = restCommandArgs;\n const commandToRunStr = restCommandArgs.join(' ');\n\n const rawCommand = commandToRunAsArgs[0];\n const commandArgsOnly = commandToRunAsArgs.slice(1);\n const pathAwareCommand = which.sync(rawCommand, { nothrow: true });\n\n const isWatchEnabled = ctx.values.watch;\n\n // console.log('running command', pathAwareCommand || rawCommand, commandArgsOnly);\n\n\n const envGraph = await loadVarlockEnvGraph();\n checkForSchemaErrors(envGraph);\n await envGraph.resolveEnvValues();\n checkForConfigErrors(envGraph);\n\n // will fail above if there are any errors\n\n const resolvedEnv = envGraph.getResolvedEnvObject();\n // console.log(resolvedEnv);\n\n // needs more thought here\n const fullInjectedEnv = {\n ...process.env,\n ...resolvedEnv,\n __VARLOCK_RUN: '1', // flag for a child process to detect it is runnign via `varlock run`\n __VARLOCK_ENV: JSON.stringify(envGraph.getSerializedGraph()),\n };\n\n commandProcess = execa(pathAwareCommand || rawCommand, commandArgsOnly, {\n stdio: 'inherit',\n env: fullInjectedEnv,\n });\n // console.log('PARENT PID = ', process.pid);\n // console.log('CHILD PID = ', commandProcess.pid);\n\n // if first run, we need to attach some extra exit handling\n if (!isWatchModeRestart) {\n // try to make sure we shut down cleanly and kill the child process\n process.on('exit', (code: any, signal: any) => {\n // if (childCommandKilledFromRestart) {\n // childCommandKilledFromRestart = false;\n // return;\n // }\n // console.log('exit!', code, signal);\n commandProcess?.kill(9);\n });\n\n ['SIGTERM', 'SIGINT'].forEach((signal) => {\n process.on(signal, () => {\n // console.log('SIGNAL = ', signal);\n commandProcess?.kill(9);\n process.exit(1);\n });\n });\n // TODO: handle other signals?\n }\n\n\n let exitCode: any; // TODO: fix this any\n try {\n const commandResult = await commandProcess;\n exitCode = commandResult.exitCode;\n } catch (error) {\n // console.log('child command error!', error);\n if ((error as any).signal === 'SIGINT' && childCommandKilledFromRestart) {\n // console.log('child command failed due to being killed form restart');\n childCommandKilledFromRestart = false;\n return;\n }\n\n // console.log('child command result error', error);\n if ((error as any).signal === 'SIGINT' || (error as any).signal === 'SIGKILL') {\n process.exit(1);\n } else {\n console.log((error as Error).message);\n console.log(`command [${commandToRunStr}] failed`);\n console.log('try running the same command without dmno');\n console.log('if you get a different result, dmno may be the problem...');\n // console.log(`Please report issue here: <${REPORT_ISSUE_LINK}>`);\n }\n exitCode = (error as any).exitCode || 1;\n }\n\n if (isWatchEnabled) {\n if (!childCommandKilledFromRestart) {\n if (exitCode === 0) {\n console.log('\\n✅ command completed successfully');\n } else {\n console.log(`\\n💥 command failed - exit code = ${exitCode}`);\n }\n }\n }\n\n if (!isWatchEnabled) {\n process.exit(exitCode);\n } else {\n console.log('... watching for changes ...');\n // TODO: watch for changes and restart the command\n }\n};\n"]}
@@ -1,14 +0,0 @@
1
- import { patchGlobalConsole } from './chunk-3KZR56NU.js';
2
- import { patchGlobalResponse } from './chunk-OXV76U3Y.js';
3
- import { patchGlobalServerResponse } from './chunk-RF3YMFUX.js';
4
- import { initVarlockEnv } from './chunk-7QXRUUDC.js';
5
- import { execSync } from 'node:child_process';
6
-
7
- var execResult = execSync("varlock load --format json-full");
8
- process.env.__VARLOCK_ENV = execResult.toString();
9
- initVarlockEnv();
10
- patchGlobalConsole();
11
- patchGlobalServerResponse();
12
- patchGlobalResponse();
13
- //# sourceMappingURL=chunk-3EBGAOLH.js.map
14
- //# sourceMappingURL=chunk-3EBGAOLH.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/runtime/patch-console.ts"],"names":[],"mappings":";;;;;AAWO,SAAS,kBAAqB,GAAA;AACnC,EAAA,KAAA,CAAM,8CAAoC,CAAA;AAC1C,EAAK,IAAA,OAAA,CAAQ,IAAY,iBAAmB,EAAA;AAC1C,IAAA,KAAA,CAAM,mBAAmB,CAAA;AACzB,IAAA;AAAA;AAEF,EAAI,IAAA,eAAA,CAAgB,eAAe,KAAO,EAAA;AACxC,IAAA,KAAA,CAAM,wBAAwB,CAAA;AAC9B,IAAA;AAAA;AASF,EAAM,MAAA,qBAAA,GAAwB,MAAO,CAAA,qBAAA,CAAsB,UAAW,CAAA,OAAO,CAAE,CAAA,IAAA,CAAK,CAAC,CAAA,KAAM,CAAE,CAAA,WAAA,KAAgB,iBAAiB,CAAA;AAG9H,EAAC,UAAmB,CAAA,4BAAA,KAAiC,UAAW,CAAA,OAAA,CAAQ,qBAAqB,CAAA;AAE7F,EAAW,UAAA,CAAA,OAAA,CAAQ,qBAAqB,CAAA,GAAI,WAAY;AACtD,IAAC,UAAA,CAAmB,4BAA6B,CAAA,KAAA,CAAM,IAAM,EAAA;AAAA,MAC3D,UAAU,CAAC,CAAA;AAAA,MACX,qBAAA,CAAsB,SAAU,CAAA,CAAC,CAAC,CAAA;AAAA,MAClC,UAAU,CAAC;AAAA,KACZ,CAAA;AAAA,GACH;AAOA,EAAW,KAAA,MAAA,aAAA,IAAiB,CAAC,OAAS,EAAA,OAAA,EAAS,QAAQ,KAAO,EAAA,MAAA,EAAQ,MAAQ,EAAA,OAAO,CAAG,EAAA;AAEtF,IAAM,MAAA,iBAAA,GAAoB,UAAW,CAAA,OAAA,CAAQ,aAAa,CAAA;AAE1D,IAAA,MAAM,4BAAwB,MAAA,CAAA,WAAA;AAE5B,MAAkB,iBAAA,CAAA,KAAA,CAAM,MAAM,KAAM,CAAA,IAAA,CAAK,SAAS,CAAE,CAAA,GAAA,CAAI,qBAAqB,CAAC,CAAA;AAAA,KAF9D,EAAA,WAAA,CAAA;AAIlB,IAAA,SAAA,CAAU,iBAAoB,GAAA,IAAA;AAG9B,IAAW,UAAA,CAAA,OAAA,CAAQ,aAAa,CAAI,GAAA,SAAA;AAAA;AAExC;AAhDgB,MAAA,CAAA,kBAAA,EAAA,oBAAA,CAAA;AAuDT,SAAS,oBAAuB,GAAA;AAErC,EAAI,IAAA,CAAE,WAAmB,4BAA8B,EAAA;AAEvD,EAAM,MAAA,qBAAA,GAAwB,MAAO,CAAA,qBAAA,CAAsB,UAAW,CAAA,OAAO,CAAE,CAAA,IAAA,CAAK,CAAC,CAAA,KAAM,CAAE,CAAA,WAAA,KAAgB,iBAAiB,CAAA;AAE9H,EAAW,UAAA,CAAA,OAAA,CAAQ,qBAAqB,CAAA,GAAK,UAAmB,CAAA,4BAAA;AAChE,EAAA,OAAQ,UAAmB,CAAA,4BAAA;AAC7B;AARgB,MAAA,CAAA,oBAAA,EAAA,sBAAA,CAAA","file":"chunk-3KZR56NU.js","sourcesContent":["/* eslint-disable func-names, no-console, prefer-rest-params */\n\nimport { redactSensitiveConfig, varlockSettings } from './env';\nimport { debug } from './lib/debug';\n\n\n/**\n * patches global console methods to redact sensitive config\n *\n * NOTE - this may not be 100% foolproof depending on the platform\n * */\nexport function patchGlobalConsole() {\n debug('⚡️ PATCHING global console methods');\n if ((console.log as any)._varlockPatchedFn) {\n debug('> already patched');\n return;\n }\n if (varlockSettings.redactLogs === false) {\n debug('> disabled by settings');\n return;\n }\n\n // our method of patching involves replacing an internal node method which may not be called if console.log itself has also been patched\n // for example AWS lambdas patches this to write the logs to a file which then is pushed to the rest of their system\n\n // so first we'll just patch the internal method do deal with normal stdout/stderr logs -------------------------------------\n\n // we need the internal symbol name to access the internal method\n const kWriteToConsoleSymbol = Object.getOwnPropertySymbols(globalThis.console).find((s) => s.description === 'kWriteToConsole');\n\n // @ts-ignore\n (globalThis as any)._varlockOrigWriteToConsoleFn ||= globalThis.console[kWriteToConsoleSymbol];\n // @ts-ignore\n globalThis.console[kWriteToConsoleSymbol] = function () {\n (globalThis as any)._varlockOrigWriteToConsoleFn.apply(this, [\n arguments[0],\n redactSensitiveConfig(arguments[1]),\n arguments[2],\n ]);\n };\n\n // and now we'll wrap console.log (and the other methods) if it looks like they have been patched already ------------------\n // NOTE - this will not fully redact from everything since we can't safely reach deep into objects\n // ideally we would only turn this when the above method does not work, but it's not trivial to detect when it that is the case\n // so we'll turn it on all the time for now...\n\n for (const logMethodName of ['trace', 'debug', 'info', 'log', 'info', 'warn', 'error']) {\n // @ts-ignore\n const originalLogMethod = globalThis.console[logMethodName];\n\n const patchedFn = function () {\n // @ts-ignore\n originalLogMethod.apply(this, Array.from(arguments).map(redactSensitiveConfig));\n };\n patchedFn._varlockPatchedFn = true;\n\n // @ts-ignore\n globalThis.console[logMethodName] = patchedFn;\n }\n}\n\n/**\n * restore's original global console methods to stop redacting secrets\n *\n * (only needed during local development when switching settings on/off in a process that does not reload)\n * */\nexport function unpatchGlobalConsole() {\n // we'll only care about the normal case where console.log has NOT been patched by something else... (see above)\n if (!(globalThis as any)._varlockOrigWriteToConsoleFn) return;\n\n const kWriteToConsoleSymbol = Object.getOwnPropertySymbols(globalThis.console).find((s) => s.description === 'kWriteToConsole');\n // @ts-ignore\n globalThis.console[kWriteToConsoleSymbol] = (globalThis as any)._varlockOrigWriteToConsoleFn;\n delete (globalThis as any)._varlockOrigWriteToConsoleFn;\n}\n\n// ---\n\n// patchGlobalConsole();\n"]}