varlock 0.2.3 → 0.4.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.
- package/README.md +23 -10
- package/dist/chunk-36LTSUR6.js +48 -0
- package/dist/chunk-36LTSUR6.js.map +1 -0
- package/dist/{chunk-UDXNNRWI.js → chunk-4A54P4EM.js} +10 -10
- package/dist/chunk-4A54P4EM.js.map +1 -0
- package/dist/chunk-4DZ3IHF6.js +34 -0
- package/dist/chunk-4DZ3IHF6.js.map +1 -0
- package/dist/{chunk-Q3C4VKFT.js → chunk-5HF5TS2C.js} +17 -41
- package/dist/chunk-5HF5TS2C.js.map +1 -0
- package/dist/chunk-ALNELNTO.js +68 -0
- package/dist/chunk-ALNELNTO.js.map +1 -0
- package/dist/{chunk-YIXN7TC7.js → chunk-BS7P3FRR.js} +40 -64
- package/dist/chunk-BS7P3FRR.js.map +1 -0
- package/dist/{chunk-OY5U5WTF.js → chunk-CBP4M7BN.js} +2969 -2140
- package/dist/chunk-CBP4M7BN.js.map +1 -0
- package/dist/{chunk-HTF7NU5C.js → chunk-EDSWMPIV.js} +11 -19
- package/dist/chunk-EDSWMPIV.js.map +1 -0
- package/dist/{chunk-BXR2RIO6.js → chunk-F5WNDO7I.js} +6 -5
- package/dist/chunk-F5WNDO7I.js.map +1 -0
- package/dist/{chunk-35SAMS66.js → chunk-GJ7PTJM4.js} +3 -3
- package/dist/{chunk-35SAMS66.js.map → chunk-GJ7PTJM4.js.map} +1 -1
- package/dist/chunk-HRNVJUR5.js +17 -0
- package/dist/chunk-HRNVJUR5.js.map +1 -0
- package/dist/{chunk-PESTWPBG.js → chunk-QNKJGOQ6.js} +8 -6
- package/dist/chunk-QNKJGOQ6.js.map +1 -0
- package/dist/chunk-VKRGHRPK.js +331 -0
- package/dist/chunk-VKRGHRPK.js.map +1 -0
- package/dist/chunk-WIIXKZ3N.js +405 -0
- package/dist/chunk-WIIXKZ3N.js.map +1 -0
- package/dist/chunk-Y3ITSQA4.js +58 -0
- package/dist/chunk-Y3ITSQA4.js.map +1 -0
- package/dist/{chunk-ISSW6NKZ.js → chunk-YFP6VA2U.js} +20 -17
- package/dist/chunk-YFP6VA2U.js.map +1 -0
- package/dist/cli/cli-executable.js +56 -38
- package/dist/cli/cli-executable.js.map +1 -1
- package/dist/config-item-GN5AUR45.js +5 -0
- package/dist/config-item-GN5AUR45.js.map +1 -0
- package/dist/{env-graph-DIcuAiYh.d.ts → env-graph-COORmJlH.d.ts} +121 -2
- package/dist/help.command-7E52XAOO.js +5 -0
- package/dist/{help.command-MLH2WA5Y.js.map → help.command-7E52XAOO.js.map} +1 -1
- package/dist/index.d.ts +2 -2
- package/dist/index.js +4 -2
- package/dist/index.js.map +1 -1
- package/dist/init.command-FMHXUGDI.js +12 -0
- package/dist/{init.command-RAYBZ66R.js.map → init.command-FMHXUGDI.js.map} +1 -1
- package/dist/load.command-6I2D5BPL.js +11 -0
- package/dist/{load.command-KOSPGLV6.js.map → load.command-6I2D5BPL.js.map} +1 -1
- package/dist/plugin-lib.d.ts +2 -2
- package/dist/printenv.command-TROZTZ26.js +12 -0
- package/dist/printenv.command-TROZTZ26.js.map +1 -0
- package/dist/run.command-4OJ6MBP6.js +12 -0
- package/dist/{run.command-BOBQIELJ.js.map → run.command-4OJ6MBP6.js.map} +1 -1
- package/dist/runtime/env.d.ts +1 -1
- package/dist/scan.command-YRNAKUZT.js +13 -0
- package/dist/scan.command-YRNAKUZT.js.map +1 -0
- package/dist/telemetry.command-UZQSUYAY.js +11 -0
- package/dist/{telemetry.command-SFEMMU3U.js.map → telemetry.command-UZQSUYAY.js.map} +1 -1
- package/dist/typegen.command-V4MATON4.js +12 -0
- package/dist/typegen.command-V4MATON4.js.map +1 -0
- package/package.json +18 -17
- package/LICENSE +0 -21
- package/dist/chunk-BXR2RIO6.js.map +0 -1
- package/dist/chunk-HTF7NU5C.js.map +0 -1
- package/dist/chunk-ISSW6NKZ.js.map +0 -1
- package/dist/chunk-OY5U5WTF.js.map +0 -1
- package/dist/chunk-PESTWPBG.js.map +0 -1
- package/dist/chunk-Q3C4VKFT.js.map +0 -1
- package/dist/chunk-UDXNNRWI.js.map +0 -1
- package/dist/chunk-YIXN7TC7.js.map +0 -1
- package/dist/help.command-MLH2WA5Y.js +0 -5
- package/dist/init.command-RAYBZ66R.js +0 -9
- package/dist/load.command-KOSPGLV6.js +0 -9
- package/dist/run.command-BOBQIELJ.js +0 -10
- package/dist/telemetry.command-SFEMMU3U.js +0 -9
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../node_modules/.pnpm/ci-info@4.3.1/node_modules/ci-info/vendors.json","../../../../node_modules/.pnpm/ci-info@4.3.1/node_modules/ci-info/index.js","../../src/lib/ascii-art.ts","../../src/cli/helpers/telemetry.ts","../../../../node_modules/.pnpm/is-docker@4.0.0/node_modules/is-docker/index.js","../../../../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/config.ts","../../src/cli/cli-executable.ts"],"names":["isCI","isDockerCached","hasDockerEnv","fs","hasDockerCGroup","isDocker","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\nif (env.CI !== 'false') {\n vendors.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}\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, { type BinaryLike, createHash } from 'node:crypto';\nimport { dirname, join } from 'node:path';\nimport {\n existsSync, readFileSync, writeFileSync,\n mkdirSync,\n} from 'node:fs';\nimport { asyncExitHook, gracefulExit } from 'exit-hook';\nimport { createDebug } from '../../lib/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 = createDebug('varlock:telemetry');\n\nconst TRUE_ENV_VAR_VALUES = ['true', '1', 't'];\n\n\nconst userVarlockDirPath = join(os.homedir(), '.varlock');\nconst userVarlockConfigFilePath = join(userVarlockDirPath, 'config.json');\nlet userVarlockConfig: Record<string, any> | undefined;\nlet projectVarlockConfig: Record<string, any> | undefined;\nlet mergedVarlockConfigFileContents: Record<string, any> | undefined;\n\n\nlet _gitDirPath: string | undefined;\nlet _varlockDirPath: string | undefined; // can be above the project root, but we'll still respect it\nlet _projectRootDirPath: string | undefined;\nlet _foundProjectRoot: boolean = false;\n/**\n * walks up the directory tree looking for .git and .varlock folders\n * ideally this helps make sure we only walk up the folder tree once\n * */\nfunction findProjectDirs() {\n if (!_foundProjectRoot) {\n let currentDir = process.cwd();\n while (currentDir) {\n const possibleGitDirPath = join(currentDir, '.git');\n if (!_gitDirPath && existsSync(possibleGitDirPath)) {\n _gitDirPath = possibleGitDirPath;\n }\n\n // currently we assume a .varlock folder is in the project root\n // and we do not allow a monorepo to have multiple .varlock folders\n const possibleVarlockDirPath = join(currentDir, '.varlock');\n if (\n !_varlockDirPath\n && possibleVarlockDirPath !== userVarlockDirPath // ignore if we are at ~/.varlock\n && existsSync(possibleVarlockDirPath)\n ) {\n _varlockDirPath = possibleVarlockDirPath;\n }\n\n // this will stop when we reach the top\n const parentDir = dirname(currentDir);\n if (parentDir === currentDir) break;\n currentDir = parentDir;\n }\n\n if (_gitDirPath) _projectRootDirPath = dirname(_gitDirPath);\n else if (_varlockDirPath) _projectRootDirPath = dirname(_varlockDirPath);\n else _projectRootDirPath = process.cwd();\n\n _foundProjectRoot = true;\n }\n return {\n gitDirPath: _gitDirPath,\n varlockDirPath: _varlockDirPath,\n projectRootDirPath: _projectRootDirPath,\n };\n}\n\nfunction loadVarlockConfig() {\n if (mergedVarlockConfigFileContents) return mergedVarlockConfigFileContents;\n\n // load user config file - ~/.varlock/config.json\n try {\n const userConfigStr = readFileSync(userVarlockConfigFilePath, 'utf-8');\n userVarlockConfig = userConfigStr.trim() ? JSON.parse(userConfigStr) : undefined;\n } catch (err) {\n // file does not exist (we jsut do this to avoid doing an extra step to check)\n if (err instanceof Error && 'code' in err && err.code === 'ENOENT') {\n debug(`User varlock config file not found - ${userVarlockConfigFilePath}`);\n } else if (err instanceof SyntaxError) {\n throw new Error(`Invalid JSON in project varlock config - ${userVarlockConfigFilePath}`, { cause: err });\n } else {\n throw new Error(`Problem reading project varlock config - ${userVarlockConfigFilePath}`, { cause: err });\n }\n }\n\n // loads project .varlock config (could be any ancestor of the folder **/.varlock/config.json)\n const { varlockDirPath } = findProjectDirs();\n if (varlockDirPath) {\n const projectVarlockConfigPath = join(varlockDirPath, 'config.json');\n try {\n const projectConfigStr = readFileSync(projectVarlockConfigPath, 'utf-8');\n projectVarlockConfig = projectConfigStr.trim() ? JSON.parse(projectConfigStr) : undefined;\n } catch (err) {\n // file does not exist (we jsut do this to avoid doing an extra step to check)\n if (err instanceof Error && 'code' in err && err.code === 'ENOENT') {\n debug(`Project varlock config file not found - ${projectVarlockConfigPath}`);\n } else if (err instanceof SyntaxError) {\n throw new Error(`Invalid JSON in project varlock config - ${projectVarlockConfigPath}`, { cause: err });\n } else {\n throw new Error(`Problem reading project varlock config - ${projectVarlockConfigPath}`, { cause: err });\n }\n }\n // This causes problems if you are running code within a different user's home directory\n // if (projectVarlockConfig?.anonymousId) throw new Error('Anonymous ID should not be set in project varlock config');\n }\n\n // merge together - we may need more complex merging logic if we have nested config in the future\n mergedVarlockConfigFileContents = {\n ...userVarlockConfig,\n ...projectVarlockConfig,\n };\n\n return mergedVarlockConfigFileContents;\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 varlockConfig = loadVarlockConfig();\n if (varlockConfig?.anonymousId) {\n cachedAnonymousId = varlockConfig.anonymousId;\n return varlockConfig.anonymousId;\n }\n\n // generate new anon ID and save in ~/.varlock/config.json\n const newAnonymousId = `${isCI ? 'ci-' : ''}${crypto.randomUUID()}`;\n\n try {\n if (!existsSync(userVarlockDirPath)) {\n mkdirSync(userVarlockDirPath, { recursive: true });\n }\n\n writeFileSync(\n userVarlockConfigFilePath,\n JSON.stringify({\n ...userVarlockConfig,\n anonymousId: newAnonymousId,\n }, null, 2),\n { flag: 'w' },\n );\n } catch (err) {\n // known case when running within Docker and have no HOME folder set\n if (os.homedir() === '/dev/null') {\n console.error([\n 'Your HOME directory is not set - probably because you are running within Docker.',\n 'Please set HOME within your Dockerfile to a writable directory.',\n 'For example: `ENV HOME=/app/.home` (or whatever directory you want to use).',\n ].join('\\n'));\n } else {\n console.error([\n 'There was a problem writing to the ~/.varlock folder',\n (err as Error).message,\n 'Please ensure your home folder (or at least the ~/.varlock folder) is writable',\n ].join('\\n'));\n }\n gracefulExit(1);\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 || (\n process.env.VARLOCK_TELEMETRY_DISABLED\n && TRUE_ENV_VAR_VALUES.includes(process.env.VARLOCK_TELEMETRY_DISABLED.toLowerCase())\n )\n ) {\n debug('telemetry opted out - env var');\n return true;\n }\n\n // Check config file(s)\n const varlockConfig = loadVarlockConfig();\n if (\n varlockConfig?.analytics_opt_out // legacy\n || varlockConfig?.telemetryDisabled\n ) {\n debug(`telemetry opted out - config file (${projectVarlockConfig?.telemetryDisabled ? 'project' : 'user'} config)`);\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 findProjectDirs(); // finds the git folder\n if (!_gitDirPath) return undefined;\n try {\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: isOptedOut ? '---' : 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\nfunction hasDockerMountInfo() {\n\ttry {\n\t\treturn fs.readFileSync('/proc/self/mountinfo', 'utf8').includes('/docker/containers/');\n\t} catch {\n\t\treturn false;\n\t}\n}\n\nexport default function isDocker() {\n\tisDockerCached ??= hasDockerEnv() || hasDockerCGroup() || hasDockerMountInfo();\n\treturn isDockerCached;\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.2.3\",\n \"description\": \"The unified env var toolkit - load, validate, and secure your environment variables\",\n \"main\": \"index.js\",\n \"type\": \"module\",\n \"author\": \"dmno-dev\",\n \"license\": \"MIT\",\n \"homepage\": \"https://varlock.dev\",\n \"bugs\": \"https://github.com/dmno-dev/varlock/issues\",\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 \"test:ci\": \"vitest --run\",\n \"lint\": \"eslint .\",\n \"lint:fix\": \"pnpm run lint --fix\"\n },\n \"keywords\": [\n \"varlock\",\n \"secrets\",\n \"secret-management\",\n \"env\",\n \".env\",\n \"dotenv\",\n \"environment variables\",\n \"env vars\",\n \"config\",\n \"1password\",\n \"bitwarden\",\n \"infisical\",\n \"aws\",\n \"azure\",\n \"google-cloud\",\n \"secrets-manager\"\n ],\n \"files\": [\n \"/bin\",\n \"/dist\"\n ],\n \"bin\": {\n \"varlock\": \"./bin/cli.js\"\n },\n \"engines\": {\n \"node\": \">=22\"\n },\n \"dependencies\": {},\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 \"./exec-sync-varlock\": {\n \"ts-src\": \"./src/lib/exec-sync-varlock.ts\",\n \"types\": \"./dist/lib/exec-sync-varlock.d.ts\",\n \"default\": \"./dist/lib/exec-sync-varlock.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 \"./plugin-lib\": {\n \"ts-src\": \"./src/plugin-lib.ts\",\n \"types\": \"./dist/plugin-lib.d.ts\",\n \"default\": \"./dist/plugin-lib.js\"\n }\n },\n \"devDependencies\": {\n \"@clack/core\": \"^1.0.0\",\n \"@clack/prompts\": \"^1.0.0\",\n \"@env-spec/utils\": \"workspace:*\",\n \"@sindresorhus/is\": \"catalog:\",\n \"@types/node\": \"catalog:\",\n \"@types/semver\": \"^7.7.1\",\n \"@env-spec/parser\": \"workspace:*\",\n \"@yao-pkg/pkg\": \"^6.13.1\",\n \"ansis\": \"catalog:\",\n \"browser-or-node\": \"^3.0.0\",\n \"ci-info\": \"^4.3.1\",\n \"exit-hook\": \"^5.1.0\",\n \"gunshi\": \"^0.28.0\",\n \"is-docker\": \"^4.0.0\",\n \"is-unicode-supported\": \"^2.1.0\",\n \"is-wsl\": \"^3.1.0\",\n \"outdent\": \"catalog:\",\n \"semver\": \"^7.7.4\",\n \"tsup\": \"catalog:\",\n \"vitest\": \"catalog:\"\n }\n}\n","// TODO: figure out dev vs prod env vars... would be great to use varlock here!\n\n// NOTE - these keys are safe to publish\n\nexport const CONFIG = {\n // VARLOCK_API_URL: 'http://localhost:8888',\n VARLOCK_API_URL: 'https://api.varlock.dev',\n GITHUB_APP_CLIENT_ID: 'Iv23li50gB8bMxLauiJQ', // varlock.dev app\n POSTHOG_API_KEY: 'phc_bfzH97VIta8yQa8HrsgmitqS6rTydjMISs0m8aqJTnq',\n POSTHOG_HOST: 'https://ph.varlock.dev',\n};\n","import { cli, type Command } from 'gunshi';\nimport { gracefulExit } from 'exit-hook';\n\nimport { VARLOCK_BANNER_COLOR } from '../lib/ascii-art';\nimport { CliExitError } from './helpers/exit-error';\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';\n// import { commandSpec as encryptCommandSpec } from './commands/encrypt.command';\n// import { commandSpec as doctorCommandSpec } from './commands/doctor.command';\nimport { commandSpec as helpCommandSpec } from './commands/help.command';\nimport { commandSpec as telemetryCommandSpec } from './commands/telemetry.command';\n// import { commandSpec as loginCommandSpec } from './commands/login.command';\n// import { commandSpec as pluginCommandSpec } from './commands/plugin.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')));\n// subCommands.set('encrypt', buildLazyCommand(encryptCommandSpec, async () => await import('./commands/encrypt.command')));\n// subCommands.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')));\n// subCommands.set('login', buildLazyCommand(loginCommandSpec, async () => await import('./commands/login.command')));\n// subCommands.set('plugin', buildLazyCommand(pluginCommandSpec, async () => await import('./commands/plugin.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 homebrew/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 // process.exit(1);\n gracefulExit(1);\n } else {\n throw error;\n }\n\n gracefulExit(1);\n }\n}());\n"]}
|
|
1
|
+
{"version":3,"sources":["../../../../node_modules/.bun/ci-info@4.4.0/node_modules/ci-info/vendors.json","../../../../node_modules/.bun/ci-info@4.4.0/node_modules/ci-info/index.js","../../src/lib/ascii-art.ts","../../src/cli/helpers/telemetry.ts","../../../../node_modules/.bun/is-docker@4.0.0/node_modules/is-docker/index.js","../../../../node_modules/.bun/is-docker@3.0.0/node_modules/is-docker/index.js","../../../../node_modules/.bun/is-inside-container@1.0.0/node_modules/is-inside-container/index.js","../../../../node_modules/.bun/is-wsl@3.1.1/node_modules/is-wsl/index.js","../../package.json","../../src/config.ts","../../src/cli/cli-executable.ts"],"names":["exports","isCI","isDockerCached","hasDockerEnv","fs","hasDockerCGroup","isDocker","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\": \"Alpic\",\n \"constant\": \"ALPIC\",\n \"env\": \"ALPIC_HOST\"\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\nif (env.CI !== 'false') {\n vendors.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}\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, { type BinaryLike, createHash } from 'node:crypto';\nimport { dirname, join } from 'node:path';\nimport {\n existsSync, readFileSync, writeFileSync,\n mkdirSync,\n} from 'node:fs';\nimport { asyncExitHook, gracefulExit } from 'exit-hook';\nimport { createDebug } from '../../lib/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 = createDebug('varlock:telemetry');\n\nconst TRUE_ENV_VAR_VALUES = ['true', '1', 't'];\n\n\nconst userVarlockDirPath = join(os.homedir(), '.varlock');\nconst userVarlockConfigFilePath = join(userVarlockDirPath, 'config.json');\nlet userVarlockConfig: Record<string, any> | undefined;\nlet projectVarlockConfig: Record<string, any> | undefined;\nlet mergedVarlockConfigFileContents: Record<string, any> | undefined;\n\n\nlet _gitDirPath: string | undefined;\nlet _varlockDirPath: string | undefined; // can be above the project root, but we'll still respect it\nlet _projectRootDirPath: string | undefined;\nlet _foundProjectRoot: boolean = false;\n/**\n * walks up the directory tree looking for .git and .varlock folders\n * ideally this helps make sure we only walk up the folder tree once\n * */\nfunction findProjectDirs() {\n if (!_foundProjectRoot) {\n let currentDir = process.cwd();\n while (currentDir) {\n const possibleGitDirPath = join(currentDir, '.git');\n if (!_gitDirPath && existsSync(possibleGitDirPath)) {\n _gitDirPath = possibleGitDirPath;\n }\n\n // currently we assume a .varlock folder is in the project root\n // and we do not allow a monorepo to have multiple .varlock folders\n const possibleVarlockDirPath = join(currentDir, '.varlock');\n if (\n !_varlockDirPath\n && possibleVarlockDirPath !== userVarlockDirPath // ignore if we are at ~/.varlock\n && existsSync(possibleVarlockDirPath)\n ) {\n _varlockDirPath = possibleVarlockDirPath;\n }\n\n // this will stop when we reach the top\n const parentDir = dirname(currentDir);\n if (parentDir === currentDir) break;\n currentDir = parentDir;\n }\n\n if (_gitDirPath) _projectRootDirPath = dirname(_gitDirPath);\n else if (_varlockDirPath) _projectRootDirPath = dirname(_varlockDirPath);\n else _projectRootDirPath = process.cwd();\n\n _foundProjectRoot = true;\n }\n return {\n gitDirPath: _gitDirPath,\n varlockDirPath: _varlockDirPath,\n projectRootDirPath: _projectRootDirPath,\n };\n}\n\nfunction loadVarlockConfig() {\n if (mergedVarlockConfigFileContents) return mergedVarlockConfigFileContents;\n\n // load user config file - ~/.varlock/config.json\n try {\n const userConfigStr = readFileSync(userVarlockConfigFilePath, 'utf-8');\n userVarlockConfig = userConfigStr.trim() ? JSON.parse(userConfigStr) : undefined;\n } catch (err) {\n // file does not exist (we jsut do this to avoid doing an extra step to check)\n if (err instanceof Error && 'code' in err && err.code === 'ENOENT') {\n debug(`User varlock config file not found - ${userVarlockConfigFilePath}`);\n } else if (err instanceof SyntaxError) {\n throw new Error(`Invalid JSON in project varlock config - ${userVarlockConfigFilePath}`, { cause: err });\n } else {\n throw new Error(`Problem reading project varlock config - ${userVarlockConfigFilePath}`, { cause: err });\n }\n }\n\n // loads project .varlock config (could be any ancestor of the folder **/.varlock/config.json)\n const { varlockDirPath } = findProjectDirs();\n if (varlockDirPath) {\n const projectVarlockConfigPath = join(varlockDirPath, 'config.json');\n try {\n const projectConfigStr = readFileSync(projectVarlockConfigPath, 'utf-8');\n projectVarlockConfig = projectConfigStr.trim() ? JSON.parse(projectConfigStr) : undefined;\n } catch (err) {\n // file does not exist (we jsut do this to avoid doing an extra step to check)\n if (err instanceof Error && 'code' in err && err.code === 'ENOENT') {\n debug(`Project varlock config file not found - ${projectVarlockConfigPath}`);\n } else if (err instanceof SyntaxError) {\n throw new Error(`Invalid JSON in project varlock config - ${projectVarlockConfigPath}`, { cause: err });\n } else {\n throw new Error(`Problem reading project varlock config - ${projectVarlockConfigPath}`, { cause: err });\n }\n }\n // This causes problems if you are running code within a different user's home directory\n // if (projectVarlockConfig?.anonymousId) throw new Error('Anonymous ID should not be set in project varlock config');\n }\n\n // merge together - we may need more complex merging logic if we have nested config in the future\n mergedVarlockConfigFileContents = {\n ...userVarlockConfig,\n ...projectVarlockConfig,\n };\n\n return mergedVarlockConfigFileContents;\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 varlockConfig = loadVarlockConfig();\n if (varlockConfig?.anonymousId) {\n cachedAnonymousId = varlockConfig.anonymousId;\n return varlockConfig.anonymousId;\n }\n\n // generate new anon ID and save in ~/.varlock/config.json\n const newAnonymousId = `${isCI ? 'ci-' : ''}${crypto.randomUUID()}`;\n\n try {\n if (!existsSync(userVarlockDirPath)) {\n mkdirSync(userVarlockDirPath, { recursive: true });\n }\n\n writeFileSync(\n userVarlockConfigFilePath,\n JSON.stringify({\n ...userVarlockConfig,\n anonymousId: newAnonymousId,\n }, null, 2),\n { flag: 'w' },\n );\n } catch (err) {\n // known case when running within Docker and have no HOME folder set\n if (os.homedir() === '/dev/null') {\n console.error([\n 'Your HOME directory is not set - probably because you are running within Docker.',\n 'Please set HOME within your Dockerfile to a writable directory.',\n 'For example: `ENV HOME=/app/.home` (or whatever directory you want to use).',\n ].join('\\n'));\n } else {\n console.error([\n 'There was a problem writing to the ~/.varlock folder',\n (err as Error).message,\n 'Please ensure your home folder (or at least the ~/.varlock folder) is writable',\n ].join('\\n'));\n }\n gracefulExit(1);\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 || (\n process.env.VARLOCK_TELEMETRY_DISABLED\n && TRUE_ENV_VAR_VALUES.includes(process.env.VARLOCK_TELEMETRY_DISABLED.toLowerCase())\n )\n ) {\n debug('telemetry opted out - env var');\n return true;\n }\n\n // Check config file(s)\n const varlockConfig = loadVarlockConfig();\n if (\n varlockConfig?.analytics_opt_out // legacy\n || varlockConfig?.telemetryDisabled\n ) {\n debug(`telemetry opted out - config file (${projectVarlockConfig?.telemetryDisabled ? 'project' : 'user'} config)`);\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 findProjectDirs(); // finds the git folder\n if (!_gitDirPath) return undefined;\n try {\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: isOptedOut ? '---' : 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\nfunction hasDockerMountInfo() {\n\ttry {\n\t\treturn fs.readFileSync('/proc/self/mountinfo', 'utf8').includes('/docker/containers/');\n\t} catch {\n\t\treturn false;\n\t}\n}\n\nexport default function isDocker() {\n\tisDockerCached ??= hasDockerEnv() || hasDockerCGroup() || hasDockerMountInfo();\n\treturn isDockerCached;\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\tif (fs.readFileSync('/proc/version', 'utf8').toLowerCase().includes('microsoft')) {\n\t\t\treturn !isInsideContainer();\n\t\t}\n\t} catch {}\n\n\t// Fallback for custom kernels: check WSL-specific paths.\n\tif (\n\t\tfs.existsSync('/proc/sys/fs/binfmt_misc/WSLInterop')\n\t\t|| fs.existsSync('/run/WSL')\n\t) {\n\t\treturn !isInsideContainer();\n\t}\n\n\treturn false;\n};\n\nexport default process.env.__IS_WSL_TEST__ ? isWsl : isWsl();\n","{\n \"name\": \"varlock\",\n \"version\": \"0.4.0\",\n \"description\": \"AI-safe .env files: Schemas for agents, Secrets for humans.\",\n \"main\": \"index.js\",\n \"type\": \"module\",\n \"author\": \"dmno-dev\",\n \"license\": \"MIT\",\n \"homepage\": \"https://varlock.dev\",\n \"bugs\": \"https://github.com/dmno-dev/varlock/issues\",\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:binary\": \"bun run scripts/build-binaries.ts --dev\",\n \"build:binaries\": \"bun run scripts/build-binaries.ts\",\n \"dev\": \"tsup\",\n \"test\": \"vitest\",\n \"test:ci\": \"vitest --run\",\n \"lint\": \"eslint .\",\n \"lint:fix\": \"bun run lint --fix\"\n },\n \"keywords\": [\n \"varlock\",\n \"secrets\",\n \"secret-management\",\n \"env\",\n \".env\",\n \"dotenv\",\n \"environment variables\",\n \"env vars\",\n \"config\",\n \"1password\",\n \"bitwarden\",\n \"infisical\",\n \"aws\",\n \"azure\",\n \"google-cloud\",\n \"secrets-manager\"\n ],\n \"files\": [\n \"/bin\",\n \"/dist\"\n ],\n \"bin\": {\n \"varlock\": \"./bin/cli.js\"\n },\n \"engines\": {\n \"node\": \">=22\"\n },\n \"dependencies\": {},\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 \"./exec-sync-varlock\": {\n \"ts-src\": \"./src/lib/exec-sync-varlock.ts\",\n \"types\": \"./dist/lib/exec-sync-varlock.d.ts\",\n \"default\": \"./dist/lib/exec-sync-varlock.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 \"./plugin-lib\": {\n \"ts-src\": \"./src/plugin-lib.ts\",\n \"types\": \"./dist/plugin-lib.d.ts\",\n \"default\": \"./dist/plugin-lib.js\"\n }\n },\n \"devDependencies\": {\n \"@clack/core\": \"^1.0.0\",\n \"@clack/prompts\": \"^1.0.0\",\n \"@env-spec/parser\": \"workspace:*\",\n \"@env-spec/utils\": \"workspace:*\",\n \"@sindresorhus/is\": \"catalog:\",\n \"@types/node\": \"catalog:\",\n \"@types/semver\": \"^7.7.1\",\n \"@varlock/ci-env-info\": \"workspace:^\",\n \"ansis\": \"catalog:\",\n \"browser-or-node\": \"^3.0.0\",\n \"ci-info\": \"^4.3.1\",\n \"exit-hook\": \"^5.1.0\",\n \"gunshi\": \"^0.28.0\",\n \"is-docker\": \"^4.0.0\",\n \"is-unicode-supported\": \"^2.1.0\",\n \"is-wsl\": \"^3.1.0\",\n \"outdent\": \"catalog:\",\n \"semver\": \"^7.7.4\",\n \"tsup\": \"catalog:\",\n \"vitest\": \"catalog:\"\n }\n}\n","// TODO: figure out dev vs prod env vars... would be great to use varlock here!\n\n// NOTE - these keys are safe to publish\n\nexport const CONFIG = {\n // VARLOCK_API_URL: 'http://localhost:8888',\n VARLOCK_API_URL: 'https://api.varlock.dev',\n GITHUB_APP_CLIENT_ID: 'Iv23li50gB8bMxLauiJQ', // varlock.dev app\n POSTHOG_API_KEY: 'phc_bfzH97VIta8yQa8HrsgmitqS6rTydjMISs0m8aqJTnq',\n POSTHOG_HOST: 'https://ph.varlock.dev',\n};\n","import { cli, type Command } from 'gunshi';\nimport { gracefulExit } from 'exit-hook';\n\nimport { VARLOCK_BANNER_COLOR } from '../lib/ascii-art';\nimport { CliExitError } from './helpers/exit-error';\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 printenvCommandSpec } from './commands/printenv.command';\n// import { commandSpec as encryptCommandSpec } from './commands/encrypt.command';\n// import { 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 scanCommandSpec } from './commands/scan.command';\nimport { commandSpec as typegenCommandSpec } from './commands/typegen.command';\n// import { commandSpec as loginCommandSpec } from './commands/login.command';\n// import { commandSpec as pluginCommandSpec } from './commands/plugin.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('printenv', buildLazyCommand(printenvCommandSpec, async () => await import('./commands/printenv.command')));\n// subCommands.set('encrypt', buildLazyCommand(encryptCommandSpec, async () => await import('./commands/encrypt.command')));\n// subCommands.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('scan', buildLazyCommand(scanCommandSpec, async () => await import('./commands/scan.command')));\nsubCommands.set('typegen', buildLazyCommand(typegenCommandSpec, async () => await import('./commands/typegen.command')));\n// subCommands.set('login', buildLazyCommand(loginCommandSpec, async () => await import('./commands/login.command')));\n// subCommands.set('plugin', buildLazyCommand(pluginCommandSpec, async () => await import('./commands/plugin.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 homebrew/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 } 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 // process.exit(1);\n } else {\n throw error;\n }\n\n gracefulExit(1);\n }\n}());\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"names":[],"mappings":"","file":"config-item-GN5AUR45.js"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ParsedEnvSpecDecorator,
|
|
1
|
+
import { ParsedEnvSpecDecorator, ParsedEnvSpecStaticValue, ParsedEnvSpecFunctionCall, ParsedEnvSpecFunctionArgs, ParsedEnvSpecFile } from '@env-spec/parser';
|
|
2
2
|
import { FallbackIfUnknown } from '@env-spec/utils/type-utils';
|
|
3
3
|
|
|
4
4
|
type VarlockErrorLocationDetails = {
|
|
@@ -213,6 +213,8 @@ declare class Resolver {
|
|
|
213
213
|
get isStatic(): boolean;
|
|
214
214
|
get staticValue(): ResolvedValue;
|
|
215
215
|
inferredType?: string;
|
|
216
|
+
/** reference to the parsed node that created this resolver, used for error location tracking */
|
|
217
|
+
_parsedNode?: ParsedEnvSpecStaticValue | ParsedEnvSpecFunctionCall | ParsedEnvSpecFunctionArgs;
|
|
216
218
|
_schemaErrors: Array<SchemaError>;
|
|
217
219
|
private _depsObj;
|
|
218
220
|
get childResolvers(): Array<Resolver>;
|
|
@@ -299,12 +301,30 @@ declare abstract class EnvGraphDataSource {
|
|
|
299
301
|
importMeta?: {
|
|
300
302
|
isImport?: boolean;
|
|
301
303
|
importKeys?: Array<string>;
|
|
304
|
+
/** true when the @import had a non-static `enabled` parameter (e.g. `enabled=forEnv("dev")`) */
|
|
305
|
+
isConditionallyEnabled?: boolean;
|
|
302
306
|
};
|
|
303
307
|
get isImport(): boolean;
|
|
304
308
|
get isPartialImport(): boolean;
|
|
305
309
|
get importKeys(): Array<string> | undefined;
|
|
306
310
|
/** adds a child data source and sets up the correct references in both directions */
|
|
307
311
|
addChild(child: EnvGraphDataSource, importMeta?: EnvGraphDataSource['importMeta']): Promise<void>;
|
|
312
|
+
/**
|
|
313
|
+
* Whether this data source is environment-specific.
|
|
314
|
+
* A source is env-specific if:
|
|
315
|
+
* - it was auto-loaded for a specific env (e.g., `.env.production` loaded by a DirectoryDataSource)
|
|
316
|
+
* - it has a conditional `@disable` decorator (e.g., `@disable=forEnv(test)`)
|
|
317
|
+
* - it was conditionally imported (e.g., `@import(..., enabled=forEnv("dev"))`)
|
|
318
|
+
* - any of its ancestors are env-specific
|
|
319
|
+
* Used by type generation to filter out env-dependent definitions.
|
|
320
|
+
*
|
|
321
|
+
* Note: `applyForEnv` from filename parsing is only relevant for auto-loaded files.
|
|
322
|
+
* Explicitly imported files (via `@import`) are controlled by the import mechanism,
|
|
323
|
+
* not the auto-load-by-env logic, so their `applyForEnv` is ignored here.
|
|
324
|
+
*/
|
|
325
|
+
get isEnvSpecific(): boolean;
|
|
326
|
+
/** true when the source has a `@disable` decorator whose value is not static */
|
|
327
|
+
_hasConditionalDisable?: boolean;
|
|
308
328
|
/** environment flag key (as set by @envFlag decorator) - only if set within this source */
|
|
309
329
|
_envFlagKey?: string;
|
|
310
330
|
/** environment flag key getter that will follow up the parent chain */
|
|
@@ -380,16 +400,27 @@ type ConfigItemDef = {
|
|
|
380
400
|
};
|
|
381
401
|
type ConfigItemDefAndSource = {
|
|
382
402
|
itemDef: ConfigItemDef;
|
|
383
|
-
source
|
|
403
|
+
source?: EnvGraphDataSource;
|
|
384
404
|
};
|
|
385
405
|
declare class ConfigItem {
|
|
386
406
|
readonly envGraph: EnvGraph;
|
|
387
407
|
readonly key: string;
|
|
408
|
+
/** Whether this is a builtin VARLOCK_* variable */
|
|
409
|
+
isBuiltin?: boolean;
|
|
410
|
+
/** Programmatic definitions not tied to a data source (e.g. builtin vars) */
|
|
411
|
+
_internalDefs: Array<ConfigItemDefAndSource>;
|
|
388
412
|
constructor(envGraph: EnvGraph, key: string);
|
|
389
413
|
/**
|
|
390
414
|
* fetch ordered list of definitions for this item, by following up sorted data sources list
|
|
415
|
+
* internal defs (builtins) are appended last (lowest priority)
|
|
391
416
|
*/
|
|
392
417
|
get defs(): ConfigItemDefAndSource[];
|
|
418
|
+
/**
|
|
419
|
+
* Like `defs` but filtered to exclude environment-specific data sources.
|
|
420
|
+
* Used by type generation so that generated types are deterministic
|
|
421
|
+
* regardless of which environment is being loaded.
|
|
422
|
+
*/
|
|
423
|
+
get defsForTypeGeneration(): ConfigItemDefAndSource[];
|
|
393
424
|
get description(): string | undefined;
|
|
394
425
|
get icon(): any;
|
|
395
426
|
get docsLinks(): {
|
|
@@ -441,7 +472,29 @@ declare class ConfigItem {
|
|
|
441
472
|
get isCoerced(): boolean;
|
|
442
473
|
resolve(reset?: boolean): Promise<void>;
|
|
443
474
|
get isValid(): boolean;
|
|
475
|
+
/**
|
|
476
|
+
* Compute schema-level info for type generation using only non-env-specific definitions.
|
|
477
|
+
* This mirrors the logic of processRequired/processSensitive but:
|
|
478
|
+
* - Uses defsForTypeGeneration (excludes env-specific sources)
|
|
479
|
+
* - Returns a result object instead of mutating item state
|
|
480
|
+
* - Resolves only static decorators from non-env-specific sources
|
|
481
|
+
*/
|
|
482
|
+
getTypeGenInfo(): Promise<TypeGenItemInfo>;
|
|
444
483
|
}
|
|
484
|
+
/** Schema-level info for a config item, computed from non-env-specific definitions only */
|
|
485
|
+
type TypeGenItemInfo = {
|
|
486
|
+
key: string;
|
|
487
|
+
description?: string;
|
|
488
|
+
dataType?: EnvGraphDataType;
|
|
489
|
+
isRequired: boolean;
|
|
490
|
+
isRequiredDynamic: boolean;
|
|
491
|
+
isSensitive: boolean;
|
|
492
|
+
icon?: string;
|
|
493
|
+
docsLinks: Array<{
|
|
494
|
+
url: string;
|
|
495
|
+
description?: string;
|
|
496
|
+
}>;
|
|
497
|
+
};
|
|
445
498
|
|
|
446
499
|
type GraphNodeId = string;
|
|
447
500
|
type GraphAdjacencyList = Record<GraphNodeId, Array<GraphNodeId>>;
|
|
@@ -500,6 +553,39 @@ declare class VarlockPlugin {
|
|
|
500
553
|
executePluginModule(): Promise<void>;
|
|
501
554
|
}
|
|
502
555
|
|
|
556
|
+
/**
|
|
557
|
+
* Shared parsers for CI env values: ref → branch, repo string → { owner, name }, env value → deployment enum.
|
|
558
|
+
*/
|
|
559
|
+
type DeploymentEnvironment = ('development' | 'preview' | 'staging' | 'production' | 'test');
|
|
560
|
+
interface RepoParts {
|
|
561
|
+
owner: string;
|
|
562
|
+
name: string;
|
|
563
|
+
}
|
|
564
|
+
interface CiEnvInfo {
|
|
565
|
+
isCI: boolean;
|
|
566
|
+
name?: string;
|
|
567
|
+
docsUrl?: string;
|
|
568
|
+
isPR?: boolean;
|
|
569
|
+
repo?: RepoParts;
|
|
570
|
+
fullRepoName?: string;
|
|
571
|
+
branch?: string;
|
|
572
|
+
prNumber?: number;
|
|
573
|
+
commitSha?: string;
|
|
574
|
+
commitShaShort?: string;
|
|
575
|
+
environment?: DeploymentEnvironment;
|
|
576
|
+
/** Unique run/build id (e.g. GITHUB_RUN_ID, BUILD_ID) */
|
|
577
|
+
runId?: string;
|
|
578
|
+
/** URL to the run or deploy in the CI/deploy UI */
|
|
579
|
+
buildUrl?: string;
|
|
580
|
+
/** Workflow or pipeline name */
|
|
581
|
+
workflowName?: string;
|
|
582
|
+
/** User or app that triggered the run (e.g. GITHUB_ACTOR) */
|
|
583
|
+
actor?: string;
|
|
584
|
+
/** Event type (e.g. push, pull_request, workflow_dispatch) */
|
|
585
|
+
eventName?: string;
|
|
586
|
+
raw?: Record<string, string>;
|
|
587
|
+
}
|
|
588
|
+
|
|
503
589
|
type SerializedEnvGraph = {
|
|
504
590
|
basePath?: string;
|
|
505
591
|
sources: Array<{
|
|
@@ -541,14 +627,47 @@ declare class EnvGraph {
|
|
|
541
627
|
rootDecoratorsRegistry: Record<string, RootDecoratorDef>;
|
|
542
628
|
registerRootDecorator(decoratorDef: RootDecoratorDef): void;
|
|
543
629
|
constructor();
|
|
630
|
+
/**
|
|
631
|
+
* Override for process.env used by builtin var detection.
|
|
632
|
+
* When set, builtin vars use this instead of the real process.env.
|
|
633
|
+
* Primarily useful for testing.
|
|
634
|
+
*/
|
|
635
|
+
processEnvOverride?: Record<string, string | undefined>;
|
|
636
|
+
/** Cached CI env info, computed lazily from processEnvOverride or real process.env */
|
|
637
|
+
private _cachedCiEnv?;
|
|
638
|
+
get ciEnvInfo(): CiEnvInfo;
|
|
639
|
+
/** The process env record used for builtin var detection */
|
|
640
|
+
get processEnvForBuiltins(): Record<string, string | undefined>;
|
|
641
|
+
/**
|
|
642
|
+
* Register a builtin VARLOCK_* variable.
|
|
643
|
+
* Attaches an internal def with the builtin resolver so it flows through the normal pipeline.
|
|
644
|
+
* If the item already exists (user-defined), the internal def is added as a fallback.
|
|
645
|
+
*/
|
|
646
|
+
registerBuiltinVar(key: string): void;
|
|
544
647
|
setRootDataSource(source: EnvGraphDataSource): Promise<void>;
|
|
545
648
|
finishLoad(): Promise<void>;
|
|
546
649
|
get graphAdjacencyList(): GraphAdjacencyList;
|
|
547
650
|
resolveEnvValues(keys?: Array<string>): Promise<void>;
|
|
651
|
+
resolveItemWithDeps(key: string): Promise<void>;
|
|
652
|
+
/** config keys with builtin vars first, then user-defined in schema order */
|
|
653
|
+
get sortedConfigKeys(): string[];
|
|
548
654
|
getResolvedEnvObject(): Record<string, any>;
|
|
549
655
|
getSerializedGraph(): SerializedEnvGraph;
|
|
550
656
|
get isInvalid(): boolean;
|
|
551
657
|
generateTypes(lang: string, outputPath: string): Promise<void>;
|
|
658
|
+
/**
|
|
659
|
+
* Resolve @generateTypes decorators and generate type files.
|
|
660
|
+
* This should be called after finishLoad() but before resolveEnvValues().
|
|
661
|
+
* The @generateTypes decorator args (lang, path) are static, so we can resolve them
|
|
662
|
+
* without needing full env resolution. Type info is computed from non-env-specific
|
|
663
|
+
* definitions only, so the output is deterministic regardless of environment.
|
|
664
|
+
*
|
|
665
|
+
* @param opts.ignoreAutoFalse - if true, generate types even if `auto=false` is set.
|
|
666
|
+
* Used by the `varlock typegen` command to force generation.
|
|
667
|
+
*/
|
|
668
|
+
generateTypesIfNeeded(opts?: {
|
|
669
|
+
ignoreAutoFalse?: boolean;
|
|
670
|
+
}): Promise<number>;
|
|
552
671
|
getRootDec(decoratorName: string): RootDecoratorInstance | undefined;
|
|
553
672
|
getRootDecFns(decoratorName: string): RootDecoratorInstance[];
|
|
554
673
|
/** plugins installed globally in the graph */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":[],"names":[],"mappings":"","file":"help.command-
|
|
1
|
+
{"version":3,"sources":[],"names":[],"mappings":"","file":"help.command-7E52XAOO.js"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { E as EnvGraph, a as DotEnvFileDataSource, C as ConfigLoadError, b as SchemaError, d as ValidationError, e as CoercionError, f as ResolutionError } from './env-graph-
|
|
2
|
-
export { D as Debugger, S as SerializedEnvGraph, c as createDebug } from './env-graph-
|
|
1
|
+
import { E as EnvGraph, a as DotEnvFileDataSource, C as ConfigLoadError, b as SchemaError, d as ValidationError, e as CoercionError, f as ResolutionError } from './env-graph-COORmJlH.js';
|
|
2
|
+
export { D as Debugger, S as SerializedEnvGraph, c as createDebug } from './env-graph-COORmJlH.js';
|
|
3
3
|
import { initVarlockEnv } from './runtime/env.js';
|
|
4
4
|
export { ENV } from './runtime/env.js';
|
|
5
5
|
export { patchGlobalConsole } from './runtime/patch-console.js';
|
package/dist/index.js
CHANGED
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
export { patchGlobalResponse } from './chunk-UIOEEWG5.js';
|
|
2
2
|
export { patchGlobalServerResponse } from './chunk-ZXJ4CEDK.js';
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
3
|
+
import { checkForConfigErrors } from './chunk-YFP6VA2U.js';
|
|
4
|
+
import { loadVarlockEnvGraph } from './chunk-HRNVJUR5.js';
|
|
5
|
+
import { loadEnvGraph } from './chunk-VKRGHRPK.js';
|
|
6
|
+
import { ResolutionError, CoercionError, ValidationError, SchemaError, ConfigLoadError, DotEnvFileDataSource, EnvGraph } from './chunk-CBP4M7BN.js';
|
|
5
7
|
export { createDebug } from './chunk-QZ6HBRJC.js';
|
|
6
8
|
export { patchGlobalConsole } from './chunk-TYIS6T2T.js';
|
|
7
9
|
import { initVarlockEnv } from './chunk-WAMBVZL2.js';
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAiBA,eAAsB,IAAA,GAAO;AAE3B,EAAA,MAAM,QAAA,GAAW,MAAM,mBAAA,EAAoB;AAC3C,EAAA,MAAM,SAAS,gBAAA,EAAiB;AAChC,EAAA,oBAAA,CAAqB,QAAQ,CAAA;AAG7B,EAAA,OAAA,CAAQ,IAAI,aAAA,GAAgB,IAAA,CAAK,SAAA,CAAU,QAAA,CAAS,oBAAoB,CAAA;AACxE,EAAA,cAAA,EAAe;AAEjB;AAVsB,MAAA,CAAA,IAAA,EAAA,MAAA,CAAA;AAaf,SAAS,yBAAyB,IAAA,EAGtC;AACD,EAAA,IAAI,CAAC,OAAA,CAAQ,GAAA,CAAI,aAAA,SAAsB,EAAC;AACxC,EAAA,MAAM,OAAA,GAAU,IAAA,CAAK,KAAA,CAAM,OAAA,CAAQ,IAAI,aAAa,CAAA;AACpD,EAAA,MAAM,eAAe,EAAC;AACtB,EAAA,KAAA,MAAW,GAAA,IAAO,QAAQ,MAAA,EAAQ;AAChC,IAAA,MAAM,QAAA,GAAW,OAAA,CAAQ,MAAA,CAAO,GAAG,CAAA;AACnC,IAAA,MAAM,WAAA,GAAc,CAAC,QAAA,CAAS,WAAA,IAAe,IAAA,EAAM,gBAAA;AACnD,IAAA,IAAI,CAAC,WAAA,EAAa;AAClB,IAAA,YAAA,CAAa,CAAA,EAAG,IAAA,EAAM,SAAA,IAAa,KAAK,IAAI,GAAG,CAAA,CAAE,CAAA,GAAI,IAAA,CAAK,SAAA,CAAU,OAAA,CAAQ,MAAA,CAAO,GAAG,EAAE,KAAK,CAAA;AAAA,EAC/F;AACA,EAAA,OAAO,YAAA;AACT;AAdgB,MAAA,CAAA,wBAAA,EAAA,0BAAA,CAAA;AAiBT,IAAM,QAAA,GAAW;AAAA;AAAA,EAEtB,QAAA;AAAA,EACA,oBAAA;AAAA;AAAA,EAGA,YAAA;AAAA;AAAA,EAGA,eAAA;AAAA,EACA,WAAA;AAAA,EACA,eAAA;AAAA,EACA,aAAA;AAAA,EACA,eAAA;AAAA;AAAA,EAGA,mBAAA;AAAA,EACA,oBAAA;AAAA,EACA;AACF","file":"index.js","sourcesContent":["import { checkForConfigErrors } from './cli/helpers/error-checks';\nimport { loadVarlockEnvGraph } from './lib/load-graph';\nimport { initVarlockEnv } from './runtime/env';\n\n// Import env-graph components for internal API\nimport {\n EnvGraph,\n loadEnvGraph,\n DotEnvFileDataSource,\n ConfigLoadError,\n SchemaError,\n ValidationError,\n CoercionError,\n ResolutionError,\n type SerializedEnvGraph,\n} from './env-graph';\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\n// Internal API for direct env graph manipulation\nexport const internal = {\n // Core classes\n EnvGraph,\n DotEnvFileDataSource,\n\n // Loader function\n loadEnvGraph,\n\n // Error classes\n ConfigLoadError,\n SchemaError,\n ValidationError,\n CoercionError,\n ResolutionError,\n\n // Varlock-specific utilities\n loadVarlockEnvGraph,\n checkForConfigErrors,\n initVarlockEnv,\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';\nexport { createDebug, type Debugger } from './lib/debug';\nexport type { SerializedEnvGraph };\n"]}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export { commandFn, commandSpec } from './chunk-BS7P3FRR.js';
|
|
2
|
+
import './chunk-Y3ITSQA4.js';
|
|
3
|
+
import './chunk-5HF5TS2C.js';
|
|
4
|
+
import './chunk-4DZ3IHF6.js';
|
|
5
|
+
import './chunk-4A54P4EM.js';
|
|
6
|
+
import './chunk-VKRGHRPK.js';
|
|
7
|
+
import './chunk-CBP4M7BN.js';
|
|
8
|
+
import './chunk-QZ6HBRJC.js';
|
|
9
|
+
import './chunk-MIBOBKI4.js';
|
|
10
|
+
import './chunk-6PEHRAEP.js';
|
|
11
|
+
//# sourceMappingURL=init.command-FMHXUGDI.js.map
|
|
12
|
+
//# sourceMappingURL=init.command-FMHXUGDI.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":[],"names":[],"mappings":"","file":"init.command-
|
|
1
|
+
{"version":3,"sources":[],"names":[],"mappings":"","file":"init.command-FMHXUGDI.js"}
|