@quonfig/cli 0.0.19 → 0.0.20
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 +35 -35
- package/dist/codegen/code-generators/node-typescript-generator.js +2 -2
- package/dist/codegen/code-generators/react-typescript-generator.js +2 -2
- package/dist/commands/set-default.js +1 -1
- package/dist/util/encryption.d.ts +5 -2
- package/dist/util/encryption.js +11 -6
- package/oclif.manifest.json +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -14,7 +14,7 @@ $ npm install -g @quonfig/cli
|
|
|
14
14
|
$ qfg COMMAND
|
|
15
15
|
running command...
|
|
16
16
|
$ qfg (--version)
|
|
17
|
-
@quonfig/cli/0.0.
|
|
17
|
+
@quonfig/cli/0.0.20 linux-x64 node-v24.4.1
|
|
18
18
|
$ qfg --help [COMMAND]
|
|
19
19
|
USAGE
|
|
20
20
|
$ qfg COMMAND
|
|
@@ -91,7 +91,7 @@ EXAMPLES
|
|
|
91
91
|
$ qfg config-schema --json-schema # full JSON Schema document (copy into your editor)
|
|
92
92
|
```
|
|
93
93
|
|
|
94
|
-
_See code: [src/commands/config-schema.ts](https://github.com/quonfig/cli/blob/v0.0.
|
|
94
|
+
_See code: [src/commands/config-schema.ts](https://github.com/quonfig/cli/blob/v0.0.20/src/commands/config-schema.ts)_
|
|
95
95
|
|
|
96
96
|
## `qfg create NAME`
|
|
97
97
|
|
|
@@ -173,7 +173,7 @@ EXAMPLES
|
|
|
173
173
|
$ qfg set-rollout my.new.flag --environment production --true-percent 20
|
|
174
174
|
```
|
|
175
175
|
|
|
176
|
-
_See code: [src/commands/create.ts](https://github.com/quonfig/cli/blob/v0.0.
|
|
176
|
+
_See code: [src/commands/create.ts](https://github.com/quonfig/cli/blob/v0.0.20/src/commands/create.ts)_
|
|
177
177
|
|
|
178
178
|
## `qfg flag info [NAME]`
|
|
179
179
|
|
|
@@ -373,7 +373,7 @@ EXAMPLES
|
|
|
373
373
|
$ qfg generate --targets node-ts -o ./dist # combine with targets
|
|
374
374
|
```
|
|
375
375
|
|
|
376
|
-
_See code: [src/commands/generate.ts](https://github.com/quonfig/cli/blob/v0.0.
|
|
376
|
+
_See code: [src/commands/generate.ts](https://github.com/quonfig/cli/blob/v0.0.20/src/commands/generate.ts)_
|
|
377
377
|
|
|
378
378
|
## `qfg generate-new-hex-key`
|
|
379
379
|
|
|
@@ -396,7 +396,7 @@ EXAMPLES
|
|
|
396
396
|
$ qfg generate-new-hex-key
|
|
397
397
|
```
|
|
398
398
|
|
|
399
|
-
_See code: [src/commands/generate-new-hex-key.ts](https://github.com/quonfig/cli/blob/v0.0.
|
|
399
|
+
_See code: [src/commands/generate-new-hex-key.ts](https://github.com/quonfig/cli/blob/v0.0.20/src/commands/generate-new-hex-key.ts)_
|
|
400
400
|
|
|
401
401
|
## `qfg get [NAME]`
|
|
402
402
|
|
|
@@ -428,7 +428,7 @@ EXAMPLES
|
|
|
428
428
|
$ qfg get my.config.name --environment=production
|
|
429
429
|
```
|
|
430
430
|
|
|
431
|
-
_See code: [src/commands/get.ts](https://github.com/quonfig/cli/blob/v0.0.
|
|
431
|
+
_See code: [src/commands/get.ts](https://github.com/quonfig/cli/blob/v0.0.20/src/commands/get.ts)_
|
|
432
432
|
|
|
433
433
|
## `qfg info [NAME]`
|
|
434
434
|
|
|
@@ -476,7 +476,7 @@ EXAMPLES
|
|
|
476
476
|
$ qfg info my.config.name --exclude-evaluations # skip 24h stats
|
|
477
477
|
```
|
|
478
478
|
|
|
479
|
-
_See code: [src/commands/info.ts](https://github.com/quonfig/cli/blob/v0.0.
|
|
479
|
+
_See code: [src/commands/info.ts](https://github.com/quonfig/cli/blob/v0.0.20/src/commands/info.ts)_
|
|
480
480
|
|
|
481
481
|
## `qfg init [DIRECTORY]`
|
|
482
482
|
|
|
@@ -516,7 +516,7 @@ EXAMPLES
|
|
|
516
516
|
$ qfg init --dry-run
|
|
517
517
|
```
|
|
518
518
|
|
|
519
|
-
_See code: [src/commands/init.ts](https://github.com/quonfig/cli/blob/v0.0.
|
|
519
|
+
_See code: [src/commands/init.ts](https://github.com/quonfig/cli/blob/v0.0.20/src/commands/init.ts)_
|
|
520
520
|
|
|
521
521
|
## `qfg interactive`
|
|
522
522
|
|
|
@@ -546,7 +546,7 @@ EXAMPLES
|
|
|
546
546
|
$ qfg
|
|
547
547
|
```
|
|
548
548
|
|
|
549
|
-
_See code: [src/commands/interactive.ts](https://github.com/quonfig/cli/blob/v0.0.
|
|
549
|
+
_See code: [src/commands/interactive.ts](https://github.com/quonfig/cli/blob/v0.0.20/src/commands/interactive.ts)_
|
|
550
550
|
|
|
551
551
|
## `qfg list`
|
|
552
552
|
|
|
@@ -586,7 +586,7 @@ EXAMPLES
|
|
|
586
586
|
$ qfg list --feature-flags
|
|
587
587
|
```
|
|
588
588
|
|
|
589
|
-
_See code: [src/commands/list.ts](https://github.com/quonfig/cli/blob/v0.0.
|
|
589
|
+
_See code: [src/commands/list.ts](https://github.com/quonfig/cli/blob/v0.0.20/src/commands/list.ts)_
|
|
590
590
|
|
|
591
591
|
## `qfg log-level NAME`
|
|
592
592
|
|
|
@@ -651,7 +651,7 @@ EXAMPLES
|
|
|
651
651
|
$ qfg log-level log-level.my-app --target=Chatty --value=INFO --environment=production
|
|
652
652
|
```
|
|
653
653
|
|
|
654
|
-
_See code: [src/commands/log-level.ts](https://github.com/quonfig/cli/blob/v0.0.
|
|
654
|
+
_See code: [src/commands/log-level.ts](https://github.com/quonfig/cli/blob/v0.0.20/src/commands/log-level.ts)_
|
|
655
655
|
|
|
656
656
|
## `qfg login`
|
|
657
657
|
|
|
@@ -676,7 +676,7 @@ EXAMPLES
|
|
|
676
676
|
$ qfg login --profile myprofile
|
|
677
677
|
```
|
|
678
678
|
|
|
679
|
-
_See code: [src/commands/login.ts](https://github.com/quonfig/cli/blob/v0.0.
|
|
679
|
+
_See code: [src/commands/login.ts](https://github.com/quonfig/cli/blob/v0.0.20/src/commands/login.ts)_
|
|
680
680
|
|
|
681
681
|
## `qfg logout`
|
|
682
682
|
|
|
@@ -699,7 +699,7 @@ EXAMPLES
|
|
|
699
699
|
$ qfg logout
|
|
700
700
|
```
|
|
701
701
|
|
|
702
|
-
_See code: [src/commands/logout.ts](https://github.com/quonfig/cli/blob/v0.0.
|
|
702
|
+
_See code: [src/commands/logout.ts](https://github.com/quonfig/cli/blob/v0.0.20/src/commands/logout.ts)_
|
|
703
703
|
|
|
704
704
|
## `qfg mcp`
|
|
705
705
|
|
|
@@ -732,7 +732,7 @@ EXAMPLES
|
|
|
732
732
|
$ qfg mcp --url http://local-app.quonfig-staging.com:3003/api/v1/mcp
|
|
733
733
|
```
|
|
734
734
|
|
|
735
|
-
_See code: [src/commands/mcp.ts](https://github.com/quonfig/cli/blob/v0.0.
|
|
735
|
+
_See code: [src/commands/mcp.ts](https://github.com/quonfig/cli/blob/v0.0.20/src/commands/mcp.ts)_
|
|
736
736
|
|
|
737
737
|
## `qfg migrate`
|
|
738
738
|
|
|
@@ -786,7 +786,7 @@ EXAMPLES
|
|
|
786
786
|
$ qfg migrate --from launch --api-key $LAUNCH_API_KEY --dir ./quonfig-config --staging
|
|
787
787
|
```
|
|
788
788
|
|
|
789
|
-
_See code: [src/commands/migrate.ts](https://github.com/quonfig/cli/blob/v0.0.
|
|
789
|
+
_See code: [src/commands/migrate.ts](https://github.com/quonfig/cli/blob/v0.0.20/src/commands/migrate.ts)_
|
|
790
790
|
|
|
791
791
|
## `qfg migrate doctor`
|
|
792
792
|
|
|
@@ -824,7 +824,7 @@ EXAMPLES
|
|
|
824
824
|
$ qfg migrate doctor --json
|
|
825
825
|
```
|
|
826
826
|
|
|
827
|
-
_See code: [src/commands/migrate/doctor.ts](https://github.com/quonfig/cli/blob/v0.0.
|
|
827
|
+
_See code: [src/commands/migrate/doctor.ts](https://github.com/quonfig/cli/blob/v0.0.20/src/commands/migrate/doctor.ts)_
|
|
828
828
|
|
|
829
829
|
## `qfg migrate my-code`
|
|
830
830
|
|
|
@@ -856,7 +856,7 @@ EXAMPLES
|
|
|
856
856
|
$ qfg migrate my-code --dry-run
|
|
857
857
|
```
|
|
858
858
|
|
|
859
|
-
_See code: [src/commands/migrate/my-code.ts](https://github.com/quonfig/cli/blob/v0.0.
|
|
859
|
+
_See code: [src/commands/migrate/my-code.ts](https://github.com/quonfig/cli/blob/v0.0.20/src/commands/migrate/my-code.ts)_
|
|
860
860
|
|
|
861
861
|
## `qfg migrate status`
|
|
862
862
|
|
|
@@ -887,7 +887,7 @@ EXAMPLES
|
|
|
887
887
|
$ qfg migrate status --json
|
|
888
888
|
```
|
|
889
889
|
|
|
890
|
-
_See code: [src/commands/migrate/status.ts](https://github.com/quonfig/cli/blob/v0.0.
|
|
890
|
+
_See code: [src/commands/migrate/status.ts](https://github.com/quonfig/cli/blob/v0.0.20/src/commands/migrate/status.ts)_
|
|
891
891
|
|
|
892
892
|
## `qfg override [NAME]`
|
|
893
893
|
|
|
@@ -931,7 +931,7 @@ EXAMPLES
|
|
|
931
931
|
$ qfg override my.double.config --value=3.14159
|
|
932
932
|
```
|
|
933
933
|
|
|
934
|
-
_See code: [src/commands/override.ts](https://github.com/quonfig/cli/blob/v0.0.
|
|
934
|
+
_See code: [src/commands/override.ts](https://github.com/quonfig/cli/blob/v0.0.20/src/commands/override.ts)_
|
|
935
935
|
|
|
936
936
|
## `qfg pull`
|
|
937
937
|
|
|
@@ -975,7 +975,7 @@ EXAMPLES
|
|
|
975
975
|
$ qfg pull # uses QUONFIG_DIR env var
|
|
976
976
|
```
|
|
977
977
|
|
|
978
|
-
_See code: [src/commands/pull.ts](https://github.com/quonfig/cli/blob/v0.0.
|
|
978
|
+
_See code: [src/commands/pull.ts](https://github.com/quonfig/cli/blob/v0.0.20/src/commands/pull.ts)_
|
|
979
979
|
|
|
980
980
|
## `qfg push`
|
|
981
981
|
|
|
@@ -1023,7 +1023,7 @@ EXAMPLES
|
|
|
1023
1023
|
$ qfg push --dir ./our-config --yes
|
|
1024
1024
|
```
|
|
1025
1025
|
|
|
1026
|
-
_See code: [src/commands/push.ts](https://github.com/quonfig/cli/blob/v0.0.
|
|
1026
|
+
_See code: [src/commands/push.ts](https://github.com/quonfig/cli/blob/v0.0.20/src/commands/push.ts)_
|
|
1027
1027
|
|
|
1028
1028
|
## `qfg schema NAME`
|
|
1029
1029
|
|
|
@@ -1061,7 +1061,7 @@ EXAMPLES
|
|
|
1061
1061
|
$ qfg schema my-schema --set-json-schema=@schemas/my-schema.json --protected
|
|
1062
1062
|
```
|
|
1063
1063
|
|
|
1064
|
-
_See code: [src/commands/schema.ts](https://github.com/quonfig/cli/blob/v0.0.
|
|
1064
|
+
_See code: [src/commands/schema.ts](https://github.com/quonfig/cli/blob/v0.0.20/src/commands/schema.ts)_
|
|
1065
1065
|
|
|
1066
1066
|
## `qfg sdk-key`
|
|
1067
1067
|
|
|
@@ -1088,7 +1088,7 @@ EXAMPLES
|
|
|
1088
1088
|
$ qfg sdk-key revoke <key-id>
|
|
1089
1089
|
```
|
|
1090
1090
|
|
|
1091
|
-
_See code: [src/commands/sdk-key.ts](https://github.com/quonfig/cli/blob/v0.0.
|
|
1091
|
+
_See code: [src/commands/sdk-key.ts](https://github.com/quonfig/cli/blob/v0.0.20/src/commands/sdk-key.ts)_
|
|
1092
1092
|
|
|
1093
1093
|
## `qfg sdk-key create`
|
|
1094
1094
|
|
|
@@ -1120,7 +1120,7 @@ EXAMPLES
|
|
|
1120
1120
|
$ qfg sdk-key create --environment staging --type browser
|
|
1121
1121
|
```
|
|
1122
1122
|
|
|
1123
|
-
_See code: [src/commands/sdk-key/create.ts](https://github.com/quonfig/cli/blob/v0.0.
|
|
1123
|
+
_See code: [src/commands/sdk-key/create.ts](https://github.com/quonfig/cli/blob/v0.0.20/src/commands/sdk-key/create.ts)_
|
|
1124
1124
|
|
|
1125
1125
|
## `qfg sdk-key list`
|
|
1126
1126
|
|
|
@@ -1149,7 +1149,7 @@ EXAMPLES
|
|
|
1149
1149
|
$ qfg sdk-key list --environment production
|
|
1150
1150
|
```
|
|
1151
1151
|
|
|
1152
|
-
_See code: [src/commands/sdk-key/list.ts](https://github.com/quonfig/cli/blob/v0.0.
|
|
1152
|
+
_See code: [src/commands/sdk-key/list.ts](https://github.com/quonfig/cli/blob/v0.0.20/src/commands/sdk-key/list.ts)_
|
|
1153
1153
|
|
|
1154
1154
|
## `qfg sdk-key revoke KEYID`
|
|
1155
1155
|
|
|
@@ -1176,7 +1176,7 @@ EXAMPLES
|
|
|
1176
1176
|
$ qfg sdk-key revoke a1b2c3d4-e5f6-7890-abcd-ef1234567890
|
|
1177
1177
|
```
|
|
1178
1178
|
|
|
1179
|
-
_See code: [src/commands/sdk-key/revoke.ts](https://github.com/quonfig/cli/blob/v0.0.
|
|
1179
|
+
_See code: [src/commands/sdk-key/revoke.ts](https://github.com/quonfig/cli/blob/v0.0.20/src/commands/sdk-key/revoke.ts)_
|
|
1180
1180
|
|
|
1181
1181
|
## `qfg set-default [NAME]`
|
|
1182
1182
|
|
|
@@ -1247,7 +1247,7 @@ EXAMPLES
|
|
|
1247
1247
|
$ qfg pull && qfg config-schema
|
|
1248
1248
|
```
|
|
1249
1249
|
|
|
1250
|
-
_See code: [src/commands/set-default.ts](https://github.com/quonfig/cli/blob/v0.0.
|
|
1250
|
+
_See code: [src/commands/set-default.ts](https://github.com/quonfig/cli/blob/v0.0.20/src/commands/set-default.ts)_
|
|
1251
1251
|
|
|
1252
1252
|
## `qfg set-rollout [NAME]`
|
|
1253
1253
|
|
|
@@ -1324,7 +1324,7 @@ EXAMPLES
|
|
|
1324
1324
|
$ qfg set-rollout my.variant.flag --environment production --weights "a:33,b:33,c:34" --hash-by user.id
|
|
1325
1325
|
```
|
|
1326
1326
|
|
|
1327
|
-
_See code: [src/commands/set-rollout.ts](https://github.com/quonfig/cli/blob/v0.0.
|
|
1327
|
+
_See code: [src/commands/set-rollout.ts](https://github.com/quonfig/cli/blob/v0.0.20/src/commands/set-rollout.ts)_
|
|
1328
1328
|
|
|
1329
1329
|
## `qfg sync`
|
|
1330
1330
|
|
|
@@ -1356,7 +1356,7 @@ EXAMPLES
|
|
|
1356
1356
|
$ qfg sync --watch --dir ./our-config --interval 30
|
|
1357
1357
|
```
|
|
1358
1358
|
|
|
1359
|
-
_See code: [src/commands/sync.ts](https://github.com/quonfig/cli/blob/v0.0.
|
|
1359
|
+
_See code: [src/commands/sync.ts](https://github.com/quonfig/cli/blob/v0.0.20/src/commands/sync.ts)_
|
|
1360
1360
|
|
|
1361
1361
|
## `qfg toggle [NAME]`
|
|
1362
1362
|
|
|
@@ -1458,7 +1458,7 @@ EXAMPLES
|
|
|
1458
1458
|
$ qfg verify --json
|
|
1459
1459
|
```
|
|
1460
1460
|
|
|
1461
|
-
_See code: [src/commands/verify.ts](https://github.com/quonfig/cli/blob/v0.0.
|
|
1461
|
+
_See code: [src/commands/verify.ts](https://github.com/quonfig/cli/blob/v0.0.20/src/commands/verify.ts)_
|
|
1462
1462
|
|
|
1463
1463
|
## `qfg whoami`
|
|
1464
1464
|
|
|
@@ -1481,7 +1481,7 @@ EXAMPLES
|
|
|
1481
1481
|
$ qfg whoami
|
|
1482
1482
|
```
|
|
1483
1483
|
|
|
1484
|
-
_See code: [src/commands/whoami.ts](https://github.com/quonfig/cli/blob/v0.0.
|
|
1484
|
+
_See code: [src/commands/whoami.ts](https://github.com/quonfig/cli/blob/v0.0.20/src/commands/whoami.ts)_
|
|
1485
1485
|
|
|
1486
1486
|
## `qfg workspace`
|
|
1487
1487
|
|
|
@@ -1504,7 +1504,7 @@ EXAMPLES
|
|
|
1504
1504
|
$ qfg workspace
|
|
1505
1505
|
```
|
|
1506
1506
|
|
|
1507
|
-
_See code: [src/commands/workspace.ts](https://github.com/quonfig/cli/blob/v0.0.
|
|
1507
|
+
_See code: [src/commands/workspace.ts](https://github.com/quonfig/cli/blob/v0.0.20/src/commands/workspace.ts)_
|
|
1508
1508
|
|
|
1509
1509
|
## `qfg workspace bootstrap`
|
|
1510
1510
|
|
|
@@ -1537,7 +1537,7 @@ EXAMPLES
|
|
|
1537
1537
|
$ qfg workspace bootstrap --dir ./our-config --skip-validate
|
|
1538
1538
|
```
|
|
1539
1539
|
|
|
1540
|
-
_See code: [src/commands/workspace/bootstrap.ts](https://github.com/quonfig/cli/blob/v0.0.
|
|
1540
|
+
_See code: [src/commands/workspace/bootstrap.ts](https://github.com/quonfig/cli/blob/v0.0.20/src/commands/workspace/bootstrap.ts)_
|
|
1541
1541
|
|
|
1542
1542
|
## `qfg workspace create SLUG`
|
|
1543
1543
|
|
|
@@ -1571,7 +1571,7 @@ EXAMPLES
|
|
|
1571
1571
|
$ qfg workspace create my-team --org 11111111-1111-1111-1111-111111111111
|
|
1572
1572
|
```
|
|
1573
1573
|
|
|
1574
|
-
_See code: [src/commands/workspace/create.ts](https://github.com/quonfig/cli/blob/v0.0.
|
|
1574
|
+
_See code: [src/commands/workspace/create.ts](https://github.com/quonfig/cli/blob/v0.0.20/src/commands/workspace/create.ts)_
|
|
1575
1575
|
|
|
1576
1576
|
## `qfg workspace switch [SLUG]`
|
|
1577
1577
|
|
|
@@ -1599,7 +1599,7 @@ EXAMPLES
|
|
|
1599
1599
|
$ qfg workspace switch my-workspace-slug
|
|
1600
1600
|
```
|
|
1601
1601
|
|
|
1602
|
-
_See code: [src/commands/workspace/switch.ts](https://github.com/quonfig/cli/blob/v0.0.
|
|
1602
|
+
_See code: [src/commands/workspace/switch.ts](https://github.com/quonfig/cli/blob/v0.0.20/src/commands/workspace/switch.ts)_
|
|
1603
1603
|
<!-- commandsstop -->
|
|
1604
1604
|
|
|
1605
1605
|
## Local Development
|
|
@@ -7,7 +7,7 @@ export class NodeTypeScriptGenerator extends BaseTypescriptGenerator {
|
|
|
7
7
|
declarationGenerate() {
|
|
8
8
|
return (stripIndent `
|
|
9
9
|
/* eslint-disable */
|
|
10
|
-
// AUTOGENERATED by quonfig-cli's '
|
|
10
|
+
// AUTOGENERATED by quonfig-cli's 'generate' command
|
|
11
11
|
// prettier-ignore
|
|
12
12
|
import "@quonfig/node";
|
|
13
13
|
|
|
@@ -27,7 +27,7 @@ export class NodeTypeScriptGenerator extends BaseTypescriptGenerator {
|
|
|
27
27
|
generate() {
|
|
28
28
|
return (stripIndent `
|
|
29
29
|
/* eslint-disable */
|
|
30
|
-
// AUTOGENERATED by quonfig-cli's '
|
|
30
|
+
// AUTOGENERATED by quonfig-cli's 'generate' command
|
|
31
31
|
// prettier-ignore
|
|
32
32
|
import { Quonfig, Contexts, TypedNodeServerConfigurationRaw, TypedNodeServerConfigurationAccessor } from '@quonfig/node'
|
|
33
33
|
// prettier-ignore
|
|
@@ -8,7 +8,7 @@ export class ReactTypeScriptGenerator extends BaseTypescriptGenerator {
|
|
|
8
8
|
declarationGenerate() {
|
|
9
9
|
return (stripIndent `
|
|
10
10
|
/* eslint-disable */
|
|
11
|
-
// AUTOGENERATED by quonfig-cli's '
|
|
11
|
+
// AUTOGENERATED by quonfig-cli's 'generate' command
|
|
12
12
|
// prettier-ignore
|
|
13
13
|
import "@quonfig/javascript";
|
|
14
14
|
// prettier-ignore
|
|
@@ -42,7 +42,7 @@ export class ReactTypeScriptGenerator extends BaseTypescriptGenerator {
|
|
|
42
42
|
generate() {
|
|
43
43
|
return (stripIndent `
|
|
44
44
|
/* eslint-disable */
|
|
45
|
-
// AUTOGENERATED by quonfig-cli's '
|
|
45
|
+
// AUTOGENERATED by quonfig-cli's 'generate' command
|
|
46
46
|
// prettier-ignore
|
|
47
47
|
import { Quonfig, TypedFrontEndConfigurationRaw } from "@quonfig/javascript"
|
|
48
48
|
// prettier-ignore
|
|
@@ -192,7 +192,7 @@ To see all current values and rules for a flag:
|
|
|
192
192
|
successMessage = `Successfully changed default to \`${value}\``;
|
|
193
193
|
if (secret.selected) {
|
|
194
194
|
// Handle encrypted values using shared utility
|
|
195
|
-
const encryptedValueResult = await makeConfidentialValue(this, value, secret, environment.
|
|
195
|
+
const encryptedValueResult = await makeConfidentialValue(this, value, secret, environment.name);
|
|
196
196
|
if (!encryptedValueResult.ok) {
|
|
197
197
|
return this.err(encryptedValueResult.message || 'Failed to encrypt value');
|
|
198
198
|
}
|
|
@@ -14,7 +14,10 @@ export declare function decrypt(encryptedString: string, keyStringHex: string):
|
|
|
14
14
|
* @param command - The APICommand instance for API calls and logging
|
|
15
15
|
* @param value - The plaintext value to encrypt
|
|
16
16
|
* @param secret - Secret configuration containing key name
|
|
17
|
-
* @param
|
|
17
|
+
* @param environmentName - Environment slug to fetch encryption key for (empty string for default).
|
|
18
|
+
* Must be the slug stored in config files (e.g. "production"), not the DB UUID — the encryption
|
|
19
|
+
* key config's `environments[].id` holds slugs, and matching against UUIDs silently falls back
|
|
20
|
+
* to the default key and produces ciphertext that won't decrypt at runtime.
|
|
18
21
|
* @returns Result<ConfigValue> with encrypted value or error
|
|
19
22
|
*/
|
|
20
|
-
export declare function makeConfidentialValue(command: APICommand, value: string, secret: Secret,
|
|
23
|
+
export declare function makeConfidentialValue(command: APICommand, value: string, secret: Secret, environmentName: string): Promise<Result<any>>;
|
package/dist/util/encryption.js
CHANGED
|
@@ -53,10 +53,13 @@ export function decrypt(encryptedString, keyStringHex) {
|
|
|
53
53
|
* @param command - The APICommand instance for API calls and logging
|
|
54
54
|
* @param value - The plaintext value to encrypt
|
|
55
55
|
* @param secret - Secret configuration containing key name
|
|
56
|
-
* @param
|
|
56
|
+
* @param environmentName - Environment slug to fetch encryption key for (empty string for default).
|
|
57
|
+
* Must be the slug stored in config files (e.g. "production"), not the DB UUID — the encryption
|
|
58
|
+
* key config's `environments[].id` holds slugs, and matching against UUIDs silently falls back
|
|
59
|
+
* to the default key and produces ciphertext that won't decrypt at runtime.
|
|
57
60
|
* @returns Result<ConfigValue> with encrypted value or error
|
|
58
61
|
*/
|
|
59
|
-
export async function makeConfidentialValue(command, value, secret,
|
|
62
|
+
export async function makeConfidentialValue(command, value, secret, environmentName) {
|
|
60
63
|
// First check if the encryption key exists in metadata
|
|
61
64
|
const metadataRequest = await command.apiClient.post('/api/v1/metadata/list', { workspaceId: command.workspaceId });
|
|
62
65
|
if (!metadataRequest.ok) {
|
|
@@ -89,10 +92,12 @@ export async function makeConfidentialValue(command, value, secret, environmentI
|
|
|
89
92
|
// Find the encryption key for this environment (or default)
|
|
90
93
|
let secretKey;
|
|
91
94
|
let envVar;
|
|
92
|
-
// Check environment-specific config first
|
|
93
|
-
|
|
95
|
+
// Check environment-specific config first. environments[].id is the env slug
|
|
96
|
+
// (e.g. "production") as stored in the git file — match by slug, not UUID.
|
|
97
|
+
if (keyConfig.environments && environmentName) {
|
|
98
|
+
const targetSlug = String(environmentName).toLowerCase();
|
|
94
99
|
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
95
|
-
const envConfig = keyConfig.environments.find((env) => String(env.id) ===
|
|
100
|
+
const envConfig = keyConfig.environments.find((env) => String(env.id).toLowerCase() === targetSlug);
|
|
96
101
|
/* eslint-enable @typescript-eslint/no-explicit-any */
|
|
97
102
|
const ruleValue = envConfig?.rules?.[0]?.value;
|
|
98
103
|
// Check if it's a provided value (env var)
|
|
@@ -139,7 +144,7 @@ export async function makeConfidentialValue(command, value, secret, environmentI
|
|
|
139
144
|
command.verboseLog(`Using literal value from ${secret.keyName} to encrypt secret`);
|
|
140
145
|
}
|
|
141
146
|
if (!secretKey) {
|
|
142
|
-
return failure(`Failed to create secret: ${secret.keyName} does not have a value configured for environment ${
|
|
147
|
+
return failure(`Failed to create secret: ${secret.keyName} does not have a value configured for environment ${environmentName || 'default'} or default env`, {
|
|
143
148
|
phase: 'finding-secret',
|
|
144
149
|
});
|
|
145
150
|
}
|
package/oclif.manifest.json
CHANGED
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"packageManager": "yarn@4.11.0+sha512.4e54aeace9141df2f0177c266b05ec50dc044638157dae128c471ba65994ac802122d7ab35bcd9e81641228b7dcf24867d28e750e0bcae8a05277d600008ad54",
|
|
3
3
|
"name": "@quonfig/cli",
|
|
4
|
-
"version": "0.0.
|
|
4
|
+
"version": "0.0.20",
|
|
5
5
|
"bugs": {
|
|
6
6
|
"url": "https://github.com/quonfig/cli/issues"
|
|
7
7
|
},
|