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,41 +1,17 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { CliExitError } from './chunk-4DZ3IHF6.js';
|
|
2
|
+
import { ansis_default } from './chunk-VKRGHRPK.js';
|
|
3
|
+
import { pathExistsSync } from './chunk-CBP4M7BN.js';
|
|
2
4
|
import { createDebug } from './chunk-QZ6HBRJC.js';
|
|
3
5
|
import { __name } from './chunk-6PEHRAEP.js';
|
|
4
6
|
import path from 'path';
|
|
5
7
|
import fs, { existsSync } from 'fs';
|
|
6
8
|
import { execSync } from 'child_process';
|
|
7
9
|
|
|
8
|
-
// src/cli/helpers/exit-error.ts
|
|
9
|
-
var CliExitError = class extends Error {
|
|
10
|
-
constructor(message, more) {
|
|
11
|
-
super(message);
|
|
12
|
-
this.more = more;
|
|
13
|
-
}
|
|
14
|
-
static {
|
|
15
|
-
__name(this, "CliExitError");
|
|
16
|
-
}
|
|
17
|
-
get forceExit() {
|
|
18
|
-
return !!this.more?.forceExit;
|
|
19
|
-
}
|
|
20
|
-
getFormattedOutput() {
|
|
21
|
-
let msg = `
|
|
22
|
-
\u{1F4A5} ${ansis_default.red(this.message)} \u{1F4A5}
|
|
23
|
-
`;
|
|
24
|
-
if (this.more?.details) {
|
|
25
|
-
msg += joinAndCompact(my_dash_default.castArray(this.more?.details), "\n");
|
|
26
|
-
}
|
|
27
|
-
if (this.more?.suggestion) {
|
|
28
|
-
msg += joinAndCompact(my_dash_default.castArray(this.more?.suggestion), "\n");
|
|
29
|
-
}
|
|
30
|
-
msg += "\n";
|
|
31
|
-
return msg;
|
|
32
|
-
}
|
|
33
|
-
};
|
|
34
10
|
var debug = createDebug("varlock:js-package-manager-utils");
|
|
35
11
|
var JS_PACKAGE_MANAGERS = Object.freeze({
|
|
36
12
|
npm: {
|
|
37
13
|
name: "npm",
|
|
38
|
-
|
|
14
|
+
lockfiles: ["package-lock.json"],
|
|
39
15
|
add: "npm install",
|
|
40
16
|
// add also works
|
|
41
17
|
exec: "npm exec --",
|
|
@@ -43,21 +19,21 @@ var JS_PACKAGE_MANAGERS = Object.freeze({
|
|
|
43
19
|
},
|
|
44
20
|
pnpm: {
|
|
45
21
|
name: "pnpm",
|
|
46
|
-
|
|
22
|
+
lockfiles: ["pnpm-lock.yaml"],
|
|
47
23
|
add: "pnpm add",
|
|
48
24
|
exec: "pnpm exec",
|
|
49
25
|
dlx: "pnpm dlx"
|
|
50
26
|
},
|
|
51
27
|
yarn: {
|
|
52
28
|
name: "yarn",
|
|
53
|
-
|
|
29
|
+
lockfiles: ["yarn.lock"],
|
|
54
30
|
add: "yarn add",
|
|
55
31
|
exec: "yarn exec --",
|
|
56
32
|
dlx: "yarn dlx"
|
|
57
33
|
},
|
|
58
34
|
bun: {
|
|
59
35
|
name: "bun",
|
|
60
|
-
|
|
36
|
+
lockfiles: ["bun.lock", "bun.lockb"],
|
|
61
37
|
add: "bun add",
|
|
62
38
|
exec: "bun run",
|
|
63
39
|
dlx: "bunx"
|
|
@@ -65,7 +41,7 @@ var JS_PACKAGE_MANAGERS = Object.freeze({
|
|
|
65
41
|
deno: {
|
|
66
42
|
//! deno not fully supported yet
|
|
67
43
|
name: "deno",
|
|
68
|
-
|
|
44
|
+
lockfiles: ["deno.lock"],
|
|
69
45
|
add: "deno add",
|
|
70
46
|
// TODO: don't think these are quite right...
|
|
71
47
|
exec: "deno run",
|
|
@@ -78,20 +54,20 @@ function detectJsPackageManager(opts) {
|
|
|
78
54
|
let multipleLockfilesDetected;
|
|
79
55
|
do {
|
|
80
56
|
debug(`> scanning ${cwd}`);
|
|
57
|
+
const scanDir = cwd;
|
|
81
58
|
let pm;
|
|
82
59
|
let detectedPm;
|
|
83
60
|
for (pm in JS_PACKAGE_MANAGERS) {
|
|
84
|
-
const
|
|
85
|
-
|
|
86
|
-
JS_PACKAGE_MANAGERS[pm].lockfile
|
|
61
|
+
const foundLockfile = JS_PACKAGE_MANAGERS[pm].lockfiles.find(
|
|
62
|
+
(lockfile) => pathExistsSync(path.join(scanDir, lockfile))
|
|
87
63
|
);
|
|
88
|
-
if (
|
|
64
|
+
if (foundLockfile) {
|
|
89
65
|
if (detectedPm) {
|
|
90
|
-
debug(`> found multiple lockfiles: ${
|
|
66
|
+
debug(`> found multiple lockfiles: ${foundLockfile} and ${JS_PACKAGE_MANAGERS[detectedPm].lockfiles[0]}`);
|
|
91
67
|
multipleLockfilesDetected = [detectedPm, pm];
|
|
92
68
|
break;
|
|
93
69
|
}
|
|
94
|
-
debug(`> found ${
|
|
70
|
+
debug(`> found ${foundLockfile}`);
|
|
95
71
|
detectedPm = pm;
|
|
96
72
|
}
|
|
97
73
|
}
|
|
@@ -175,6 +151,6 @@ var logLines = /* @__PURE__ */ __name((lines) => {
|
|
|
175
151
|
}
|
|
176
152
|
}, "logLines");
|
|
177
153
|
|
|
178
|
-
export {
|
|
179
|
-
//# sourceMappingURL=chunk-
|
|
180
|
-
//# sourceMappingURL=chunk-
|
|
154
|
+
export { detectJsPackageManager, fmt, installJsDependency, logLines };
|
|
155
|
+
//# sourceMappingURL=chunk-5HF5TS2C.js.map
|
|
156
|
+
//# sourceMappingURL=chunk-5HF5TS2C.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/cli/helpers/js-package-manager-utils.ts","../src/cli/helpers/pretty-format.ts"],"names":[],"mappings":"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","file":"chunk-5HF5TS2C.js","sourcesContent":["import path from 'node:path';\nimport fs, { existsSync } from 'node:fs';\nimport { pathExistsSync } from '@env-spec/utils/fs-utils';\nimport { createDebug } from '../../lib/debug';\n\nimport { CliExitError } from './exit-error';\nimport { execSync } from 'node:child_process';\n\nconst debug = createDebug('varlock:js-package-manager-utils');\n\nexport type JsPackageManager = 'npm' | 'pnpm' | 'yarn' | 'bun' | 'deno';\n\nexport type JsPackageManagerMeta = {\n name: JsPackageManager;\n lockfiles: Array<string>;\n add: string;\n exec: string;\n dlx: string;\n};\n\nexport const JS_PACKAGE_MANAGERS: Record<JsPackageManager, JsPackageManagerMeta> = Object.freeze({\n npm: {\n name: 'npm',\n lockfiles: ['package-lock.json'],\n add: 'npm install', // add also works\n exec: 'npm exec --',\n dlx: 'npx',\n },\n pnpm: {\n name: 'pnpm',\n lockfiles: ['pnpm-lock.yaml'],\n add: 'pnpm add',\n exec: 'pnpm exec',\n dlx: 'pnpm dlx',\n },\n yarn: {\n name: 'yarn',\n lockfiles: ['yarn.lock'],\n add: 'yarn add',\n exec: 'yarn exec --',\n dlx: 'yarn dlx',\n },\n bun: {\n name: 'bun',\n lockfiles: ['bun.lock', 'bun.lockb'],\n add: 'bun add',\n exec: 'bun run',\n dlx: 'bunx',\n },\n deno: { //! deno not fully supported yet\n name: 'deno',\n lockfiles: ['deno.lock'],\n add: 'deno add',\n // TODO: don't think these are quite right...\n exec: 'deno run',\n dlx: 'deno run',\n },\n});\n\n/**\n * detect js package manager\n *\n * currently go up the folder tree looking for lockfiles (ex: package-lock.json, pnpm-lock.yaml)\n * if nothing found, we'll look at process.env.npm_config_user_agent\n * */\nexport function detectJsPackageManager(opts?: {\n cwd?: string,\n workspaceRootPath?: string,\n exitIfNotFound?: boolean,\n}) {\n debug('Detecting js package manager');\n let cwd = opts?.cwd || process.cwd();\n let multipleLockfilesDetected: Array<JsPackageManager> | undefined;\n do {\n debug(`> scanning ${cwd}`);\n const scanDir = cwd;\n let pm: JsPackageManager;\n let detectedPm: JsPackageManager | undefined;\n for (pm in JS_PACKAGE_MANAGERS) {\n const foundLockfile = JS_PACKAGE_MANAGERS[pm].lockfiles.find(\n (lockfile) => pathExistsSync(path.join(scanDir, lockfile)),\n );\n\n if (foundLockfile) {\n // if we find 2 lockfiles at the same level, store them and continue\n // this can happen in monorepos or when switching package managers\n if (detectedPm) {\n debug(`> found multiple lockfiles: ${foundLockfile} and ${JS_PACKAGE_MANAGERS[detectedPm].lockfiles[0]}`);\n multipleLockfilesDetected = [detectedPm, pm];\n break;\n }\n debug(`> found ${foundLockfile}`);\n detectedPm = pm;\n }\n }\n if (detectedPm && !multipleLockfilesDetected) return JS_PACKAGE_MANAGERS[detectedPm];\n if (multipleLockfilesDetected) break;\n\n // will break when we reach the root\n const parentDir = path.dirname(cwd);\n if (parentDir === cwd) break;\n cwd = parentDir;\n\n if (opts?.workspaceRootPath) {\n if (opts.workspaceRootPath === cwd) {\n debug('> found workspace root');\n break;\n }\n } else {\n // if we don't have a workspace root path, we'll break if we hit the git repo root\n if (pathExistsSync(path.join(cwd, '.git'))) {\n debug('> found git root');\n break;\n }\n }\n } while (cwd);\n\n // if we did not find a lockfile, we'll look at env vars for other hints\n if (process.env.npm_config_user_agent) {\n const pmFromAgent = process.env.npm_config_user_agent.split('/')[0];\n if (Object.keys(JS_PACKAGE_MANAGERS).includes(pmFromAgent)) {\n debug(`> found ${pmFromAgent} using npm_config_user_agent`);\n return JS_PACKAGE_MANAGERS[pmFromAgent as JsPackageManager];\n }\n }\n\n // if we found multiple lockfiles and env var detection failed, return the first detected one\n // we choose the first one because the order is deterministic (based on the order in JS_PACKAGE_MANAGERS)\n // and this provides a reasonable fallback when we can't determine the active package manager\n if (multipleLockfilesDetected) {\n debug(`> using ${multipleLockfilesDetected[0]} from multiple detected lockfiles`);\n return JS_PACKAGE_MANAGERS[multipleLockfilesDetected[0]];\n }\n\n if (opts?.exitIfNotFound) {\n // show some hopefully useful error messaging if we hit the root folder without finding anything\n throw new CliExitError('Unable to find detect your JavaScript package manager!', {\n suggestion: 'We look for lock files (ex: package-lock.json) so you may just need to run a dependency install (ie `npm install`)',\n forceExit: true,\n });\n }\n}\n\n\n\n\nexport function installJsDependency(opts: {\n packageName: string,\n packageManager: JsPackageManager,\n packagePath?: string,\n isMonoRepoRoot?: boolean,\n}) {\n const packageJsonPath = path.join(opts.packagePath || process.cwd(), 'package.json');\n\n // for now, we'll just bail if we dont see a package.json\n if (!existsSync(packageJsonPath)) return false;\n\n const packageJson = JSON.parse(fs.readFileSync(packageJsonPath, 'utf8'));\n // bail if already installed\n if (packageJson.dependencies?.varlock) return false;\n\n // TODO: might want to check first if it's already installed?\n execSync([\n // move to the correct directory if needed\n opts.packagePath && `cd ${opts.packagePath} &&`,\n // `add` works in all of them\n `${opts.packageManager} add ${opts.packageName}`,\n // tells pnpm to either install in the workspace root explicitly\n // or to not check if we are the in the root\n opts.packageManager === 'pnpm' && (opts.isMonoRepoRoot ? '-w' : '--ignore-workspace-root-check'),\n ].filter(Boolean).join(' '));\n\n return true;\n}\n\n","import ansis from 'ansis';\nimport { detectJsPackageManager, JsPackageManagerMeta } from './js-package-manager-utils';\n\n\nexport const fmt = {\n decorator: (s: string) => ansis.magenta(s),\n filePath: (s: string) => `📂 ${ansis.cyan.italic(s)}`,\n fileName: (s: string) => `${ansis.cyan.italic(s)}`,\n command: (s: string, opts?: { jsPackageManager?: JsPackageManagerMeta | true }) => {\n let jsPackageManager: JsPackageManagerMeta | undefined;\n if (opts?.jsPackageManager === true) {\n jsPackageManager = detectJsPackageManager();\n } else if (opts?.jsPackageManager) {\n jsPackageManager = opts.jsPackageManager;\n }\n if (jsPackageManager) {\n s = `${jsPackageManager.exec} ${s}`;\n }\n return ansis.green.italic(s);\n },\n packageName: (s: string) => ansis.green.italic(s),\n};\n\nexport const logLines = (lines: Array<string | false | undefined>) => {\n for (const line of lines) {\n // skip false, null, undefined, but not empty strings\n if (!line && line !== '') continue;\n console.log(line);\n }\n};\n"]}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
import { CliExitError } from './chunk-4DZ3IHF6.js';
|
|
2
|
+
import { define } from './chunk-4A54P4EM.js';
|
|
3
|
+
import { checkForSchemaErrors } from './chunk-YFP6VA2U.js';
|
|
4
|
+
import { loadVarlockEnvGraph } from './chunk-HRNVJUR5.js';
|
|
5
|
+
import { gracefulExit } from './chunk-VKRGHRPK.js';
|
|
6
|
+
import { __name } from './chunk-6PEHRAEP.js';
|
|
7
|
+
|
|
8
|
+
// src/cli/commands/printenv.command.ts
|
|
9
|
+
var commandSpec = define({
|
|
10
|
+
name: "printenv",
|
|
11
|
+
description: "Print the resolved value of a single environment variable",
|
|
12
|
+
args: {
|
|
13
|
+
path: {
|
|
14
|
+
type: "string",
|
|
15
|
+
short: "p",
|
|
16
|
+
description: "Path to a specific .env file or directory (with trailing slash) to use as the entry point"
|
|
17
|
+
}
|
|
18
|
+
},
|
|
19
|
+
examples: `
|
|
20
|
+
Prints the resolved value of a single environment variable.
|
|
21
|
+
Useful within larger shell commands where you need a single env var value.
|
|
22
|
+
|
|
23
|
+
Examples:
|
|
24
|
+
varlock printenv MY_VAR # Print the value of MY_VAR
|
|
25
|
+
varlock printenv --path .env.prod MY_VAR # Use a specific .env file
|
|
26
|
+
varlock printenv --path ./config/ MY_VAR # Use a specific directory
|
|
27
|
+
|
|
28
|
+
\u{1F4CD} Note: Use sh -c to embed this in shell commands, e.g.:
|
|
29
|
+
sh -c 'do-something --token $(varlock printenv MY_TOKEN)'
|
|
30
|
+
|
|
31
|
+
\u{1F4A1} Tip: Unlike \`varlock run -- echo $MY_VAR\`, this works because the shell
|
|
32
|
+
expansion happens after varlock has printed the value.
|
|
33
|
+
`.trim()
|
|
34
|
+
});
|
|
35
|
+
var commandFn = /* @__PURE__ */ __name(async (ctx) => {
|
|
36
|
+
const positionals = ctx.positionals ?? [];
|
|
37
|
+
if (!positionals.length) {
|
|
38
|
+
throw new CliExitError("Missing required argument: variable name", {
|
|
39
|
+
suggestion: "Run `varlock printenv MY_VAR` to print the value of MY_VAR"
|
|
40
|
+
});
|
|
41
|
+
}
|
|
42
|
+
const varName = positionals[0];
|
|
43
|
+
const envGraph = await loadVarlockEnvGraph({
|
|
44
|
+
entryFilePath: ctx.values.path
|
|
45
|
+
});
|
|
46
|
+
checkForSchemaErrors(envGraph);
|
|
47
|
+
if (!(varName in envGraph.configSchema)) {
|
|
48
|
+
throw new CliExitError(`Variable "${varName}" not found in schema`);
|
|
49
|
+
}
|
|
50
|
+
await envGraph.resolveItemWithDeps(varName);
|
|
51
|
+
const item = envGraph.configSchema[varName];
|
|
52
|
+
if (item.validationState === "error") {
|
|
53
|
+
for (const err of item.errors) {
|
|
54
|
+
console.error(`\u{1F6A8} ${err.message}`);
|
|
55
|
+
}
|
|
56
|
+
return gracefulExit(1);
|
|
57
|
+
}
|
|
58
|
+
const value = item.resolvedValue;
|
|
59
|
+
if (value === void 0 || value === null) {
|
|
60
|
+
console.log("");
|
|
61
|
+
} else {
|
|
62
|
+
console.log(String(value));
|
|
63
|
+
}
|
|
64
|
+
}, "commandFn");
|
|
65
|
+
|
|
66
|
+
export { commandFn, commandSpec };
|
|
67
|
+
//# sourceMappingURL=chunk-ALNELNTO.js.map
|
|
68
|
+
//# sourceMappingURL=chunk-ALNELNTO.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/cli/commands/printenv.command.ts"],"names":[],"mappings":";;;;;;;;AAQO,IAAM,cAAc,MAAA,CAAO;AAAA,EAChC,IAAA,EAAM,UAAA;AAAA,EACN,WAAA,EAAa,2DAAA;AAAA,EACb,IAAA,EAAM;AAAA,IACJ,IAAA,EAAM;AAAA,MACJ,IAAA,EAAM,QAAA;AAAA,MACN,KAAA,EAAO,GAAA;AAAA,MACP,WAAA,EAAa;AAAA;AACf,GACF;AAAA,EACA,QAAA,EAAU;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA,EAAA,CAAA,CAcR,IAAA;AACJ,CAAC;AAEM,IAAM,SAAA,iCAA6D,GAAA,KAAQ;AAChF,EAAA,MAAM,WAAA,GAAc,GAAA,CAAI,WAAA,IAAe,EAAC;AACxC,EAAA,IAAI,CAAC,YAAY,MAAA,EAAQ;AACvB,IAAA,MAAM,IAAI,aAAa,0CAAA,EAA4C;AAAA,MACjE,UAAA,EAAY;AAAA,KACb,CAAA;AAAA,EACH;AACA,EAAA,MAAM,OAAA,GAAU,YAAY,CAAC,CAAA;AAE7B,EAAA,MAAM,QAAA,GAAW,MAAM,mBAAA,CAAoB;AAAA,IACzC,aAAA,EAAe,IAAI,MAAA,CAAO;AAAA,GAC3B,CAAA;AACD,EAAA,oBAAA,CAAqB,QAAQ,CAAA;AAE7B,EAAA,IAAI,EAAE,OAAA,IAAW,QAAA,CAAS,YAAA,CAAA,EAAe;AACvC,IAAA,MAAM,IAAI,YAAA,CAAa,CAAA,UAAA,EAAa,OAAO,CAAA,qBAAA,CAAuB,CAAA;AAAA,EACpE;AAGA,EAAA,MAAM,QAAA,CAAS,oBAAoB,OAAO,CAAA;AAE1C,EAAA,MAAM,IAAA,GAAO,QAAA,CAAS,YAAA,CAAa,OAAO,CAAA;AAC1C,EAAA,IAAI,IAAA,CAAK,oBAAoB,OAAA,EAAS;AACpC,IAAA,KAAA,MAAW,GAAA,IAAO,KAAK,MAAA,EAAQ;AAC7B,MAAA,OAAA,CAAQ,KAAA,CAAM,CAAA,UAAA,EAAM,GAAA,CAAI,OAAO,CAAA,CAAE,CAAA;AAAA,IACnC;AACA,IAAA,OAAO,aAAa,CAAC,CAAA;AAAA,EACvB;AAEA,EAAA,MAAM,QAAQ,IAAA,CAAK,aAAA;AACnB,EAAA,IAAI,KAAA,KAAU,MAAA,IAAa,KAAA,KAAU,IAAA,EAAM;AACzC,IAAA,OAAA,CAAQ,IAAI,EAAE,CAAA;AAAA,EAChB,CAAA,MAAO;AACL,IAAA,OAAA,CAAQ,GAAA,CAAI,MAAA,CAAO,KAAK,CAAC,CAAA;AAAA,EAC3B;AACF,CAAA,EAnCmE,WAAA","file":"chunk-ALNELNTO.js","sourcesContent":["import { define } from 'gunshi';\nimport { gracefulExit } from 'exit-hook';\n\nimport { loadVarlockEnvGraph } from '../../lib/load-graph';\nimport { checkForSchemaErrors } from '../helpers/error-checks';\nimport { type TypedGunshiCommandFn } from '../helpers/gunshi-type-utils';\nimport { CliExitError } from '../helpers/exit-error';\n\nexport const commandSpec = define({\n name: 'printenv',\n description: 'Print the resolved value of a single environment variable',\n args: {\n path: {\n type: 'string',\n short: 'p',\n description: 'Path to a specific .env file or directory (with trailing slash) to use as the entry point',\n },\n },\n examples: `\nPrints the resolved value of a single environment variable.\nUseful within larger shell commands where you need a single env var value.\n\nExamples:\n varlock printenv MY_VAR # Print the value of MY_VAR\n varlock printenv --path .env.prod MY_VAR # Use a specific .env file\n varlock printenv --path ./config/ MY_VAR # Use a specific directory\n\n📍 Note: Use sh -c to embed this in shell commands, e.g.:\n sh -c 'do-something --token $(varlock printenv MY_TOKEN)'\n\n💡 Tip: Unlike \\`varlock run -- echo $MY_VAR\\`, this works because the shell\n expansion happens after varlock has printed the value.\n `.trim(),\n});\n\nexport const commandFn: TypedGunshiCommandFn<typeof commandSpec> = async (ctx) => {\n const positionals = ctx.positionals ?? [];\n if (!positionals.length) {\n throw new CliExitError('Missing required argument: variable name', {\n suggestion: 'Run `varlock printenv MY_VAR` to print the value of MY_VAR',\n });\n }\n const varName = positionals[0];\n\n const envGraph = await loadVarlockEnvGraph({\n entryFilePath: ctx.values.path,\n });\n checkForSchemaErrors(envGraph);\n\n if (!(varName in envGraph.configSchema)) {\n throw new CliExitError(`Variable \"${varName}\" not found in schema`);\n }\n\n // Resolve only the requested item and its transitive dependencies\n await envGraph.resolveItemWithDeps(varName);\n\n const item = envGraph.configSchema[varName];\n if (item.validationState === 'error') {\n for (const err of item.errors) {\n console.error(`🚨 ${err.message}`);\n }\n return gracefulExit(1);\n }\n\n const value = item.resolvedValue;\n if (value === undefined || value === null) {\n console.log('');\n } else {\n console.log(String(value));\n }\n};\n"]}
|
|
@@ -1,19 +1,20 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
1
|
+
import { spawnAsync } from './chunk-Y3ITSQA4.js';
|
|
2
|
+
import { detectJsPackageManager, logLines, fmt, installJsDependency } from './chunk-5HF5TS2C.js';
|
|
3
|
+
import { define } from './chunk-4A54P4EM.js';
|
|
4
|
+
import { gracefulExit, ansis_default } from './chunk-VKRGHRPK.js';
|
|
5
|
+
import { envSpecUpdater, ParsedEnvSpecStaticValue, tryCatch, parseEnvSpecDotEnvFile, pathExists } from './chunk-CBP4M7BN.js';
|
|
6
|
+
import { __commonJS, __toESM, __name } from './chunk-6PEHRAEP.js';
|
|
5
7
|
import path2, { dirname } from 'path';
|
|
6
8
|
import fs3 from 'fs/promises';
|
|
7
9
|
import N2, { stdin, stdout } from 'process';
|
|
8
10
|
import ot from 'readline';
|
|
9
11
|
import { WriteStream } from 'tty';
|
|
10
12
|
import 'fs';
|
|
11
|
-
import
|
|
12
|
-
import { exec, spawn } from 'child_process';
|
|
13
|
+
import 'util';
|
|
13
14
|
|
|
14
|
-
// ../../node_modules/.
|
|
15
|
+
// ../../node_modules/.bun/picocolors@1.1.1/node_modules/picocolors/picocolors.js
|
|
15
16
|
var require_picocolors = __commonJS({
|
|
16
|
-
"../../node_modules/.
|
|
17
|
+
"../../node_modules/.bun/picocolors@1.1.1/node_modules/picocolors/picocolors.js"(exports$1, module) {
|
|
17
18
|
var p = process || {};
|
|
18
19
|
var argv = p.argv || [];
|
|
19
20
|
var env = p.env || {};
|
|
@@ -83,9 +84,9 @@ var require_picocolors = __commonJS({
|
|
|
83
84
|
}
|
|
84
85
|
});
|
|
85
86
|
|
|
86
|
-
// ../../node_modules/.
|
|
87
|
+
// ../../node_modules/.bun/sisteransi@1.0.5/node_modules/sisteransi/src/index.js
|
|
87
88
|
var require_src = __commonJS({
|
|
88
|
-
"../../node_modules/.
|
|
89
|
+
"../../node_modules/.bun/sisteransi@1.0.5/node_modules/sisteransi/src/index.js"(exports$1, module) {
|
|
89
90
|
var ESC = "\x1B";
|
|
90
91
|
var CSI = `${ESC}[`;
|
|
91
92
|
var beep = "\x07";
|
|
@@ -138,7 +139,7 @@ var require_src = __commonJS({
|
|
|
138
139
|
}
|
|
139
140
|
});
|
|
140
141
|
|
|
141
|
-
// ../../node_modules/.
|
|
142
|
+
// ../../node_modules/.bun/@clack+core@1.0.1/node_modules/@clack/core/dist/index.mjs
|
|
142
143
|
var import_sisteransi = __toESM(require_src(), 1);
|
|
143
144
|
function B(t, e2, s) {
|
|
144
145
|
if (!s.some((u) => !u.disabled)) return t;
|
|
@@ -575,7 +576,7 @@ var Wt = class extends x {
|
|
|
575
576
|
}
|
|
576
577
|
};
|
|
577
578
|
|
|
578
|
-
// ../../node_modules/.
|
|
579
|
+
// ../../node_modules/.bun/@clack+prompts@1.0.1/node_modules/@clack/prompts/dist/index.mjs
|
|
579
580
|
var import_picocolors = __toESM(require_picocolors(), 1);
|
|
580
581
|
__toESM(require_src(), 1);
|
|
581
582
|
function me() {
|
|
@@ -882,56 +883,6 @@ ${n}
|
|
|
882
883
|
} }).prompt();
|
|
883
884
|
}, "Je");
|
|
884
885
|
`${import_picocolors.default.gray(d)} `;
|
|
885
|
-
var ExecError = class extends Error {
|
|
886
|
-
constructor(exitCode, signal, data = "command gave no output") {
|
|
887
|
-
super(data);
|
|
888
|
-
this.exitCode = exitCode;
|
|
889
|
-
this.signal = signal;
|
|
890
|
-
this.data = data;
|
|
891
|
-
}
|
|
892
|
-
static {
|
|
893
|
-
__name(this, "ExecError");
|
|
894
|
-
}
|
|
895
|
-
};
|
|
896
|
-
function spawnAsyncHelper(command, args, spawnOptions) {
|
|
897
|
-
const childProcess = spawn(command, args, spawnOptions || {});
|
|
898
|
-
const deferred = new Promise((resolve, reject) => {
|
|
899
|
-
let stdoutData = "";
|
|
900
|
-
let stderrData = "";
|
|
901
|
-
childProcess.stdout?.on("data", (data) => {
|
|
902
|
-
stdoutData += data.toString();
|
|
903
|
-
});
|
|
904
|
-
childProcess.stderr?.on("data", (data) => {
|
|
905
|
-
stderrData += data.toString();
|
|
906
|
-
});
|
|
907
|
-
childProcess.stdout?.on("error", (err) => {
|
|
908
|
-
reject(err);
|
|
909
|
-
});
|
|
910
|
-
childProcess.stderr?.on("error", (err) => {
|
|
911
|
-
reject(err);
|
|
912
|
-
});
|
|
913
|
-
childProcess.on("error", (err) => {
|
|
914
|
-
reject(err);
|
|
915
|
-
});
|
|
916
|
-
childProcess.on("exit", (exitCode, signal) => {
|
|
917
|
-
if (!exitCode) {
|
|
918
|
-
resolve(stdoutData);
|
|
919
|
-
} else {
|
|
920
|
-
reject(
|
|
921
|
-
new ExecError(exitCode, signal, stderrData)
|
|
922
|
-
);
|
|
923
|
-
}
|
|
924
|
-
});
|
|
925
|
-
});
|
|
926
|
-
return { childProcess, execResult: deferred };
|
|
927
|
-
}
|
|
928
|
-
__name(spawnAsyncHelper, "spawnAsyncHelper");
|
|
929
|
-
async function spawnAsync(command, args, opts) {
|
|
930
|
-
const { execResult } = spawnAsyncHelper(command, args, opts);
|
|
931
|
-
return execResult;
|
|
932
|
-
}
|
|
933
|
-
__name(spawnAsync, "spawnAsync");
|
|
934
|
-
promisify(exec);
|
|
935
886
|
async function checkIsFileGitIgnored(path3, warnIfNotGitRepo = false) {
|
|
936
887
|
try {
|
|
937
888
|
await spawnAsync("git", ["check-ignore", path3, "-q"], { cwd: dirname(path3) });
|
|
@@ -1525,8 +1476,33 @@ var commandFn = /* @__PURE__ */ __name(async (ctx) => {
|
|
|
1525
1476
|
]);
|
|
1526
1477
|
}
|
|
1527
1478
|
}
|
|
1479
|
+
if (jsPackageManager?.name === "bun") {
|
|
1480
|
+
const bunfigPath = path2.join(process.cwd(), "bunfig.toml");
|
|
1481
|
+
const bunfigExists = await pathExists(bunfigPath);
|
|
1482
|
+
if (bunfigExists) {
|
|
1483
|
+
const bunfigContents = await fs3.readFile(bunfigPath, "utf-8");
|
|
1484
|
+
if (!/^\s*env\s*=\s*false\s*$/m.test(bunfigContents)) {
|
|
1485
|
+
await fs3.writeFile(bunfigPath, `env = false
|
|
1486
|
+
${bunfigContents}`);
|
|
1487
|
+
logLines([
|
|
1488
|
+
"",
|
|
1489
|
+
`\u2705 Added ${ansis_default.bold("env = false")} to your existing ${fmt.fileName("bunfig.toml")}`,
|
|
1490
|
+
ansis_default.dim("This disables Bun's automatic .env loading, which conflicts with Varlock."),
|
|
1491
|
+
ansis_default.dim(`See ${ansis_default.underline("https://varlock.dev/integrations/bun")} for more info.`)
|
|
1492
|
+
]);
|
|
1493
|
+
}
|
|
1494
|
+
} else {
|
|
1495
|
+
await fs3.writeFile(bunfigPath, "env = false\n");
|
|
1496
|
+
logLines([
|
|
1497
|
+
"",
|
|
1498
|
+
`\u2705 Created ${fmt.fileName("bunfig.toml")} with ${ansis_default.bold("env = false")}`,
|
|
1499
|
+
ansis_default.dim("This disables Bun's automatic .env loading, which conflicts with Varlock."),
|
|
1500
|
+
ansis_default.dim(`See ${ansis_default.underline("https://varlock.dev/integrations/bun")} for more info.`)
|
|
1501
|
+
]);
|
|
1502
|
+
}
|
|
1503
|
+
}
|
|
1528
1504
|
}, "commandFn");
|
|
1529
1505
|
|
|
1530
1506
|
export { commandFn, commandSpec };
|
|
1531
|
-
//# sourceMappingURL=chunk-
|
|
1532
|
-
//# sourceMappingURL=chunk-
|
|
1507
|
+
//# sourceMappingURL=chunk-BS7P3FRR.js.map
|
|
1508
|
+
//# sourceMappingURL=chunk-BS7P3FRR.js.map
|