varlock 0.1.1 → 0.1.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/auto-load.js +6 -6
- package/dist/{chunk-RWBSXJV6.js → chunk-5IMCRQTM.js} +3 -3
- package/dist/{chunk-RWBSXJV6.js.map → chunk-5IMCRQTM.js.map} +1 -1
- package/dist/{chunk-R66KFGSX.js → chunk-7NW6BFR4.js} +7 -7
- package/dist/chunk-7NW6BFR4.js.map +1 -0
- package/dist/chunk-7SH6C6WJ.js +18 -0
- package/dist/{chunk-5NNVZXCM.js.map → chunk-7SH6C6WJ.js.map} +1 -1
- package/dist/{chunk-D7YI7IQX.js → chunk-BL44E664.js} +4 -4
- package/dist/{chunk-D7YI7IQX.js.map → chunk-BL44E664.js.map} +1 -1
- package/dist/{chunk-H3R4W3XK.js → chunk-F6JOK3GB.js} +3 -3
- package/dist/{chunk-H3R4W3XK.js.map → chunk-F6JOK3GB.js.map} +1 -1
- package/dist/{chunk-QT5E2RY6.js → chunk-FUDH2TTI.js} +6 -3
- package/dist/chunk-FUDH2TTI.js.map +1 -0
- package/dist/{chunk-7UWLKQXP.js → chunk-G7ZBO2TN.js} +68 -19
- package/dist/chunk-G7ZBO2TN.js.map +1 -0
- package/dist/{chunk-7FI2PPMC.js → chunk-HPNRKYVF.js} +3 -3
- package/dist/{chunk-7FI2PPMC.js.map → chunk-HPNRKYVF.js.map} +1 -1
- package/dist/{chunk-2VZORH2Y.js → chunk-JXRYPLCG.js} +4 -4
- package/dist/{chunk-2VZORH2Y.js.map → chunk-JXRYPLCG.js.map} +1 -1
- package/dist/{chunk-2JGPOSVQ.js → chunk-MSRPV5WH.js} +7 -6
- package/dist/chunk-MSRPV5WH.js.map +1 -0
- package/dist/{chunk-WDC67GVB.js → chunk-NSY7JMFV.js} +3 -3
- package/dist/{chunk-WDC67GVB.js.map → chunk-NSY7JMFV.js.map} +1 -1
- package/dist/{chunk-VYAOZFZB.js → chunk-UIMI2QPX.js} +4 -4
- package/dist/{chunk-VYAOZFZB.js.map → chunk-UIMI2QPX.js.map} +1 -1
- package/dist/{chunk-IBAUYNXV.js → chunk-YYQ2MFVT.js} +3 -3
- package/dist/{chunk-IBAUYNXV.js.map → chunk-YYQ2MFVT.js.map} +1 -1
- package/dist/cli/cli-executable.js +12 -12
- package/dist/cli/cli-executable.js.map +1 -1
- package/dist/dotenv-compat.js +6 -6
- package/dist/index.js +7 -7
- package/dist/init.command-UNUBEC3G.js +8 -0
- package/dist/{init.command-A52ZWKL2.js.map → init.command-UNUBEC3G.js.map} +1 -1
- package/dist/lib/exec-sync-varlock.js +1 -1
- package/dist/load.command-RBKBJTF5.js +8 -0
- package/dist/{load.command-C75DTSKP.js.map → load.command-RBKBJTF5.js.map} +1 -1
- package/dist/run.command-6RN6ROVR.js +8 -0
- package/dist/{run.command-YSQDB4GE.js.map → run.command-6RN6ROVR.js.map} +1 -1
- package/dist/runtime/env.js +1 -1
- package/dist/runtime/patch-console.js +2 -2
- package/dist/runtime/patch-response.js +2 -2
- package/dist/runtime/patch-server-response.js +2 -2
- package/dist/telemetry.command-SRZE3UNE.js +8 -0
- package/dist/{telemetry.command-JIHKG3ZH.js.map → telemetry.command-SRZE3UNE.js.map} +1 -1
- package/package.json +2 -2
- package/dist/chunk-2JGPOSVQ.js.map +0 -1
- package/dist/chunk-5NNVZXCM.js +0 -18
- package/dist/chunk-7UWLKQXP.js.map +0 -1
- package/dist/chunk-QT5E2RY6.js.map +0 -1
- package/dist/chunk-R66KFGSX.js.map +0 -1
- package/dist/init.command-A52ZWKL2.js +0 -8
- package/dist/load.command-C75DTSKP.js +0 -8
- package/dist/run.command-YSQDB4GE.js +0 -8
- package/dist/telemetry.command-JIHKG3ZH.js +0 -8
|
@@ -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 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\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 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.1.1\",\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 \"test:ci\": \"vitest --run\",\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 \"./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 \"dependencies\": {\n \"@env-spec/parser\": \"workspace:^\",\n \"debug\": \"catalog:\",\n \"execa\": \"^9.6.0\",\n \"semver\": \"^7.7.3\",\n \"which\": \"^5.0.0\"\n },\n \"devDependencies\": {\n \"@clack/core\": \"^0.5.0\",\n \"@clack/prompts\": \"^0.11.0\",\n \"@env-spec/utils\": \"workspace:*\",\n \"@sindresorhus/is\": \"catalog:\",\n \"@types/debug\": \"catalog:\",\n \"@types/node\": \"catalog:\",\n \"@types/semver\": \"^7.7.1\",\n \"@types/which\": \"^3.0.4\",\n \"@yao-pkg/pkg\": \"^6.10.0\",\n \"ansis\": \"catalog:\",\n \"browser-or-node\": \"^3.0.0\",\n \"ci-info\": \"^4.3.1\",\n \"exit-hook\": \"^4.0.0\",\n \"gunshi\": \"^0.26.3\",\n \"is-docker\": \"^4.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","// 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/.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 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\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 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.1.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 \"test:ci\": \"vitest --run\",\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 \"./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 \"dependencies\": {\n \"@env-spec/parser\": \"workspace:^\",\n \"debug\": \"catalog:\",\n \"execa\": \"^9.6.0\",\n \"semver\": \"^7.7.3\",\n \"which\": \"^5.0.0\"\n },\n \"devDependencies\": {\n \"@clack/core\": \"^0.5.0\",\n \"@clack/prompts\": \"^0.11.0\",\n \"@env-spec/utils\": \"workspace:*\",\n \"@sindresorhus/is\": \"catalog:\",\n \"@types/debug\": \"catalog:\",\n \"@types/node\": \"catalog:\",\n \"@types/semver\": \"^7.7.1\",\n \"@types/which\": \"^3.0.4\",\n \"@yao-pkg/pkg\": \"^6.10.0\",\n \"ansis\": \"catalog:\",\n \"browser-or-node\": \"^3.0.0\",\n \"ci-info\": \"^4.3.1\",\n \"exit-hook\": \"^4.0.0\",\n \"gunshi\": \"^0.26.3\",\n \"is-docker\": \"^4.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","// 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"]}
|
package/dist/dotenv-compat.js
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import './chunk-
|
|
2
|
-
import './chunk-
|
|
3
|
-
import './chunk-
|
|
4
|
-
import './chunk-
|
|
5
|
-
import './chunk-
|
|
6
|
-
import './chunk-
|
|
1
|
+
import './chunk-7SH6C6WJ.js';
|
|
2
|
+
import './chunk-HPNRKYVF.js';
|
|
3
|
+
import './chunk-NSY7JMFV.js';
|
|
4
|
+
import './chunk-FUDH2TTI.js';
|
|
5
|
+
import './chunk-5IMCRQTM.js';
|
|
6
|
+
import './chunk-MSRPV5WH.js';
|
|
7
7
|
import './chunk-FGMXIEFA.js';
|
|
8
8
|
import './chunk-XN24GZXQ.js';
|
|
9
9
|
//# sourceMappingURL=dotenv-compat.js.map
|
package/dist/index.js
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
export { patchGlobalResponse } from './chunk-
|
|
2
|
-
export { patchGlobalServerResponse } from './chunk-
|
|
3
|
-
import { loadVarlockEnvGraph, checkForConfigErrors } from './chunk-
|
|
4
|
-
import { ResolutionError, CoercionError, ValidationError, SchemaError, ConfigLoadError, loadEnvGraph, DotEnvFileDataSource, EnvGraph } from './chunk-
|
|
5
|
-
export { patchGlobalConsole } from './chunk-
|
|
6
|
-
import { initVarlockEnv } from './chunk-
|
|
7
|
-
export { ENV } from './chunk-
|
|
1
|
+
export { patchGlobalResponse } from './chunk-HPNRKYVF.js';
|
|
2
|
+
export { patchGlobalServerResponse } from './chunk-NSY7JMFV.js';
|
|
3
|
+
import { loadVarlockEnvGraph, checkForConfigErrors } from './chunk-F6JOK3GB.js';
|
|
4
|
+
import { ResolutionError, CoercionError, ValidationError, SchemaError, ConfigLoadError, loadEnvGraph, DotEnvFileDataSource, EnvGraph } from './chunk-G7ZBO2TN.js';
|
|
5
|
+
export { patchGlobalConsole } from './chunk-5IMCRQTM.js';
|
|
6
|
+
import { initVarlockEnv } from './chunk-MSRPV5WH.js';
|
|
7
|
+
export { ENV } from './chunk-MSRPV5WH.js';
|
|
8
8
|
import './chunk-FGMXIEFA.js';
|
|
9
9
|
import { __name } from './chunk-XN24GZXQ.js';
|
|
10
10
|
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export { commandFn, commandSpec } from './chunk-BL44E664.js';
|
|
2
|
+
import './chunk-YYQ2MFVT.js';
|
|
3
|
+
import './chunk-33ROL4J5.js';
|
|
4
|
+
import './chunk-G7ZBO2TN.js';
|
|
5
|
+
import './chunk-FGMXIEFA.js';
|
|
6
|
+
import './chunk-XN24GZXQ.js';
|
|
7
|
+
//# sourceMappingURL=init.command-UNUBEC3G.js.map
|
|
8
|
+
//# sourceMappingURL=init.command-UNUBEC3G.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":[],"names":[],"mappings":"","file":"init.command-
|
|
1
|
+
{"version":3,"sources":[],"names":[],"mappings":"","file":"init.command-UNUBEC3G.js"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export { commandFn, commandSpec } from './chunk-7NW6BFR4.js';
|
|
2
|
+
import './chunk-33ROL4J5.js';
|
|
3
|
+
import './chunk-F6JOK3GB.js';
|
|
4
|
+
import './chunk-G7ZBO2TN.js';
|
|
5
|
+
import './chunk-FGMXIEFA.js';
|
|
6
|
+
import './chunk-XN24GZXQ.js';
|
|
7
|
+
//# sourceMappingURL=load.command-RBKBJTF5.js.map
|
|
8
|
+
//# sourceMappingURL=load.command-RBKBJTF5.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":[],"names":[],"mappings":"","file":"load.command-
|
|
1
|
+
{"version":3,"sources":[],"names":[],"mappings":"","file":"load.command-RBKBJTF5.js"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export { commandFn, commandSpec } from './chunk-UIMI2QPX.js';
|
|
2
|
+
import './chunk-33ROL4J5.js';
|
|
3
|
+
import './chunk-F6JOK3GB.js';
|
|
4
|
+
import './chunk-G7ZBO2TN.js';
|
|
5
|
+
import './chunk-FGMXIEFA.js';
|
|
6
|
+
import './chunk-XN24GZXQ.js';
|
|
7
|
+
//# sourceMappingURL=run.command-6RN6ROVR.js.map
|
|
8
|
+
//# sourceMappingURL=run.command-6RN6ROVR.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":[],"names":[],"mappings":"","file":"run.command-
|
|
1
|
+
{"version":3,"sources":[],"names":[],"mappings":"","file":"run.command-6RN6ROVR.js"}
|
package/dist/runtime/env.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export { ENV, initVarlockEnv, redactSensitiveConfig, resetRedactionMap, revealSensitiveConfig, scanForLeaks, varlockSettings } from '../chunk-
|
|
1
|
+
export { ENV, initVarlockEnv, redactSensitiveConfig, resetRedactionMap, revealSensitiveConfig, scanForLeaks, varlockSettings } from '../chunk-MSRPV5WH.js';
|
|
2
2
|
import '../chunk-FGMXIEFA.js';
|
|
3
3
|
import '../chunk-XN24GZXQ.js';
|
|
4
4
|
//# sourceMappingURL=env.js.map
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
export { patchGlobalConsole, unpatchGlobalConsole } from '../chunk-
|
|
2
|
-
import '../chunk-
|
|
1
|
+
export { patchGlobalConsole, unpatchGlobalConsole } from '../chunk-5IMCRQTM.js';
|
|
2
|
+
import '../chunk-MSRPV5WH.js';
|
|
3
3
|
import '../chunk-FGMXIEFA.js';
|
|
4
4
|
import '../chunk-XN24GZXQ.js';
|
|
5
5
|
//# sourceMappingURL=patch-console.js.map
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
export { patchGlobalResponse } from '../chunk-
|
|
2
|
-
import '../chunk-
|
|
1
|
+
export { patchGlobalResponse } from '../chunk-HPNRKYVF.js';
|
|
2
|
+
import '../chunk-MSRPV5WH.js';
|
|
3
3
|
import '../chunk-FGMXIEFA.js';
|
|
4
4
|
import '../chunk-XN24GZXQ.js';
|
|
5
5
|
//# sourceMappingURL=patch-response.js.map
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
export { patchGlobalServerResponse } from '../chunk-
|
|
2
|
-
import '../chunk-
|
|
1
|
+
export { patchGlobalServerResponse } from '../chunk-NSY7JMFV.js';
|
|
2
|
+
import '../chunk-MSRPV5WH.js';
|
|
3
3
|
import '../chunk-FGMXIEFA.js';
|
|
4
4
|
import '../chunk-XN24GZXQ.js';
|
|
5
5
|
//# sourceMappingURL=patch-server-response.js.map
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export { commandFn, commandSpec } from './chunk-JXRYPLCG.js';
|
|
2
|
+
import './chunk-YYQ2MFVT.js';
|
|
3
|
+
import './chunk-33ROL4J5.js';
|
|
4
|
+
import './chunk-G7ZBO2TN.js';
|
|
5
|
+
import './chunk-FGMXIEFA.js';
|
|
6
|
+
import './chunk-XN24GZXQ.js';
|
|
7
|
+
//# sourceMappingURL=telemetry.command-SRZE3UNE.js.map
|
|
8
|
+
//# sourceMappingURL=telemetry.command-SRZE3UNE.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":[],"names":[],"mappings":"","file":"telemetry.command-
|
|
1
|
+
{"version":3,"sources":[],"names":[],"mappings":"","file":"telemetry.command-SRZE3UNE.js"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "varlock",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.3",
|
|
4
4
|
"description": "",
|
|
5
5
|
"main": "index.js",
|
|
6
6
|
"type": "module",
|
|
@@ -79,7 +79,7 @@
|
|
|
79
79
|
"execa": "^9.6.0",
|
|
80
80
|
"semver": "^7.7.3",
|
|
81
81
|
"which": "^5.0.0",
|
|
82
|
-
"@env-spec/parser": "^0.0.
|
|
82
|
+
"@env-spec/parser": "^0.0.8"
|
|
83
83
|
},
|
|
84
84
|
"devDependencies": {
|
|
85
85
|
"@clack/core": "^0.5.0",
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/lib/detect-runtime.ts","../src/runtime/lib/debug.ts","../src/runtime/env.ts"],"names":[],"mappings":"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","file":"chunk-2JGPOSVQ.js","sourcesContent":["declare const Deno: any;\ndeclare const navigator: any;\ndeclare const window: any;\ndeclare const self: any;\n// declare const process: any;\n\n\nexport const isNode: boolean = typeof process !== 'undefined'\n && process.versions != null\n && process.versions.node != null;\n\nexport const isWebWorker: boolean = typeof self === 'object'\n && self.constructor\n && self.constructor.name === 'DedicatedWorkerGlobalScope';\n\n// https://github.com/jsdom/jsdom/issues/1537#issuecomment-229405327\nexport const isJsDom: boolean = (typeof window !== 'undefined' && window.name === 'nodejs')\n || (typeof navigator !== 'undefined'\n && 'userAgent' in navigator\n && typeof navigator.userAgent === 'string'\n && (navigator.userAgent.includes('Node.js')\n || navigator.userAgent.includes('jsdom')));\n\nexport const isDeno: boolean = typeof Deno !== 'undefined'\n && typeof Deno.version !== 'undefined'\n && typeof Deno.version.deno !== 'undefined';\n\n/** @see {@link https://bun.sh/guides/util/detect-bun} */\nexport const isBun = typeof process !== 'undefined' && process.versions != null && process.versions.bun != null;\n\n\n\nexport const isBrowser = typeof window !== 'undefined'\n && typeof window.document !== 'undefined'\n && typeof window.document.createElement === 'function'\n && typeof navigator !== 'undefined'\n && typeof navigator.userAgent === 'string';\n","/* eslint-disable no-console */\nexport function debug(...args: Array<any>) {\n if (!process.env.DEBUG_VARLOCK) return;\n console.log(...args);\n}\n","import { redactString } from './lib/redaction';\n\nimport type { SerializedEnvGraph } from '../env-graph';\nimport { isBrowser } from '../lib/detect-runtime';\nimport { debug } from './lib/debug';\n\n// TODO: would like to move all of the redaction utils out of this file\n// but its complicated since it is imported by code that may be run in the backend and frontend\n// but the patching code (which only runs in the backend) use these helper functions\n\n// this does not cover all cases, but serves our needs so far for Next.js\nfunction isString(s: any) {\n return Object.prototype.toString.call(s) === '[object String]';\n}\n\nconst UNMASK_STR = '👁';\n\n\n/** key value lookup of sensitive values to their redacted version */\nlet sensitiveSecretsMap: Record<string, { key: string, redacted: string }> = {};\n\ntype ReplaceFn = (match: string, pre: string, val: string, post: string) => string;\nlet redactorFindReplace: undefined | { find: RegExp, replace: ReplaceFn };\n\nexport function resetRedactionMap(graph: SerializedEnvGraph) {\n // reset map of { [sensitive] => redacted }\n sensitiveSecretsMap = {};\n for (const itemKey in graph.config) {\n const item = graph.config[itemKey];\n if (item.isSensitive && item.value && isString(item.value)) {\n // TODO: we want to respect masking settings from the schema (once added)\n const redacted = redactString(item.value);\n if (redacted) sensitiveSecretsMap[item.value] = { key: itemKey, redacted };\n }\n }\n // if no sensitive items exist, we dont need to do any redaction, but the redact fn is checking for undefined\n if (!Object.keys(sensitiveSecretsMap).length) {\n redactorFindReplace = undefined;\n return;\n }\n\n // reset find/replace regex+fn used for redacting secrets in strings\n const findRegex = new RegExp(\n [\n `(${UNMASK_STR} )?`,\n '(',\n Object.keys(sensitiveSecretsMap)\n // Escape special characters\n .map((s) => s.replace(/[()[\\]{}*+?^$|#.,/\\\\\\s-]/g, '\\\\$&'))\n // Sort for maximal munch\n .sort((a, b) => b.length - a.length)\n .join('|'),\n ')',\n `( ${UNMASK_STR})?`,\n ].join(''),\n 'g',\n );\n\n const replaceFn: ReplaceFn = (match, pre, val, post) => {\n // the pre and post matches only will be populated if they were present\n // and they are used to unmask the secret - so we do not want to replace in this case\n if (pre && post) return match;\n return sensitiveSecretsMap[val].redacted;\n };\n redactorFindReplace = { find: findRegex, replace: replaceFn };\n}\n\n\n// While the module itself acts as a singleton to hold the current map of redacted values\n// we expose only the below const to end users\n\n\n/**\n * Redacts senstive config values from any string/array/object/etc\n *\n * NOTE - must be used only after varlock has loaded config\n * */\nexport function redactSensitiveConfig(o: any): any {\n if (!redactorFindReplace) return o;\n if (!o) return o;\n\n // TODO: handle more cases?\n // we can probably redact safely from a few other datatypes - like set,map,etc?\n // objects are a bit tougher\n if (Array.isArray(o)) {\n return o.map(redactSensitiveConfig);\n }\n // try to redact if it's a plain object - not necessarily great for perf...\n if (o && typeof (o) === 'object' && Object.getPrototypeOf(o) === Object.prototype) {\n try {\n return JSON.parse(redactSensitiveConfig(JSON.stringify(o)));\n } catch (err) {\n return o;\n }\n }\n\n const type = typeof o;\n if (type === 'string' || (type === 'object' && Object.prototype.toString.call(o) === '[object String]')) {\n return (o as string).replaceAll(redactorFindReplace.find, redactorFindReplace.replace);\n }\n\n return o;\n}\n\n/**\n * utility to unmask a secret/sensitive value when logging to the console\n * currently this only works on a single secret, not objects or aggregated strings\n * */\nexport function revealSensitiveConfig(secretStr: string) {\n // if redaction not enabled, we just return the secret itself\n if (!(globalThis as any)._varlockOrigWriteToConsoleFn) return secretStr;\n // otherwise we add some wrapper characters which will be removed by the patched console behaviour\n return `${UNMASK_STR} ${secretStr} ${UNMASK_STR}`;\n}\n\n\n\n\n\n// reusable leak scanning helper function, used by various integrations\nexport function scanForLeaks(\n toScan: string | ReadableStream | null,\n // optional additional information about what is being scanned to be used in error messages\n meta?: {\n method?: string,\n file?: string,\n },\n) {\n debug('⚡️ varlock scanning for leaks');\n if (!toScan) return toScan;\n\n function scanStrForLeaks(strToScan: string) {\n // console.log('[varlock leak scanner] ', strToScan.substr(0, 100));\n\n // TODO: probably should use a single regex\n for (const sensitiveValue in sensitiveSecretsMap) {\n if (strToScan.includes(sensitiveValue)) {\n const itemKey = sensitiveSecretsMap[sensitiveValue].key;\n\n // error stack can gets awkwardly buried since we're so deep in the internals\n // so we'll write a nicer error message to help the user debug\n // eslint-disable-next-line no-console\n console.error([\n '',\n `🚨 ${'DETECTED LEAKED SENSITIVE CONFIG'} 🚨`,\n `> Config item key: ${itemKey}`,\n ...meta?.method ? [`> Scan method: ${meta.method}`] : [],\n ...meta?.file ? [`> File: ${meta.file}`] : [],\n '',\n ].join('\\n'));\n\n throw new Error(`🚨 DETECTED LEAKED SENSITIVE CONFIG - ${itemKey}`);\n }\n }\n }\n\n // scan a string\n if (isString(toScan)) {\n scanStrForLeaks(toScan as string);\n return toScan;\n } else if (toScan instanceof Buffer) {\n scanStrForLeaks(toScan.toString());\n return toScan;\n // scan a ReadableStream by piping it through a scanner\n } else if (toScan instanceof ReadableStream) {\n if (toScan.locked) {\n // console.log('> stream already locked');\n return toScan;\n } else {\n // console.log('> stream will be scanned!');\n }\n const chunkDecoder = new TextDecoder();\n return toScan.pipeThrough(\n new TransformStream({\n transform(chunk, controller) {\n const chunkStr = chunkDecoder.decode(chunk);\n scanStrForLeaks(chunkStr);\n controller.enqueue(chunk);\n },\n }),\n );\n }\n // other things may be passed in like Buffer... but we'll ignore for now\n return toScan;\n}\n\n// -----------\n\n\n\n\n// --------------\n\nlet initializedEnv = false;\nconst envValues = {} as Record<string, any>;\nexport const varlockSettings = {} as Record<string, any>;\n\nconst processExists = !!globalThis.process;\nconst originalProcessEnv = { ...processExists && process.env };\nlet varlockInjectedProcessEnvKeys: Array<string> | undefined;\n\nexport function initVarlockEnv(opts?: {\n allowFail?: boolean,\n}) {\n debug('⚡️ INIT VARLOCK ENV!', initializedEnv, !!(globalThis as any).__varlockLoadedEnv, processExists && !!process.env.__VARLOCK_ENV);\n\n if (isBrowser) {\n return;\n }\n\n\n let serializedEnvData: SerializedEnvGraph;\n // when we inject resolved config at build time, we store it here\n if ((globalThis as any).__varlockLoadedEnv) {\n serializedEnvData = (globalThis as any).__varlockLoadedEnv;\n\n // otherwise if we inject via `varlock run` or have already loaded, it will be in process.env\n } else if (processExists && process.env.__VARLOCK_ENV) {\n serializedEnvData = JSON.parse(process.env.__VARLOCK_ENV);\n } else {\n if (opts?.allowFail) return;\n // eslint-disable-next-line no-console\n console.error([\n '',\n '🚨 initVarlockEnv failed 🚨',\n 'try rerunning your command via `varlock run`',\n '',\n ].join('\\n'));\n throw new Error('initVarlockEnv failed');\n }\n Object.assign(varlockSettings, serializedEnvData.settings);\n resetRedactionMap(serializedEnvData);\n\n const setProcessEnv = processExists;\n\n // if we've already injected process.env vars in the past, we'll reset those now\n if (setProcessEnv) {\n if (varlockInjectedProcessEnvKeys) {\n for (const key of varlockInjectedProcessEnvKeys) delete process.env[key];\n for (const key of Object.keys(originalProcessEnv)) process.env[key] = originalProcessEnv[key];\n }\n varlockInjectedProcessEnvKeys = [];\n }\n\n for (const itemKey in serializedEnvData.config) {\n const itemValue = serializedEnvData.config[itemKey].value;\n envValues[itemKey] = itemValue;\n if (setProcessEnv) {\n varlockInjectedProcessEnvKeys?.push(itemKey);\n // when re-injecting into process.env, we treat undefined as empty string\n // this more closely matches expected behaviour from other .env loaders\n process.env[itemKey] = itemValue === undefined ? '' : String(itemValue);\n }\n }\n initializedEnv = true;\n}\n\n// we will attempt to call initVarlockEnv automatically, but in most cases it should be called explicitly\n// note that if this is being imported in the browser, process.env may not exist, so we do this in a try/catch\ntry {\n if (!initializedEnv) {\n // if we are automatically loading because __VARLOCK_ENV is already set\n // then we assume process.env vars have also already been set (although might not harm anything?)\n initVarlockEnv({ allowFail: true });\n }\n} catch (err) {\n // expected that this will fail when process.env does not exist\n // but we may want to look for specific errors\n}\n\n\n\n// some object keys are checked by various tools when handling arbitrary data, especially in templates\n// because our proxy objects throw errors when unknown keys are accessed, this causes problems\n// for now we can just filter out a these keys and it should be fairly harmless\n// TODO: ideally this could be customized by the user, and not specific to vue\nconst IGNORED_PROXY_KEYS = [\n // vue - see https://github.com/vuejs/core/blob/70773d00985135a50556c61fb9855ed6b930cb82/packages/reactivity/src/ref.ts#L101\n '__v_isRef',\n];\n\n\n// this gets exported and then augmented by our type generation\n// ideally we'd start with a loose type `Record<string,any>` and then override it with the actual schema\n// so that if type generation was disabled, a user could still use `ENV`\n// but TS wont let us, so instead we start with it being empty, which will cause type errors\n// unless type generation is enabled\nexport interface TypedEnvSchema {}\n\nconst EnvProxy = new Proxy<TypedEnvSchema>({}, {\n get(target, prop) {\n // ignore symbols, as it likely an external tool checking something\n if (typeof prop === 'symbol') return;\n // special cases to avoid throwing on invalid keys\n if (IGNORED_PROXY_KEYS.includes(prop)) return;\n\n if (!isBrowser && !initializedEnv) {\n throw new Error('varlock ENV not initialized');\n }\n\n if (prop in envValues) return envValues[prop];\n if ((globalThis as any).__varlockThrowOnMissingKeys) {\n // during development, we can feed in extra metadata and show more helpful errors\n if ((globalThis as any).__varlockValidKeys && (globalThis as any).__varlockValidKeys.includes(prop)) {\n throw new Error(`\\`ENV.${prop}\\` exists, but is not available in this environment`);\n } else {\n throw new Error(`\\`ENV.${prop}\\` does not exist`);\n }\n }\n return undefined;\n },\n});\n\nexport const ENV = EnvProxy;\n"]}
|
package/dist/chunk-5NNVZXCM.js
DELETED
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import { patchGlobalResponse } from './chunk-7FI2PPMC.js';
|
|
2
|
-
import { patchGlobalServerResponse } from './chunk-WDC67GVB.js';
|
|
3
|
-
import { execSyncVarlock } from './chunk-QT5E2RY6.js';
|
|
4
|
-
import { patchGlobalConsole } from './chunk-RWBSXJV6.js';
|
|
5
|
-
import { initVarlockEnv } from './chunk-2JGPOSVQ.js';
|
|
6
|
-
|
|
7
|
-
// src/auto-load.ts
|
|
8
|
-
var execResult = execSyncVarlock("load --format json-full", {
|
|
9
|
-
exitOnError: true,
|
|
10
|
-
showLogsOnError: true
|
|
11
|
-
});
|
|
12
|
-
process.env.__VARLOCK_ENV = execResult;
|
|
13
|
-
initVarlockEnv();
|
|
14
|
-
patchGlobalConsole();
|
|
15
|
-
patchGlobalServerResponse();
|
|
16
|
-
patchGlobalResponse();
|
|
17
|
-
//# sourceMappingURL=chunk-5NNVZXCM.js.map
|
|
18
|
-
//# sourceMappingURL=chunk-5NNVZXCM.js.map
|