@quonfig/cli 0.0.40 → 0.0.42
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 +44 -44
- package/dist/commands/config-schema.js +3 -1
- package/dist/commands/set-default.js +3 -6
- package/dist/init/schema.js +3 -3
- package/dist/init/templates.js +1 -0
- package/dist/migrate/sources/launch/translate.js +2 -0
- package/dist/util/config-value-dto.js +10 -6
- package/dist/verify/validate.d.ts +1 -1
- package/dist/verify/validate.js +9 -9
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/oclif.manifest.json +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -17,7 +17,7 @@ $ npm install -g @quonfig/cli
|
|
|
17
17
|
$ qfg COMMAND
|
|
18
18
|
running command...
|
|
19
19
|
$ qfg (--version)
|
|
20
|
-
@quonfig/cli/0.0.
|
|
20
|
+
@quonfig/cli/0.0.42 linux-x64 node-v24.4.1
|
|
21
21
|
$ qfg --help [COMMAND]
|
|
22
22
|
USAGE
|
|
23
23
|
$ qfg COMMAND
|
|
@@ -195,7 +195,7 @@ EXAMPLES
|
|
|
195
195
|
$ qfg activity restore my.flag --yes
|
|
196
196
|
```
|
|
197
197
|
|
|
198
|
-
_See code: [src/commands/activity.ts](https://github.com/quonfig/cli/blob/v0.0.
|
|
198
|
+
_See code: [src/commands/activity.ts](https://github.com/quonfig/cli/blob/v0.0.42/src/commands/activity.ts)_
|
|
199
199
|
|
|
200
200
|
## `qfg activity deleted`
|
|
201
201
|
|
|
@@ -224,7 +224,7 @@ EXAMPLES
|
|
|
224
224
|
$ qfg activity deleted --json
|
|
225
225
|
```
|
|
226
226
|
|
|
227
|
-
_See code: [src/commands/activity/deleted.ts](https://github.com/quonfig/cli/blob/v0.0.
|
|
227
|
+
_See code: [src/commands/activity/deleted.ts](https://github.com/quonfig/cli/blob/v0.0.42/src/commands/activity/deleted.ts)_
|
|
228
228
|
|
|
229
229
|
## `qfg activity feed`
|
|
230
230
|
|
|
@@ -259,7 +259,7 @@ EXAMPLES
|
|
|
259
259
|
$ qfg activity feed --json
|
|
260
260
|
```
|
|
261
261
|
|
|
262
|
-
_See code: [src/commands/activity/feed.ts](https://github.com/quonfig/cli/blob/v0.0.
|
|
262
|
+
_See code: [src/commands/activity/feed.ts](https://github.com/quonfig/cli/blob/v0.0.42/src/commands/activity/feed.ts)_
|
|
263
263
|
|
|
264
264
|
## `qfg activity history [NAME]`
|
|
265
265
|
|
|
@@ -293,7 +293,7 @@ EXAMPLES
|
|
|
293
293
|
$ qfg activity history request.timeout --json
|
|
294
294
|
```
|
|
295
295
|
|
|
296
|
-
_See code: [src/commands/activity/history.ts](https://github.com/quonfig/cli/blob/v0.0.
|
|
296
|
+
_See code: [src/commands/activity/history.ts](https://github.com/quonfig/cli/blob/v0.0.42/src/commands/activity/history.ts)_
|
|
297
297
|
|
|
298
298
|
## `qfg activity restore [NAME]`
|
|
299
299
|
|
|
@@ -332,7 +332,7 @@ EXAMPLES
|
|
|
332
332
|
$ qfg activity restore request.timeout --type config --yes
|
|
333
333
|
```
|
|
334
334
|
|
|
335
|
-
_See code: [src/commands/activity/restore.ts](https://github.com/quonfig/cli/blob/v0.0.
|
|
335
|
+
_See code: [src/commands/activity/restore.ts](https://github.com/quonfig/cli/blob/v0.0.42/src/commands/activity/restore.ts)_
|
|
336
336
|
|
|
337
337
|
## `qfg audit-log [NAME]`
|
|
338
338
|
|
|
@@ -360,7 +360,7 @@ EXAMPLES
|
|
|
360
360
|
$ qfg audit-log my.flag
|
|
361
361
|
```
|
|
362
362
|
|
|
363
|
-
_See code: [src/commands/audit-log.ts](https://github.com/quonfig/cli/blob/v0.0.
|
|
363
|
+
_See code: [src/commands/audit-log.ts](https://github.com/quonfig/cli/blob/v0.0.42/src/commands/audit-log.ts)_
|
|
364
364
|
|
|
365
365
|
## `qfg config-schema`
|
|
366
366
|
|
|
@@ -389,7 +389,7 @@ EXAMPLES
|
|
|
389
389
|
$ qfg config-schema --json-schema # full JSON Schema document (copy into your editor)
|
|
390
390
|
```
|
|
391
391
|
|
|
392
|
-
_See code: [src/commands/config-schema.ts](https://github.com/quonfig/cli/blob/v0.0.
|
|
392
|
+
_See code: [src/commands/config-schema.ts](https://github.com/quonfig/cli/blob/v0.0.42/src/commands/config-schema.ts)_
|
|
393
393
|
|
|
394
394
|
## `qfg create NAME`
|
|
395
395
|
|
|
@@ -474,7 +474,7 @@ EXAMPLES
|
|
|
474
474
|
$ qfg set-rollout my.new.flag --environment production --true-percent 20
|
|
475
475
|
```
|
|
476
476
|
|
|
477
|
-
_See code: [src/commands/create.ts](https://github.com/quonfig/cli/blob/v0.0.
|
|
477
|
+
_See code: [src/commands/create.ts](https://github.com/quonfig/cli/blob/v0.0.42/src/commands/create.ts)_
|
|
478
478
|
|
|
479
479
|
## `qfg delete NAME`
|
|
480
480
|
|
|
@@ -520,7 +520,7 @@ EXAMPLES
|
|
|
520
520
|
$ qfg delete my.config --yes
|
|
521
521
|
```
|
|
522
522
|
|
|
523
|
-
_See code: [src/commands/delete.ts](https://github.com/quonfig/cli/blob/v0.0.
|
|
523
|
+
_See code: [src/commands/delete.ts](https://github.com/quonfig/cli/blob/v0.0.42/src/commands/delete.ts)_
|
|
524
524
|
|
|
525
525
|
## `qfg flag info [NAME]`
|
|
526
526
|
|
|
@@ -723,7 +723,7 @@ EXAMPLES
|
|
|
723
723
|
$ qfg generate --targets node-ts -o ./dist # combine with targets
|
|
724
724
|
```
|
|
725
725
|
|
|
726
|
-
_See code: [src/commands/generate.ts](https://github.com/quonfig/cli/blob/v0.0.
|
|
726
|
+
_See code: [src/commands/generate.ts](https://github.com/quonfig/cli/blob/v0.0.42/src/commands/generate.ts)_
|
|
727
727
|
|
|
728
728
|
## `qfg generate-new-hex-key`
|
|
729
729
|
|
|
@@ -746,7 +746,7 @@ EXAMPLES
|
|
|
746
746
|
$ qfg generate-new-hex-key
|
|
747
747
|
```
|
|
748
748
|
|
|
749
|
-
_See code: [src/commands/generate-new-hex-key.ts](https://github.com/quonfig/cli/blob/v0.0.
|
|
749
|
+
_See code: [src/commands/generate-new-hex-key.ts](https://github.com/quonfig/cli/blob/v0.0.42/src/commands/generate-new-hex-key.ts)_
|
|
750
750
|
|
|
751
751
|
## `qfg get [NAME]`
|
|
752
752
|
|
|
@@ -778,7 +778,7 @@ EXAMPLES
|
|
|
778
778
|
$ qfg get my.config.name --environment=production
|
|
779
779
|
```
|
|
780
780
|
|
|
781
|
-
_See code: [src/commands/get.ts](https://github.com/quonfig/cli/blob/v0.0.
|
|
781
|
+
_See code: [src/commands/get.ts](https://github.com/quonfig/cli/blob/v0.0.42/src/commands/get.ts)_
|
|
782
782
|
|
|
783
783
|
## `qfg history NAME`
|
|
784
784
|
|
|
@@ -804,7 +804,7 @@ EXAMPLES
|
|
|
804
804
|
$ qfg history my.flag
|
|
805
805
|
```
|
|
806
806
|
|
|
807
|
-
_See code: [src/commands/history.ts](https://github.com/quonfig/cli/blob/v0.0.
|
|
807
|
+
_See code: [src/commands/history.ts](https://github.com/quonfig/cli/blob/v0.0.42/src/commands/history.ts)_
|
|
808
808
|
|
|
809
809
|
## `qfg info [NAME]`
|
|
810
810
|
|
|
@@ -852,7 +852,7 @@ EXAMPLES
|
|
|
852
852
|
$ qfg info my.config.name --exclude-evaluations # skip 24h stats
|
|
853
853
|
```
|
|
854
854
|
|
|
855
|
-
_See code: [src/commands/info.ts](https://github.com/quonfig/cli/blob/v0.0.
|
|
855
|
+
_See code: [src/commands/info.ts](https://github.com/quonfig/cli/blob/v0.0.42/src/commands/info.ts)_
|
|
856
856
|
|
|
857
857
|
## `qfg init [DIRECTORY]`
|
|
858
858
|
|
|
@@ -892,7 +892,7 @@ EXAMPLES
|
|
|
892
892
|
$ qfg init --dry-run
|
|
893
893
|
```
|
|
894
894
|
|
|
895
|
-
_See code: [src/commands/init.ts](https://github.com/quonfig/cli/blob/v0.0.
|
|
895
|
+
_See code: [src/commands/init.ts](https://github.com/quonfig/cli/blob/v0.0.42/src/commands/init.ts)_
|
|
896
896
|
|
|
897
897
|
## `qfg interactive`
|
|
898
898
|
|
|
@@ -922,7 +922,7 @@ EXAMPLES
|
|
|
922
922
|
$ qfg
|
|
923
923
|
```
|
|
924
924
|
|
|
925
|
-
_See code: [src/commands/interactive.ts](https://github.com/quonfig/cli/blob/v0.0.
|
|
925
|
+
_See code: [src/commands/interactive.ts](https://github.com/quonfig/cli/blob/v0.0.42/src/commands/interactive.ts)_
|
|
926
926
|
|
|
927
927
|
## `qfg list`
|
|
928
928
|
|
|
@@ -962,7 +962,7 @@ EXAMPLES
|
|
|
962
962
|
$ qfg list --feature-flags
|
|
963
963
|
```
|
|
964
964
|
|
|
965
|
-
_See code: [src/commands/list.ts](https://github.com/quonfig/cli/blob/v0.0.
|
|
965
|
+
_See code: [src/commands/list.ts](https://github.com/quonfig/cli/blob/v0.0.42/src/commands/list.ts)_
|
|
966
966
|
|
|
967
967
|
## `qfg log`
|
|
968
968
|
|
|
@@ -987,7 +987,7 @@ EXAMPLES
|
|
|
987
987
|
$ qfg log --limit 5
|
|
988
988
|
```
|
|
989
989
|
|
|
990
|
-
_See code: [src/commands/log.ts](https://github.com/quonfig/cli/blob/v0.0.
|
|
990
|
+
_See code: [src/commands/log.ts](https://github.com/quonfig/cli/blob/v0.0.42/src/commands/log.ts)_
|
|
991
991
|
|
|
992
992
|
## `qfg log-level NAME`
|
|
993
993
|
|
|
@@ -1052,7 +1052,7 @@ EXAMPLES
|
|
|
1052
1052
|
$ qfg log-level log-level.my-app --target=Chatty --value=INFO --environment=production
|
|
1053
1053
|
```
|
|
1054
1054
|
|
|
1055
|
-
_See code: [src/commands/log-level.ts](https://github.com/quonfig/cli/blob/v0.0.
|
|
1055
|
+
_See code: [src/commands/log-level.ts](https://github.com/quonfig/cli/blob/v0.0.42/src/commands/log-level.ts)_
|
|
1056
1056
|
|
|
1057
1057
|
## `qfg login`
|
|
1058
1058
|
|
|
@@ -1077,7 +1077,7 @@ EXAMPLES
|
|
|
1077
1077
|
$ qfg login --profile myprofile
|
|
1078
1078
|
```
|
|
1079
1079
|
|
|
1080
|
-
_See code: [src/commands/login.ts](https://github.com/quonfig/cli/blob/v0.0.
|
|
1080
|
+
_See code: [src/commands/login.ts](https://github.com/quonfig/cli/blob/v0.0.42/src/commands/login.ts)_
|
|
1081
1081
|
|
|
1082
1082
|
## `qfg logout`
|
|
1083
1083
|
|
|
@@ -1100,7 +1100,7 @@ EXAMPLES
|
|
|
1100
1100
|
$ qfg logout
|
|
1101
1101
|
```
|
|
1102
1102
|
|
|
1103
|
-
_See code: [src/commands/logout.ts](https://github.com/quonfig/cli/blob/v0.0.
|
|
1103
|
+
_See code: [src/commands/logout.ts](https://github.com/quonfig/cli/blob/v0.0.42/src/commands/logout.ts)_
|
|
1104
1104
|
|
|
1105
1105
|
## `qfg migrate`
|
|
1106
1106
|
|
|
@@ -1154,7 +1154,7 @@ EXAMPLES
|
|
|
1154
1154
|
$ qfg migrate --from launch --api-key $LAUNCH_API_KEY --dir ./quonfig-repo --staging
|
|
1155
1155
|
```
|
|
1156
1156
|
|
|
1157
|
-
_See code: [src/commands/migrate.ts](https://github.com/quonfig/cli/blob/v0.0.
|
|
1157
|
+
_See code: [src/commands/migrate.ts](https://github.com/quonfig/cli/blob/v0.0.42/src/commands/migrate.ts)_
|
|
1158
1158
|
|
|
1159
1159
|
## `qfg migrate doctor`
|
|
1160
1160
|
|
|
@@ -1192,7 +1192,7 @@ EXAMPLES
|
|
|
1192
1192
|
$ qfg migrate doctor --json
|
|
1193
1193
|
```
|
|
1194
1194
|
|
|
1195
|
-
_See code: [src/commands/migrate/doctor.ts](https://github.com/quonfig/cli/blob/v0.0.
|
|
1195
|
+
_See code: [src/commands/migrate/doctor.ts](https://github.com/quonfig/cli/blob/v0.0.42/src/commands/migrate/doctor.ts)_
|
|
1196
1196
|
|
|
1197
1197
|
## `qfg migrate my-code`
|
|
1198
1198
|
|
|
@@ -1224,7 +1224,7 @@ EXAMPLES
|
|
|
1224
1224
|
$ qfg migrate my-code --dry-run
|
|
1225
1225
|
```
|
|
1226
1226
|
|
|
1227
|
-
_See code: [src/commands/migrate/my-code.ts](https://github.com/quonfig/cli/blob/v0.0.
|
|
1227
|
+
_See code: [src/commands/migrate/my-code.ts](https://github.com/quonfig/cli/blob/v0.0.42/src/commands/migrate/my-code.ts)_
|
|
1228
1228
|
|
|
1229
1229
|
## `qfg migrate status`
|
|
1230
1230
|
|
|
@@ -1255,7 +1255,7 @@ EXAMPLES
|
|
|
1255
1255
|
$ qfg migrate status --json
|
|
1256
1256
|
```
|
|
1257
1257
|
|
|
1258
|
-
_See code: [src/commands/migrate/status.ts](https://github.com/quonfig/cli/blob/v0.0.
|
|
1258
|
+
_See code: [src/commands/migrate/status.ts](https://github.com/quonfig/cli/blob/v0.0.42/src/commands/migrate/status.ts)_
|
|
1259
1259
|
|
|
1260
1260
|
## `qfg override [NAME] [VALUE]`
|
|
1261
1261
|
|
|
@@ -1310,7 +1310,7 @@ EXAMPLES
|
|
|
1310
1310
|
$ qfg override my.flag true --env=staging
|
|
1311
1311
|
```
|
|
1312
1312
|
|
|
1313
|
-
_See code: [src/commands/override.ts](https://github.com/quonfig/cli/blob/v0.0.
|
|
1313
|
+
_See code: [src/commands/override.ts](https://github.com/quonfig/cli/blob/v0.0.42/src/commands/override.ts)_
|
|
1314
1314
|
|
|
1315
1315
|
## `qfg pull`
|
|
1316
1316
|
|
|
@@ -1357,7 +1357,7 @@ EXAMPLES
|
|
|
1357
1357
|
$ qfg pull # uses QUONFIG_DIR env var
|
|
1358
1358
|
```
|
|
1359
1359
|
|
|
1360
|
-
_See code: [src/commands/pull.ts](https://github.com/quonfig/cli/blob/v0.0.
|
|
1360
|
+
_See code: [src/commands/pull.ts](https://github.com/quonfig/cli/blob/v0.0.42/src/commands/pull.ts)_
|
|
1361
1361
|
|
|
1362
1362
|
## `qfg push`
|
|
1363
1363
|
|
|
@@ -1405,7 +1405,7 @@ EXAMPLES
|
|
|
1405
1405
|
$ qfg push --dir ./our-config --yes
|
|
1406
1406
|
```
|
|
1407
1407
|
|
|
1408
|
-
_See code: [src/commands/push.ts](https://github.com/quonfig/cli/blob/v0.0.
|
|
1408
|
+
_See code: [src/commands/push.ts](https://github.com/quonfig/cli/blob/v0.0.42/src/commands/push.ts)_
|
|
1409
1409
|
|
|
1410
1410
|
## `qfg run [COMMAND]`
|
|
1411
1411
|
|
|
@@ -1456,7 +1456,7 @@ EXAMPLES
|
|
|
1456
1456
|
$ qfg run --env DATABASE_URL=db.url --preserve-env --environment=staging -- npm test
|
|
1457
1457
|
```
|
|
1458
1458
|
|
|
1459
|
-
_See code: [src/commands/run.ts](https://github.com/quonfig/cli/blob/v0.0.
|
|
1459
|
+
_See code: [src/commands/run.ts](https://github.com/quonfig/cli/blob/v0.0.42/src/commands/run.ts)_
|
|
1460
1460
|
|
|
1461
1461
|
## `qfg schema NAME`
|
|
1462
1462
|
|
|
@@ -1494,7 +1494,7 @@ EXAMPLES
|
|
|
1494
1494
|
$ qfg schema my-schema --set-json-schema=@schemas/my-schema.json --protected
|
|
1495
1495
|
```
|
|
1496
1496
|
|
|
1497
|
-
_See code: [src/commands/schema.ts](https://github.com/quonfig/cli/blob/v0.0.
|
|
1497
|
+
_See code: [src/commands/schema.ts](https://github.com/quonfig/cli/blob/v0.0.42/src/commands/schema.ts)_
|
|
1498
1498
|
|
|
1499
1499
|
## `qfg sdk-key`
|
|
1500
1500
|
|
|
@@ -1521,7 +1521,7 @@ EXAMPLES
|
|
|
1521
1521
|
$ qfg sdk-key revoke <key-id>
|
|
1522
1522
|
```
|
|
1523
1523
|
|
|
1524
|
-
_See code: [src/commands/sdk-key.ts](https://github.com/quonfig/cli/blob/v0.0.
|
|
1524
|
+
_See code: [src/commands/sdk-key.ts](https://github.com/quonfig/cli/blob/v0.0.42/src/commands/sdk-key.ts)_
|
|
1525
1525
|
|
|
1526
1526
|
## `qfg sdk-key create`
|
|
1527
1527
|
|
|
@@ -1553,7 +1553,7 @@ EXAMPLES
|
|
|
1553
1553
|
$ qfg sdk-key create --environment staging --type browser
|
|
1554
1554
|
```
|
|
1555
1555
|
|
|
1556
|
-
_See code: [src/commands/sdk-key/create.ts](https://github.com/quonfig/cli/blob/v0.0.
|
|
1556
|
+
_See code: [src/commands/sdk-key/create.ts](https://github.com/quonfig/cli/blob/v0.0.42/src/commands/sdk-key/create.ts)_
|
|
1557
1557
|
|
|
1558
1558
|
## `qfg sdk-key list`
|
|
1559
1559
|
|
|
@@ -1582,7 +1582,7 @@ EXAMPLES
|
|
|
1582
1582
|
$ qfg sdk-key list --environment production
|
|
1583
1583
|
```
|
|
1584
1584
|
|
|
1585
|
-
_See code: [src/commands/sdk-key/list.ts](https://github.com/quonfig/cli/blob/v0.0.
|
|
1585
|
+
_See code: [src/commands/sdk-key/list.ts](https://github.com/quonfig/cli/blob/v0.0.42/src/commands/sdk-key/list.ts)_
|
|
1586
1586
|
|
|
1587
1587
|
## `qfg sdk-key revoke KEYID`
|
|
1588
1588
|
|
|
@@ -1609,7 +1609,7 @@ EXAMPLES
|
|
|
1609
1609
|
$ qfg sdk-key revoke a1b2c3d4-e5f6-7890-abcd-ef1234567890
|
|
1610
1610
|
```
|
|
1611
1611
|
|
|
1612
|
-
_See code: [src/commands/sdk-key/revoke.ts](https://github.com/quonfig/cli/blob/v0.0.
|
|
1612
|
+
_See code: [src/commands/sdk-key/revoke.ts](https://github.com/quonfig/cli/blob/v0.0.42/src/commands/sdk-key/revoke.ts)_
|
|
1613
1613
|
|
|
1614
1614
|
## `qfg set-default [NAME]`
|
|
1615
1615
|
|
|
@@ -1680,7 +1680,7 @@ EXAMPLES
|
|
|
1680
1680
|
$ qfg pull && qfg config-schema
|
|
1681
1681
|
```
|
|
1682
1682
|
|
|
1683
|
-
_See code: [src/commands/set-default.ts](https://github.com/quonfig/cli/blob/v0.0.
|
|
1683
|
+
_See code: [src/commands/set-default.ts](https://github.com/quonfig/cli/blob/v0.0.42/src/commands/set-default.ts)_
|
|
1684
1684
|
|
|
1685
1685
|
## `qfg set-rollout [NAME]`
|
|
1686
1686
|
|
|
@@ -1757,7 +1757,7 @@ EXAMPLES
|
|
|
1757
1757
|
$ qfg set-rollout my.variant.flag --environment production --weights "a:33,b:33,c:34" --hash-by user.id
|
|
1758
1758
|
```
|
|
1759
1759
|
|
|
1760
|
-
_See code: [src/commands/set-rollout.ts](https://github.com/quonfig/cli/blob/v0.0.
|
|
1760
|
+
_See code: [src/commands/set-rollout.ts](https://github.com/quonfig/cli/blob/v0.0.42/src/commands/set-rollout.ts)_
|
|
1761
1761
|
|
|
1762
1762
|
## `qfg sync`
|
|
1763
1763
|
|
|
@@ -1789,7 +1789,7 @@ EXAMPLES
|
|
|
1789
1789
|
$ qfg sync --watch --dir ./our-config --interval 30
|
|
1790
1790
|
```
|
|
1791
1791
|
|
|
1792
|
-
_See code: [src/commands/sync.ts](https://github.com/quonfig/cli/blob/v0.0.
|
|
1792
|
+
_See code: [src/commands/sync.ts](https://github.com/quonfig/cli/blob/v0.0.42/src/commands/sync.ts)_
|
|
1793
1793
|
|
|
1794
1794
|
## `qfg toggle [NAME]`
|
|
1795
1795
|
|
|
@@ -1891,7 +1891,7 @@ EXAMPLES
|
|
|
1891
1891
|
$ qfg verify --json
|
|
1892
1892
|
```
|
|
1893
1893
|
|
|
1894
|
-
_See code: [src/commands/verify.ts](https://github.com/quonfig/cli/blob/v0.0.
|
|
1894
|
+
_See code: [src/commands/verify.ts](https://github.com/quonfig/cli/blob/v0.0.42/src/commands/verify.ts)_
|
|
1895
1895
|
|
|
1896
1896
|
## `qfg whoami`
|
|
1897
1897
|
|
|
@@ -1914,7 +1914,7 @@ EXAMPLES
|
|
|
1914
1914
|
$ qfg whoami
|
|
1915
1915
|
```
|
|
1916
1916
|
|
|
1917
|
-
_See code: [src/commands/whoami.ts](https://github.com/quonfig/cli/blob/v0.0.
|
|
1917
|
+
_See code: [src/commands/whoami.ts](https://github.com/quonfig/cli/blob/v0.0.42/src/commands/whoami.ts)_
|
|
1918
1918
|
|
|
1919
1919
|
## `qfg workspace`
|
|
1920
1920
|
|
|
@@ -1937,7 +1937,7 @@ EXAMPLES
|
|
|
1937
1937
|
$ qfg workspace
|
|
1938
1938
|
```
|
|
1939
1939
|
|
|
1940
|
-
_See code: [src/commands/workspace.ts](https://github.com/quonfig/cli/blob/v0.0.
|
|
1940
|
+
_See code: [src/commands/workspace.ts](https://github.com/quonfig/cli/blob/v0.0.42/src/commands/workspace.ts)_
|
|
1941
1941
|
|
|
1942
1942
|
## `qfg workspace bootstrap`
|
|
1943
1943
|
|
|
@@ -1970,7 +1970,7 @@ EXAMPLES
|
|
|
1970
1970
|
$ qfg workspace bootstrap --dir ./our-config --skip-validate
|
|
1971
1971
|
```
|
|
1972
1972
|
|
|
1973
|
-
_See code: [src/commands/workspace/bootstrap.ts](https://github.com/quonfig/cli/blob/v0.0.
|
|
1973
|
+
_See code: [src/commands/workspace/bootstrap.ts](https://github.com/quonfig/cli/blob/v0.0.42/src/commands/workspace/bootstrap.ts)_
|
|
1974
1974
|
|
|
1975
1975
|
## `qfg workspace create SLUG`
|
|
1976
1976
|
|
|
@@ -2004,7 +2004,7 @@ EXAMPLES
|
|
|
2004
2004
|
$ qfg workspace create my-team --org 11111111-1111-1111-1111-111111111111
|
|
2005
2005
|
```
|
|
2006
2006
|
|
|
2007
|
-
_See code: [src/commands/workspace/create.ts](https://github.com/quonfig/cli/blob/v0.0.
|
|
2007
|
+
_See code: [src/commands/workspace/create.ts](https://github.com/quonfig/cli/blob/v0.0.42/src/commands/workspace/create.ts)_
|
|
2008
2008
|
|
|
2009
2009
|
## `qfg workspace switch [SLUG]`
|
|
2010
2010
|
|
|
@@ -2032,7 +2032,7 @@ EXAMPLES
|
|
|
2032
2032
|
$ qfg workspace switch acme/production
|
|
2033
2033
|
```
|
|
2034
2034
|
|
|
2035
|
-
_See code: [src/commands/workspace/switch.ts](https://github.com/quonfig/cli/blob/v0.0.
|
|
2035
|
+
_See code: [src/commands/workspace/switch.ts](https://github.com/quonfig/cli/blob/v0.0.42/src/commands/workspace/switch.ts)_
|
|
2036
2036
|
<!-- commandsstop -->
|
|
2037
2037
|
|
|
2038
2038
|
## Local Development
|
|
@@ -84,7 +84,7 @@ CRITERION FIELDS
|
|
|
84
84
|
Each criterion object has:
|
|
85
85
|
operator (required) — see operator table below
|
|
86
86
|
propertyName (required for PROP_* operators) — user property, e.g. "user.key", "user.plan"
|
|
87
|
-
valueToMatch (required for all except ALWAYS_TRUE) — typed value to compare against
|
|
87
|
+
valueToMatch (required for all except ALWAYS_TRUE / IS_PRESENT / IS_NOT_PRESENT) — typed value to compare against
|
|
88
88
|
|
|
89
89
|
────────────────────────────────────────────────────────────
|
|
90
90
|
OPERATOR REFERENCE
|
|
@@ -111,6 +111,8 @@ OPERATOR REFERENCE
|
|
|
111
111
|
PROP_AFTER string (ISO 8601)
|
|
112
112
|
PROP_MATCHES string regex match
|
|
113
113
|
PROP_DOES_NOT_MATCH string
|
|
114
|
+
IS_PRESENT (none) propertyName is set on the evaluation context (no valueToMatch)
|
|
115
|
+
IS_NOT_PRESENT (none) propertyName is missing from the evaluation context (no valueToMatch)
|
|
114
116
|
IN_SEG string value = segment key (no propertyName needed)
|
|
115
117
|
NOT_IN_SEG string value = segment key (no propertyName needed)
|
|
116
118
|
IN_INT_RANGE int_range value = {min, max}
|
|
@@ -250,12 +250,9 @@ To see all current values and rules for a flag:
|
|
|
250
250
|
}
|
|
251
251
|
}
|
|
252
252
|
else {
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
source: ProvidedSource.EnvVar,
|
|
257
|
-
},
|
|
258
|
-
};
|
|
253
|
+
// ValueSchema discriminates on `type`; provided values are
|
|
254
|
+
// {type: 'provided', value: {source, lookup}}. See qfg-84df.
|
|
255
|
+
configValue = mapConfigValueToDto({ provided: { lookup: envVar, source: ProvidedSource.EnvVar } }, ConfigValueType.String);
|
|
259
256
|
successMessage = `Successfully changed default to be provided by \`${envVar}\``;
|
|
260
257
|
}
|
|
261
258
|
if (confidential && !secret.selected) {
|
package/dist/init/schema.js
CHANGED
|
@@ -168,15 +168,15 @@ const criterion = {
|
|
|
168
168
|
properties: {
|
|
169
169
|
operator: {
|
|
170
170
|
enum: [...operators],
|
|
171
|
-
description: 'ALWAYS_TRUE needs no extra fields. PROP_* operators require propertyName and valueToMatch. IN_SEG/NOT_IN_SEG require valueToMatch with segment key.',
|
|
171
|
+
description: 'ALWAYS_TRUE needs no extra fields. PROP_* operators require propertyName and valueToMatch. IS_PRESENT/IS_NOT_PRESENT take only propertyName (no valueToMatch). IN_SEG/NOT_IN_SEG require valueToMatch with segment key.',
|
|
172
172
|
},
|
|
173
173
|
propertyName: {
|
|
174
174
|
type: 'string',
|
|
175
|
-
description: 'Required for PROP_* operators.',
|
|
175
|
+
description: 'Required for PROP_* and IS_PRESENT/IS_NOT_PRESENT operators.',
|
|
176
176
|
},
|
|
177
177
|
valueToMatch: {
|
|
178
178
|
...simpleValue,
|
|
179
|
-
description: 'Required for all operators except ALWAYS_TRUE.',
|
|
179
|
+
description: 'Required for all operators except ALWAYS_TRUE / IS_PRESENT / IS_NOT_PRESENT.',
|
|
180
180
|
},
|
|
181
181
|
},
|
|
182
182
|
required: ['operator'],
|
package/dist/init/templates.js
CHANGED
|
@@ -114,6 +114,7 @@ The \`default\` block (and each environment override) contains a \`rules\` array
|
|
|
114
114
|
| Property comparison | \`PROP_LESS_THAN\`, \`PROP_LESS_THAN_OR_EQUAL\`, \`PROP_GREATER_THAN\`, \`PROP_GREATER_THAN_OR_EQUAL\` | \`propertyName\`, \`valueToMatch\` |
|
|
115
115
|
| Property date | \`PROP_BEFORE\`, \`PROP_AFTER\` | \`propertyName\`, \`valueToMatch\` |
|
|
116
116
|
| Property regex | \`PROP_MATCHES\`, \`PROP_DOES_NOT_MATCH\` | \`propertyName\`, \`valueToMatch\` |
|
|
117
|
+
| Property presence | \`IS_PRESENT\`, \`IS_NOT_PRESENT\` | takes only \`propertyName\` |
|
|
117
118
|
| Segment | \`IN_SEG\`, \`NOT_IN_SEG\` | \`valueToMatch\` (segment key) |
|
|
118
119
|
| Other | \`IN_INT_RANGE\`, \`LOOKUP_KEY_IN\`, \`LOOKUP_KEY_NOT_IN\` | \`valueToMatch\` |
|
|
119
120
|
|
|
@@ -7,19 +7,23 @@ import { ConfigValueType } from '@quonfig/node';
|
|
|
7
7
|
* @returns The DTO representation of the config value
|
|
8
8
|
*/
|
|
9
9
|
export function mapConfigValueToDto(configValue, valueType) {
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
}
|
|
13
|
-
//
|
|
10
|
+
// Handle provided (env-var) values. The API's ValueSchema discriminates on
|
|
11
|
+
// `type`, so a provided value is `{type: 'provided', value: {source, lookup}}`
|
|
12
|
+
// — NOT `{type: '<scalar>', provided: {…}}`. The outer config.valueType still
|
|
13
|
+
// describes the resolved type (e.g. "string"); only the defaultValue flips
|
|
14
|
+
// to `provided`. See qfg-84df for the original repro.
|
|
14
15
|
if (configValue.provided) {
|
|
15
16
|
return {
|
|
16
|
-
|
|
17
|
-
|
|
17
|
+
type: 'provided',
|
|
18
|
+
value: {
|
|
18
19
|
source: configValue.provided.source,
|
|
19
20
|
lookup: configValue.provided.lookup,
|
|
20
21
|
},
|
|
21
22
|
};
|
|
22
23
|
}
|
|
24
|
+
const dto = {
|
|
25
|
+
type: mapValueTypeToString(valueType),
|
|
26
|
+
};
|
|
23
27
|
// Extract the actual value based on type
|
|
24
28
|
let value;
|
|
25
29
|
if (configValue.bool !== undefined) {
|
|
@@ -19,7 +19,7 @@
|
|
|
19
19
|
* - Value type consistency
|
|
20
20
|
* - Weighted values non-empty and consistent
|
|
21
21
|
*/
|
|
22
|
-
export declare const OPERATORS: readonly ["ALWAYS_TRUE", "PROP_IS_ONE_OF", "PROP_IS_NOT_ONE_OF", "PROP_STARTS_WITH_ONE_OF", "PROP_DOES_NOT_START_WITH_ONE_OF", "PROP_ENDS_WITH_ONE_OF", "PROP_DOES_NOT_END_WITH_ONE_OF", "PROP_CONTAINS_ONE_OF", "PROP_DOES_NOT_CONTAIN_ONE_OF", "PROP_LESS_THAN", "PROP_LESS_THAN_OR_EQUAL", "PROP_GREATER_THAN", "PROP_GREATER_THAN_OR_EQUAL", "PROP_SEMVER_LESS_THAN", "PROP_SEMVER_EQUAL", "PROP_SEMVER_GREATER_THAN", "PROP_BEFORE", "PROP_AFTER", "PROP_MATCHES", "PROP_DOES_NOT_MATCH", "IN_SEG", "NOT_IN_SEG", "IN_INT_RANGE", "LOOKUP_KEY_IN", "LOOKUP_KEY_NOT_IN"];
|
|
22
|
+
export declare const OPERATORS: readonly ["ALWAYS_TRUE", "PROP_IS_ONE_OF", "PROP_IS_NOT_ONE_OF", "PROP_STARTS_WITH_ONE_OF", "PROP_DOES_NOT_START_WITH_ONE_OF", "PROP_ENDS_WITH_ONE_OF", "PROP_DOES_NOT_END_WITH_ONE_OF", "PROP_CONTAINS_ONE_OF", "PROP_DOES_NOT_CONTAIN_ONE_OF", "PROP_LESS_THAN", "PROP_LESS_THAN_OR_EQUAL", "PROP_GREATER_THAN", "PROP_GREATER_THAN_OR_EQUAL", "PROP_SEMVER_LESS_THAN", "PROP_SEMVER_EQUAL", "PROP_SEMVER_GREATER_THAN", "PROP_BEFORE", "PROP_AFTER", "PROP_MATCHES", "PROP_DOES_NOT_MATCH", "IS_PRESENT", "IS_NOT_PRESENT", "IN_SEG", "NOT_IN_SEG", "IN_INT_RANGE", "LOOKUP_KEY_IN", "LOOKUP_KEY_NOT_IN"];
|
|
23
23
|
export type Severity = 'error' | 'warning';
|
|
24
24
|
export interface ValidationIssue {
|
|
25
25
|
file: string;
|
package/dist/verify/validate.js
CHANGED
|
@@ -49,6 +49,8 @@ export const OPERATORS = [
|
|
|
49
49
|
'PROP_AFTER',
|
|
50
50
|
'PROP_MATCHES',
|
|
51
51
|
'PROP_DOES_NOT_MATCH',
|
|
52
|
+
'IS_PRESENT',
|
|
53
|
+
'IS_NOT_PRESENT',
|
|
52
54
|
'IN_SEG',
|
|
53
55
|
'NOT_IN_SEG',
|
|
54
56
|
'IN_INT_RANGE',
|
|
@@ -180,16 +182,14 @@ const PROPERTY_OPERATORS = new Set([
|
|
|
180
182
|
'PROP_AFTER',
|
|
181
183
|
'PROP_MATCHES',
|
|
182
184
|
'PROP_DOES_NOT_MATCH',
|
|
185
|
+
'IS_PRESENT',
|
|
186
|
+
'IS_NOT_PRESENT',
|
|
183
187
|
]);
|
|
184
|
-
// Operators that
|
|
185
|
-
const
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
'IN_INT_RANGE',
|
|
190
|
-
'LOOKUP_KEY_IN',
|
|
191
|
-
'LOOKUP_KEY_NOT_IN',
|
|
192
|
-
]);
|
|
188
|
+
// Operators that take only `propertyName` — no valueToMatch (qfg-7jnb)
|
|
189
|
+
const PRESENCE_OPERATORS = new Set(['IS_PRESENT', 'IS_NOT_PRESENT']);
|
|
190
|
+
// Operators that require a valueToMatch — every property/segment/lookup operator
|
|
191
|
+
// EXCEPT the presence-only ones, which are intentionally value-less.
|
|
192
|
+
const VALUE_REQUIRED_OPERATORS = new Set([...PROPERTY_OPERATORS, 'IN_SEG', 'NOT_IN_SEG', 'IN_INT_RANGE', 'LOOKUP_KEY_IN', 'LOOKUP_KEY_NOT_IN'].filter((op) => !PRESENCE_OPERATORS.has(op)));
|
|
193
193
|
/**
|
|
194
194
|
* Reject `sendToClientSdk` on feature_flag rows — the field is config-only.
|
|
195
195
|
* Checks the raw parsed JSON so the key is forbidden regardless of value
|
package/dist/version.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
declare const _default: "0.0.
|
|
1
|
+
declare const _default: "0.0.42";
|
|
2
2
|
export default _default;
|
package/dist/version.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
// AUTO-GENERATED from package.json by scripts/generate-version.mjs — do not edit.
|
|
2
|
-
export default '0.0.
|
|
2
|
+
export default '0.0.42';
|
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.42",
|
|
5
5
|
"bugs": {
|
|
6
6
|
"url": "https://github.com/quonfig/cli/issues"
|
|
7
7
|
},
|