@adobe/helix-config-storage 2.0.5 → 2.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/CHANGELOG.md CHANGED
@@ -1,3 +1,23 @@
1
+ # [2.1.0](https://github.com/adobe/helix-config-storage/compare/v2.0.6...v2.1.0) (2025-03-13)
2
+
3
+
4
+ ### Bug Fixes
5
+
6
+ * address comments ([e30b646](https://github.com/adobe/helix-config-storage/commit/e30b6465ce23fe85726ee173cd3d94bdcf71e98e))
7
+ * remove escaped ([efc3ef4](https://github.com/adobe/helix-config-storage/commit/efc3ef4819fd89192f3b0b082135b11cbcc6e506))
8
+
9
+
10
+ ### Features
11
+
12
+ * support cdn.review.host for custom review origin ([b8ba6c5](https://github.com/adobe/helix-config-storage/commit/b8ba6c549238ba0328e2cb74aa24ee5b9f8b26be))
13
+
14
+ ## [2.0.6](https://github.com/adobe/helix-config-storage/compare/v2.0.5...v2.0.6) (2025-03-05)
15
+
16
+
17
+ ### Bug Fixes
18
+
19
+ * relax folders schema ([#102](https://github.com/adobe/helix-config-storage/issues/102)) ([e1468a3](https://github.com/adobe/helix-config-storage/commit/e1468a320ec025e909a1804fb49b15310ed6c76f))
20
+
1
21
  ## [2.0.5](https://github.com/adobe/helix-config-storage/compare/v2.0.4...v2.0.5) (2025-03-04)
2
22
 
3
23
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@adobe/helix-config-storage",
3
- "version": "2.0.5",
3
+ "version": "2.1.0",
4
4
  "description": "Helix Config Storage",
5
5
  "main": "src/index.js",
6
6
  "types": "src/index.d.ts",
@@ -42,7 +42,7 @@
42
42
  "type": "object",
43
43
  "properties": {
44
44
  "host": {
45
- "description": "Sidekick config to override the default preview host. it supports parameters $owner and $repo",
45
+ "description": "Sidekick config to override the default previewHost. it supports parameters $owner and $repo",
46
46
  "examples": [
47
47
  "main--$repo--page.example.com"
48
48
  ],
@@ -58,9 +58,25 @@
58
58
  "type": "object",
59
59
  "properties": {
60
60
  "host": {
61
- "description": "Sidekick config to override the default live host. it supports parameters $owner and $repo",
61
+ "description": "Sidekick config to override the default liveHost. it supports parameters $owner and $repo",
62
62
  "examples": [
63
- "main--$repo--live.example.com\""
63
+ "main--$repo--live.example.com"
64
+ ],
65
+ "type": "string"
66
+ }
67
+ },
68
+ "required": [
69
+ "host"
70
+ ],
71
+ "additionalProperties": false
72
+ },
73
+ "review": {
74
+ "type": "object",
75
+ "properties": {
76
+ "host": {
77
+ "description": "Sidekick config to override the default reviewHost. it supports parameters $owner and $repo",
78
+ "examples": [
79
+ "example.reviews"
64
80
  ],
65
81
  "type": "string"
66
82
  }
@@ -5,7 +5,7 @@
5
5
  "type": "object",
6
6
  "title": "folders",
7
7
  "patternProperties": {
8
- "^/[a-zA-Z0-9-/.]*$": {
8
+ "^/[a-zA-Z0-9-_/.]*$": {
9
9
  "type": "string"
10
10
  }
11
11
  },
@@ -34,6 +34,7 @@ export interface HelixOrgConfig {
34
34
  description?: string;
35
35
  users?: Users;
36
36
  groups?: Groups;
37
+ secrets?: Secrets;
37
38
  tokens?: Tokens;
38
39
  access?: OrgAccessConfig;
39
40
  }
@@ -59,6 +60,36 @@ export interface Group {
59
60
  [k: string]: unknown;
60
61
  }[];
61
62
  }
63
+ /**
64
+ * Defines organization level secrets.
65
+ */
66
+ export interface Secrets {
67
+ /**
68
+ * This interface was referenced by `Secrets`'s JSON-Schema definition
69
+ * via the `patternProperty` "^[a-zA-Z0-9-_=]+$".
70
+ */
71
+ [k: string]:
72
+ | {
73
+ hash: string;
74
+ id: string;
75
+ type: 'hashed' | 'key';
76
+ created: string;
77
+ lastModified: string;
78
+ description?: string;
79
+ }
80
+ | {
81
+ value: string;
82
+ id: string;
83
+ type: 'hashed' | 'key';
84
+ created: string;
85
+ lastModified: string;
86
+ description?: string;
87
+ };
88
+ }
89
+ /**
90
+ * @deprecated
91
+ * site tokens. deprecated: use the org secrets instead.
92
+ */
62
93
  export interface Tokens {
63
94
  /**
64
95
  * This interface was referenced by `Tokens`'s JSON-Schema definition
@@ -73,7 +104,7 @@ export interface Tokens {
73
104
  export interface OrgAccessConfig {
74
105
  admin?: {
75
106
  /**
76
- * the id of the API key(s). this is used to validate the API KEYS and allows to invalidate them.
107
+ * the id of the API key(s) that are allowed to access this org (admin).
77
108
  */
78
109
  apiKeyId?: string[];
79
110
  };
@@ -37,12 +37,15 @@ export interface HelixProfileConfig {
37
37
  cdn?: CDNConfig;
38
38
  access?: Access;
39
39
  tokens?: Tokens;
40
+ secrets?: Secrets;
40
41
  groups?: Groups;
41
42
  sidekick?: SidekickConfig;
42
43
  metadata?: Metadata;
43
44
  robots?: Robots;
44
45
  public?: Public;
45
46
  events?: EventsConfig;
47
+ features?: Features;
48
+ limits?: Features1;
46
49
  }
47
50
  /**
48
51
  * Defines the content bus location and source.
@@ -112,7 +115,7 @@ export interface CodeSource {
112
115
  export interface Folders {
113
116
  /**
114
117
  * This interface was referenced by `Folders`'s JSON-Schema definition
115
- * via the `patternProperty` "^/[a-zA-Z0-9-/.]*$".
118
+ * via the `patternProperty` "^/[a-zA-Z0-9-_/.]*$".
116
119
  */
117
120
  [k: string]: string;
118
121
  }
@@ -269,10 +272,19 @@ export interface SiteAccessConfig {
269
272
  */
270
273
  allow?: string[];
271
274
  /**
272
- * IDs of the api keys (tokens) that are allowed.
275
+ * IDs of the hashed secrets that are allowed.
276
+ */
277
+ secretId?: string[];
278
+ /**
279
+ * @deprecated
280
+ * IDs of the api keys that are allowed. This is deprecated. use `secretId` instead.
273
281
  */
274
282
  apiKeyId?: string[];
275
283
  }
284
+ /**
285
+ * @deprecated
286
+ * site tokens. deprecated: use the org secrets instead.
287
+ */
276
288
  export interface Tokens {
277
289
  /**
278
290
  * This interface was referenced by `Tokens`'s JSON-Schema definition
@@ -284,6 +296,32 @@ export interface Tokens {
284
296
  created?: string;
285
297
  };
286
298
  }
299
+ /**
300
+ * Defines organization level secrets.
301
+ */
302
+ export interface Secrets {
303
+ /**
304
+ * This interface was referenced by `Secrets`'s JSON-Schema definition
305
+ * via the `patternProperty` "^[a-zA-Z0-9-_=]+$".
306
+ */
307
+ [k: string]:
308
+ | {
309
+ hash: string;
310
+ id: string;
311
+ type: 'hashed' | 'key';
312
+ created: string;
313
+ lastModified: string;
314
+ description?: string;
315
+ }
316
+ | {
317
+ value: string;
318
+ id: string;
319
+ type: 'hashed' | 'key';
320
+ created: string;
321
+ lastModified: string;
322
+ description?: string;
323
+ };
324
+ }
287
325
  export interface Groups {
288
326
  [k: string]: Group;
289
327
  }
@@ -324,7 +362,7 @@ export interface SidekickPlugin {
324
362
  /**
325
363
  * The environments to display this plugin in
326
364
  */
327
- environments?: string & ('any' | 'dev' | 'admin' | 'edit' | 'preview' | 'live' | 'prod')[];
365
+ environments?: string & ('any' | 'dev' | 'admin' | 'edit' | 'preview' | 'live' | 'prod' | 'review')[];
328
366
  /**
329
367
  * The name of a custom event to fire when the button is clicked (defaults to id)
330
368
  */
@@ -349,6 +387,14 @@ export interface SidekickPlugin {
349
387
  * he dimensions and position of a palette box
350
388
  */
351
389
  paletteRect?: string;
390
+ /**
391
+ * Opens the URL in a popover instead of a new tab
392
+ */
393
+ isPopover?: boolean;
394
+ /**
395
+ * The dimensions of a popover, delimited by a semicolon (width, height)
396
+ */
397
+ popoverRect?: string;
352
398
  /**
353
399
  * The button text in other supported languages
354
400
  */
@@ -369,6 +415,28 @@ export interface SidekickPlugin {
369
415
  * Append the referrer URL as a query param on new URL button click
370
416
  */
371
417
  passReferrer?: boolean;
418
+ /**
419
+ * Opens the URL in a palette instead of a new tab
420
+ */
421
+ isBadge?: boolean;
422
+ /**
423
+ * The variant of the badge following the Adobe Spectrum badge variants
424
+ */
425
+ badgeVariant?:
426
+ | 'gray'
427
+ | 'red'
428
+ | 'orange'
429
+ | 'yellow'
430
+ | 'chartreuse'
431
+ | 'celery'
432
+ | 'green'
433
+ | 'seafoam'
434
+ | 'cyan'
435
+ | 'blue'
436
+ | 'indigo'
437
+ | 'purple'
438
+ | 'fuchsia'
439
+ | 'magenta';
372
440
  [k: string]: unknown;
373
441
  }
374
442
  export interface Metadata {
@@ -388,3 +456,28 @@ export interface EventsConfig {
388
456
  target: string;
389
457
  };
390
458
  }
459
+ /**
460
+ * Features configuration
461
+ */
462
+ export interface Features {
463
+ /**
464
+ * This interface was referenced by `Features`'s JSON-Schema definition
465
+ * via the `patternProperty` "^[a-zA-Z0-9-_=]+$".
466
+ */
467
+ [k: string]: {
468
+ [k: string]: unknown;
469
+ };
470
+ }
471
+ /**
472
+ * Features configuration
473
+ */
474
+ export interface Features1 {
475
+ /**
476
+ * This interface was referenced by `Features1`'s JSON-Schema definition
477
+ * via the `patternProperty` "^[a-zA-Z0-9-_=]+$".
478
+ */
479
+ [k: string]: {
480
+ description?: string;
481
+ [k: string]: unknown;
482
+ };
483
+ }
@@ -41,12 +41,15 @@ export interface HelixSiteConfig {
41
41
  cdn?: CDNConfig;
42
42
  access?: Access;
43
43
  tokens?: Tokens;
44
+ secrets?: Secrets;
44
45
  groups?: Groups;
45
46
  sidekick?: SidekickConfig;
46
47
  metadata?: Metadata;
47
48
  robots?: Robots;
48
49
  public?: Public;
49
50
  events?: EventsConfig;
51
+ features?: Features;
52
+ limits?: Features1;
50
53
  extends?: {
51
54
  profile?: string;
52
55
  };
@@ -119,7 +122,7 @@ export interface CodeSource {
119
122
  export interface Folders {
120
123
  /**
121
124
  * This interface was referenced by `Folders`'s JSON-Schema definition
122
- * via the `patternProperty` "^/[a-zA-Z0-9-/.]*$".
125
+ * via the `patternProperty` "^/[a-zA-Z0-9-_/.]*$".
123
126
  */
124
127
  [k: string]: string;
125
128
  }
@@ -276,10 +279,19 @@ export interface SiteAccessConfig {
276
279
  */
277
280
  allow?: string[];
278
281
  /**
279
- * IDs of the api keys (tokens) that are allowed.
282
+ * IDs of the hashed secrets that are allowed.
283
+ */
284
+ secretId?: string[];
285
+ /**
286
+ * @deprecated
287
+ * IDs of the api keys that are allowed. This is deprecated. use `secretId` instead.
280
288
  */
281
289
  apiKeyId?: string[];
282
290
  }
291
+ /**
292
+ * @deprecated
293
+ * site tokens. deprecated: use the org secrets instead.
294
+ */
283
295
  export interface Tokens {
284
296
  /**
285
297
  * This interface was referenced by `Tokens`'s JSON-Schema definition
@@ -291,6 +303,32 @@ export interface Tokens {
291
303
  created?: string;
292
304
  };
293
305
  }
306
+ /**
307
+ * Defines organization level secrets.
308
+ */
309
+ export interface Secrets {
310
+ /**
311
+ * This interface was referenced by `Secrets`'s JSON-Schema definition
312
+ * via the `patternProperty` "^[a-zA-Z0-9-_=]+$".
313
+ */
314
+ [k: string]:
315
+ | {
316
+ hash: string;
317
+ id: string;
318
+ type: 'hashed' | 'key';
319
+ created: string;
320
+ lastModified: string;
321
+ description?: string;
322
+ }
323
+ | {
324
+ value: string;
325
+ id: string;
326
+ type: 'hashed' | 'key';
327
+ created: string;
328
+ lastModified: string;
329
+ description?: string;
330
+ };
331
+ }
294
332
  export interface Groups {
295
333
  [k: string]: Group;
296
334
  }
@@ -331,7 +369,7 @@ export interface SidekickPlugin {
331
369
  /**
332
370
  * The environments to display this plugin in
333
371
  */
334
- environments?: string & ('any' | 'dev' | 'admin' | 'edit' | 'preview' | 'live' | 'prod')[];
372
+ environments?: string & ('any' | 'dev' | 'admin' | 'edit' | 'preview' | 'live' | 'prod' | 'review')[];
335
373
  /**
336
374
  * The name of a custom event to fire when the button is clicked (defaults to id)
337
375
  */
@@ -356,6 +394,14 @@ export interface SidekickPlugin {
356
394
  * he dimensions and position of a palette box
357
395
  */
358
396
  paletteRect?: string;
397
+ /**
398
+ * Opens the URL in a popover instead of a new tab
399
+ */
400
+ isPopover?: boolean;
401
+ /**
402
+ * The dimensions of a popover, delimited by a semicolon (width, height)
403
+ */
404
+ popoverRect?: string;
359
405
  /**
360
406
  * The button text in other supported languages
361
407
  */
@@ -376,6 +422,28 @@ export interface SidekickPlugin {
376
422
  * Append the referrer URL as a query param on new URL button click
377
423
  */
378
424
  passReferrer?: boolean;
425
+ /**
426
+ * Opens the URL in a palette instead of a new tab
427
+ */
428
+ isBadge?: boolean;
429
+ /**
430
+ * The variant of the badge following the Adobe Spectrum badge variants
431
+ */
432
+ badgeVariant?:
433
+ | 'gray'
434
+ | 'red'
435
+ | 'orange'
436
+ | 'yellow'
437
+ | 'chartreuse'
438
+ | 'celery'
439
+ | 'green'
440
+ | 'seafoam'
441
+ | 'cyan'
442
+ | 'blue'
443
+ | 'indigo'
444
+ | 'purple'
445
+ | 'fuchsia'
446
+ | 'magenta';
379
447
  [k: string]: unknown;
380
448
  }
381
449
  export interface Metadata {
@@ -395,3 +463,28 @@ export interface EventsConfig {
395
463
  target: string;
396
464
  };
397
465
  }
466
+ /**
467
+ * Features configuration
468
+ */
469
+ export interface Features {
470
+ /**
471
+ * This interface was referenced by `Features`'s JSON-Schema definition
472
+ * via the `patternProperty` "^[a-zA-Z0-9-_=]+$".
473
+ */
474
+ [k: string]: {
475
+ [k: string]: unknown;
476
+ };
477
+ }
478
+ /**
479
+ * Features configuration
480
+ */
481
+ export interface Features1 {
482
+ /**
483
+ * This interface was referenced by `Features1`'s JSON-Schema definition
484
+ * via the `patternProperty` "^[a-zA-Z0-9-_=]+$".
485
+ */
486
+ [k: string]: {
487
+ description?: string;
488
+ [k: string]: unknown;
489
+ };
490
+ }