@quiltdata/benchling-webhook 0.7.4-20251107T155705Z → 0.7.4
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 +6 -4
- package/dist/bin/cli.js +0 -18
- package/dist/bin/cli.js.map +1 -1
- package/dist/bin/commands/get-env.d.ts +16 -0
- package/dist/bin/commands/get-env.d.ts.map +1 -0
- package/dist/bin/commands/get-env.js +210 -0
- package/dist/bin/commands/get-env.js.map +1 -0
- package/dist/bin/commands/infer-quilt-config.d.ts +3 -2
- package/dist/bin/commands/infer-quilt-config.d.ts.map +1 -1
- package/dist/bin/commands/infer-quilt-config.js +39 -65
- package/dist/bin/commands/infer-quilt-config.js.map +1 -1
- package/dist/bin/commands/setup-wizard.d.ts.map +1 -1
- package/dist/bin/commands/setup-wizard.js +108 -153
- package/dist/bin/commands/setup-wizard.js.map +1 -1
- package/dist/bin/commands/sync-secrets.d.ts +6 -3
- package/dist/bin/commands/sync-secrets.d.ts.map +1 -1
- package/dist/bin/commands/sync-secrets.js +14 -6
- package/dist/bin/commands/sync-secrets.js.map +1 -1
- package/dist/lib/interfaces/config-storage.d.ts +80 -0
- package/dist/lib/interfaces/config-storage.d.ts.map +1 -0
- package/dist/lib/interfaces/config-storage.js +9 -0
- package/dist/lib/interfaces/config-storage.js.map +1 -0
- package/dist/lib/utils/stack-inference.d.ts +28 -0
- package/dist/lib/utils/stack-inference.d.ts.map +1 -1
- package/dist/lib/utils/stack-inference.js +61 -0
- package/dist/lib/utils/stack-inference.js.map +1 -1
- package/dist/lib/xdg-base.d.ts +306 -0
- package/dist/lib/xdg-base.d.ts.map +1 -0
- package/dist/lib/xdg-base.js +440 -0
- package/dist/lib/xdg-base.js.map +1 -0
- package/dist/lib/xdg-config.d.ts +54 -187
- package/dist/lib/xdg-config.d.ts.map +1 -1
- package/dist/lib/xdg-config.js +83 -342
- package/dist/lib/xdg-config.js.map +1 -1
- package/dist/package.json +4 -3
- package/dist/scripts/list-quilt-stacks.d.ts +14 -0
- package/dist/scripts/list-quilt-stacks.d.ts.map +1 -0
- package/dist/scripts/list-quilt-stacks.js +96 -0
- package/dist/scripts/list-quilt-stacks.js.map +1 -0
- package/env.template +79 -0
- package/package.json +4 -3
- package/dist/bin/commands/config-show.d.ts +0 -14
- package/dist/bin/commands/config-show.d.ts.map +0 -1
- package/dist/bin/commands/config-show.js +0 -24
- package/dist/bin/commands/config-show.js.map +0 -1
package/dist/lib/xdg-config.js
CHANGED
|
@@ -2,15 +2,15 @@
|
|
|
2
2
|
/**
|
|
3
3
|
* XDG Configuration Management (v0.7.0 - BREAKING CHANGE)
|
|
4
4
|
*
|
|
5
|
-
*
|
|
5
|
+
* Filesystem implementation of XDGBase for XDG-compliant configuration management.
|
|
6
6
|
*
|
|
7
|
-
* This module provides
|
|
8
|
-
*
|
|
7
|
+
* This module provides filesystem-specific storage primitives for the Benchling Webhook system:
|
|
8
|
+
* - Filesystem-based profile storage in ~/.config/benchling-webhook/
|
|
9
|
+
* - Per-profile deployment tracking
|
|
10
|
+
* - Legacy configuration detection
|
|
11
|
+
* - Atomic writes with automatic backups
|
|
9
12
|
*
|
|
10
|
-
*
|
|
11
|
-
* - Per-profile deployment tracking (`deployments.json`)
|
|
12
|
-
* - Profile inheritance support with deep merging
|
|
13
|
-
* - Comprehensive validation and helpful error messages
|
|
13
|
+
* All business logic (validation, inheritance, deployment tracking) is handled by XDGBase.
|
|
14
14
|
*
|
|
15
15
|
* Directory Structure:
|
|
16
16
|
* ```
|
|
@@ -26,21 +26,16 @@
|
|
|
26
26
|
* @module xdg-config
|
|
27
27
|
* @version 0.7.0
|
|
28
28
|
*/
|
|
29
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
30
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
31
|
-
};
|
|
32
29
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
33
30
|
exports.XDGConfig = void 0;
|
|
34
31
|
const fs_1 = require("fs");
|
|
35
32
|
const path_1 = require("path");
|
|
36
33
|
const os_1 = require("os");
|
|
37
|
-
const
|
|
38
|
-
const ajv_formats_1 = __importDefault(require("ajv-formats"));
|
|
39
|
-
const lodash_merge_1 = __importDefault(require("lodash.merge"));
|
|
40
|
-
const config_1 = require("./types/config");
|
|
34
|
+
const xdg_base_1 = require("./xdg-base");
|
|
41
35
|
/**
|
|
42
36
|
* XDG Configuration Manager (v0.7.0)
|
|
43
37
|
*
|
|
38
|
+
* Filesystem-based implementation extending XDGBase.
|
|
44
39
|
* Manages profile-based configuration with deployment tracking.
|
|
45
40
|
* NO backward compatibility with v0.6.x configuration files.
|
|
46
41
|
*
|
|
@@ -65,62 +60,29 @@ const config_1 = require("./types/config");
|
|
|
65
60
|
* });
|
|
66
61
|
* ```
|
|
67
62
|
*/
|
|
68
|
-
class XDGConfig {
|
|
63
|
+
class XDGConfig extends xdg_base_1.XDGBase {
|
|
69
64
|
/**
|
|
70
65
|
* Creates a new XDG Configuration Manager
|
|
71
66
|
*
|
|
72
67
|
* @param baseDir - Base configuration directory (defaults to ~/.config/benchling-webhook)
|
|
73
68
|
*/
|
|
74
69
|
constructor(baseDir) {
|
|
70
|
+
super();
|
|
75
71
|
this.baseDir = baseDir || this.getDefaultBaseDir();
|
|
76
72
|
this.ensureBaseDirectoryExists();
|
|
77
73
|
}
|
|
78
|
-
/**
|
|
79
|
-
* Gets the default XDG base directory
|
|
80
|
-
*
|
|
81
|
-
* Respects XDG_CONFIG_HOME environment variable per XDG Base Directory spec.
|
|
82
|
-
*
|
|
83
|
-
* @returns The default base directory path (~/.config/benchling-webhook or $XDG_CONFIG_HOME/benchling-webhook)
|
|
84
|
-
*/
|
|
85
|
-
getDefaultBaseDir() {
|
|
86
|
-
const xdgConfigHome = process.env.XDG_CONFIG_HOME;
|
|
87
|
-
if (xdgConfigHome) {
|
|
88
|
-
return (0, path_1.resolve)(xdgConfigHome, "benchling-webhook");
|
|
89
|
-
}
|
|
90
|
-
const home = (0, os_1.homedir)();
|
|
91
|
-
return (0, path_1.resolve)(home, ".config", "benchling-webhook");
|
|
92
|
-
}
|
|
93
|
-
/**
|
|
94
|
-
* Ensures the base configuration directory exists
|
|
95
|
-
*
|
|
96
|
-
* @throws {Error} If directory creation fails
|
|
97
|
-
*/
|
|
98
|
-
ensureBaseDirectoryExists() {
|
|
99
|
-
if (!(0, fs_1.existsSync)(this.baseDir)) {
|
|
100
|
-
(0, fs_1.mkdirSync)(this.baseDir, { recursive: true });
|
|
101
|
-
}
|
|
102
|
-
}
|
|
103
74
|
// ====================================================================
|
|
104
|
-
//
|
|
75
|
+
// Abstract Storage Primitives Implementation (Filesystem)
|
|
105
76
|
// ====================================================================
|
|
106
77
|
/**
|
|
107
|
-
* Reads configuration
|
|
78
|
+
* Reads raw profile configuration from filesystem without validation
|
|
108
79
|
*
|
|
109
|
-
* @param profile - Profile name
|
|
110
|
-
* @returns
|
|
111
|
-
* @throws {Error} If profile
|
|
112
|
-
*
|
|
113
|
-
* @example
|
|
114
|
-
* ```typescript
|
|
115
|
-
* const config = xdg.readProfile("default");
|
|
116
|
-
* console.log(config.benchling.tenant);
|
|
117
|
-
* ```
|
|
80
|
+
* @param profile - Profile name
|
|
81
|
+
* @returns Raw profile configuration
|
|
82
|
+
* @throws {Error} If profile cannot be read
|
|
118
83
|
*/
|
|
119
|
-
|
|
84
|
+
readProfileRaw(profile) {
|
|
120
85
|
const configPath = this.getProfileConfigPath(profile);
|
|
121
|
-
if (!(0, fs_1.existsSync)(configPath)) {
|
|
122
|
-
throw new Error(this.buildProfileNotFoundError(profile));
|
|
123
|
-
}
|
|
124
86
|
let fileContent;
|
|
125
87
|
try {
|
|
126
88
|
fileContent = (0, fs_1.readFileSync)(configPath, "utf-8");
|
|
@@ -135,47 +97,21 @@ class XDGConfig {
|
|
|
135
97
|
catch (error) {
|
|
136
98
|
throw new Error(`Invalid JSON in configuration file: ${configPath}. ${error.message}`);
|
|
137
99
|
}
|
|
138
|
-
// Validate schema
|
|
139
|
-
const validation = this.validateProfile(config);
|
|
140
|
-
if (!validation.isValid) {
|
|
141
|
-
throw new Error(`Invalid configuration in ${configPath}:\n${validation.errors.join("\n")}`);
|
|
142
|
-
}
|
|
143
100
|
return config;
|
|
144
101
|
}
|
|
145
102
|
/**
|
|
146
|
-
* Writes configuration
|
|
103
|
+
* Writes raw profile configuration to filesystem without validation
|
|
147
104
|
*
|
|
148
105
|
* Creates the profile directory if it doesn't exist.
|
|
149
106
|
* Performs atomic write with automatic backup.
|
|
150
107
|
*
|
|
151
108
|
* @param profile - Profile name
|
|
152
|
-
* @param config - Configuration
|
|
153
|
-
* @throws {Error} If
|
|
154
|
-
*
|
|
155
|
-
* @example
|
|
156
|
-
* ```typescript
|
|
157
|
-
* xdg.writeProfile("default", {
|
|
158
|
-
* quilt: { ... },
|
|
159
|
-
* benchling: { ... },
|
|
160
|
-
* packages: { ... },
|
|
161
|
-
* deployment: { ... },
|
|
162
|
-
* _metadata: {
|
|
163
|
-
* version: "0.7.0",
|
|
164
|
-
* createdAt: new Date().toISOString(),
|
|
165
|
-
* updatedAt: new Date().toISOString(),
|
|
166
|
-
* source: "wizard"
|
|
167
|
-
* }
|
|
168
|
-
* });
|
|
169
|
-
* ```
|
|
109
|
+
* @param config - Configuration to write
|
|
110
|
+
* @throws {Error} If write fails
|
|
170
111
|
*/
|
|
171
|
-
|
|
172
|
-
// Validate configuration before writing
|
|
173
|
-
const validation = this.validateProfile(config);
|
|
174
|
-
if (!validation.isValid) {
|
|
175
|
-
throw new Error(`Invalid configuration:\n${validation.errors.join("\n")}`);
|
|
176
|
-
}
|
|
112
|
+
writeProfileRaw(profile, config) {
|
|
177
113
|
// Ensure profile directory exists
|
|
178
|
-
const profileDir = this.
|
|
114
|
+
const profileDir = this.getProfilePath(profile);
|
|
179
115
|
if (!(0, fs_1.existsSync)(profileDir)) {
|
|
180
116
|
(0, fs_1.mkdirSync)(profileDir, { recursive: true });
|
|
181
117
|
}
|
|
@@ -215,46 +151,26 @@ class XDGConfig {
|
|
|
215
151
|
}
|
|
216
152
|
}
|
|
217
153
|
/**
|
|
218
|
-
* Deletes
|
|
219
|
-
*
|
|
220
|
-
* WARNING: This is a destructive operation!
|
|
221
|
-
* Cannot delete the "default" profile.
|
|
154
|
+
* Deletes profile and all associated data from filesystem
|
|
222
155
|
*
|
|
223
|
-
* @param profile - Profile name
|
|
224
|
-
* @throws {Error} If
|
|
225
|
-
*
|
|
226
|
-
* @example
|
|
227
|
-
* ```typescript
|
|
228
|
-
* xdg.deleteProfile("dev");
|
|
229
|
-
* ```
|
|
156
|
+
* @param profile - Profile name
|
|
157
|
+
* @throws {Error} If deletion fails
|
|
230
158
|
*/
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
throw new Error("Cannot delete the default profile");
|
|
234
|
-
}
|
|
235
|
-
const profileDir = this.getProfileDir(profile);
|
|
236
|
-
if (!(0, fs_1.existsSync)(profileDir)) {
|
|
237
|
-
throw new Error(`Profile does not exist: ${profile}`);
|
|
238
|
-
}
|
|
159
|
+
deleteProfileRaw(profile) {
|
|
160
|
+
const profileDir = this.getProfilePath(profile);
|
|
239
161
|
try {
|
|
240
162
|
(0, fs_1.rmSync)(profileDir, { recursive: true, force: true });
|
|
241
163
|
}
|
|
242
164
|
catch (error) {
|
|
243
|
-
throw new Error(`Failed to delete profile: ${error.message}`);
|
|
165
|
+
throw new Error(`Failed to delete profile directory: ${error.message}`);
|
|
244
166
|
}
|
|
245
167
|
}
|
|
246
168
|
/**
|
|
247
|
-
* Lists all
|
|
169
|
+
* Lists all profile names from filesystem
|
|
248
170
|
*
|
|
249
171
|
* @returns Array of profile names
|
|
250
|
-
*
|
|
251
|
-
* @example
|
|
252
|
-
* ```typescript
|
|
253
|
-
* const profiles = xdg.listProfiles();
|
|
254
|
-
* console.log(profiles); // ["default", "dev", "prod"]
|
|
255
|
-
* ```
|
|
256
172
|
*/
|
|
257
|
-
|
|
173
|
+
listProfilesRaw() {
|
|
258
174
|
if (!(0, fs_1.existsSync)(this.baseDir)) {
|
|
259
175
|
return [];
|
|
260
176
|
}
|
|
@@ -269,47 +185,26 @@ class XDGConfig {
|
|
|
269
185
|
});
|
|
270
186
|
}
|
|
271
187
|
/**
|
|
272
|
-
* Checks if
|
|
273
|
-
*
|
|
274
|
-
* @param profile - Profile name to check
|
|
275
|
-
* @returns True if profile exists and has valid config.json, false otherwise
|
|
188
|
+
* Checks if profile exists on filesystem
|
|
276
189
|
*
|
|
277
|
-
* @
|
|
278
|
-
*
|
|
279
|
-
* if (xdg.profileExists("dev")) {
|
|
280
|
-
* const config = xdg.readProfile("dev");
|
|
281
|
-
* }
|
|
282
|
-
* ```
|
|
190
|
+
* @param profile - Profile name
|
|
191
|
+
* @returns True if profile exists
|
|
283
192
|
*/
|
|
284
|
-
|
|
193
|
+
profileExistsRaw(profile) {
|
|
285
194
|
const configPath = this.getProfileConfigPath(profile);
|
|
286
195
|
return (0, fs_1.existsSync)(configPath);
|
|
287
196
|
}
|
|
288
|
-
// ====================================================================
|
|
289
|
-
// Deployment Tracking
|
|
290
|
-
// ====================================================================
|
|
291
197
|
/**
|
|
292
|
-
*
|
|
293
|
-
*
|
|
294
|
-
* Returns empty history if deployments.json doesn't exist.
|
|
198
|
+
* Reads raw deployment history from filesystem without validation
|
|
295
199
|
*
|
|
296
200
|
* @param profile - Profile name
|
|
297
|
-
* @returns Deployment history
|
|
298
|
-
*
|
|
299
|
-
* @example
|
|
300
|
-
* ```typescript
|
|
301
|
-
* const deployments = xdg.getDeployments("default");
|
|
302
|
-
* console.log(deployments.active["prod"]); // Active prod deployment
|
|
303
|
-
* console.log(deployments.history[0]); // Most recent deployment
|
|
304
|
-
* ```
|
|
201
|
+
* @returns Deployment history or null if none exists
|
|
202
|
+
* @throws {Error} If read fails
|
|
305
203
|
*/
|
|
306
|
-
|
|
307
|
-
const deploymentsPath = this.
|
|
204
|
+
readDeploymentsRaw(profile) {
|
|
205
|
+
const deploymentsPath = this.getDeploymentsPath(profile);
|
|
308
206
|
if (!(0, fs_1.existsSync)(deploymentsPath)) {
|
|
309
|
-
return
|
|
310
|
-
active: {},
|
|
311
|
-
history: [],
|
|
312
|
-
};
|
|
207
|
+
return null;
|
|
313
208
|
}
|
|
314
209
|
let fileContent;
|
|
315
210
|
try {
|
|
@@ -325,63 +220,22 @@ class XDGConfig {
|
|
|
325
220
|
catch (error) {
|
|
326
221
|
throw new Error(`Invalid JSON in deployments file: ${deploymentsPath}. ${error.message}`);
|
|
327
222
|
}
|
|
328
|
-
// Validate schema
|
|
329
|
-
const ajv = new ajv_1.default();
|
|
330
|
-
(0, ajv_formats_1.default)(ajv);
|
|
331
|
-
const validate = ajv.compile(config_1.DeploymentHistorySchema);
|
|
332
|
-
const valid = validate(deployments);
|
|
333
|
-
if (!valid) {
|
|
334
|
-
const errors = validate.errors?.map((err) => `${err.instancePath} ${err.message}`).join(", ");
|
|
335
|
-
throw new Error(`Invalid deployments schema in ${deploymentsPath}: ${errors}`);
|
|
336
|
-
}
|
|
337
223
|
return deployments;
|
|
338
224
|
}
|
|
339
225
|
/**
|
|
340
|
-
*
|
|
341
|
-
*
|
|
342
|
-
* Adds deployment to history and updates active deployment for the stage.
|
|
343
|
-
* Creates deployments.json if it doesn't exist.
|
|
226
|
+
* Writes raw deployment history to filesystem without validation
|
|
344
227
|
*
|
|
345
228
|
* @param profile - Profile name
|
|
346
|
-
* @param
|
|
347
|
-
*
|
|
348
|
-
* @example
|
|
349
|
-
* ```typescript
|
|
350
|
-
* xdg.recordDeployment("default", {
|
|
351
|
-
* stage: "prod",
|
|
352
|
-
* timestamp: new Date().toISOString(),
|
|
353
|
-
* imageTag: "0.7.0",
|
|
354
|
-
* endpoint: "https://abc123.execute-api.us-east-1.amazonaws.com/prod",
|
|
355
|
-
* stackName: "BenchlingWebhookStack",
|
|
356
|
-
* region: "us-east-1",
|
|
357
|
-
* deployedBy: "ernest@example.com",
|
|
358
|
-
* commit: "abc123f"
|
|
359
|
-
* });
|
|
360
|
-
* ```
|
|
229
|
+
* @param history - Deployment history to write
|
|
230
|
+
* @throws {Error} If write fails
|
|
361
231
|
*/
|
|
362
|
-
|
|
232
|
+
writeDeploymentsRaw(profile, history) {
|
|
363
233
|
// Ensure profile directory exists
|
|
364
|
-
const profileDir = this.
|
|
234
|
+
const profileDir = this.getProfilePath(profile);
|
|
365
235
|
if (!(0, fs_1.existsSync)(profileDir)) {
|
|
366
236
|
(0, fs_1.mkdirSync)(profileDir, { recursive: true });
|
|
367
237
|
}
|
|
368
|
-
|
|
369
|
-
let deployments;
|
|
370
|
-
try {
|
|
371
|
-
deployments = this.getDeployments(profile);
|
|
372
|
-
}
|
|
373
|
-
catch {
|
|
374
|
-
deployments = {
|
|
375
|
-
active: {},
|
|
376
|
-
history: [],
|
|
377
|
-
};
|
|
378
|
-
}
|
|
379
|
-
// Add to history (newest first)
|
|
380
|
-
deployments.history.unshift(deployment);
|
|
381
|
-
// Update active deployment for this stage
|
|
382
|
-
deployments.active[deployment.stage] = deployment;
|
|
383
|
-
// Write deployments file
|
|
384
|
-
const deploymentsPath = this.getProfileDeploymentsPath(profile);
|
|
238
|
+
const deploymentsPath = this.getDeploymentsPath(profile);
|
|
385
239
|
const backupPath = `${deploymentsPath}.backup`;
|
|
386
240
|
// Create backup if file exists
|
|
387
241
|
if ((0, fs_1.existsSync)(deploymentsPath)) {
|
|
@@ -394,7 +248,7 @@ class XDGConfig {
|
|
|
394
248
|
}
|
|
395
249
|
// Write to temporary file first (atomic write)
|
|
396
250
|
const tempPath = (0, path_1.join)(profileDir, `.deployments.json.tmp-${process.pid}-${Date.now()}-${Math.random().toString(16).slice(2)}`);
|
|
397
|
-
const deploymentsJson = JSON.stringify(
|
|
251
|
+
const deploymentsJson = JSON.stringify(history, null, 4);
|
|
398
252
|
try {
|
|
399
253
|
(0, fs_1.writeFileSync)(tempPath, deploymentsJson, "utf-8");
|
|
400
254
|
// Atomic rename (with fallback for cross-device on Windows)
|
|
@@ -416,152 +270,41 @@ class XDGConfig {
|
|
|
416
270
|
throw new Error(`Failed to write deployments file: ${error.message}`);
|
|
417
271
|
}
|
|
418
272
|
}
|
|
419
|
-
/**
|
|
420
|
-
* Gets the active deployment for a specific stage
|
|
421
|
-
*
|
|
422
|
-
* @param profile - Profile name
|
|
423
|
-
* @param stage - Stage name (e.g., "dev", "prod")
|
|
424
|
-
* @returns Active deployment record for the stage, or null if none exists
|
|
425
|
-
*
|
|
426
|
-
* @example
|
|
427
|
-
* ```typescript
|
|
428
|
-
* const prodDeployment = xdg.getActiveDeployment("default", "prod");
|
|
429
|
-
* if (prodDeployment) {
|
|
430
|
-
* console.log("Prod endpoint:", prodDeployment.endpoint);
|
|
431
|
-
* }
|
|
432
|
-
* ```
|
|
433
|
-
*/
|
|
434
|
-
getActiveDeployment(profile, stage) {
|
|
435
|
-
try {
|
|
436
|
-
const deployments = this.getDeployments(profile);
|
|
437
|
-
return deployments.active[stage] || null;
|
|
438
|
-
}
|
|
439
|
-
catch {
|
|
440
|
-
return null;
|
|
441
|
-
}
|
|
442
|
-
}
|
|
443
273
|
// ====================================================================
|
|
444
|
-
//
|
|
274
|
+
// Filesystem Path Helpers
|
|
445
275
|
// ====================================================================
|
|
446
276
|
/**
|
|
447
|
-
*
|
|
448
|
-
*
|
|
449
|
-
* If the profile has an `_inherits` field, loads the base profile first
|
|
450
|
-
* and deep merges the current profile on top.
|
|
451
|
-
*
|
|
452
|
-
* Detects and prevents circular inheritance chains.
|
|
453
|
-
*
|
|
454
|
-
* @param profile - Profile name to read
|
|
455
|
-
* @param baseProfile - Optional explicit base profile (overrides `_inherits`)
|
|
456
|
-
* @returns Merged configuration with inheritance applied
|
|
457
|
-
* @throws {Error} If circular inheritance is detected
|
|
277
|
+
* Gets the default XDG base directory
|
|
458
278
|
*
|
|
459
|
-
*
|
|
460
|
-
* ```typescript
|
|
461
|
-
* // dev/config.json has "_inherits": "default"
|
|
462
|
-
* const devConfig = xdg.readProfileWithInheritance("dev");
|
|
463
|
-
* // Returns default config deep-merged with dev overrides
|
|
464
|
-
* ```
|
|
465
|
-
*/
|
|
466
|
-
readProfileWithInheritance(profile, baseProfile) {
|
|
467
|
-
const visited = new Set();
|
|
468
|
-
return this.readProfileWithInheritanceInternal(profile, baseProfile, visited);
|
|
469
|
-
}
|
|
470
|
-
/**
|
|
471
|
-
* Internal recursive implementation of profile inheritance
|
|
279
|
+
* Respects XDG_CONFIG_HOME environment variable per XDG Base Directory spec.
|
|
472
280
|
*
|
|
473
|
-
* @
|
|
474
|
-
* @param explicitBase - Explicitly specified base profile
|
|
475
|
-
* @param visited - Set of visited profiles (for circular detection)
|
|
476
|
-
* @returns Merged configuration
|
|
477
|
-
* @throws {Error} If circular inheritance is detected
|
|
281
|
+
* @returns The default base directory path (~/.config/benchling-webhook or $XDG_CONFIG_HOME/benchling-webhook)
|
|
478
282
|
*/
|
|
479
|
-
|
|
480
|
-
|
|
481
|
-
if (
|
|
482
|
-
|
|
483
|
-
throw new Error(`Circular inheritance detected: ${chain} -> ${profile}`);
|
|
484
|
-
}
|
|
485
|
-
visited.add(profile);
|
|
486
|
-
// Read current profile
|
|
487
|
-
const config = this.readProfile(profile);
|
|
488
|
-
// Determine base profile
|
|
489
|
-
const baseProfileName = explicitBase || config._inherits;
|
|
490
|
-
// No inheritance - return as-is
|
|
491
|
-
if (!baseProfileName) {
|
|
492
|
-
return config;
|
|
283
|
+
getDefaultBaseDir() {
|
|
284
|
+
const xdgConfigHome = process.env.XDG_CONFIG_HOME;
|
|
285
|
+
if (xdgConfigHome) {
|
|
286
|
+
return (0, path_1.resolve)(xdgConfigHome, "benchling-webhook");
|
|
493
287
|
}
|
|
494
|
-
|
|
495
|
-
|
|
496
|
-
// Deep merge: base config first, then current profile overrides
|
|
497
|
-
const merged = this.deepMergeConfigs(baseConfig, config);
|
|
498
|
-
// Remove _inherits from final result (it's already applied)
|
|
499
|
-
delete merged._inherits;
|
|
500
|
-
return merged;
|
|
501
|
-
}
|
|
502
|
-
/**
|
|
503
|
-
* Deep merges two profile configurations
|
|
504
|
-
*
|
|
505
|
-
* Nested objects are merged recursively.
|
|
506
|
-
* Arrays are replaced (not concatenated).
|
|
507
|
-
* Current config takes precedence over base config.
|
|
508
|
-
*
|
|
509
|
-
* @param base - Base configuration
|
|
510
|
-
* @param current - Current configuration (takes precedence)
|
|
511
|
-
* @returns Merged configuration
|
|
512
|
-
*/
|
|
513
|
-
deepMergeConfigs(base, current) {
|
|
514
|
-
return (0, lodash_merge_1.default)({}, base, current);
|
|
288
|
+
const home = (0, os_1.homedir)();
|
|
289
|
+
return (0, path_1.resolve)(home, ".config", "benchling-webhook");
|
|
515
290
|
}
|
|
516
|
-
// ====================================================================
|
|
517
|
-
// Validation
|
|
518
|
-
// ====================================================================
|
|
519
291
|
/**
|
|
520
|
-
*
|
|
521
|
-
*
|
|
522
|
-
* @param config - Configuration object to validate
|
|
523
|
-
* @returns Validation result with errors and warnings
|
|
292
|
+
* Ensures the base configuration directory exists
|
|
524
293
|
*
|
|
525
|
-
* @
|
|
526
|
-
* ```typescript
|
|
527
|
-
* const validation = xdg.validateProfile(config);
|
|
528
|
-
* if (!validation.isValid) {
|
|
529
|
-
* console.error("Validation errors:", validation.errors);
|
|
530
|
-
* }
|
|
531
|
-
* ```
|
|
294
|
+
* @throws {Error} If directory creation fails
|
|
532
295
|
*/
|
|
533
|
-
|
|
534
|
-
|
|
535
|
-
|
|
536
|
-
const validate = ajv.compile(config_1.ProfileConfigSchema);
|
|
537
|
-
const valid = validate(config);
|
|
538
|
-
if (valid) {
|
|
539
|
-
return {
|
|
540
|
-
isValid: true,
|
|
541
|
-
errors: [],
|
|
542
|
-
warnings: [],
|
|
543
|
-
};
|
|
296
|
+
ensureBaseDirectoryExists() {
|
|
297
|
+
if (!(0, fs_1.existsSync)(this.baseDir)) {
|
|
298
|
+
(0, fs_1.mkdirSync)(this.baseDir, { recursive: true });
|
|
544
299
|
}
|
|
545
|
-
const errors = validate.errors?.map((err) => {
|
|
546
|
-
const path = err.instancePath || "(root)";
|
|
547
|
-
return `${path}: ${err.message}`;
|
|
548
|
-
}) || [];
|
|
549
|
-
return {
|
|
550
|
-
isValid: false,
|
|
551
|
-
errors,
|
|
552
|
-
warnings: [],
|
|
553
|
-
};
|
|
554
300
|
}
|
|
555
|
-
// ====================================================================
|
|
556
|
-
// Path Helpers
|
|
557
|
-
// ====================================================================
|
|
558
301
|
/**
|
|
559
302
|
* Gets the directory path for a profile
|
|
560
303
|
*
|
|
561
304
|
* @param profile - Profile name
|
|
562
305
|
* @returns Absolute path to profile directory
|
|
563
306
|
*/
|
|
564
|
-
|
|
307
|
+
getProfilePath(profile) {
|
|
565
308
|
return (0, path_1.join)(this.baseDir, profile);
|
|
566
309
|
}
|
|
567
310
|
/**
|
|
@@ -571,7 +314,7 @@ class XDGConfig {
|
|
|
571
314
|
* @returns Absolute path to config.json
|
|
572
315
|
*/
|
|
573
316
|
getProfileConfigPath(profile) {
|
|
574
|
-
return (0, path_1.join)(this.
|
|
317
|
+
return (0, path_1.join)(this.getProfilePath(profile), "config.json");
|
|
575
318
|
}
|
|
576
319
|
/**
|
|
577
320
|
* Gets the deployments.json path for a profile
|
|
@@ -579,28 +322,35 @@ class XDGConfig {
|
|
|
579
322
|
* @param profile - Profile name
|
|
580
323
|
* @returns Absolute path to deployments.json
|
|
581
324
|
*/
|
|
582
|
-
|
|
583
|
-
return (0, path_1.join)(this.
|
|
325
|
+
getDeploymentsPath(profile) {
|
|
326
|
+
return (0, path_1.join)(this.getProfilePath(profile), "deployments.json");
|
|
584
327
|
}
|
|
585
328
|
// ====================================================================
|
|
586
|
-
//
|
|
329
|
+
// Filesystem-Specific Features
|
|
587
330
|
// ====================================================================
|
|
588
331
|
/**
|
|
589
|
-
*
|
|
590
|
-
*
|
|
591
|
-
* Detects legacy v0.6.x configuration files and provides upgrade guidance.
|
|
332
|
+
* Detects legacy v0.6.x configuration files
|
|
592
333
|
*
|
|
593
|
-
* @
|
|
594
|
-
* @returns Formatted error message
|
|
334
|
+
* @returns True if legacy files are detected
|
|
595
335
|
*/
|
|
596
|
-
|
|
336
|
+
detectLegacyConfiguration() {
|
|
597
337
|
const legacyFiles = [
|
|
598
338
|
(0, path_1.join)(this.baseDir, "default.json"),
|
|
599
339
|
(0, path_1.join)(this.baseDir, "deploy.json"),
|
|
600
340
|
(0, path_1.join)(this.baseDir, "profiles"),
|
|
601
341
|
];
|
|
602
|
-
|
|
603
|
-
|
|
342
|
+
return legacyFiles.some((f) => (0, fs_1.existsSync)(f));
|
|
343
|
+
}
|
|
344
|
+
/**
|
|
345
|
+
* Builds a helpful error message when a profile is not found
|
|
346
|
+
*
|
|
347
|
+
* Overrides base class to add legacy configuration detection.
|
|
348
|
+
*
|
|
349
|
+
* @param profile - Profile name that was not found
|
|
350
|
+
* @returns Formatted error message
|
|
351
|
+
*/
|
|
352
|
+
buildProfileNotFoundError(profile) {
|
|
353
|
+
if (this.detectLegacyConfiguration()) {
|
|
604
354
|
return `
|
|
605
355
|
Profile not found: ${profile}
|
|
606
356
|
|
|
@@ -617,16 +367,7 @@ Your old configuration files remain at:
|
|
|
617
367
|
You can manually reference these files to re-enter your settings.
|
|
618
368
|
`.trim();
|
|
619
369
|
}
|
|
620
|
-
return
|
|
621
|
-
Profile not found: ${profile}
|
|
622
|
-
|
|
623
|
-
No configuration found for profile: ${profile}
|
|
624
|
-
|
|
625
|
-
Run setup wizard to create configuration:
|
|
626
|
-
npx @quiltdata/benchling-webhook@latest setup
|
|
627
|
-
|
|
628
|
-
Available profiles: ${this.listProfiles().join(", ") || "(none)"}
|
|
629
|
-
`.trim();
|
|
370
|
+
return super.buildProfileNotFoundError(profile);
|
|
630
371
|
}
|
|
631
372
|
}
|
|
632
373
|
exports.XDGConfig = XDGConfig;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"xdg-config.js","sourceRoot":"","sources":["../../lib/xdg-config.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;;;;;;AAEH,2BAAmI;AACnI,+BAA8C;AAC9C,2BAA6B;AAC7B,8CAAsB;AACtB,8DAAqC;AACrC,gEAAiC;AACjC,2CAOwB;AAExB;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,MAAa,SAAS;IAGlB;;;;OAIG;IACH,YAAY,OAAgB;QACxB,IAAI,CAAC,OAAO,GAAG,OAAO,IAAI,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACnD,IAAI,CAAC,yBAAyB,EAAE,CAAC;IACrC,CAAC;IAED;;;;;;OAMG;IACK,iBAAiB;QACrB,MAAM,aAAa,GAAG,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC;QAClD,IAAI,aAAa,EAAE,CAAC;YAChB,OAAO,IAAA,cAAO,EAAC,aAAa,EAAE,mBAAmB,CAAC,CAAC;QACvD,CAAC;QACD,MAAM,IAAI,GAAG,IAAA,YAAO,GAAE,CAAC;QACvB,OAAO,IAAA,cAAO,EAAC,IAAI,EAAE,SAAS,EAAE,mBAAmB,CAAC,CAAC;IACzD,CAAC;IAED;;;;OAIG;IACK,yBAAyB;QAC7B,IAAI,CAAC,IAAA,eAAU,EAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;YAC5B,IAAA,cAAS,EAAC,IAAI,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACjD,CAAC;IACL,CAAC;IAED,uEAAuE;IACvE,2BAA2B;IAC3B,uEAAuE;IAEvE;;;;;;;;;;;;OAYG;IACI,WAAW,CAAC,OAAe;QAC9B,MAAM,UAAU,GAAG,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC;QAEtD,IAAI,CAAC,IAAA,eAAU,EAAC,UAAU,CAAC,EAAE,CAAC;YAC1B,MAAM,IAAI,KAAK,CAAC,IAAI,CAAC,yBAAyB,CAAC,OAAO,CAAC,CAAC,CAAC;QAC7D,CAAC;QAED,IAAI,WAAmB,CAAC;QACxB,IAAI,CAAC;YACD,WAAW,GAAG,IAAA,iBAAY,EAAC,UAAU,EAAE,OAAO,CAAC,CAAC;QACpD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CAAC,sCAAsC,UAAU,KAAM,KAAe,CAAC,OAAO,EAAE,CAAC,CAAC;QACrG,CAAC;QAED,IAAI,MAAqB,CAAC;QAC1B,IAAI,CAAC;YACD,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;QACrC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CAAC,uCAAuC,UAAU,KAAM,KAAe,CAAC,OAAO,EAAE,CAAC,CAAC;QACtG,CAAC;QAED,kBAAkB;QAClB,MAAM,UAAU,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;QAChD,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC;YACtB,MAAM,IAAI,KAAK,CAAC,4BAA4B,UAAU,MAAM,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAChG,CAAC;QAED,OAAO,MAAM,CAAC;IAClB,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;OAyBG;IACI,YAAY,CAAC,OAAe,EAAE,MAAqB;QACtD,wCAAwC;QACxC,MAAM,UAAU,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;QAChD,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC;YACtB,MAAM,IAAI,KAAK,CAAC,2BAA2B,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC/E,CAAC;QAED,kCAAkC;QAClC,MAAM,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;QAC/C,IAAI,CAAC,IAAA,eAAU,EAAC,UAAU,CAAC,EAAE,CAAC;YAC1B,IAAA,cAAS,EAAC,UAAU,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC/C,CAAC;QAED,MAAM,UAAU,GAAG,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC;QACtD,MAAM,UAAU,GAAG,GAAG,UAAU,SAAS,CAAC;QAE1C,+BAA+B;QAC/B,IAAI,IAAA,eAAU,EAAC,UAAU,CAAC,EAAE,CAAC;YACzB,IAAI,CAAC;gBACD,IAAA,iBAAY,EAAC,UAAU,EAAE,UAAU,CAAC,CAAC;YACzC,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACb,MAAM,IAAI,KAAK,CAAC,4BAA6B,KAAe,CAAC,OAAO,EAAE,CAAC,CAAC;YAC5E,CAAC;QACL,CAAC;QAED,+CAA+C;QAC/C,MAAM,QAAQ,GAAG,IAAA,WAAI,EACjB,UAAU,EACV,oBAAoB,OAAO,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,EAAE,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CACzF,CAAC;QACF,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;QAEnD,IAAI,CAAC;YACD,IAAA,kBAAa,EAAC,QAAQ,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC;YAE7C,4DAA4D;YAC5D,IAAI,CAAC;gBACD,IAAA,eAAU,EAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;YACrC,CAAC;YAAC,MAAM,CAAC;gBACL,gEAAgE;gBAChE,gDAAgD;gBAChD,MAAM,SAAS,GAAG,IAAA,cAAO,EAAC,UAAU,CAAC,CAAC;gBACtC,IAAI,CAAC,IAAA,eAAU,EAAC,SAAS,CAAC,EAAE,CAAC;oBACzB,IAAA,cAAS,EAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;gBAC9C,CAAC;gBACD,IAAA,iBAAY,EAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;gBACnC,IAAA,eAAU,EAAC,QAAQ,CAAC,CAAC;YACzB,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CAAC,uCAAwC,KAAe,CAAC,OAAO,EAAE,CAAC,CAAC;QACvF,CAAC;IACL,CAAC;IAED;;;;;;;;;;;;;OAaG;IACI,aAAa,CAAC,OAAe;QAChC,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;YACxB,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;QACzD,CAAC;QAED,MAAM,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;QAC/C,IAAI,CAAC,IAAA,eAAU,EAAC,UAAU,CAAC,EAAE,CAAC;YAC1B,MAAM,IAAI,KAAK,CAAC,2BAA2B,OAAO,EAAE,CAAC,CAAC;QAC1D,CAAC;QAED,IAAI,CAAC;YACD,IAAA,WAAM,EAAC,UAAU,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QACzD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CAAC,6BAA8B,KAAe,CAAC,OAAO,EAAE,CAAC,CAAC;QAC7E,CAAC;IACL,CAAC;IAED;;;;;;;;;;OAUG;IACI,YAAY;QACf,IAAI,CAAC,IAAA,eAAU,EAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;YAC5B,OAAO,EAAE,CAAC;QACd,CAAC;QAED,MAAM,OAAO,GAAG,IAAA,gBAAW,EAAC,IAAI,CAAC,OAAO,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;QACnE,OAAO,OAAO;aACT,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC;aACtC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC;aAC1B,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE;YACb,4CAA4C;YAC5C,MAAM,UAAU,GAAG,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC;YACnD,OAAO,IAAA,eAAU,EAAC,UAAU,CAAC,CAAC;QAClC,CAAC,CAAC,CAAC;IACX,CAAC;IAED;;;;;;;;;;;;OAYG;IACI,aAAa,CAAC,OAAe;QAChC,MAAM,UAAU,GAAG,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC;QACtD,OAAO,IAAA,eAAU,EAAC,UAAU,CAAC,CAAC;IAClC,CAAC;IAED,uEAAuE;IACvE,sBAAsB;IACtB,uEAAuE;IAEvE;;;;;;;;;;;;;;OAcG;IACI,cAAc,CAAC,OAAe;QACjC,MAAM,eAAe,GAAG,IAAI,CAAC,yBAAyB,CAAC,OAAO,CAAC,CAAC;QAEhE,IAAI,CAAC,IAAA,eAAU,EAAC,eAAe,CAAC,EAAE,CAAC;YAC/B,OAAO;gBACH,MAAM,EAAE,EAAE;gBACV,OAAO,EAAE,EAAE;aACd,CAAC;QACN,CAAC;QAED,IAAI,WAAmB,CAAC;QACxB,IAAI,CAAC;YACD,WAAW,GAAG,IAAA,iBAAY,EAAC,eAAe,EAAE,OAAO,CAAC,CAAC;QACzD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CAAC,oCAAoC,eAAe,KAAM,KAAe,CAAC,OAAO,EAAE,CAAC,CAAC;QACxG,CAAC;QAED,IAAI,WAA8B,CAAC;QACnC,IAAI,CAAC;YACD,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;QAC1C,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CAAC,qCAAqC,eAAe,KAAM,KAAe,CAAC,OAAO,EAAE,CAAC,CAAC;QACzG,CAAC;QAED,kBAAkB;QAClB,MAAM,GAAG,GAAG,IAAI,aAAG,EAAE,CAAC;QACtB,IAAA,qBAAU,EAAC,GAAG,CAAC,CAAC;QAChB,MAAM,QAAQ,GAAG,GAAG,CAAC,OAAO,CAAC,gCAAuB,CAAC,CAAC;QACtD,MAAM,KAAK,GAAG,QAAQ,CAAC,WAAW,CAAC,CAAC;QAEpC,IAAI,CAAC,KAAK,EAAE,CAAC;YACT,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,YAAY,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC9F,MAAM,IAAI,KAAK,CAAC,iCAAiC,eAAe,KAAK,MAAM,EAAE,CAAC,CAAC;QACnF,CAAC;QAED,OAAO,WAAW,CAAC;IACvB,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACI,gBAAgB,CAAC,OAAe,EAAE,UAA4B;QACjE,kCAAkC;QAClC,MAAM,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;QAC/C,IAAI,CAAC,IAAA,eAAU,EAAC,UAAU,CAAC,EAAE,CAAC;YAC1B,IAAA,cAAS,EAAC,UAAU,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC/C,CAAC;QAED,0CAA0C;QAC1C,IAAI,WAA8B,CAAC;QACnC,IAAI,CAAC;YACD,WAAW,GAAG,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;QAC/C,CAAC;QAAC,MAAM,CAAC;YACL,WAAW,GAAG;gBACV,MAAM,EAAE,EAAE;gBACV,OAAO,EAAE,EAAE;aACd,CAAC;QACN,CAAC;QAED,gCAAgC;QAChC,WAAW,CAAC,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QAExC,0CAA0C;QAC1C,WAAW,CAAC,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,UAAU,CAAC;QAElD,yBAAyB;QACzB,MAAM,eAAe,GAAG,IAAI,CAAC,yBAAyB,CAAC,OAAO,CAAC,CAAC;QAChE,MAAM,UAAU,GAAG,GAAG,eAAe,SAAS,CAAC;QAE/C,+BAA+B;QAC/B,IAAI,IAAA,eAAU,EAAC,eAAe,CAAC,EAAE,CAAC;YAC9B,IAAI,CAAC;gBACD,IAAA,iBAAY,EAAC,eAAe,EAAE,UAAU,CAAC,CAAC;YAC9C,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACb,MAAM,IAAI,KAAK,CAAC,4BAA6B,KAAe,CAAC,OAAO,EAAE,CAAC,CAAC;YAC5E,CAAC;QACL,CAAC;QAED,+CAA+C;QAC/C,MAAM,QAAQ,GAAG,IAAA,WAAI,EACjB,UAAU,EACV,yBAAyB,OAAO,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,EAAE,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAC9F,CAAC;QACF,MAAM,eAAe,GAAG,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;QAE7D,IAAI,CAAC;YACD,IAAA,kBAAa,EAAC,QAAQ,EAAE,eAAe,EAAE,OAAO,CAAC,CAAC;YAElD,4DAA4D;YAC5D,IAAI,CAAC;gBACD,IAAA,eAAU,EAAC,QAAQ,EAAE,eAAe,CAAC,CAAC;YAC1C,CAAC;YAAC,MAAM,CAAC;gBACL,gEAAgE;gBAChE,gDAAgD;gBAChD,MAAM,SAAS,GAAG,IAAA,cAAO,EAAC,eAAe,CAAC,CAAC;gBAC3C,IAAI,CAAC,IAAA,eAAU,EAAC,SAAS,CAAC,EAAE,CAAC;oBACzB,IAAA,cAAS,EAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;gBAC9C,CAAC;gBACD,IAAA,iBAAY,EAAC,QAAQ,EAAE,eAAe,CAAC,CAAC;gBACxC,IAAA,eAAU,EAAC,QAAQ,CAAC,CAAC;YACzB,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CAAC,qCAAsC,KAAe,CAAC,OAAO,EAAE,CAAC,CAAC;QACrF,CAAC;IACL,CAAC;IAED;;;;;;;;;;;;;;OAcG;IACI,mBAAmB,CAAC,OAAe,EAAE,KAAa;QACrD,IAAI,CAAC;YACD,MAAM,WAAW,GAAG,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;YACjD,OAAO,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC;QAC7C,CAAC;QAAC,MAAM,CAAC;YACL,OAAO,IAAI,CAAC;QAChB,CAAC;IACL,CAAC;IAED,uEAAuE;IACvE,sBAAsB;IACtB,uEAAuE;IAEvE;;;;;;;;;;;;;;;;;;;OAmBG;IACI,0BAA0B,CAAC,OAAe,EAAE,WAAoB;QACnE,MAAM,OAAO,GAAG,IAAI,GAAG,EAAU,CAAC;QAClC,OAAO,IAAI,CAAC,kCAAkC,CAAC,OAAO,EAAE,WAAW,EAAE,OAAO,CAAC,CAAC;IAClF,CAAC;IAED;;;;;;;;OAQG;IACK,kCAAkC,CACtC,OAAe,EACf,YAAgC,EAChC,OAAoB;QAEpB,8BAA8B;QAC9B,IAAI,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;YACvB,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAC/C,MAAM,IAAI,KAAK,CAAC,kCAAkC,KAAK,OAAO,OAAO,EAAE,CAAC,CAAC;QAC7E,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAErB,uBAAuB;QACvB,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;QAEzC,yBAAyB;QACzB,MAAM,eAAe,GAAG,YAAY,IAAI,MAAM,CAAC,SAAS,CAAC;QAEzD,gCAAgC;QAChC,IAAI,CAAC,eAAe,EAAE,CAAC;YACnB,OAAO,MAAM,CAAC;QAClB,CAAC;QAED,qCAAqC;QACrC,MAAM,UAAU,GAAG,IAAI,CAAC,kCAAkC,CAAC,eAAe,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;QAEhG,gEAAgE;QAChE,MAAM,MAAM,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;QAEzD,4DAA4D;QAC5D,OAAO,MAAM,CAAC,SAAS,CAAC;QAExB,OAAO,MAAM,CAAC;IAClB,CAAC;IAED;;;;;;;;;;OAUG;IACK,gBAAgB,CAAC,IAAmB,EAAE,OAAsB;QAChE,OAAO,IAAA,sBAAK,EAAC,EAAE,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;IACpC,CAAC;IAED,uEAAuE;IACvE,aAAa;IACb,uEAAuE;IAEvE;;;;;;;;;;;;;OAaG;IACI,eAAe,CAAC,MAAqB;QACxC,MAAM,GAAG,GAAG,IAAI,aAAG,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;QACxD,IAAA,qBAAU,EAAC,GAAG,CAAC,CAAC;QAChB,MAAM,QAAQ,GAAG,GAAG,CAAC,OAAO,CAAC,4BAAmB,CAAC,CAAC;QAClD,MAAM,KAAK,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC;QAE/B,IAAI,KAAK,EAAE,CAAC;YACR,OAAO;gBACH,OAAO,EAAE,IAAI;gBACb,MAAM,EAAE,EAAE;gBACV,QAAQ,EAAE,EAAE;aACf,CAAC;QACN,CAAC;QAED,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;YACxC,MAAM,IAAI,GAAG,GAAG,CAAC,YAAY,IAAI,QAAQ,CAAC;YAC1C,OAAO,GAAG,IAAI,KAAK,GAAG,CAAC,OAAO,EAAE,CAAC;QACrC,CAAC,CAAC,IAAI,EAAE,CAAC;QAET,OAAO;YACH,OAAO,EAAE,KAAK;YACd,MAAM;YACN,QAAQ,EAAE,EAAE;SACf,CAAC;IACN,CAAC;IAED,uEAAuE;IACvE,eAAe;IACf,uEAAuE;IAEvE;;;;;OAKG;IACK,aAAa,CAAC,OAAe;QACjC,OAAO,IAAA,WAAI,EAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IACvC,CAAC;IAED;;;;;OAKG;IACK,oBAAoB,CAAC,OAAe;QACxC,OAAO,IAAA,WAAI,EAAC,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,EAAE,aAAa,CAAC,CAAC;IAC5D,CAAC;IAED;;;;;OAKG;IACK,yBAAyB,CAAC,OAAe;QAC7C,OAAO,IAAA,WAAI,EAAC,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,EAAE,kBAAkB,CAAC,CAAC;IACjE,CAAC;IAED,uEAAuE;IACvE,iBAAiB;IACjB,uEAAuE;IAEvE;;;;;;;OAOG;IACK,yBAAyB,CAAC,OAAe;QAC7C,MAAM,WAAW,GAAG;YAChB,IAAA,WAAI,EAAC,IAAI,CAAC,OAAO,EAAE,cAAc,CAAC;YAClC,IAAA,WAAI,EAAC,IAAI,CAAC,OAAO,EAAE,aAAa,CAAC;YACjC,IAAA,WAAI,EAAC,IAAI,CAAC,OAAO,EAAE,UAAU,CAAC;SACjC,CAAC;QAEF,MAAM,cAAc,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAA,eAAU,EAAC,CAAC,CAAC,CAAC,CAAC;QAE9D,IAAI,cAAc,EAAE,CAAC;YACjB,OAAO;qBACE,OAAO;;;;;;;;;;;;;aAaf,CAAC,IAAI,EAAE,CAAC;QACb,CAAC;QAED,OAAO;qBACM,OAAO;;sCAEU,OAAO;;;;;sBAKvB,IAAI,CAAC,YAAY,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,QAAQ;SACvD,CAAC,IAAI,EAAE,CAAC;IACb,CAAC;CACJ;AApnBD,8BAonBC"}
|
|
1
|
+
{"version":3,"file":"xdg-config.js","sourceRoot":"","sources":["../../lib/xdg-config.ts"],"names":[],"mappings":"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"}
|
package/dist/package.json
CHANGED
|
@@ -1,13 +1,14 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@quiltdata/benchling-webhook",
|
|
3
|
-
"version": "0.7.4
|
|
3
|
+
"version": "0.7.4",
|
|
4
4
|
"description": "AWS CDK deployment for Benchling webhook processing using Fargate - Deploy directly with npx",
|
|
5
5
|
"main": "dist/lib/index.js",
|
|
6
6
|
"types": "dist/lib/index.d.ts",
|
|
7
7
|
"files": [
|
|
8
8
|
"dist/",
|
|
9
9
|
"README.md",
|
|
10
|
-
"LICENSE"
|
|
10
|
+
"LICENSE",
|
|
11
|
+
"env.template"
|
|
11
12
|
],
|
|
12
13
|
"bin": {
|
|
13
14
|
"benchling-webhook": "./dist/bin/cli.js"
|
|
@@ -36,7 +37,7 @@
|
|
|
36
37
|
"test": "npm run build:typecheck && npm run test:ts && npm run test:python",
|
|
37
38
|
"test:ci": "npm run build:typecheck && npm run test:ts",
|
|
38
39
|
"test:dev": "make -C docker test-deployed-dev PROFILE=dev",
|
|
39
|
-
"test:local": "make -C docker build && make -C docker test-local
|
|
40
|
+
"test:local": "make -C docker build && make -C docker test-local",
|
|
40
41
|
"test:prod": "make -C docker test-deployed-prod",
|
|
41
42
|
"test:python": "make -C docker test-unit",
|
|
42
43
|
"test:ts": "cross-env NODE_ENV=test jest --maxWorkers=50%",
|