@quonfig/cli 0.0.51 → 0.0.52
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/migrate/sources/flagsmith/translate.js +46 -0
- package/dist/migrate/sources/flagsmith.js +0 -20
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/oclif.manifest.json +156 -156
- 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.52 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.52/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.52/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.52/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.52/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.52/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.52/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.52/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.52/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.52/src/commands/delete.ts)_
|
|
524
524
|
|
|
525
525
|
## `qfg flag info [NAME]`
|
|
526
526
|
|
|
@@ -724,7 +724,7 @@ EXAMPLES
|
|
|
724
724
|
$ qfg generate --targets node-ts -o ./dist # combine with targets
|
|
725
725
|
```
|
|
726
726
|
|
|
727
|
-
_See code: [src/commands/generate.ts](https://github.com/quonfig/cli/blob/v0.0.
|
|
727
|
+
_See code: [src/commands/generate.ts](https://github.com/quonfig/cli/blob/v0.0.52/src/commands/generate.ts)_
|
|
728
728
|
|
|
729
729
|
## `qfg generate-new-hex-key`
|
|
730
730
|
|
|
@@ -747,7 +747,7 @@ EXAMPLES
|
|
|
747
747
|
$ qfg generate-new-hex-key
|
|
748
748
|
```
|
|
749
749
|
|
|
750
|
-
_See code: [src/commands/generate-new-hex-key.ts](https://github.com/quonfig/cli/blob/v0.0.
|
|
750
|
+
_See code: [src/commands/generate-new-hex-key.ts](https://github.com/quonfig/cli/blob/v0.0.52/src/commands/generate-new-hex-key.ts)_
|
|
751
751
|
|
|
752
752
|
## `qfg get [NAME]`
|
|
753
753
|
|
|
@@ -779,7 +779,7 @@ EXAMPLES
|
|
|
779
779
|
$ qfg get my.config.name --environment=production
|
|
780
780
|
```
|
|
781
781
|
|
|
782
|
-
_See code: [src/commands/get.ts](https://github.com/quonfig/cli/blob/v0.0.
|
|
782
|
+
_See code: [src/commands/get.ts](https://github.com/quonfig/cli/blob/v0.0.52/src/commands/get.ts)_
|
|
783
783
|
|
|
784
784
|
## `qfg history NAME`
|
|
785
785
|
|
|
@@ -805,7 +805,7 @@ EXAMPLES
|
|
|
805
805
|
$ qfg history my.flag
|
|
806
806
|
```
|
|
807
807
|
|
|
808
|
-
_See code: [src/commands/history.ts](https://github.com/quonfig/cli/blob/v0.0.
|
|
808
|
+
_See code: [src/commands/history.ts](https://github.com/quonfig/cli/blob/v0.0.52/src/commands/history.ts)_
|
|
809
809
|
|
|
810
810
|
## `qfg info [NAME]`
|
|
811
811
|
|
|
@@ -853,7 +853,7 @@ EXAMPLES
|
|
|
853
853
|
$ qfg info my.config.name --exclude-evaluations # skip 24h stats
|
|
854
854
|
```
|
|
855
855
|
|
|
856
|
-
_See code: [src/commands/info.ts](https://github.com/quonfig/cli/blob/v0.0.
|
|
856
|
+
_See code: [src/commands/info.ts](https://github.com/quonfig/cli/blob/v0.0.52/src/commands/info.ts)_
|
|
857
857
|
|
|
858
858
|
## `qfg init [DIRECTORY]`
|
|
859
859
|
|
|
@@ -893,7 +893,7 @@ EXAMPLES
|
|
|
893
893
|
$ qfg init --dry-run
|
|
894
894
|
```
|
|
895
895
|
|
|
896
|
-
_See code: [src/commands/init.ts](https://github.com/quonfig/cli/blob/v0.0.
|
|
896
|
+
_See code: [src/commands/init.ts](https://github.com/quonfig/cli/blob/v0.0.52/src/commands/init.ts)_
|
|
897
897
|
|
|
898
898
|
## `qfg interactive`
|
|
899
899
|
|
|
@@ -923,7 +923,7 @@ EXAMPLES
|
|
|
923
923
|
$ qfg
|
|
924
924
|
```
|
|
925
925
|
|
|
926
|
-
_See code: [src/commands/interactive.ts](https://github.com/quonfig/cli/blob/v0.0.
|
|
926
|
+
_See code: [src/commands/interactive.ts](https://github.com/quonfig/cli/blob/v0.0.52/src/commands/interactive.ts)_
|
|
927
927
|
|
|
928
928
|
## `qfg list`
|
|
929
929
|
|
|
@@ -963,7 +963,7 @@ EXAMPLES
|
|
|
963
963
|
$ qfg list --feature-flags
|
|
964
964
|
```
|
|
965
965
|
|
|
966
|
-
_See code: [src/commands/list.ts](https://github.com/quonfig/cli/blob/v0.0.
|
|
966
|
+
_See code: [src/commands/list.ts](https://github.com/quonfig/cli/blob/v0.0.52/src/commands/list.ts)_
|
|
967
967
|
|
|
968
968
|
## `qfg log`
|
|
969
969
|
|
|
@@ -988,7 +988,7 @@ EXAMPLES
|
|
|
988
988
|
$ qfg log --limit 5
|
|
989
989
|
```
|
|
990
990
|
|
|
991
|
-
_See code: [src/commands/log.ts](https://github.com/quonfig/cli/blob/v0.0.
|
|
991
|
+
_See code: [src/commands/log.ts](https://github.com/quonfig/cli/blob/v0.0.52/src/commands/log.ts)_
|
|
992
992
|
|
|
993
993
|
## `qfg log-level NAME`
|
|
994
994
|
|
|
@@ -1053,7 +1053,7 @@ EXAMPLES
|
|
|
1053
1053
|
$ qfg log-level log-level.my-app --target=Chatty --value=INFO --environment=production
|
|
1054
1054
|
```
|
|
1055
1055
|
|
|
1056
|
-
_See code: [src/commands/log-level.ts](https://github.com/quonfig/cli/blob/v0.0.
|
|
1056
|
+
_See code: [src/commands/log-level.ts](https://github.com/quonfig/cli/blob/v0.0.52/src/commands/log-level.ts)_
|
|
1057
1057
|
|
|
1058
1058
|
## `qfg login`
|
|
1059
1059
|
|
|
@@ -1078,7 +1078,7 @@ EXAMPLES
|
|
|
1078
1078
|
$ qfg login --profile myprofile
|
|
1079
1079
|
```
|
|
1080
1080
|
|
|
1081
|
-
_See code: [src/commands/login.ts](https://github.com/quonfig/cli/blob/v0.0.
|
|
1081
|
+
_See code: [src/commands/login.ts](https://github.com/quonfig/cli/blob/v0.0.52/src/commands/login.ts)_
|
|
1082
1082
|
|
|
1083
1083
|
## `qfg logout`
|
|
1084
1084
|
|
|
@@ -1101,7 +1101,7 @@ EXAMPLES
|
|
|
1101
1101
|
$ qfg logout
|
|
1102
1102
|
```
|
|
1103
1103
|
|
|
1104
|
-
_See code: [src/commands/logout.ts](https://github.com/quonfig/cli/blob/v0.0.
|
|
1104
|
+
_See code: [src/commands/logout.ts](https://github.com/quonfig/cli/blob/v0.0.52/src/commands/logout.ts)_
|
|
1105
1105
|
|
|
1106
1106
|
## `qfg migrate`
|
|
1107
1107
|
|
|
@@ -1164,7 +1164,7 @@ EXAMPLES
|
|
|
1164
1164
|
$ qfg migrate --from launch --source-api-key $LAUNCH_API_KEY --dir ./quonfig-repo --staging
|
|
1165
1165
|
```
|
|
1166
1166
|
|
|
1167
|
-
_See code: [src/commands/migrate.ts](https://github.com/quonfig/cli/blob/v0.0.
|
|
1167
|
+
_See code: [src/commands/migrate.ts](https://github.com/quonfig/cli/blob/v0.0.52/src/commands/migrate.ts)_
|
|
1168
1168
|
|
|
1169
1169
|
## `qfg migrate doctor`
|
|
1170
1170
|
|
|
@@ -1202,7 +1202,7 @@ EXAMPLES
|
|
|
1202
1202
|
$ qfg migrate doctor --json
|
|
1203
1203
|
```
|
|
1204
1204
|
|
|
1205
|
-
_See code: [src/commands/migrate/doctor.ts](https://github.com/quonfig/cli/blob/v0.0.
|
|
1205
|
+
_See code: [src/commands/migrate/doctor.ts](https://github.com/quonfig/cli/blob/v0.0.52/src/commands/migrate/doctor.ts)_
|
|
1206
1206
|
|
|
1207
1207
|
## `qfg migrate my-code`
|
|
1208
1208
|
|
|
@@ -1234,7 +1234,7 @@ EXAMPLES
|
|
|
1234
1234
|
$ qfg migrate my-code --dry-run
|
|
1235
1235
|
```
|
|
1236
1236
|
|
|
1237
|
-
_See code: [src/commands/migrate/my-code.ts](https://github.com/quonfig/cli/blob/v0.0.
|
|
1237
|
+
_See code: [src/commands/migrate/my-code.ts](https://github.com/quonfig/cli/blob/v0.0.52/src/commands/migrate/my-code.ts)_
|
|
1238
1238
|
|
|
1239
1239
|
## `qfg migrate status`
|
|
1240
1240
|
|
|
@@ -1265,7 +1265,7 @@ EXAMPLES
|
|
|
1265
1265
|
$ qfg migrate status --json
|
|
1266
1266
|
```
|
|
1267
1267
|
|
|
1268
|
-
_See code: [src/commands/migrate/status.ts](https://github.com/quonfig/cli/blob/v0.0.
|
|
1268
|
+
_See code: [src/commands/migrate/status.ts](https://github.com/quonfig/cli/blob/v0.0.52/src/commands/migrate/status.ts)_
|
|
1269
1269
|
|
|
1270
1270
|
## `qfg override [NAME] [VALUE]`
|
|
1271
1271
|
|
|
@@ -1320,7 +1320,7 @@ EXAMPLES
|
|
|
1320
1320
|
$ qfg override my.flag true --env=staging
|
|
1321
1321
|
```
|
|
1322
1322
|
|
|
1323
|
-
_See code: [src/commands/override.ts](https://github.com/quonfig/cli/blob/v0.0.
|
|
1323
|
+
_See code: [src/commands/override.ts](https://github.com/quonfig/cli/blob/v0.0.52/src/commands/override.ts)_
|
|
1324
1324
|
|
|
1325
1325
|
## `qfg pull`
|
|
1326
1326
|
|
|
@@ -1368,7 +1368,7 @@ EXAMPLES
|
|
|
1368
1368
|
$ qfg pull # uses QUONFIG_DIR env var
|
|
1369
1369
|
```
|
|
1370
1370
|
|
|
1371
|
-
_See code: [src/commands/pull.ts](https://github.com/quonfig/cli/blob/v0.0.
|
|
1371
|
+
_See code: [src/commands/pull.ts](https://github.com/quonfig/cli/blob/v0.0.52/src/commands/pull.ts)_
|
|
1372
1372
|
|
|
1373
1373
|
## `qfg push`
|
|
1374
1374
|
|
|
@@ -1417,7 +1417,7 @@ EXAMPLES
|
|
|
1417
1417
|
$ qfg push --dir ./our-config --yes
|
|
1418
1418
|
```
|
|
1419
1419
|
|
|
1420
|
-
_See code: [src/commands/push.ts](https://github.com/quonfig/cli/blob/v0.0.
|
|
1420
|
+
_See code: [src/commands/push.ts](https://github.com/quonfig/cli/blob/v0.0.52/src/commands/push.ts)_
|
|
1421
1421
|
|
|
1422
1422
|
## `qfg run [COMMAND]`
|
|
1423
1423
|
|
|
@@ -1468,7 +1468,7 @@ EXAMPLES
|
|
|
1468
1468
|
$ qfg run --env DATABASE_URL=db.url --preserve-env --environment=staging -- npm test
|
|
1469
1469
|
```
|
|
1470
1470
|
|
|
1471
|
-
_See code: [src/commands/run.ts](https://github.com/quonfig/cli/blob/v0.0.
|
|
1471
|
+
_See code: [src/commands/run.ts](https://github.com/quonfig/cli/blob/v0.0.52/src/commands/run.ts)_
|
|
1472
1472
|
|
|
1473
1473
|
## `qfg schema NAME`
|
|
1474
1474
|
|
|
@@ -1506,7 +1506,7 @@ EXAMPLES
|
|
|
1506
1506
|
$ qfg schema my-schema --set-json-schema=@schemas/my-schema.json --protected
|
|
1507
1507
|
```
|
|
1508
1508
|
|
|
1509
|
-
_See code: [src/commands/schema.ts](https://github.com/quonfig/cli/blob/v0.0.
|
|
1509
|
+
_See code: [src/commands/schema.ts](https://github.com/quonfig/cli/blob/v0.0.52/src/commands/schema.ts)_
|
|
1510
1510
|
|
|
1511
1511
|
## `qfg sdk-key`
|
|
1512
1512
|
|
|
@@ -1533,7 +1533,7 @@ EXAMPLES
|
|
|
1533
1533
|
$ qfg sdk-key revoke <key-id>
|
|
1534
1534
|
```
|
|
1535
1535
|
|
|
1536
|
-
_See code: [src/commands/sdk-key.ts](https://github.com/quonfig/cli/blob/v0.0.
|
|
1536
|
+
_See code: [src/commands/sdk-key.ts](https://github.com/quonfig/cli/blob/v0.0.52/src/commands/sdk-key.ts)_
|
|
1537
1537
|
|
|
1538
1538
|
## `qfg sdk-key create`
|
|
1539
1539
|
|
|
@@ -1565,7 +1565,7 @@ EXAMPLES
|
|
|
1565
1565
|
$ qfg sdk-key create --environment staging --type browser
|
|
1566
1566
|
```
|
|
1567
1567
|
|
|
1568
|
-
_See code: [src/commands/sdk-key/create.ts](https://github.com/quonfig/cli/blob/v0.0.
|
|
1568
|
+
_See code: [src/commands/sdk-key/create.ts](https://github.com/quonfig/cli/blob/v0.0.52/src/commands/sdk-key/create.ts)_
|
|
1569
1569
|
|
|
1570
1570
|
## `qfg sdk-key list`
|
|
1571
1571
|
|
|
@@ -1594,7 +1594,7 @@ EXAMPLES
|
|
|
1594
1594
|
$ qfg sdk-key list --environment production
|
|
1595
1595
|
```
|
|
1596
1596
|
|
|
1597
|
-
_See code: [src/commands/sdk-key/list.ts](https://github.com/quonfig/cli/blob/v0.0.
|
|
1597
|
+
_See code: [src/commands/sdk-key/list.ts](https://github.com/quonfig/cli/blob/v0.0.52/src/commands/sdk-key/list.ts)_
|
|
1598
1598
|
|
|
1599
1599
|
## `qfg sdk-key revoke KEYID`
|
|
1600
1600
|
|
|
@@ -1621,7 +1621,7 @@ EXAMPLES
|
|
|
1621
1621
|
$ qfg sdk-key revoke a1b2c3d4-e5f6-7890-abcd-ef1234567890
|
|
1622
1622
|
```
|
|
1623
1623
|
|
|
1624
|
-
_See code: [src/commands/sdk-key/revoke.ts](https://github.com/quonfig/cli/blob/v0.0.
|
|
1624
|
+
_See code: [src/commands/sdk-key/revoke.ts](https://github.com/quonfig/cli/blob/v0.0.52/src/commands/sdk-key/revoke.ts)_
|
|
1625
1625
|
|
|
1626
1626
|
## `qfg set-default [NAME]`
|
|
1627
1627
|
|
|
@@ -1692,7 +1692,7 @@ EXAMPLES
|
|
|
1692
1692
|
$ qfg pull && qfg config-schema
|
|
1693
1693
|
```
|
|
1694
1694
|
|
|
1695
|
-
_See code: [src/commands/set-default.ts](https://github.com/quonfig/cli/blob/v0.0.
|
|
1695
|
+
_See code: [src/commands/set-default.ts](https://github.com/quonfig/cli/blob/v0.0.52/src/commands/set-default.ts)_
|
|
1696
1696
|
|
|
1697
1697
|
## `qfg set-rollout [NAME]`
|
|
1698
1698
|
|
|
@@ -1769,7 +1769,7 @@ EXAMPLES
|
|
|
1769
1769
|
$ qfg set-rollout my.variant.flag --environment production --weights "a:33,b:33,c:34" --hash-by user.id
|
|
1770
1770
|
```
|
|
1771
1771
|
|
|
1772
|
-
_See code: [src/commands/set-rollout.ts](https://github.com/quonfig/cli/blob/v0.0.
|
|
1772
|
+
_See code: [src/commands/set-rollout.ts](https://github.com/quonfig/cli/blob/v0.0.52/src/commands/set-rollout.ts)_
|
|
1773
1773
|
|
|
1774
1774
|
## `qfg sync`
|
|
1775
1775
|
|
|
@@ -1801,7 +1801,7 @@ EXAMPLES
|
|
|
1801
1801
|
$ qfg sync --watch --dir ./our-config --interval 30
|
|
1802
1802
|
```
|
|
1803
1803
|
|
|
1804
|
-
_See code: [src/commands/sync.ts](https://github.com/quonfig/cli/blob/v0.0.
|
|
1804
|
+
_See code: [src/commands/sync.ts](https://github.com/quonfig/cli/blob/v0.0.52/src/commands/sync.ts)_
|
|
1805
1805
|
|
|
1806
1806
|
## `qfg toggle [NAME]`
|
|
1807
1807
|
|
|
@@ -1903,7 +1903,7 @@ EXAMPLES
|
|
|
1903
1903
|
$ qfg verify --json
|
|
1904
1904
|
```
|
|
1905
1905
|
|
|
1906
|
-
_See code: [src/commands/verify.ts](https://github.com/quonfig/cli/blob/v0.0.
|
|
1906
|
+
_See code: [src/commands/verify.ts](https://github.com/quonfig/cli/blob/v0.0.52/src/commands/verify.ts)_
|
|
1907
1907
|
|
|
1908
1908
|
## `qfg whoami`
|
|
1909
1909
|
|
|
@@ -1926,7 +1926,7 @@ EXAMPLES
|
|
|
1926
1926
|
$ qfg whoami
|
|
1927
1927
|
```
|
|
1928
1928
|
|
|
1929
|
-
_See code: [src/commands/whoami.ts](https://github.com/quonfig/cli/blob/v0.0.
|
|
1929
|
+
_See code: [src/commands/whoami.ts](https://github.com/quonfig/cli/blob/v0.0.52/src/commands/whoami.ts)_
|
|
1930
1930
|
|
|
1931
1931
|
## `qfg workspace`
|
|
1932
1932
|
|
|
@@ -1949,7 +1949,7 @@ EXAMPLES
|
|
|
1949
1949
|
$ qfg workspace
|
|
1950
1950
|
```
|
|
1951
1951
|
|
|
1952
|
-
_See code: [src/commands/workspace.ts](https://github.com/quonfig/cli/blob/v0.0.
|
|
1952
|
+
_See code: [src/commands/workspace.ts](https://github.com/quonfig/cli/blob/v0.0.52/src/commands/workspace.ts)_
|
|
1953
1953
|
|
|
1954
1954
|
## `qfg workspace bootstrap`
|
|
1955
1955
|
|
|
@@ -1982,7 +1982,7 @@ EXAMPLES
|
|
|
1982
1982
|
$ qfg workspace bootstrap --dir ./our-config --skip-validate
|
|
1983
1983
|
```
|
|
1984
1984
|
|
|
1985
|
-
_See code: [src/commands/workspace/bootstrap.ts](https://github.com/quonfig/cli/blob/v0.0.
|
|
1985
|
+
_See code: [src/commands/workspace/bootstrap.ts](https://github.com/quonfig/cli/blob/v0.0.52/src/commands/workspace/bootstrap.ts)_
|
|
1986
1986
|
|
|
1987
1987
|
## `qfg workspace create SLUG`
|
|
1988
1988
|
|
|
@@ -2016,7 +2016,7 @@ EXAMPLES
|
|
|
2016
2016
|
$ qfg workspace create my-team --org 11111111-1111-1111-1111-111111111111
|
|
2017
2017
|
```
|
|
2018
2018
|
|
|
2019
|
-
_See code: [src/commands/workspace/create.ts](https://github.com/quonfig/cli/blob/v0.0.
|
|
2019
|
+
_See code: [src/commands/workspace/create.ts](https://github.com/quonfig/cli/blob/v0.0.52/src/commands/workspace/create.ts)_
|
|
2020
2020
|
|
|
2021
2021
|
## `qfg workspace switch [SLUG]`
|
|
2022
2022
|
|
|
@@ -2044,7 +2044,7 @@ EXAMPLES
|
|
|
2044
2044
|
$ qfg workspace switch acme/production
|
|
2045
2045
|
```
|
|
2046
2046
|
|
|
2047
|
-
_See code: [src/commands/workspace/switch.ts](https://github.com/quonfig/cli/blob/v0.0.
|
|
2047
|
+
_See code: [src/commands/workspace/switch.ts](https://github.com/quonfig/cli/blob/v0.0.52/src/commands/workspace/switch.ts)_
|
|
2048
2048
|
<!-- commandsstop -->
|
|
2049
2049
|
|
|
2050
2050
|
## Local Development
|
|
@@ -76,6 +76,29 @@ function mvOptionValue(opt) {
|
|
|
76
76
|
return opt.integer_value ?? 0;
|
|
77
77
|
return opt.string_value ?? '';
|
|
78
78
|
}
|
|
79
|
+
/**
|
|
80
|
+
* True when a STANDARD feature has no value payload in any env — every
|
|
81
|
+
* env-default's `feature_state_value` envelope is shaped `{type: 'unicode',
|
|
82
|
+
* boolean_value: null, integer_value: null, string_value: null}` (the default
|
|
83
|
+
* Flagsmith emits for bool-only flags). In that shape the per-env `enabled`
|
|
84
|
+
* bit IS the value; treating the flag as `string` and coercing the empty
|
|
85
|
+
* envelope to `''` would silently lose the bool. The detection is bundle-pure
|
|
86
|
+
* so both `decideValueType` and the value-emission paths can re-check it.
|
|
87
|
+
*/
|
|
88
|
+
function isValuelessStandardBool(bundle) {
|
|
89
|
+
const { feature, featurestates_by_env } = bundle;
|
|
90
|
+
if (feature.type !== 'STANDARD')
|
|
91
|
+
return false;
|
|
92
|
+
const envs = Object.values(featurestates_by_env);
|
|
93
|
+
if (envs.length === 0)
|
|
94
|
+
return false;
|
|
95
|
+
return envs.every((env) => {
|
|
96
|
+
const fsv = env.default?.feature_state_value;
|
|
97
|
+
if (!fsv || typeof fsv !== 'object')
|
|
98
|
+
return false;
|
|
99
|
+
return fsv.boolean_value === null && fsv.integer_value === null && fsv.string_value === null;
|
|
100
|
+
});
|
|
101
|
+
}
|
|
79
102
|
/**
|
|
80
103
|
* Decide the feature's Quonfig valueType. Multivariate features take their
|
|
81
104
|
* type from the variation values (all variants share a type in valid Flagsmith
|
|
@@ -86,6 +109,9 @@ function mvOptionValue(opt) {
|
|
|
86
109
|
function decideValueType(bundle, report) {
|
|
87
110
|
const { feature, featurestates_by_env } = bundle;
|
|
88
111
|
const mvOptions = feature.multivariate_options ?? [];
|
|
112
|
+
// Value-less STANDARD feature: enabled IS the bool value (qfg-ybt9).
|
|
113
|
+
if (isValuelessStandardBool(bundle))
|
|
114
|
+
return 'bool';
|
|
89
115
|
if (feature.type === 'MULTIVARIATE' && mvOptions.length > 0) {
|
|
90
116
|
const variantValues = mvOptions.map((o) => mvOptionValue(o));
|
|
91
117
|
const types = new Set(variantValues.map((v) => inferValueType(v)));
|
|
@@ -337,6 +363,10 @@ function flattenSegmentRuleForSegment(rule, segment, report) {
|
|
|
337
363
|
function envDefaultRuleValue(bundle, envApiKey, fsState, ctx) {
|
|
338
364
|
const { feature } = bundle;
|
|
339
365
|
const mvOptions = feature.multivariate_options ?? [];
|
|
366
|
+
// Value-less STANDARD bool (qfg-ybt9): enabled IS the value; envelope is empty.
|
|
367
|
+
if (isValuelessStandardBool(bundle)) {
|
|
368
|
+
return { type: 'bool', value: fsState?.enabled ?? false };
|
|
369
|
+
}
|
|
340
370
|
// enabled=false (D-F1)
|
|
341
371
|
if (fsState && !fsState.enabled) {
|
|
342
372
|
if (ctx.valueType === 'bool') {
|
|
@@ -369,6 +399,10 @@ function identityOverrideRuleValue(bundle, override, ctx) {
|
|
|
369
399
|
const { feature } = bundle;
|
|
370
400
|
const mvOptions = feature.multivariate_options ?? [];
|
|
371
401
|
const mvWeights = override.feature_state.multivariate_feature_state_values ?? [];
|
|
402
|
+
// Value-less STANDARD bool (qfg-ybt9): override's enabled IS the value.
|
|
403
|
+
if (isValuelessStandardBool(bundle)) {
|
|
404
|
+
return { type: 'bool', value: override.feature_state.enabled };
|
|
405
|
+
}
|
|
372
406
|
// enabled=false on the override: prefer the served value of the override's
|
|
373
407
|
// own feature_state_value, with the same D-F1 reporting if non-boolean.
|
|
374
408
|
if (!override.feature_state.enabled) {
|
|
@@ -397,6 +431,10 @@ function identityOverrideRuleValue(bundle, override, ctx) {
|
|
|
397
431
|
function servedValueSilent(bundle, fsState, ctx) {
|
|
398
432
|
const { feature } = bundle;
|
|
399
433
|
const mvOptions = feature.multivariate_options ?? [];
|
|
434
|
+
// Value-less STANDARD bool (qfg-ybt9): enabled IS the value.
|
|
435
|
+
if (isValuelessStandardBool(bundle)) {
|
|
436
|
+
return { type: 'bool', value: fsState?.enabled ?? false };
|
|
437
|
+
}
|
|
400
438
|
if (fsState && !fsState.enabled && ctx.valueType === 'bool') {
|
|
401
439
|
return { type: 'bool', value: false };
|
|
402
440
|
}
|
|
@@ -502,6 +540,14 @@ export function translateFeature(bundle, report, options = {}) {
|
|
|
502
540
|
segmentIdByFeatureSegmentId[envApiKey] = m;
|
|
503
541
|
}
|
|
504
542
|
const ctx = { feature, report, segmentNameById, tagLabelById, valueType };
|
|
543
|
+
// Plan §5.4: every MULTIVARIATE feature triggers a re-bucketing note —
|
|
544
|
+
// Flagsmith and Quonfig hash identities with different salts, so individual
|
|
545
|
+
// identity → variation assignments change post-migration regardless of any
|
|
546
|
+
// per-env override structure. The overall percentage allocation is preserved.
|
|
547
|
+
if (feature.type === 'MULTIVARIATE' && (feature.multivariate_options?.length ?? 0) > 0) {
|
|
548
|
+
report.add('rebucketed-rollout', feature.name, 'multivariate feature; Flagsmith and Quonfig hash identities into buckets with different salts, so ' +
|
|
549
|
+
'individual identity → variation assignments will change after migration (the overall percentage allocation is preserved)');
|
|
550
|
+
}
|
|
505
551
|
// Per-env rule list synthesis (plan §5.1, D-F2 ordering): identity overrides
|
|
506
552
|
// first, then segment overrides (already sorted ASC by priority by the
|
|
507
553
|
// fetcher), then the trailing ALWAYS_TRUE serving the env default.
|
|
@@ -44,7 +44,6 @@ function resolveProjectId() {
|
|
|
44
44
|
const state = {
|
|
45
45
|
apiKey: null,
|
|
46
46
|
environments: [],
|
|
47
|
-
multivariateFeatures: [],
|
|
48
47
|
project: null,
|
|
49
48
|
projectId: resolveProjectId(),
|
|
50
49
|
report: new ConversionReport(),
|
|
@@ -95,7 +94,6 @@ async function validateAuthImpl(apiKey) {
|
|
|
95
94
|
state.project = project;
|
|
96
95
|
state.report = new ConversionReport();
|
|
97
96
|
state.environments = [];
|
|
98
|
-
state.multivariateFeatures = [];
|
|
99
97
|
state.segments = [];
|
|
100
98
|
state.tags = [];
|
|
101
99
|
}
|
|
@@ -129,9 +127,6 @@ async function* fetchChangesImpl() {
|
|
|
129
127
|
state.environments = snapshot.environments;
|
|
130
128
|
state.segments = snapshot.segments;
|
|
131
129
|
state.tags = snapshot.tags;
|
|
132
|
-
state.multivariateFeatures = snapshot.features
|
|
133
|
-
.filter((bundle) => bundle.feature.type === 'MULTIVARIATE' && (bundle.feature.multivariate_options?.length ?? 0) > 0)
|
|
134
|
-
.map((bundle) => bundle.feature.name);
|
|
135
130
|
for (const featureBundle of snapshot.features) {
|
|
136
131
|
yield {
|
|
137
132
|
key: featureBundle.feature.name,
|
|
@@ -316,20 +311,6 @@ function getConversionNotesImpl() {
|
|
|
316
311
|
return out;
|
|
317
312
|
};
|
|
318
313
|
const notes = state.report.all().map((n) => ({ ...n, detail: decorate(n.detail) }));
|
|
319
|
-
// Synthesize rebucketed-rollout notes for every MULTIVARIATE feature so the
|
|
320
|
-
// dedicated "Users will be re-bucketed" section in MIGRATION_REPORT.md
|
|
321
|
-
// names each one (plan §5.4). Flagsmith and Quonfig hash buckets with
|
|
322
|
-
// different salts; identity-level assignments WILL change post-migration
|
|
323
|
-
// for every MV flag, regardless of whether the allocation has any per-env
|
|
324
|
-
// overrides.
|
|
325
|
-
for (const featureName of state.multivariateFeatures) {
|
|
326
|
-
notes.push({
|
|
327
|
-
category: 'rebucketed-rollout',
|
|
328
|
-
detail: 'multivariate feature; Flagsmith and Quonfig hash identities into buckets with different salts, so ' +
|
|
329
|
-
'individual identity → variation assignments will change after migration (the overall percentage allocation is preserved)',
|
|
330
|
-
key: featureName,
|
|
331
|
-
});
|
|
332
|
-
}
|
|
333
314
|
// Identity-trait references — pure FYI, no action required server-side, but
|
|
334
315
|
// every trait must be sent by the SDK caller at eval time or matching rules
|
|
335
316
|
// will silently miss. Plan §5.5 / D-F6.
|
|
@@ -376,7 +357,6 @@ export const flagsmithSource = {
|
|
|
376
357
|
export function __resetFlagsmithSourceForTests() {
|
|
377
358
|
state.apiKey = null;
|
|
378
359
|
state.environments = [];
|
|
379
|
-
state.multivariateFeatures = [];
|
|
380
360
|
state.project = null;
|
|
381
361
|
state.projectId = resolveProjectId();
|
|
382
362
|
state.report = new ConversionReport();
|
package/dist/version.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
declare const _default: "0.0.
|
|
1
|
+
declare const _default: "0.0.52";
|
|
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.52';
|
package/oclif.manifest.json
CHANGED
|
@@ -3143,13 +3143,14 @@
|
|
|
3143
3143
|
"status.js"
|
|
3144
3144
|
]
|
|
3145
3145
|
},
|
|
3146
|
-
"
|
|
3146
|
+
"workspace:bootstrap": {
|
|
3147
3147
|
"aliases": [],
|
|
3148
3148
|
"args": {},
|
|
3149
|
-
"description": "
|
|
3149
|
+
"description": "Push a local git repo to Gitea as this workspace's config repository",
|
|
3150
3150
|
"examples": [
|
|
3151
|
-
"<%= config.bin %>
|
|
3152
|
-
"<%= config.bin %>
|
|
3151
|
+
"<%= config.bin %> workspace bootstrap --dir ./our-config",
|
|
3152
|
+
"<%= config.bin %> workspace bootstrap --dir ./launch-migrator/output",
|
|
3153
|
+
"<%= config.bin %> workspace bootstrap --dir ./our-config --skip-validate"
|
|
3153
3154
|
],
|
|
3154
3155
|
"flags": {
|
|
3155
3156
|
"json": {
|
|
@@ -3181,53 +3182,30 @@
|
|
|
3181
3182
|
"allowNo": false,
|
|
3182
3183
|
"type": "boolean"
|
|
3183
3184
|
},
|
|
3184
|
-
"
|
|
3185
|
-
"
|
|
3186
|
-
"
|
|
3187
|
-
"helpGroup": "GLOBAL",
|
|
3188
|
-
"name": "workspace",
|
|
3189
|
-
"required": false,
|
|
3190
|
-
"hasDynamicHelp": false,
|
|
3191
|
-
"multiple": false,
|
|
3192
|
-
"type": "option"
|
|
3193
|
-
},
|
|
3194
|
-
"profile": {
|
|
3195
|
-
"char": "p",
|
|
3196
|
-
"description": "Deprecated: use --workspace instead",
|
|
3197
|
-
"helpGroup": "GLOBAL",
|
|
3198
|
-
"hidden": true,
|
|
3199
|
-
"name": "profile",
|
|
3185
|
+
"dir": {
|
|
3186
|
+
"description": "Local directory to push (defaults to current directory)",
|
|
3187
|
+
"name": "dir",
|
|
3200
3188
|
"required": false,
|
|
3201
3189
|
"hasDynamicHelp": false,
|
|
3202
3190
|
"multiple": false,
|
|
3203
3191
|
"type": "option"
|
|
3204
3192
|
},
|
|
3205
|
-
"
|
|
3206
|
-
"
|
|
3207
|
-
"
|
|
3208
|
-
"
|
|
3209
|
-
"
|
|
3210
|
-
"hasDynamicHelp": false,
|
|
3211
|
-
"multiple": false,
|
|
3212
|
-
"type": "option"
|
|
3193
|
+
"force": {
|
|
3194
|
+
"description": "Force push even if remote already has commits",
|
|
3195
|
+
"name": "force",
|
|
3196
|
+
"allowNo": false,
|
|
3197
|
+
"type": "boolean"
|
|
3213
3198
|
},
|
|
3214
|
-
"
|
|
3215
|
-
"
|
|
3216
|
-
"
|
|
3217
|
-
"
|
|
3218
|
-
"
|
|
3219
|
-
"hasDynamicHelp": false,
|
|
3220
|
-
"multiple": false,
|
|
3221
|
-
"options": [
|
|
3222
|
-
"server",
|
|
3223
|
-
"browser"
|
|
3224
|
-
],
|
|
3225
|
-
"type": "option"
|
|
3199
|
+
"skip-validate": {
|
|
3200
|
+
"description": "Skip config validation before pushing",
|
|
3201
|
+
"name": "skip-validate",
|
|
3202
|
+
"allowNo": false,
|
|
3203
|
+
"type": "boolean"
|
|
3226
3204
|
}
|
|
3227
3205
|
},
|
|
3228
3206
|
"hasDynamicHelp": false,
|
|
3229
3207
|
"hiddenAliases": [],
|
|
3230
|
-
"id": "
|
|
3208
|
+
"id": "workspace:bootstrap",
|
|
3231
3209
|
"pluginAlias": "@quonfig/cli",
|
|
3232
3210
|
"pluginName": "@quonfig/cli",
|
|
3233
3211
|
"pluginType": "core",
|
|
@@ -3237,17 +3215,24 @@
|
|
|
3237
3215
|
"relativePath": [
|
|
3238
3216
|
"dist",
|
|
3239
3217
|
"commands",
|
|
3240
|
-
"
|
|
3241
|
-
"
|
|
3218
|
+
"workspace",
|
|
3219
|
+
"bootstrap.js"
|
|
3242
3220
|
]
|
|
3243
3221
|
},
|
|
3244
|
-
"
|
|
3222
|
+
"workspace:create": {
|
|
3245
3223
|
"aliases": [],
|
|
3246
|
-
"args": {
|
|
3247
|
-
|
|
3224
|
+
"args": {
|
|
3225
|
+
"slug": {
|
|
3226
|
+
"description": "Workspace slug (lowercase letters, numbers, hyphens)",
|
|
3227
|
+
"name": "slug",
|
|
3228
|
+
"required": true
|
|
3229
|
+
}
|
|
3230
|
+
},
|
|
3231
|
+
"description": "Create a new workspace. Provisions the Gitea repo and default environments, identical to the app's New Workspace UI.",
|
|
3248
3232
|
"examples": [
|
|
3249
|
-
"<%= config.bin %> <%= command.id %>",
|
|
3250
|
-
"<%= config.bin %> <%= command.id %> --
|
|
3233
|
+
"<%= config.bin %> <%= command.id %> my-team",
|
|
3234
|
+
"<%= config.bin %> <%= command.id %> lt-21-smoke --name \"Load Test 21\"",
|
|
3235
|
+
"<%= config.bin %> <%= command.id %> my-team --org 11111111-1111-1111-1111-111111111111"
|
|
3251
3236
|
],
|
|
3252
3237
|
"flags": {
|
|
3253
3238
|
"json": {
|
|
@@ -3279,31 +3264,17 @@
|
|
|
3279
3264
|
"allowNo": false,
|
|
3280
3265
|
"type": "boolean"
|
|
3281
3266
|
},
|
|
3282
|
-
"
|
|
3283
|
-
"
|
|
3284
|
-
"
|
|
3285
|
-
"helpGroup": "GLOBAL",
|
|
3286
|
-
"name": "workspace",
|
|
3287
|
-
"required": false,
|
|
3288
|
-
"hasDynamicHelp": false,
|
|
3289
|
-
"multiple": false,
|
|
3290
|
-
"type": "option"
|
|
3291
|
-
},
|
|
3292
|
-
"profile": {
|
|
3293
|
-
"char": "p",
|
|
3294
|
-
"description": "Deprecated: use --workspace instead",
|
|
3295
|
-
"helpGroup": "GLOBAL",
|
|
3296
|
-
"hidden": true,
|
|
3297
|
-
"name": "profile",
|
|
3267
|
+
"name": {
|
|
3268
|
+
"description": "Human-readable display name (defaults to the slug)",
|
|
3269
|
+
"name": "name",
|
|
3298
3270
|
"required": false,
|
|
3299
3271
|
"hasDynamicHelp": false,
|
|
3300
3272
|
"multiple": false,
|
|
3301
3273
|
"type": "option"
|
|
3302
3274
|
},
|
|
3303
|
-
"
|
|
3304
|
-
"
|
|
3305
|
-
"
|
|
3306
|
-
"name": "environment",
|
|
3275
|
+
"org": {
|
|
3276
|
+
"description": "Organization UUID or slug. Required when you belong to more than one organization; inferred otherwise.",
|
|
3277
|
+
"name": "org",
|
|
3307
3278
|
"required": false,
|
|
3308
3279
|
"hasDynamicHelp": false,
|
|
3309
3280
|
"multiple": false,
|
|
@@ -3312,7 +3283,7 @@
|
|
|
3312
3283
|
},
|
|
3313
3284
|
"hasDynamicHelp": false,
|
|
3314
3285
|
"hiddenAliases": [],
|
|
3315
|
-
"id": "
|
|
3286
|
+
"id": "workspace:create",
|
|
3316
3287
|
"pluginAlias": "@quonfig/cli",
|
|
3317
3288
|
"pluginName": "@quonfig/cli",
|
|
3318
3289
|
"pluginType": "core",
|
|
@@ -3322,22 +3293,23 @@
|
|
|
3322
3293
|
"relativePath": [
|
|
3323
3294
|
"dist",
|
|
3324
3295
|
"commands",
|
|
3325
|
-
"
|
|
3326
|
-
"
|
|
3296
|
+
"workspace",
|
|
3297
|
+
"create.js"
|
|
3327
3298
|
]
|
|
3328
3299
|
},
|
|
3329
|
-
"
|
|
3300
|
+
"workspace:switch": {
|
|
3330
3301
|
"aliases": [],
|
|
3331
3302
|
"args": {
|
|
3332
|
-
"
|
|
3333
|
-
"description": "
|
|
3334
|
-
"name": "
|
|
3335
|
-
"required":
|
|
3303
|
+
"slug": {
|
|
3304
|
+
"description": "Workspace pin in `<org-slug>/<workspace-slug>` form. Omit for an interactive picker.",
|
|
3305
|
+
"name": "slug",
|
|
3306
|
+
"required": false
|
|
3336
3307
|
}
|
|
3337
3308
|
},
|
|
3338
|
-
"description": "
|
|
3309
|
+
"description": "Switch the saved default profile to a different (org, workspace) pair",
|
|
3339
3310
|
"examples": [
|
|
3340
|
-
"<%= config.bin %> <%= command.id %>
|
|
3311
|
+
"<%= config.bin %> <%= command.id %>",
|
|
3312
|
+
"<%= config.bin %> <%= command.id %> acme/production"
|
|
3341
3313
|
],
|
|
3342
3314
|
"flags": {
|
|
3343
3315
|
"json": {
|
|
@@ -3368,32 +3340,11 @@
|
|
|
3368
3340
|
"name": "verbose",
|
|
3369
3341
|
"allowNo": false,
|
|
3370
3342
|
"type": "boolean"
|
|
3371
|
-
},
|
|
3372
|
-
"workspace": {
|
|
3373
|
-
"char": "w",
|
|
3374
|
-
"description": "Workspace slug to use (overrides QUONFIG_WORKSPACE env var and saved default)",
|
|
3375
|
-
"helpGroup": "GLOBAL",
|
|
3376
|
-
"name": "workspace",
|
|
3377
|
-
"required": false,
|
|
3378
|
-
"hasDynamicHelp": false,
|
|
3379
|
-
"multiple": false,
|
|
3380
|
-
"type": "option"
|
|
3381
|
-
},
|
|
3382
|
-
"profile": {
|
|
3383
|
-
"char": "p",
|
|
3384
|
-
"description": "Deprecated: use --workspace instead",
|
|
3385
|
-
"helpGroup": "GLOBAL",
|
|
3386
|
-
"hidden": true,
|
|
3387
|
-
"name": "profile",
|
|
3388
|
-
"required": false,
|
|
3389
|
-
"hasDynamicHelp": false,
|
|
3390
|
-
"multiple": false,
|
|
3391
|
-
"type": "option"
|
|
3392
3343
|
}
|
|
3393
3344
|
},
|
|
3394
3345
|
"hasDynamicHelp": false,
|
|
3395
3346
|
"hiddenAliases": [],
|
|
3396
|
-
"id": "
|
|
3347
|
+
"id": "workspace:switch",
|
|
3397
3348
|
"pluginAlias": "@quonfig/cli",
|
|
3398
3349
|
"pluginName": "@quonfig/cli",
|
|
3399
3350
|
"pluginType": "core",
|
|
@@ -3403,18 +3354,17 @@
|
|
|
3403
3354
|
"relativePath": [
|
|
3404
3355
|
"dist",
|
|
3405
3356
|
"commands",
|
|
3406
|
-
"
|
|
3407
|
-
"
|
|
3357
|
+
"workspace",
|
|
3358
|
+
"switch.js"
|
|
3408
3359
|
]
|
|
3409
3360
|
},
|
|
3410
|
-
"
|
|
3361
|
+
"sdk-key:create": {
|
|
3411
3362
|
"aliases": [],
|
|
3412
3363
|
"args": {},
|
|
3413
|
-
"description": "
|
|
3364
|
+
"description": "Create a new SDK key",
|
|
3414
3365
|
"examples": [
|
|
3415
|
-
"<%= config.bin %>
|
|
3416
|
-
"<%= config.bin %>
|
|
3417
|
-
"<%= config.bin %> workspace bootstrap --dir ./our-config --skip-validate"
|
|
3366
|
+
"<%= config.bin %> <%= command.id %> --environment production --type server",
|
|
3367
|
+
"<%= config.bin %> <%= command.id %> --environment staging --type browser"
|
|
3418
3368
|
],
|
|
3419
3369
|
"flags": {
|
|
3420
3370
|
"json": {
|
|
@@ -3446,30 +3396,53 @@
|
|
|
3446
3396
|
"allowNo": false,
|
|
3447
3397
|
"type": "boolean"
|
|
3448
3398
|
},
|
|
3449
|
-
"
|
|
3450
|
-
"
|
|
3451
|
-
"
|
|
3399
|
+
"workspace": {
|
|
3400
|
+
"char": "w",
|
|
3401
|
+
"description": "Workspace slug to use (overrides QUONFIG_WORKSPACE env var and saved default)",
|
|
3402
|
+
"helpGroup": "GLOBAL",
|
|
3403
|
+
"name": "workspace",
|
|
3452
3404
|
"required": false,
|
|
3453
3405
|
"hasDynamicHelp": false,
|
|
3454
3406
|
"multiple": false,
|
|
3455
3407
|
"type": "option"
|
|
3456
3408
|
},
|
|
3457
|
-
"
|
|
3458
|
-
"
|
|
3459
|
-
"
|
|
3460
|
-
"
|
|
3461
|
-
"
|
|
3409
|
+
"profile": {
|
|
3410
|
+
"char": "p",
|
|
3411
|
+
"description": "Deprecated: use --workspace instead",
|
|
3412
|
+
"helpGroup": "GLOBAL",
|
|
3413
|
+
"hidden": true,
|
|
3414
|
+
"name": "profile",
|
|
3415
|
+
"required": false,
|
|
3416
|
+
"hasDynamicHelp": false,
|
|
3417
|
+
"multiple": false,
|
|
3418
|
+
"type": "option"
|
|
3462
3419
|
},
|
|
3463
|
-
"
|
|
3464
|
-
"
|
|
3465
|
-
"
|
|
3466
|
-
"
|
|
3467
|
-
"
|
|
3420
|
+
"environment": {
|
|
3421
|
+
"char": "e",
|
|
3422
|
+
"description": "Environment name (e.g. production, staging)",
|
|
3423
|
+
"name": "environment",
|
|
3424
|
+
"required": false,
|
|
3425
|
+
"hasDynamicHelp": false,
|
|
3426
|
+
"multiple": false,
|
|
3427
|
+
"type": "option"
|
|
3428
|
+
},
|
|
3429
|
+
"type": {
|
|
3430
|
+
"char": "t",
|
|
3431
|
+
"description": "Key type: server (backend) or browser (frontend)",
|
|
3432
|
+
"name": "type",
|
|
3433
|
+
"required": false,
|
|
3434
|
+
"hasDynamicHelp": false,
|
|
3435
|
+
"multiple": false,
|
|
3436
|
+
"options": [
|
|
3437
|
+
"server",
|
|
3438
|
+
"browser"
|
|
3439
|
+
],
|
|
3440
|
+
"type": "option"
|
|
3468
3441
|
}
|
|
3469
3442
|
},
|
|
3470
3443
|
"hasDynamicHelp": false,
|
|
3471
3444
|
"hiddenAliases": [],
|
|
3472
|
-
"id": "
|
|
3445
|
+
"id": "sdk-key:create",
|
|
3473
3446
|
"pluginAlias": "@quonfig/cli",
|
|
3474
3447
|
"pluginName": "@quonfig/cli",
|
|
3475
3448
|
"pluginType": "core",
|
|
@@ -3479,24 +3452,17 @@
|
|
|
3479
3452
|
"relativePath": [
|
|
3480
3453
|
"dist",
|
|
3481
3454
|
"commands",
|
|
3482
|
-
"
|
|
3483
|
-
"
|
|
3455
|
+
"sdk-key",
|
|
3456
|
+
"create.js"
|
|
3484
3457
|
]
|
|
3485
3458
|
},
|
|
3486
|
-
"
|
|
3459
|
+
"sdk-key:list": {
|
|
3487
3460
|
"aliases": [],
|
|
3488
|
-
"args": {
|
|
3489
|
-
|
|
3490
|
-
"description": "Workspace slug (lowercase letters, numbers, hyphens)",
|
|
3491
|
-
"name": "slug",
|
|
3492
|
-
"required": true
|
|
3493
|
-
}
|
|
3494
|
-
},
|
|
3495
|
-
"description": "Create a new workspace. Provisions the Gitea repo and default environments, identical to the app's New Workspace UI.",
|
|
3461
|
+
"args": {},
|
|
3462
|
+
"description": "List SDK keys for your workspace",
|
|
3496
3463
|
"examples": [
|
|
3497
|
-
"<%= config.bin %> <%= command.id %>
|
|
3498
|
-
"<%= config.bin %> <%= command.id %>
|
|
3499
|
-
"<%= config.bin %> <%= command.id %> my-team --org 11111111-1111-1111-1111-111111111111"
|
|
3464
|
+
"<%= config.bin %> <%= command.id %>",
|
|
3465
|
+
"<%= config.bin %> <%= command.id %> --environment production"
|
|
3500
3466
|
],
|
|
3501
3467
|
"flags": {
|
|
3502
3468
|
"json": {
|
|
@@ -3528,17 +3494,31 @@
|
|
|
3528
3494
|
"allowNo": false,
|
|
3529
3495
|
"type": "boolean"
|
|
3530
3496
|
},
|
|
3531
|
-
"
|
|
3532
|
-
"
|
|
3533
|
-
"
|
|
3497
|
+
"workspace": {
|
|
3498
|
+
"char": "w",
|
|
3499
|
+
"description": "Workspace slug to use (overrides QUONFIG_WORKSPACE env var and saved default)",
|
|
3500
|
+
"helpGroup": "GLOBAL",
|
|
3501
|
+
"name": "workspace",
|
|
3534
3502
|
"required": false,
|
|
3535
3503
|
"hasDynamicHelp": false,
|
|
3536
3504
|
"multiple": false,
|
|
3537
3505
|
"type": "option"
|
|
3538
3506
|
},
|
|
3539
|
-
"
|
|
3540
|
-
"
|
|
3541
|
-
"
|
|
3507
|
+
"profile": {
|
|
3508
|
+
"char": "p",
|
|
3509
|
+
"description": "Deprecated: use --workspace instead",
|
|
3510
|
+
"helpGroup": "GLOBAL",
|
|
3511
|
+
"hidden": true,
|
|
3512
|
+
"name": "profile",
|
|
3513
|
+
"required": false,
|
|
3514
|
+
"hasDynamicHelp": false,
|
|
3515
|
+
"multiple": false,
|
|
3516
|
+
"type": "option"
|
|
3517
|
+
},
|
|
3518
|
+
"environment": {
|
|
3519
|
+
"char": "e",
|
|
3520
|
+
"description": "Filter by environment name",
|
|
3521
|
+
"name": "environment",
|
|
3542
3522
|
"required": false,
|
|
3543
3523
|
"hasDynamicHelp": false,
|
|
3544
3524
|
"multiple": false,
|
|
@@ -3547,7 +3527,7 @@
|
|
|
3547
3527
|
},
|
|
3548
3528
|
"hasDynamicHelp": false,
|
|
3549
3529
|
"hiddenAliases": [],
|
|
3550
|
-
"id": "
|
|
3530
|
+
"id": "sdk-key:list",
|
|
3551
3531
|
"pluginAlias": "@quonfig/cli",
|
|
3552
3532
|
"pluginName": "@quonfig/cli",
|
|
3553
3533
|
"pluginType": "core",
|
|
@@ -3557,23 +3537,22 @@
|
|
|
3557
3537
|
"relativePath": [
|
|
3558
3538
|
"dist",
|
|
3559
3539
|
"commands",
|
|
3560
|
-
"
|
|
3561
|
-
"
|
|
3540
|
+
"sdk-key",
|
|
3541
|
+
"list.js"
|
|
3562
3542
|
]
|
|
3563
3543
|
},
|
|
3564
|
-
"
|
|
3544
|
+
"sdk-key:revoke": {
|
|
3565
3545
|
"aliases": [],
|
|
3566
3546
|
"args": {
|
|
3567
|
-
"
|
|
3568
|
-
"description": "
|
|
3569
|
-
"name": "
|
|
3570
|
-
"required":
|
|
3547
|
+
"keyId": {
|
|
3548
|
+
"description": "ID of the SDK key to revoke",
|
|
3549
|
+
"name": "keyId",
|
|
3550
|
+
"required": true
|
|
3571
3551
|
}
|
|
3572
3552
|
},
|
|
3573
|
-
"description": "
|
|
3553
|
+
"description": "Revoke an SDK key by its ID",
|
|
3574
3554
|
"examples": [
|
|
3575
|
-
"<%= config.bin %> <%= command.id %>"
|
|
3576
|
-
"<%= config.bin %> <%= command.id %> acme/production"
|
|
3555
|
+
"<%= config.bin %> <%= command.id %> a1b2c3d4-e5f6-7890-abcd-ef1234567890"
|
|
3577
3556
|
],
|
|
3578
3557
|
"flags": {
|
|
3579
3558
|
"json": {
|
|
@@ -3604,11 +3583,32 @@
|
|
|
3604
3583
|
"name": "verbose",
|
|
3605
3584
|
"allowNo": false,
|
|
3606
3585
|
"type": "boolean"
|
|
3586
|
+
},
|
|
3587
|
+
"workspace": {
|
|
3588
|
+
"char": "w",
|
|
3589
|
+
"description": "Workspace slug to use (overrides QUONFIG_WORKSPACE env var and saved default)",
|
|
3590
|
+
"helpGroup": "GLOBAL",
|
|
3591
|
+
"name": "workspace",
|
|
3592
|
+
"required": false,
|
|
3593
|
+
"hasDynamicHelp": false,
|
|
3594
|
+
"multiple": false,
|
|
3595
|
+
"type": "option"
|
|
3596
|
+
},
|
|
3597
|
+
"profile": {
|
|
3598
|
+
"char": "p",
|
|
3599
|
+
"description": "Deprecated: use --workspace instead",
|
|
3600
|
+
"helpGroup": "GLOBAL",
|
|
3601
|
+
"hidden": true,
|
|
3602
|
+
"name": "profile",
|
|
3603
|
+
"required": false,
|
|
3604
|
+
"hasDynamicHelp": false,
|
|
3605
|
+
"multiple": false,
|
|
3606
|
+
"type": "option"
|
|
3607
3607
|
}
|
|
3608
3608
|
},
|
|
3609
3609
|
"hasDynamicHelp": false,
|
|
3610
3610
|
"hiddenAliases": [],
|
|
3611
|
-
"id": "
|
|
3611
|
+
"id": "sdk-key:revoke",
|
|
3612
3612
|
"pluginAlias": "@quonfig/cli",
|
|
3613
3613
|
"pluginName": "@quonfig/cli",
|
|
3614
3614
|
"pluginType": "core",
|
|
@@ -3618,10 +3618,10 @@
|
|
|
3618
3618
|
"relativePath": [
|
|
3619
3619
|
"dist",
|
|
3620
3620
|
"commands",
|
|
3621
|
-
"
|
|
3622
|
-
"
|
|
3621
|
+
"sdk-key",
|
|
3622
|
+
"revoke.js"
|
|
3623
3623
|
]
|
|
3624
3624
|
}
|
|
3625
3625
|
},
|
|
3626
|
-
"version": "0.0.
|
|
3626
|
+
"version": "0.0.52"
|
|
3627
3627
|
}
|
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.52",
|
|
5
5
|
"bugs": {
|
|
6
6
|
"url": "https://github.com/quonfig/cli/issues"
|
|
7
7
|
},
|