@jfarrow777/envlock 0.1.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/dist/cli.d.ts ADDED
@@ -0,0 +1,3 @@
1
+ #!/usr/bin/env node
2
+ export declare function runCli(argv?: string[], env?: NodeJS.ProcessEnv): Promise<number>;
3
+ //# sourceMappingURL=cli.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AAsCA,wBAAsB,MAAM,CAC1B,IAAI,GAAE,MAAM,EAA0B,EACtC,GAAG,GAAE,MAAM,CAAC,UAAwB,GACnC,OAAO,CAAC,MAAM,CAAC,CA2BjB"}
package/dist/cli.js ADDED
@@ -0,0 +1,233 @@
1
+ #!/usr/bin/env node
2
+ "use strict";
3
+ var __importDefault = (this && this.__importDefault) || function (mod) {
4
+ return (mod && mod.__esModule) ? mod : { "default": mod };
5
+ };
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ exports.runCli = runCli;
8
+ const node_child_process_1 = require("node:child_process");
9
+ const node_process_1 = __importDefault(require("node:process"));
10
+ const index_js_1 = require("./index.js");
11
+ const environmentSlugPattern = /^[a-z0-9]+(?:-[a-z0-9]+)*$/;
12
+ class CliError extends Error {
13
+ constructor(message) {
14
+ super(message);
15
+ this.name = 'CliError';
16
+ }
17
+ }
18
+ async function runCli(argv = node_process_1.default.argv.slice(2), env = node_process_1.default.env) {
19
+ const [command, ...rest] = argv;
20
+ if (command === undefined || command === '--help' || command === '-h') {
21
+ node_process_1.default.stdout.write(`${helpText()}\n`);
22
+ return 0;
23
+ }
24
+ if (command === '--version' || command === '-v') {
25
+ node_process_1.default.stdout.write(`${index_js_1.packageVersion}\n`);
26
+ return 0;
27
+ }
28
+ if (command !== 'run') {
29
+ throw new CliError(`Unknown command: ${command}`);
30
+ }
31
+ if (rest.includes('--help') || rest.includes('-h')) {
32
+ node_process_1.default.stdout.write(`${helpText()}\n`);
33
+ return 0;
34
+ }
35
+ const parsedCommand = parseRunCommand(rest);
36
+ const config = resolveConfig(parsedCommand.options, env);
37
+ const variables = await fetchSecretVariables(config);
38
+ return runSubprocess(parsedCommand.command, parsedCommand.args, variables, env);
39
+ }
40
+ function parseRunCommand(args) {
41
+ const separatorIndex = args.indexOf('--');
42
+ if (separatorIndex === -1) {
43
+ throw new CliError('Missing command separator. Use: envlock run [options] -- <command>');
44
+ }
45
+ const optionArgs = args.slice(0, separatorIndex);
46
+ const commandArgs = args.slice(separatorIndex + 1);
47
+ const command = commandArgs[0];
48
+ if (command === undefined) {
49
+ throw new CliError('Missing subprocess command after --');
50
+ }
51
+ return {
52
+ options: parseRunOptions(optionArgs),
53
+ command,
54
+ args: commandArgs.slice(1)
55
+ };
56
+ }
57
+ function parseRunOptions(args) {
58
+ const options = {};
59
+ for (let index = 0; index < args.length; index += 1) {
60
+ const arg = args[index];
61
+ if (arg === undefined) {
62
+ continue;
63
+ }
64
+ if (arg.startsWith('--api-url=')) {
65
+ options.apiUrl = arg.slice('--api-url='.length);
66
+ continue;
67
+ }
68
+ if (arg === '--api-url') {
69
+ options.apiUrl = readOptionValue(args, index, '--api-url');
70
+ index += 1;
71
+ continue;
72
+ }
73
+ if (arg.startsWith('--environment=')) {
74
+ options.environment = arg.slice('--environment='.length);
75
+ continue;
76
+ }
77
+ if (arg.startsWith('-e=')) {
78
+ options.environment = arg.slice('-e='.length);
79
+ continue;
80
+ }
81
+ if (arg === '--environment' || arg === '-e') {
82
+ options.environment = readOptionValue(args, index, arg);
83
+ index += 1;
84
+ continue;
85
+ }
86
+ if (arg.startsWith('--pat=')) {
87
+ options.pat = arg.slice('--pat='.length);
88
+ continue;
89
+ }
90
+ if (arg === '--pat') {
91
+ options.pat = readOptionValue(args, index, '--pat');
92
+ index += 1;
93
+ continue;
94
+ }
95
+ throw new CliError(`Unknown run option: ${arg}`);
96
+ }
97
+ return options;
98
+ }
99
+ function readOptionValue(args, optionIndex, optionName) {
100
+ const value = args[optionIndex + 1];
101
+ if (value === undefined || value.startsWith('--')) {
102
+ throw new CliError(`Missing value for ${optionName}`);
103
+ }
104
+ return value;
105
+ }
106
+ function resolveConfig(options, env) {
107
+ const apiUrl = requireString(options.apiUrl, env.ENVLOCK_API_URL, 'ENVLOCK_API_URL');
108
+ const environment = requireString(options.environment, env.ENVLOCK_ENVIRONMENT, '--environment or -e');
109
+ const pat = requireString(options.pat, env.ENVLOCK_PAT, 'ENVLOCK_PAT');
110
+ validateApiUrl(apiUrl);
111
+ if (!environmentSlugPattern.test(environment)) {
112
+ throw new CliError('Invalid environment slug. Use lowercase letters, numbers, and single hyphens.');
113
+ }
114
+ return { apiUrl, environment, pat };
115
+ }
116
+ function requireString(optionValue, environmentValue, environmentName) {
117
+ const value = optionValue ?? environmentValue;
118
+ const trimmedValue = value?.trim();
119
+ if (trimmedValue === undefined || trimmedValue.length === 0) {
120
+ throw new CliError(`Missing required configuration: ${environmentName}`);
121
+ }
122
+ return trimmedValue;
123
+ }
124
+ function validateApiUrl(apiUrl) {
125
+ let parsedUrl;
126
+ try {
127
+ parsedUrl = new URL(apiUrl);
128
+ }
129
+ catch {
130
+ throw new CliError('ENVLOCK_API_URL must be a valid HTTP or HTTPS URL');
131
+ }
132
+ if (parsedUrl.protocol !== 'http:' && parsedUrl.protocol !== 'https:') {
133
+ throw new CliError('ENVLOCK_API_URL must use HTTP or HTTPS');
134
+ }
135
+ }
136
+ async function fetchSecretVariables(config) {
137
+ const endpoint = createSecretsEndpoint(config.apiUrl, config.environment);
138
+ const response = await fetch(endpoint, {
139
+ headers: {
140
+ Authorization: `Bearer ${config.pat}`,
141
+ Accept: 'application/json'
142
+ }
143
+ });
144
+ if (response.status === 401) {
145
+ throw new CliError('Authentication failed. Check ENVLOCK_PAT.');
146
+ }
147
+ if (!response.ok) {
148
+ throw new CliError(`EnvLock API request failed with HTTP ${String(response.status)}`);
149
+ }
150
+ const body = await response.json();
151
+ const parsedBody = parseSecretValuesResponse(body);
152
+ return parsedBody.variables;
153
+ }
154
+ function createSecretsEndpoint(apiUrl, environment) {
155
+ const normalizedBaseUrl = apiUrl.endsWith('/') ? apiUrl : `${apiUrl}/`;
156
+ const endpoint = new URL('api/cli/secrets', normalizedBaseUrl);
157
+ endpoint.searchParams.set('environmentSlug', environment);
158
+ return endpoint;
159
+ }
160
+ function parseSecretValuesResponse(body) {
161
+ if (!isRecord(body) || !isStringRecord(body.variables)) {
162
+ throw new CliError('EnvLock API returned an invalid secret payload');
163
+ }
164
+ return { variables: body.variables };
165
+ }
166
+ function isRecord(value) {
167
+ return typeof value === 'object' && value !== null && !Array.isArray(value);
168
+ }
169
+ function isStringRecord(value) {
170
+ if (!isRecord(value)) {
171
+ return false;
172
+ }
173
+ return Object.values(value).every((item) => typeof item === 'string');
174
+ }
175
+ function runSubprocess(command, args, variables, env) {
176
+ return new Promise((resolve, reject) => {
177
+ const child = (0, node_child_process_1.spawn)(command, args, {
178
+ env: { ...env, ...variables },
179
+ shell: node_process_1.default.platform === 'win32',
180
+ stdio: 'inherit'
181
+ });
182
+ child.on('error', (error) => {
183
+ reject(new CliError(`Unable to start subprocess: ${error.message}`));
184
+ });
185
+ child.on('exit', (code, signal) => {
186
+ if (signal !== null) {
187
+ node_process_1.default.kill(node_process_1.default.pid, signal);
188
+ resolve(1);
189
+ return;
190
+ }
191
+ resolve(code ?? 1);
192
+ });
193
+ });
194
+ }
195
+ function helpText() {
196
+ return `Usage:
197
+ envlock run [options] -- <command> [args...]
198
+
199
+ Options:
200
+ --api-url <url> EnvLock API URL. Defaults to ENVLOCK_API_URL.
201
+ -e, --environment <slug>
202
+ Required environment slug. May also use ENVLOCK_ENVIRONMENT.
203
+ --pat <token> Personal access token. Defaults to ENVLOCK_PAT.
204
+ --help Show help.
205
+ --version Show version.
206
+
207
+ Environment:
208
+ ENVLOCK_API_URL Required EnvLock API URL.
209
+ ENVLOCK_ENVIRONMENT Optional environment slug fallback.
210
+ ENVLOCK_PAT Required personal access token.`;
211
+ }
212
+ function writeCliError(error) {
213
+ if (error instanceof CliError) {
214
+ node_process_1.default.stderr.write(`envlock: ${error.message}\n`);
215
+ return;
216
+ }
217
+ if (error instanceof Error) {
218
+ node_process_1.default.stderr.write(`envlock: ${error.message}\n`);
219
+ return;
220
+ }
221
+ node_process_1.default.stderr.write('envlock: Unknown error\n');
222
+ }
223
+ if (require.main === module) {
224
+ void runCli()
225
+ .then((exitCode) => {
226
+ node_process_1.default.exitCode = exitCode;
227
+ })
228
+ .catch((error) => {
229
+ writeCliError(error);
230
+ node_process_1.default.exitCode = 1;
231
+ });
232
+ }
233
+ //# sourceMappingURL=cli.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ export declare const packageName = "@jfarrow777/envlock";
2
+ export declare const packageVersion = "0.1.0";
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,WAAW,wBAAwB,CAAC;AAEjD,eAAO,MAAM,cAAc,UAAU,CAAC"}
package/dist/index.js ADDED
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.packageVersion = exports.packageName = void 0;
4
+ exports.packageName = '@jfarrow777/envlock';
5
+ exports.packageVersion = '0.1.0';
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAa,QAAA,WAAW,GAAG,qBAAqB,CAAC;AAEpC,QAAA,cAAc,GAAG,OAAO,CAAC"}
package/package.json ADDED
@@ -0,0 +1,19 @@
1
+ {
2
+ "name": "@jfarrow777/envlock",
3
+ "version": "0.1.0",
4
+ "license": "Apache-2.0",
5
+ "main": "dist/index.js",
6
+ "types": "dist/index.d.ts",
7
+ "bin": {
8
+ "envlock": "dist/cli.js"
9
+ },
10
+ "files": [
11
+ "dist"
12
+ ],
13
+ "publishConfig": {
14
+ "access": "public"
15
+ },
16
+ "scripts": {
17
+ "build": "tsc -p tsconfig.json"
18
+ }
19
+ }