@quonfig/cli 0.0.60 → 0.0.62
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 +50 -50
- package/dist/commands/pull.js +1 -1
- package/dist/commands/push.js +1 -1
- package/dist/commands/sync.d.ts +8 -0
- package/dist/commands/sync.js +32 -4
- package/dist/push/identity-check.d.ts +21 -0
- package/dist/push/identity-check.js +24 -0
- package/dist/util/resolve-workspace.d.ts +12 -4
- package/dist/util/resolve-workspace.js +44 -6
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/oclif.manifest.json +152 -152
- package/package.json +2 -2
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.62 linux-x64 node-v24.4.1
|
|
21
21
|
$ qfg --help [COMMAND]
|
|
22
22
|
USAGE
|
|
23
23
|
$ qfg COMMAND
|
|
@@ -201,7 +201,7 @@ EXAMPLES
|
|
|
201
201
|
$ qfg activity restore my.flag --yes
|
|
202
202
|
```
|
|
203
203
|
|
|
204
|
-
_See code: [src/commands/activity.ts](https://github.com/quonfig/cli/blob/v0.0.
|
|
204
|
+
_See code: [src/commands/activity.ts](https://github.com/quonfig/cli/blob/v0.0.62/src/commands/activity.ts)_
|
|
205
205
|
|
|
206
206
|
## `qfg activity deleted`
|
|
207
207
|
|
|
@@ -230,7 +230,7 @@ EXAMPLES
|
|
|
230
230
|
$ qfg activity deleted --json
|
|
231
231
|
```
|
|
232
232
|
|
|
233
|
-
_See code: [src/commands/activity/deleted.ts](https://github.com/quonfig/cli/blob/v0.0.
|
|
233
|
+
_See code: [src/commands/activity/deleted.ts](https://github.com/quonfig/cli/blob/v0.0.62/src/commands/activity/deleted.ts)_
|
|
234
234
|
|
|
235
235
|
## `qfg activity feed`
|
|
236
236
|
|
|
@@ -265,7 +265,7 @@ EXAMPLES
|
|
|
265
265
|
$ qfg activity feed --json
|
|
266
266
|
```
|
|
267
267
|
|
|
268
|
-
_See code: [src/commands/activity/feed.ts](https://github.com/quonfig/cli/blob/v0.0.
|
|
268
|
+
_See code: [src/commands/activity/feed.ts](https://github.com/quonfig/cli/blob/v0.0.62/src/commands/activity/feed.ts)_
|
|
269
269
|
|
|
270
270
|
## `qfg activity history [NAME]`
|
|
271
271
|
|
|
@@ -299,7 +299,7 @@ EXAMPLES
|
|
|
299
299
|
$ qfg activity history request.timeout --json
|
|
300
300
|
```
|
|
301
301
|
|
|
302
|
-
_See code: [src/commands/activity/history.ts](https://github.com/quonfig/cli/blob/v0.0.
|
|
302
|
+
_See code: [src/commands/activity/history.ts](https://github.com/quonfig/cli/blob/v0.0.62/src/commands/activity/history.ts)_
|
|
303
303
|
|
|
304
304
|
## `qfg activity restore [NAME]`
|
|
305
305
|
|
|
@@ -338,7 +338,7 @@ EXAMPLES
|
|
|
338
338
|
$ qfg activity restore request.timeout --type config --yes
|
|
339
339
|
```
|
|
340
340
|
|
|
341
|
-
_See code: [src/commands/activity/restore.ts](https://github.com/quonfig/cli/blob/v0.0.
|
|
341
|
+
_See code: [src/commands/activity/restore.ts](https://github.com/quonfig/cli/blob/v0.0.62/src/commands/activity/restore.ts)_
|
|
342
342
|
|
|
343
343
|
## `qfg audit-log [NAME]`
|
|
344
344
|
|
|
@@ -366,7 +366,7 @@ EXAMPLES
|
|
|
366
366
|
$ qfg audit-log my.flag
|
|
367
367
|
```
|
|
368
368
|
|
|
369
|
-
_See code: [src/commands/audit-log.ts](https://github.com/quonfig/cli/blob/v0.0.
|
|
369
|
+
_See code: [src/commands/audit-log.ts](https://github.com/quonfig/cli/blob/v0.0.62/src/commands/audit-log.ts)_
|
|
370
370
|
|
|
371
371
|
## `qfg cleanup`
|
|
372
372
|
|
|
@@ -407,7 +407,7 @@ EXAMPLES
|
|
|
407
407
|
$ qfg cleanup status my.flag.key
|
|
408
408
|
```
|
|
409
409
|
|
|
410
|
-
_See code: [src/commands/cleanup.ts](https://github.com/quonfig/cli/blob/v0.0.
|
|
410
|
+
_See code: [src/commands/cleanup.ts](https://github.com/quonfig/cli/blob/v0.0.62/src/commands/cleanup.ts)_
|
|
411
411
|
|
|
412
412
|
## `qfg cleanup list`
|
|
413
413
|
|
|
@@ -453,7 +453,7 @@ EXAMPLES
|
|
|
453
453
|
$ qfg cleanup list --json
|
|
454
454
|
```
|
|
455
455
|
|
|
456
|
-
_See code: [src/commands/cleanup/list.ts](https://github.com/quonfig/cli/blob/v0.0.
|
|
456
|
+
_See code: [src/commands/cleanup/list.ts](https://github.com/quonfig/cli/blob/v0.0.62/src/commands/cleanup/list.ts)_
|
|
457
457
|
|
|
458
458
|
## `qfg cleanup remove [NAME]`
|
|
459
459
|
|
|
@@ -498,7 +498,7 @@ EXAMPLES
|
|
|
498
498
|
$ qfg cleanup remove my.flag.key --json
|
|
499
499
|
```
|
|
500
500
|
|
|
501
|
-
_See code: [src/commands/cleanup/remove.ts](https://github.com/quonfig/cli/blob/v0.0.
|
|
501
|
+
_See code: [src/commands/cleanup/remove.ts](https://github.com/quonfig/cli/blob/v0.0.62/src/commands/cleanup/remove.ts)_
|
|
502
502
|
|
|
503
503
|
## `qfg cleanup status [NAME]`
|
|
504
504
|
|
|
@@ -538,7 +538,7 @@ EXAMPLES
|
|
|
538
538
|
$ qfg cleanup status my.flag.key --json
|
|
539
539
|
```
|
|
540
540
|
|
|
541
|
-
_See code: [src/commands/cleanup/status.ts](https://github.com/quonfig/cli/blob/v0.0.
|
|
541
|
+
_See code: [src/commands/cleanup/status.ts](https://github.com/quonfig/cli/blob/v0.0.62/src/commands/cleanup/status.ts)_
|
|
542
542
|
|
|
543
543
|
## `qfg cleanup verify [NAME]`
|
|
544
544
|
|
|
@@ -584,7 +584,7 @@ EXAMPLES
|
|
|
584
584
|
$ qfg cleanup verify my.flag.key && qfg delete my.flag.key
|
|
585
585
|
```
|
|
586
586
|
|
|
587
|
-
_See code: [src/commands/cleanup/verify.ts](https://github.com/quonfig/cli/blob/v0.0.
|
|
587
|
+
_See code: [src/commands/cleanup/verify.ts](https://github.com/quonfig/cli/blob/v0.0.62/src/commands/cleanup/verify.ts)_
|
|
588
588
|
|
|
589
589
|
## `qfg config-schema`
|
|
590
590
|
|
|
@@ -613,7 +613,7 @@ EXAMPLES
|
|
|
613
613
|
$ qfg config-schema --json-schema # full JSON Schema document (copy into your editor)
|
|
614
614
|
```
|
|
615
615
|
|
|
616
|
-
_See code: [src/commands/config-schema.ts](https://github.com/quonfig/cli/blob/v0.0.
|
|
616
|
+
_See code: [src/commands/config-schema.ts](https://github.com/quonfig/cli/blob/v0.0.62/src/commands/config-schema.ts)_
|
|
617
617
|
|
|
618
618
|
## `qfg create NAME`
|
|
619
619
|
|
|
@@ -700,7 +700,7 @@ EXAMPLES
|
|
|
700
700
|
$ qfg set-rollout my.new.flag --environment production --true-percent 20
|
|
701
701
|
```
|
|
702
702
|
|
|
703
|
-
_See code: [src/commands/create.ts](https://github.com/quonfig/cli/blob/v0.0.
|
|
703
|
+
_See code: [src/commands/create.ts](https://github.com/quonfig/cli/blob/v0.0.62/src/commands/create.ts)_
|
|
704
704
|
|
|
705
705
|
## `qfg delete NAME`
|
|
706
706
|
|
|
@@ -746,7 +746,7 @@ EXAMPLES
|
|
|
746
746
|
$ qfg delete my.config --yes
|
|
747
747
|
```
|
|
748
748
|
|
|
749
|
-
_See code: [src/commands/delete.ts](https://github.com/quonfig/cli/blob/v0.0.
|
|
749
|
+
_See code: [src/commands/delete.ts](https://github.com/quonfig/cli/blob/v0.0.62/src/commands/delete.ts)_
|
|
750
750
|
|
|
751
751
|
## `qfg flag info [NAME]`
|
|
752
752
|
|
|
@@ -950,7 +950,7 @@ EXAMPLES
|
|
|
950
950
|
$ qfg generate --targets node-ts -o ./dist # combine with targets
|
|
951
951
|
```
|
|
952
952
|
|
|
953
|
-
_See code: [src/commands/generate.ts](https://github.com/quonfig/cli/blob/v0.0.
|
|
953
|
+
_See code: [src/commands/generate.ts](https://github.com/quonfig/cli/blob/v0.0.62/src/commands/generate.ts)_
|
|
954
954
|
|
|
955
955
|
## `qfg generate-new-hex-key`
|
|
956
956
|
|
|
@@ -973,7 +973,7 @@ EXAMPLES
|
|
|
973
973
|
$ qfg generate-new-hex-key
|
|
974
974
|
```
|
|
975
975
|
|
|
976
|
-
_See code: [src/commands/generate-new-hex-key.ts](https://github.com/quonfig/cli/blob/v0.0.
|
|
976
|
+
_See code: [src/commands/generate-new-hex-key.ts](https://github.com/quonfig/cli/blob/v0.0.62/src/commands/generate-new-hex-key.ts)_
|
|
977
977
|
|
|
978
978
|
## `qfg get [NAME]`
|
|
979
979
|
|
|
@@ -1005,7 +1005,7 @@ EXAMPLES
|
|
|
1005
1005
|
$ qfg get my.config.name --environment=production
|
|
1006
1006
|
```
|
|
1007
1007
|
|
|
1008
|
-
_See code: [src/commands/get.ts](https://github.com/quonfig/cli/blob/v0.0.
|
|
1008
|
+
_See code: [src/commands/get.ts](https://github.com/quonfig/cli/blob/v0.0.62/src/commands/get.ts)_
|
|
1009
1009
|
|
|
1010
1010
|
## `qfg history NAME`
|
|
1011
1011
|
|
|
@@ -1031,7 +1031,7 @@ EXAMPLES
|
|
|
1031
1031
|
$ qfg history my.flag
|
|
1032
1032
|
```
|
|
1033
1033
|
|
|
1034
|
-
_See code: [src/commands/history.ts](https://github.com/quonfig/cli/blob/v0.0.
|
|
1034
|
+
_See code: [src/commands/history.ts](https://github.com/quonfig/cli/blob/v0.0.62/src/commands/history.ts)_
|
|
1035
1035
|
|
|
1036
1036
|
## `qfg info [NAME]`
|
|
1037
1037
|
|
|
@@ -1079,7 +1079,7 @@ EXAMPLES
|
|
|
1079
1079
|
$ qfg info my.config.name --exclude-evaluations # skip 24h stats
|
|
1080
1080
|
```
|
|
1081
1081
|
|
|
1082
|
-
_See code: [src/commands/info.ts](https://github.com/quonfig/cli/blob/v0.0.
|
|
1082
|
+
_See code: [src/commands/info.ts](https://github.com/quonfig/cli/blob/v0.0.62/src/commands/info.ts)_
|
|
1083
1083
|
|
|
1084
1084
|
## `qfg init [DIRECTORY]`
|
|
1085
1085
|
|
|
@@ -1119,7 +1119,7 @@ EXAMPLES
|
|
|
1119
1119
|
$ qfg init --dry-run
|
|
1120
1120
|
```
|
|
1121
1121
|
|
|
1122
|
-
_See code: [src/commands/init.ts](https://github.com/quonfig/cli/blob/v0.0.
|
|
1122
|
+
_See code: [src/commands/init.ts](https://github.com/quonfig/cli/blob/v0.0.62/src/commands/init.ts)_
|
|
1123
1123
|
|
|
1124
1124
|
## `qfg interactive`
|
|
1125
1125
|
|
|
@@ -1149,7 +1149,7 @@ EXAMPLES
|
|
|
1149
1149
|
$ qfg
|
|
1150
1150
|
```
|
|
1151
1151
|
|
|
1152
|
-
_See code: [src/commands/interactive.ts](https://github.com/quonfig/cli/blob/v0.0.
|
|
1152
|
+
_See code: [src/commands/interactive.ts](https://github.com/quonfig/cli/blob/v0.0.62/src/commands/interactive.ts)_
|
|
1153
1153
|
|
|
1154
1154
|
## `qfg list`
|
|
1155
1155
|
|
|
@@ -1189,7 +1189,7 @@ EXAMPLES
|
|
|
1189
1189
|
$ qfg list --feature-flags
|
|
1190
1190
|
```
|
|
1191
1191
|
|
|
1192
|
-
_See code: [src/commands/list.ts](https://github.com/quonfig/cli/blob/v0.0.
|
|
1192
|
+
_See code: [src/commands/list.ts](https://github.com/quonfig/cli/blob/v0.0.62/src/commands/list.ts)_
|
|
1193
1193
|
|
|
1194
1194
|
## `qfg log`
|
|
1195
1195
|
|
|
@@ -1214,7 +1214,7 @@ EXAMPLES
|
|
|
1214
1214
|
$ qfg log --limit 5
|
|
1215
1215
|
```
|
|
1216
1216
|
|
|
1217
|
-
_See code: [src/commands/log.ts](https://github.com/quonfig/cli/blob/v0.0.
|
|
1217
|
+
_See code: [src/commands/log.ts](https://github.com/quonfig/cli/blob/v0.0.62/src/commands/log.ts)_
|
|
1218
1218
|
|
|
1219
1219
|
## `qfg log-level NAME`
|
|
1220
1220
|
|
|
@@ -1279,7 +1279,7 @@ EXAMPLES
|
|
|
1279
1279
|
$ qfg log-level log-level.my-app --target=Chatty --value=INFO --environment=production
|
|
1280
1280
|
```
|
|
1281
1281
|
|
|
1282
|
-
_See code: [src/commands/log-level.ts](https://github.com/quonfig/cli/blob/v0.0.
|
|
1282
|
+
_See code: [src/commands/log-level.ts](https://github.com/quonfig/cli/blob/v0.0.62/src/commands/log-level.ts)_
|
|
1283
1283
|
|
|
1284
1284
|
## `qfg login`
|
|
1285
1285
|
|
|
@@ -1304,7 +1304,7 @@ EXAMPLES
|
|
|
1304
1304
|
$ qfg login --profile myprofile
|
|
1305
1305
|
```
|
|
1306
1306
|
|
|
1307
|
-
_See code: [src/commands/login.ts](https://github.com/quonfig/cli/blob/v0.0.
|
|
1307
|
+
_See code: [src/commands/login.ts](https://github.com/quonfig/cli/blob/v0.0.62/src/commands/login.ts)_
|
|
1308
1308
|
|
|
1309
1309
|
## `qfg logout`
|
|
1310
1310
|
|
|
@@ -1327,7 +1327,7 @@ EXAMPLES
|
|
|
1327
1327
|
$ qfg logout
|
|
1328
1328
|
```
|
|
1329
1329
|
|
|
1330
|
-
_See code: [src/commands/logout.ts](https://github.com/quonfig/cli/blob/v0.0.
|
|
1330
|
+
_See code: [src/commands/logout.ts](https://github.com/quonfig/cli/blob/v0.0.62/src/commands/logout.ts)_
|
|
1331
1331
|
|
|
1332
1332
|
## `qfg migrate`
|
|
1333
1333
|
|
|
@@ -1390,7 +1390,7 @@ EXAMPLES
|
|
|
1390
1390
|
$ qfg migrate --from launch --source-api-key $LAUNCH_API_KEY --dir ./quonfig-repo --staging
|
|
1391
1391
|
```
|
|
1392
1392
|
|
|
1393
|
-
_See code: [src/commands/migrate.ts](https://github.com/quonfig/cli/blob/v0.0.
|
|
1393
|
+
_See code: [src/commands/migrate.ts](https://github.com/quonfig/cli/blob/v0.0.62/src/commands/migrate.ts)_
|
|
1394
1394
|
|
|
1395
1395
|
## `qfg migrate doctor`
|
|
1396
1396
|
|
|
@@ -1428,7 +1428,7 @@ EXAMPLES
|
|
|
1428
1428
|
$ qfg migrate doctor --json
|
|
1429
1429
|
```
|
|
1430
1430
|
|
|
1431
|
-
_See code: [src/commands/migrate/doctor.ts](https://github.com/quonfig/cli/blob/v0.0.
|
|
1431
|
+
_See code: [src/commands/migrate/doctor.ts](https://github.com/quonfig/cli/blob/v0.0.62/src/commands/migrate/doctor.ts)_
|
|
1432
1432
|
|
|
1433
1433
|
## `qfg migrate my-code`
|
|
1434
1434
|
|
|
@@ -1460,7 +1460,7 @@ EXAMPLES
|
|
|
1460
1460
|
$ qfg migrate my-code --dry-run
|
|
1461
1461
|
```
|
|
1462
1462
|
|
|
1463
|
-
_See code: [src/commands/migrate/my-code.ts](https://github.com/quonfig/cli/blob/v0.0.
|
|
1463
|
+
_See code: [src/commands/migrate/my-code.ts](https://github.com/quonfig/cli/blob/v0.0.62/src/commands/migrate/my-code.ts)_
|
|
1464
1464
|
|
|
1465
1465
|
## `qfg migrate status`
|
|
1466
1466
|
|
|
@@ -1491,7 +1491,7 @@ EXAMPLES
|
|
|
1491
1491
|
$ qfg migrate status --json
|
|
1492
1492
|
```
|
|
1493
1493
|
|
|
1494
|
-
_See code: [src/commands/migrate/status.ts](https://github.com/quonfig/cli/blob/v0.0.
|
|
1494
|
+
_See code: [src/commands/migrate/status.ts](https://github.com/quonfig/cli/blob/v0.0.62/src/commands/migrate/status.ts)_
|
|
1495
1495
|
|
|
1496
1496
|
## `qfg override [NAME] [VALUE]`
|
|
1497
1497
|
|
|
@@ -1546,7 +1546,7 @@ EXAMPLES
|
|
|
1546
1546
|
$ qfg override my.flag true --env=staging
|
|
1547
1547
|
```
|
|
1548
1548
|
|
|
1549
|
-
_See code: [src/commands/override.ts](https://github.com/quonfig/cli/blob/v0.0.
|
|
1549
|
+
_See code: [src/commands/override.ts](https://github.com/quonfig/cli/blob/v0.0.62/src/commands/override.ts)_
|
|
1550
1550
|
|
|
1551
1551
|
## `qfg pull`
|
|
1552
1552
|
|
|
@@ -1594,7 +1594,7 @@ EXAMPLES
|
|
|
1594
1594
|
$ qfg pull # uses QUONFIG_DIR env var
|
|
1595
1595
|
```
|
|
1596
1596
|
|
|
1597
|
-
_See code: [src/commands/pull.ts](https://github.com/quonfig/cli/blob/v0.0.
|
|
1597
|
+
_See code: [src/commands/pull.ts](https://github.com/quonfig/cli/blob/v0.0.62/src/commands/pull.ts)_
|
|
1598
1598
|
|
|
1599
1599
|
## `qfg push`
|
|
1600
1600
|
|
|
@@ -1643,7 +1643,7 @@ EXAMPLES
|
|
|
1643
1643
|
$ qfg push --dir ./our-config --yes
|
|
1644
1644
|
```
|
|
1645
1645
|
|
|
1646
|
-
_See code: [src/commands/push.ts](https://github.com/quonfig/cli/blob/v0.0.
|
|
1646
|
+
_See code: [src/commands/push.ts](https://github.com/quonfig/cli/blob/v0.0.62/src/commands/push.ts)_
|
|
1647
1647
|
|
|
1648
1648
|
## `qfg run [COMMAND]`
|
|
1649
1649
|
|
|
@@ -1694,7 +1694,7 @@ EXAMPLES
|
|
|
1694
1694
|
$ qfg run --env DATABASE_URL=db.url --preserve-env --environment=staging -- npm test
|
|
1695
1695
|
```
|
|
1696
1696
|
|
|
1697
|
-
_See code: [src/commands/run.ts](https://github.com/quonfig/cli/blob/v0.0.
|
|
1697
|
+
_See code: [src/commands/run.ts](https://github.com/quonfig/cli/blob/v0.0.62/src/commands/run.ts)_
|
|
1698
1698
|
|
|
1699
1699
|
## `qfg schema NAME`
|
|
1700
1700
|
|
|
@@ -1732,7 +1732,7 @@ EXAMPLES
|
|
|
1732
1732
|
$ qfg schema my-schema --set-json-schema=@schemas/my-schema.json --protected
|
|
1733
1733
|
```
|
|
1734
1734
|
|
|
1735
|
-
_See code: [src/commands/schema.ts](https://github.com/quonfig/cli/blob/v0.0.
|
|
1735
|
+
_See code: [src/commands/schema.ts](https://github.com/quonfig/cli/blob/v0.0.62/src/commands/schema.ts)_
|
|
1736
1736
|
|
|
1737
1737
|
## `qfg sdk-key`
|
|
1738
1738
|
|
|
@@ -1759,7 +1759,7 @@ EXAMPLES
|
|
|
1759
1759
|
$ qfg sdk-key revoke <key-id>
|
|
1760
1760
|
```
|
|
1761
1761
|
|
|
1762
|
-
_See code: [src/commands/sdk-key.ts](https://github.com/quonfig/cli/blob/v0.0.
|
|
1762
|
+
_See code: [src/commands/sdk-key.ts](https://github.com/quonfig/cli/blob/v0.0.62/src/commands/sdk-key.ts)_
|
|
1763
1763
|
|
|
1764
1764
|
## `qfg sdk-key create`
|
|
1765
1765
|
|
|
@@ -1791,7 +1791,7 @@ EXAMPLES
|
|
|
1791
1791
|
$ qfg sdk-key create --environment staging --type browser
|
|
1792
1792
|
```
|
|
1793
1793
|
|
|
1794
|
-
_See code: [src/commands/sdk-key/create.ts](https://github.com/quonfig/cli/blob/v0.0.
|
|
1794
|
+
_See code: [src/commands/sdk-key/create.ts](https://github.com/quonfig/cli/blob/v0.0.62/src/commands/sdk-key/create.ts)_
|
|
1795
1795
|
|
|
1796
1796
|
## `qfg sdk-key list`
|
|
1797
1797
|
|
|
@@ -1820,7 +1820,7 @@ EXAMPLES
|
|
|
1820
1820
|
$ qfg sdk-key list --environment production
|
|
1821
1821
|
```
|
|
1822
1822
|
|
|
1823
|
-
_See code: [src/commands/sdk-key/list.ts](https://github.com/quonfig/cli/blob/v0.0.
|
|
1823
|
+
_See code: [src/commands/sdk-key/list.ts](https://github.com/quonfig/cli/blob/v0.0.62/src/commands/sdk-key/list.ts)_
|
|
1824
1824
|
|
|
1825
1825
|
## `qfg sdk-key revoke KEYID`
|
|
1826
1826
|
|
|
@@ -1847,7 +1847,7 @@ EXAMPLES
|
|
|
1847
1847
|
$ qfg sdk-key revoke a1b2c3d4-e5f6-7890-abcd-ef1234567890
|
|
1848
1848
|
```
|
|
1849
1849
|
|
|
1850
|
-
_See code: [src/commands/sdk-key/revoke.ts](https://github.com/quonfig/cli/blob/v0.0.
|
|
1850
|
+
_See code: [src/commands/sdk-key/revoke.ts](https://github.com/quonfig/cli/blob/v0.0.62/src/commands/sdk-key/revoke.ts)_
|
|
1851
1851
|
|
|
1852
1852
|
## `qfg serve`
|
|
1853
1853
|
|
|
@@ -1904,7 +1904,7 @@ EXAMPLES
|
|
|
1904
1904
|
$ qfg serve --port 6581 --frontend-sdk-key PUBLIC_KEY
|
|
1905
1905
|
```
|
|
1906
1906
|
|
|
1907
|
-
_See code: [src/commands/serve.ts](https://github.com/quonfig/cli/blob/v0.0.
|
|
1907
|
+
_See code: [src/commands/serve.ts](https://github.com/quonfig/cli/blob/v0.0.62/src/commands/serve.ts)_
|
|
1908
1908
|
|
|
1909
1909
|
## `qfg set-default [NAME]`
|
|
1910
1910
|
|
|
@@ -1975,7 +1975,7 @@ EXAMPLES
|
|
|
1975
1975
|
$ qfg pull && qfg config-schema
|
|
1976
1976
|
```
|
|
1977
1977
|
|
|
1978
|
-
_See code: [src/commands/set-default.ts](https://github.com/quonfig/cli/blob/v0.0.
|
|
1978
|
+
_See code: [src/commands/set-default.ts](https://github.com/quonfig/cli/blob/v0.0.62/src/commands/set-default.ts)_
|
|
1979
1979
|
|
|
1980
1980
|
## `qfg set-rollout [NAME]`
|
|
1981
1981
|
|
|
@@ -2052,7 +2052,7 @@ EXAMPLES
|
|
|
2052
2052
|
$ qfg set-rollout my.variant.flag --environment production --weights "a:33,b:33,c:34" --hash-by user.id
|
|
2053
2053
|
```
|
|
2054
2054
|
|
|
2055
|
-
_See code: [src/commands/set-rollout.ts](https://github.com/quonfig/cli/blob/v0.0.
|
|
2055
|
+
_See code: [src/commands/set-rollout.ts](https://github.com/quonfig/cli/blob/v0.0.62/src/commands/set-rollout.ts)_
|
|
2056
2056
|
|
|
2057
2057
|
## `qfg sync`
|
|
2058
2058
|
|
|
@@ -2084,7 +2084,7 @@ EXAMPLES
|
|
|
2084
2084
|
$ qfg sync --watch --dir ./our-config --interval 30
|
|
2085
2085
|
```
|
|
2086
2086
|
|
|
2087
|
-
_See code: [src/commands/sync.ts](https://github.com/quonfig/cli/blob/v0.0.
|
|
2087
|
+
_See code: [src/commands/sync.ts](https://github.com/quonfig/cli/blob/v0.0.62/src/commands/sync.ts)_
|
|
2088
2088
|
|
|
2089
2089
|
## `qfg toggle [NAME]`
|
|
2090
2090
|
|
|
@@ -2186,7 +2186,7 @@ EXAMPLES
|
|
|
2186
2186
|
$ qfg verify --json
|
|
2187
2187
|
```
|
|
2188
2188
|
|
|
2189
|
-
_See code: [src/commands/verify.ts](https://github.com/quonfig/cli/blob/v0.0.
|
|
2189
|
+
_See code: [src/commands/verify.ts](https://github.com/quonfig/cli/blob/v0.0.62/src/commands/verify.ts)_
|
|
2190
2190
|
|
|
2191
2191
|
## `qfg whoami`
|
|
2192
2192
|
|
|
@@ -2209,7 +2209,7 @@ EXAMPLES
|
|
|
2209
2209
|
$ qfg whoami
|
|
2210
2210
|
```
|
|
2211
2211
|
|
|
2212
|
-
_See code: [src/commands/whoami.ts](https://github.com/quonfig/cli/blob/v0.0.
|
|
2212
|
+
_See code: [src/commands/whoami.ts](https://github.com/quonfig/cli/blob/v0.0.62/src/commands/whoami.ts)_
|
|
2213
2213
|
|
|
2214
2214
|
## `qfg workspace`
|
|
2215
2215
|
|
|
@@ -2232,7 +2232,7 @@ EXAMPLES
|
|
|
2232
2232
|
$ qfg workspace
|
|
2233
2233
|
```
|
|
2234
2234
|
|
|
2235
|
-
_See code: [src/commands/workspace.ts](https://github.com/quonfig/cli/blob/v0.0.
|
|
2235
|
+
_See code: [src/commands/workspace.ts](https://github.com/quonfig/cli/blob/v0.0.62/src/commands/workspace.ts)_
|
|
2236
2236
|
|
|
2237
2237
|
## `qfg workspace bootstrap`
|
|
2238
2238
|
|
|
@@ -2265,7 +2265,7 @@ EXAMPLES
|
|
|
2265
2265
|
$ qfg workspace bootstrap --dir ./our-config --skip-validate
|
|
2266
2266
|
```
|
|
2267
2267
|
|
|
2268
|
-
_See code: [src/commands/workspace/bootstrap.ts](https://github.com/quonfig/cli/blob/v0.0.
|
|
2268
|
+
_See code: [src/commands/workspace/bootstrap.ts](https://github.com/quonfig/cli/blob/v0.0.62/src/commands/workspace/bootstrap.ts)_
|
|
2269
2269
|
|
|
2270
2270
|
## `qfg workspace create SLUG`
|
|
2271
2271
|
|
|
@@ -2299,7 +2299,7 @@ EXAMPLES
|
|
|
2299
2299
|
$ qfg workspace create my-team --org 11111111-1111-1111-1111-111111111111
|
|
2300
2300
|
```
|
|
2301
2301
|
|
|
2302
|
-
_See code: [src/commands/workspace/create.ts](https://github.com/quonfig/cli/blob/v0.0.
|
|
2302
|
+
_See code: [src/commands/workspace/create.ts](https://github.com/quonfig/cli/blob/v0.0.62/src/commands/workspace/create.ts)_
|
|
2303
2303
|
|
|
2304
2304
|
## `qfg workspace switch [SLUG]`
|
|
2305
2305
|
|
|
@@ -2327,7 +2327,7 @@ EXAMPLES
|
|
|
2327
2327
|
$ qfg workspace switch acme/production
|
|
2328
2328
|
```
|
|
2329
2329
|
|
|
2330
|
-
_See code: [src/commands/workspace/switch.ts](https://github.com/quonfig/cli/blob/v0.0.
|
|
2330
|
+
_See code: [src/commands/workspace/switch.ts](https://github.com/quonfig/cli/blob/v0.0.62/src/commands/workspace/switch.ts)_
|
|
2331
2331
|
<!-- commandsstop -->
|
|
2332
2332
|
|
|
2333
2333
|
## Local Development
|
package/dist/commands/pull.js
CHANGED
|
@@ -55,7 +55,7 @@ CLI shortcuts (no JSON editing needed for simple cases):
|
|
|
55
55
|
// Resolve workspace ID — supports both OAuth and QUONFIG_API_KEY paths,
|
|
56
56
|
// mirroring what APICommand does via get-client.ts so `qfg pull` behaves
|
|
57
57
|
// the same in CI as `qfg create` or `qfg push`.
|
|
58
|
-
const { workspaceId, orgSlug } = await resolveWorkspaceUuid(this, flags.workspace);
|
|
58
|
+
const { workspaceId, orgSlug } = await resolveWorkspaceUuid(this, flags.workspace, resolvedDir);
|
|
59
59
|
this.verboseLog('Pull', { workspaceId, orgSlug, dir: resolvedDir });
|
|
60
60
|
// Get or mint Gitea read token
|
|
61
61
|
const tokenEntry = await this.resolveTokenEntry(workspaceId, orgSlug);
|
package/dist/commands/push.js
CHANGED
|
@@ -66,7 +66,7 @@ Enforces three guards before touching the remote:
|
|
|
66
66
|
// Resolve requested target. --workspace > QUONFIG_WORKSPACE > active OAuth
|
|
67
67
|
// profile. Supports API-key mode for headless runs so `qfg push` behaves
|
|
68
68
|
// the same way `qfg create` does (both resolve via resolve-workspace.ts).
|
|
69
|
-
const { workspaceId: requestedTarget, orgSlug } = await resolveWorkspaceUuid(this, flags.workspace);
|
|
69
|
+
const { workspaceId: requestedTarget, orgSlug } = await resolveWorkspaceUuid(this, flags.workspace, resolvedDir);
|
|
70
70
|
const { deps, cleanup } = buildRealDeps(this, orgSlug);
|
|
71
71
|
try {
|
|
72
72
|
const result = await runPush({
|
package/dist/commands/sync.d.ts
CHANGED
|
@@ -16,4 +16,12 @@ export default class Sync extends BaseCommand {
|
|
|
16
16
|
private looksLike401;
|
|
17
17
|
private refreshToken;
|
|
18
18
|
private runSync;
|
|
19
|
+
/**
|
|
20
|
+
* Point `origin` at `repoUrl`, but refuse first if the dir already has a
|
|
21
|
+
* remote pointing at a DIFFERENT workspace (qfg-08i). Without this guard,
|
|
22
|
+
* `qfg sync --dir ./our-config` under an unrelated active profile silently
|
|
23
|
+
* rewrites origin to the wrong repo and fetches it in, producing phantom
|
|
24
|
+
* "diverged" state. Mirrors the guard `qfg pull` runs (qfg-glrd.3).
|
|
25
|
+
*/
|
|
26
|
+
private setRemoteGuarded;
|
|
19
27
|
}
|
package/dist/commands/sync.js
CHANGED
|
@@ -3,8 +3,9 @@ import { Flags } from '@oclif/core';
|
|
|
3
3
|
import { BaseCommand } from '../index.js';
|
|
4
4
|
import { loadGiteaToken, isGiteaTokenExpired, saveGiteaToken } from '../util/gitea-token-storage.js';
|
|
5
5
|
import { mintGiteaToken } from '../util/gitea-api.js';
|
|
6
|
+
import { evaluateOriginGuard } from '../push/identity-check.js';
|
|
6
7
|
import { resolveWorkspaceUuid } from '../util/resolve-workspace.js';
|
|
7
|
-
import { isGitRepo, isWorkingTreeClean, gitFetch, canFastForward, hasDivergedFromRemote, gitMergeFfOnly, gitSetRemote, } from '../util/git-ops.js';
|
|
8
|
+
import { isGitRepo, isWorkingTreeClean, gitFetch, canFastForward, hasDivergedFromRemote, gitMergeFfOnly, gitSetRemote, getAllRemoteUrls, getRemoteUrl, displayUrl, } from '../util/git-ops.js';
|
|
8
9
|
const sleep = (ms) => new Promise((resolve) => {
|
|
9
10
|
setTimeout(resolve, ms);
|
|
10
11
|
});
|
|
@@ -39,7 +40,7 @@ export default class Sync extends BaseCommand {
|
|
|
39
40
|
return this.err('No directory specified. Use --dir <path> or set QUONFIG_DIR.');
|
|
40
41
|
}
|
|
41
42
|
this.resolvedDir = path.resolve(dir);
|
|
42
|
-
const resolved = await resolveWorkspaceUuid(this);
|
|
43
|
+
const resolved = await resolveWorkspaceUuid(this, undefined, this.resolvedDir);
|
|
43
44
|
this.workspaceId = resolved.workspaceId;
|
|
44
45
|
this.orgSlug = resolved.orgSlug;
|
|
45
46
|
// Validate the directory is a git repo
|
|
@@ -68,7 +69,7 @@ export default class Sync extends BaseCommand {
|
|
|
68
69
|
await this.refreshToken();
|
|
69
70
|
return;
|
|
70
71
|
}
|
|
71
|
-
await
|
|
72
|
+
await this.setRemoteGuarded(entry.repoUrl);
|
|
72
73
|
}
|
|
73
74
|
looksLike401(err) {
|
|
74
75
|
const msg = err instanceof Error ? err.message : String(err);
|
|
@@ -78,7 +79,7 @@ export default class Sync extends BaseCommand {
|
|
|
78
79
|
const data = await mintGiteaToken(this.workspaceId, this.orgSlug, 'read', 'pull');
|
|
79
80
|
const entry = { token: data.token, repoUrl: data.repoUrl, expiresAt: data.expiresAt };
|
|
80
81
|
await saveGiteaToken(this.workspaceId, entry);
|
|
81
|
-
await
|
|
82
|
+
await this.setRemoteGuarded(entry.repoUrl);
|
|
82
83
|
this.verboseLog('Sync', 'Token refreshed.');
|
|
83
84
|
}
|
|
84
85
|
async runSync() {
|
|
@@ -136,4 +137,31 @@ export default class Sync extends BaseCommand {
|
|
|
136
137
|
}
|
|
137
138
|
}
|
|
138
139
|
}
|
|
140
|
+
/**
|
|
141
|
+
* Point `origin` at `repoUrl`, but refuse first if the dir already has a
|
|
142
|
+
* remote pointing at a DIFFERENT workspace (qfg-08i). Without this guard,
|
|
143
|
+
* `qfg sync --dir ./our-config` under an unrelated active profile silently
|
|
144
|
+
* rewrites origin to the wrong repo and fetches it in, producing phantom
|
|
145
|
+
* "diverged" state. Mirrors the guard `qfg pull` runs (qfg-glrd.3).
|
|
146
|
+
*/
|
|
147
|
+
async setRemoteGuarded(repoUrl) {
|
|
148
|
+
const allRemotes = await getAllRemoteUrls(this.resolvedDir);
|
|
149
|
+
const originUrl = await getRemoteUrl(this.resolvedDir);
|
|
150
|
+
const guard = evaluateOriginGuard(allRemotes, originUrl, repoUrl);
|
|
151
|
+
if (guard.kind === 'no-quonfig-remote') {
|
|
152
|
+
const remoteList = allRemotes.map((r) => ` - ${displayUrl(r)}`).join('\n');
|
|
153
|
+
this.error(`Refusing to sync ${this.resolvedDir}: no configured git remote matches the resolved Quonfig workspace.\n` +
|
|
154
|
+
`Configured remotes:\n${remoteList}\n` +
|
|
155
|
+
`Expected: ${displayUrl(repoUrl)}\n\n` +
|
|
156
|
+
`This usually means the active workspace doesn't match this directory. Pin it in quonfig.json ` +
|
|
157
|
+
`(\`"workspace": "<org>/<ws>"\`) or pass the right workspace, then retry — sync will not rewrite origin.`, { exit: 1 });
|
|
158
|
+
}
|
|
159
|
+
if (guard.kind === 'not-origin') {
|
|
160
|
+
this.error(`Refusing to sync ${this.resolvedDir}: the Quonfig remote is not named "origin".\n` +
|
|
161
|
+
` matching remote: ${displayUrl(guard.matching)}\n` +
|
|
162
|
+
` origin: ${originUrl ? displayUrl(originUrl) : '(unset)'}\n\n` +
|
|
163
|
+
`Rename the Quonfig remote to origin, or point origin at ${displayUrl(repoUrl)}.`, { exit: 1 });
|
|
164
|
+
}
|
|
165
|
+
await gitSetRemote(this.resolvedDir, repoUrl);
|
|
166
|
+
}
|
|
139
167
|
}
|
|
@@ -72,3 +72,24 @@ export declare function checkIdentity(input: IdentityCheckInput): IdentityCheckO
|
|
|
72
72
|
* to embed a fresh token).
|
|
73
73
|
*/
|
|
74
74
|
export declare function findQuonfigRemote(remotes: string[], backendRepoUrl: string): string | undefined;
|
|
75
|
+
export type OriginGuardResult = {
|
|
76
|
+
kind: 'ok';
|
|
77
|
+
} | {
|
|
78
|
+
kind: 'no-quonfig-remote';
|
|
79
|
+
} | {
|
|
80
|
+
kind: 'not-origin';
|
|
81
|
+
matching: string;
|
|
82
|
+
};
|
|
83
|
+
/**
|
|
84
|
+
* Decide — WITHOUT mutating git — whether a working dir's remotes are safe to
|
|
85
|
+
* point at `backendRepoUrl`. Pure, so it unit-tests cleanly. Mirrors the
|
|
86
|
+
* inline guard `qfg pull` already runs (qfg-glrd.3); `qfg sync` uses it so it
|
|
87
|
+
* stops blindly rewriting `origin` to the active workspace and corrupting a
|
|
88
|
+
* dir pinned to a different one (qfg-08i).
|
|
89
|
+
*
|
|
90
|
+
* - No remotes configured -> 'ok' (fresh dir; caller may set origin).
|
|
91
|
+
* - A remote matches & is origin -> 'ok'.
|
|
92
|
+
* - A remote matches but isn't origin -> 'not-origin' (refuse; don't clobber).
|
|
93
|
+
* - Remotes exist, none match -> 'no-quonfig-remote' (refuse).
|
|
94
|
+
*/
|
|
95
|
+
export declare function evaluateOriginGuard(allRemotes: string[], originUrl: string | null, backendRepoUrl: string): OriginGuardResult;
|
|
@@ -188,3 +188,27 @@ export function findQuonfigRemote(remotes, backendRepoUrl) {
|
|
|
188
188
|
}
|
|
189
189
|
return undefined;
|
|
190
190
|
}
|
|
191
|
+
/**
|
|
192
|
+
* Decide — WITHOUT mutating git — whether a working dir's remotes are safe to
|
|
193
|
+
* point at `backendRepoUrl`. Pure, so it unit-tests cleanly. Mirrors the
|
|
194
|
+
* inline guard `qfg pull` already runs (qfg-glrd.3); `qfg sync` uses it so it
|
|
195
|
+
* stops blindly rewriting `origin` to the active workspace and corrupting a
|
|
196
|
+
* dir pinned to a different one (qfg-08i).
|
|
197
|
+
*
|
|
198
|
+
* - No remotes configured -> 'ok' (fresh dir; caller may set origin).
|
|
199
|
+
* - A remote matches & is origin -> 'ok'.
|
|
200
|
+
* - A remote matches but isn't origin -> 'not-origin' (refuse; don't clobber).
|
|
201
|
+
* - Remotes exist, none match -> 'no-quonfig-remote' (refuse).
|
|
202
|
+
*/
|
|
203
|
+
export function evaluateOriginGuard(allRemotes, originUrl, backendRepoUrl) {
|
|
204
|
+
if (allRemotes.length === 0)
|
|
205
|
+
return { kind: 'ok' };
|
|
206
|
+
const matching = findQuonfigRemote(allRemotes, backendRepoUrl);
|
|
207
|
+
if (!matching)
|
|
208
|
+
return { kind: 'no-quonfig-remote' };
|
|
209
|
+
const target = normalizeRemoteUrl(backendRepoUrl);
|
|
210
|
+
const originMatches = originUrl !== null && normalizeRemoteUrl(originUrl) === target;
|
|
211
|
+
if (!originMatches)
|
|
212
|
+
return { kind: 'not-origin', matching };
|
|
213
|
+
return { kind: 'ok' };
|
|
214
|
+
}
|
|
@@ -14,11 +14,19 @@ export interface ResolvedWorkspace {
|
|
|
14
14
|
* don't extend APICommand (e.g. pull, push — which talk to Gitea, not the
|
|
15
15
|
* oRPC API, but still need to mint a Gitea token for the right org).
|
|
16
16
|
*
|
|
17
|
-
*
|
|
18
|
-
* 1.
|
|
19
|
-
* 2.
|
|
17
|
+
* Resolution precedence (qfg-08i):
|
|
18
|
+
* 1. --workspace flag
|
|
19
|
+
* 2. QUONFIG_WORKSPACE env
|
|
20
|
+
* 3. the target dir's quonfig.json `workspace` pin (when `dir` is given)
|
|
21
|
+
* 4. active OAuth profile / QUONFIG_API_KEY + QUONFIG_WORKSPACE
|
|
22
|
+
*
|
|
23
|
+
* Ranking the pin above the active profile makes a pinned workspace dir
|
|
24
|
+
* self-describing: a bare `qfg pull`/`qfg sync` inside it targets the pinned
|
|
25
|
+
* workspace no matter which workspace the user's default profile points at.
|
|
26
|
+
* Without this, `qfg sync --dir ./our-config` under an unrelated active
|
|
27
|
+
* profile would rewrite that dir's git origin to the wrong workspace.
|
|
20
28
|
*
|
|
21
29
|
* Mirrors the error messages from get-client.ts so behavior feels identical
|
|
22
30
|
* whether you're hitting the API directly or going through Gitea.
|
|
23
31
|
*/
|
|
24
|
-
export declare function resolveWorkspaceUuid(command: BaseCommand, flagOverride?: string): Promise<ResolvedWorkspace>;
|
|
32
|
+
export declare function resolveWorkspaceUuid(command: BaseCommand, flagOverride?: string, dir?: string): Promise<ResolvedWorkspace>;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { getApiUrl } from './domain-urls.js';
|
|
2
2
|
import { getValidAccessToken } from './get-valid-token.js';
|
|
3
|
-
import { tryParseWorkspacePin } from './quonfig-json.js';
|
|
3
|
+
import { readWorkspaceSlug, tryParseWorkspacePin } from './quonfig-json.js';
|
|
4
4
|
import { findOrgIdBySlug, getActiveProfile, loadAuthConfig, loadTokens, saveAuthConfig, } from './token-storage.js';
|
|
5
5
|
const UUID_PATTERN = /^[\da-f]{8}(?:-[\da-f]{4}){3}-[\da-f]{12}$/i;
|
|
6
6
|
const BARE_SLUG_ENV_MIGRATION_MESSAGE = 'QUONFIG_WORKSPACE must be in org/workspace form (e.g. acme/foo). ' +
|
|
@@ -10,15 +10,26 @@ const BARE_SLUG_ENV_MIGRATION_MESSAGE = 'QUONFIG_WORKSPACE must be in org/worksp
|
|
|
10
10
|
* don't extend APICommand (e.g. pull, push — which talk to Gitea, not the
|
|
11
11
|
* oRPC API, but still need to mint a Gitea token for the right org).
|
|
12
12
|
*
|
|
13
|
-
*
|
|
14
|
-
* 1.
|
|
15
|
-
* 2.
|
|
13
|
+
* Resolution precedence (qfg-08i):
|
|
14
|
+
* 1. --workspace flag
|
|
15
|
+
* 2. QUONFIG_WORKSPACE env
|
|
16
|
+
* 3. the target dir's quonfig.json `workspace` pin (when `dir` is given)
|
|
17
|
+
* 4. active OAuth profile / QUONFIG_API_KEY + QUONFIG_WORKSPACE
|
|
18
|
+
*
|
|
19
|
+
* Ranking the pin above the active profile makes a pinned workspace dir
|
|
20
|
+
* self-describing: a bare `qfg pull`/`qfg sync` inside it targets the pinned
|
|
21
|
+
* workspace no matter which workspace the user's default profile points at.
|
|
22
|
+
* Without this, `qfg sync --dir ./our-config` under an unrelated active
|
|
23
|
+
* profile would rewrite that dir's git origin to the wrong workspace.
|
|
16
24
|
*
|
|
17
25
|
* Mirrors the error messages from get-client.ts so behavior feels identical
|
|
18
26
|
* whether you're hitting the API directly or going through Gitea.
|
|
19
27
|
*/
|
|
20
|
-
export async function resolveWorkspaceUuid(command, flagOverride) {
|
|
21
|
-
|
|
28
|
+
export async function resolveWorkspaceUuid(command, flagOverride, dir) {
|
|
29
|
+
// The pin only acts as a fallback BELOW the flag and env var, so a user can
|
|
30
|
+
// always point a pinned dir at a different workspace for a one-off command.
|
|
31
|
+
const pinOverride = flagOverride || process.env.QUONFIG_WORKSPACE ? undefined : await readPinOverride(command, dir);
|
|
32
|
+
const override = flagOverride ?? process.env.QUONFIG_WORKSPACE ?? pinOverride;
|
|
22
33
|
const apiKey = process.env.QUONFIG_API_KEY;
|
|
23
34
|
if (apiKey && apiKey.length > 0) {
|
|
24
35
|
if (!override) {
|
|
@@ -93,6 +104,33 @@ export async function resolveWorkspaceUuid(command, flagOverride) {
|
|
|
93
104
|
}
|
|
94
105
|
return { workspaceId: profileData.workspace, orgSlug: profileData.organizationSlug };
|
|
95
106
|
}
|
|
107
|
+
/**
|
|
108
|
+
* Read the `<org>/<ws>` workspace pin from `<dir>/quonfig.json`, returning it
|
|
109
|
+
* as the same override string the flag/env path accepts. Returns `undefined`
|
|
110
|
+
* when no dir is given, the file/field is absent, or the pin can't be parsed
|
|
111
|
+
* (e.g. a legacy bare slug) — resolution then falls through to the active
|
|
112
|
+
* profile, exactly as before this fix. A malformed pin must never crash
|
|
113
|
+
* `qfg pull`/`qfg sync`, so all errors degrade to `undefined` with a verbose
|
|
114
|
+
* log rather than propagating.
|
|
115
|
+
*/
|
|
116
|
+
async function readPinOverride(command, dir) {
|
|
117
|
+
if (!dir)
|
|
118
|
+
return undefined;
|
|
119
|
+
try {
|
|
120
|
+
const pin = await readWorkspaceSlug(dir);
|
|
121
|
+
if (!pin)
|
|
122
|
+
return undefined;
|
|
123
|
+
command.verboseLog('resolve-workspace: using quonfig.json pin', pin);
|
|
124
|
+
return `${pin.orgSlug}/${pin.workspaceSlug}`;
|
|
125
|
+
}
|
|
126
|
+
catch (error) {
|
|
127
|
+
command.verboseLog('resolve-workspace: ignoring unreadable quonfig.json pin', {
|
|
128
|
+
dir,
|
|
129
|
+
error: error instanceof Error ? error.message : String(error),
|
|
130
|
+
});
|
|
131
|
+
return undefined;
|
|
132
|
+
}
|
|
133
|
+
}
|
|
96
134
|
/**
|
|
97
135
|
* OAuth-mode resolver for an explicit `<org-slug>/<workspace-slug>` override.
|
|
98
136
|
*
|
package/dist/version.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
declare const _default: "0.0.
|
|
1
|
+
declare const _default: "0.0.62";
|
|
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.62';
|
package/oclif.manifest.json
CHANGED
|
@@ -3417,13 +3417,15 @@
|
|
|
3417
3417
|
"verify.js"
|
|
3418
3418
|
]
|
|
3419
3419
|
},
|
|
3420
|
-
"
|
|
3420
|
+
"migrate:doctor": {
|
|
3421
3421
|
"aliases": [],
|
|
3422
3422
|
"args": {},
|
|
3423
|
-
"description": "
|
|
3423
|
+
"description": "Preflight health checks for `qfg migrate`. Verifies auth, workspace provisioning, working tree, and identifier collisions.",
|
|
3424
3424
|
"examples": [
|
|
3425
|
-
"<%= config.bin %> <%= command.id %>
|
|
3426
|
-
"<%= config.bin %> <%= command.id %> --
|
|
3425
|
+
"<%= config.bin %> <%= command.id %>",
|
|
3426
|
+
"<%= config.bin %> <%= command.id %> --from launch --api-key $LAUNCH_API_KEY",
|
|
3427
|
+
"<%= config.bin %> <%= command.id %> --dir ./my-workspace --language node",
|
|
3428
|
+
"<%= config.bin %> <%= command.id %> --json"
|
|
3427
3429
|
],
|
|
3428
3430
|
"flags": {
|
|
3429
3431
|
"json": {
|
|
@@ -3455,53 +3457,45 @@
|
|
|
3455
3457
|
"allowNo": false,
|
|
3456
3458
|
"type": "boolean"
|
|
3457
3459
|
},
|
|
3458
|
-
"
|
|
3459
|
-
"
|
|
3460
|
-
"
|
|
3461
|
-
"helpGroup": "GLOBAL",
|
|
3462
|
-
"name": "workspace",
|
|
3460
|
+
"api-key": {
|
|
3461
|
+
"description": "Legacy SDK API key to validate against the source",
|
|
3462
|
+
"name": "api-key",
|
|
3463
3463
|
"required": false,
|
|
3464
3464
|
"hasDynamicHelp": false,
|
|
3465
3465
|
"multiple": false,
|
|
3466
3466
|
"type": "option"
|
|
3467
3467
|
},
|
|
3468
|
-
"
|
|
3469
|
-
"
|
|
3470
|
-
"
|
|
3471
|
-
"
|
|
3472
|
-
"hidden": true,
|
|
3473
|
-
"name": "profile",
|
|
3474
|
-
"required": false,
|
|
3468
|
+
"dir": {
|
|
3469
|
+
"description": "Workspace directory to check (git clean / identifier map)",
|
|
3470
|
+
"name": "dir",
|
|
3471
|
+
"default": ".",
|
|
3475
3472
|
"hasDynamicHelp": false,
|
|
3476
3473
|
"multiple": false,
|
|
3477
3474
|
"type": "option"
|
|
3478
3475
|
},
|
|
3479
|
-
"
|
|
3480
|
-
"
|
|
3481
|
-
"
|
|
3482
|
-
"
|
|
3483
|
-
"required": false,
|
|
3476
|
+
"from": {
|
|
3477
|
+
"description": "Legacy SDK to migrate from",
|
|
3478
|
+
"name": "from",
|
|
3479
|
+
"default": "launch",
|
|
3484
3480
|
"hasDynamicHelp": false,
|
|
3485
3481
|
"multiple": false,
|
|
3482
|
+
"options": [
|
|
3483
|
+
"launch"
|
|
3484
|
+
],
|
|
3486
3485
|
"type": "option"
|
|
3487
3486
|
},
|
|
3488
|
-
"
|
|
3489
|
-
"
|
|
3490
|
-
"
|
|
3491
|
-
"name": "type",
|
|
3487
|
+
"language": {
|
|
3488
|
+
"description": "Customer SDK language — used to warn when datadir mode is unavailable (e.g. javascript-browser)",
|
|
3489
|
+
"name": "language",
|
|
3492
3490
|
"required": false,
|
|
3493
3491
|
"hasDynamicHelp": false,
|
|
3494
3492
|
"multiple": false,
|
|
3495
|
-
"options": [
|
|
3496
|
-
"server",
|
|
3497
|
-
"browser"
|
|
3498
|
-
],
|
|
3499
3493
|
"type": "option"
|
|
3500
3494
|
}
|
|
3501
3495
|
},
|
|
3502
3496
|
"hasDynamicHelp": false,
|
|
3503
3497
|
"hiddenAliases": [],
|
|
3504
|
-
"id": "
|
|
3498
|
+
"id": "migrate:doctor",
|
|
3505
3499
|
"pluginAlias": "@quonfig/cli",
|
|
3506
3500
|
"pluginName": "@quonfig/cli",
|
|
3507
3501
|
"pluginType": "core",
|
|
@@ -3511,17 +3505,18 @@
|
|
|
3511
3505
|
"relativePath": [
|
|
3512
3506
|
"dist",
|
|
3513
3507
|
"commands",
|
|
3514
|
-
"
|
|
3515
|
-
"
|
|
3508
|
+
"migrate",
|
|
3509
|
+
"doctor.js"
|
|
3516
3510
|
]
|
|
3517
3511
|
},
|
|
3518
|
-
"
|
|
3512
|
+
"migrate:my-code": {
|
|
3519
3513
|
"aliases": [],
|
|
3520
3514
|
"args": {},
|
|
3521
|
-
"description": "
|
|
3515
|
+
"description": "Migrate Launch SDK call sites in your codebase to Quonfig SDK call sites (invokes the qfg-migrate-code Claude skill)",
|
|
3522
3516
|
"examples": [
|
|
3523
3517
|
"<%= config.bin %> <%= command.id %>",
|
|
3524
|
-
"<%= config.bin %> <%= command.id %> --
|
|
3518
|
+
"<%= config.bin %> <%= command.id %> --from launch",
|
|
3519
|
+
"<%= config.bin %> <%= command.id %> --dry-run"
|
|
3525
3520
|
],
|
|
3526
3521
|
"flags": {
|
|
3527
3522
|
"json": {
|
|
@@ -3553,40 +3548,27 @@
|
|
|
3553
3548
|
"allowNo": false,
|
|
3554
3549
|
"type": "boolean"
|
|
3555
3550
|
},
|
|
3556
|
-
"
|
|
3557
|
-
"
|
|
3558
|
-
"
|
|
3559
|
-
"
|
|
3560
|
-
"
|
|
3561
|
-
"required": false,
|
|
3562
|
-
"hasDynamicHelp": false,
|
|
3563
|
-
"multiple": false,
|
|
3564
|
-
"type": "option"
|
|
3565
|
-
},
|
|
3566
|
-
"profile": {
|
|
3567
|
-
"char": "p",
|
|
3568
|
-
"description": "Deprecated: use --workspace instead",
|
|
3569
|
-
"helpGroup": "GLOBAL",
|
|
3570
|
-
"hidden": true,
|
|
3571
|
-
"name": "profile",
|
|
3572
|
-
"required": false,
|
|
3573
|
-
"hasDynamicHelp": false,
|
|
3574
|
-
"multiple": false,
|
|
3575
|
-
"type": "option"
|
|
3551
|
+
"dry-run": {
|
|
3552
|
+
"description": "Show what would be migrated without editing any files",
|
|
3553
|
+
"name": "dry-run",
|
|
3554
|
+
"allowNo": false,
|
|
3555
|
+
"type": "boolean"
|
|
3576
3556
|
},
|
|
3577
|
-
"
|
|
3578
|
-
"
|
|
3579
|
-
"
|
|
3580
|
-
"
|
|
3581
|
-
"required": false,
|
|
3557
|
+
"from": {
|
|
3558
|
+
"description": "Legacy SDK to migrate from",
|
|
3559
|
+
"name": "from",
|
|
3560
|
+
"default": "launch",
|
|
3582
3561
|
"hasDynamicHelp": false,
|
|
3583
3562
|
"multiple": false,
|
|
3563
|
+
"options": [
|
|
3564
|
+
"launch"
|
|
3565
|
+
],
|
|
3584
3566
|
"type": "option"
|
|
3585
3567
|
}
|
|
3586
3568
|
},
|
|
3587
3569
|
"hasDynamicHelp": false,
|
|
3588
3570
|
"hiddenAliases": [],
|
|
3589
|
-
"id": "
|
|
3571
|
+
"id": "migrate:my-code",
|
|
3590
3572
|
"pluginAlias": "@quonfig/cli",
|
|
3591
3573
|
"pluginName": "@quonfig/cli",
|
|
3592
3574
|
"pluginType": "core",
|
|
@@ -3596,22 +3578,18 @@
|
|
|
3596
3578
|
"relativePath": [
|
|
3597
3579
|
"dist",
|
|
3598
3580
|
"commands",
|
|
3599
|
-
"
|
|
3600
|
-
"
|
|
3581
|
+
"migrate",
|
|
3582
|
+
"my-code.js"
|
|
3601
3583
|
]
|
|
3602
3584
|
},
|
|
3603
|
-
"
|
|
3585
|
+
"migrate:status": {
|
|
3604
3586
|
"aliases": [],
|
|
3605
|
-
"args": {
|
|
3606
|
-
|
|
3607
|
-
"description": "ID of the SDK key to revoke",
|
|
3608
|
-
"name": "keyId",
|
|
3609
|
-
"required": true
|
|
3610
|
-
}
|
|
3611
|
-
},
|
|
3612
|
-
"description": "Revoke an SDK key by its ID",
|
|
3587
|
+
"args": {},
|
|
3588
|
+
"description": "Show the status of a workspace migrated with `qfg migrate`. Reads .qf/import-state.json and summarizes source, counts, and next steps.",
|
|
3613
3589
|
"examples": [
|
|
3614
|
-
"<%= config.bin %> <%= command.id %>
|
|
3590
|
+
"<%= config.bin %> <%= command.id %>",
|
|
3591
|
+
"<%= config.bin %> <%= command.id %> --dir ./my-workspace",
|
|
3592
|
+
"<%= config.bin %> <%= command.id %> --json"
|
|
3615
3593
|
],
|
|
3616
3594
|
"flags": {
|
|
3617
3595
|
"json": {
|
|
@@ -3643,23 +3621,10 @@
|
|
|
3643
3621
|
"allowNo": false,
|
|
3644
3622
|
"type": "boolean"
|
|
3645
3623
|
},
|
|
3646
|
-
"
|
|
3647
|
-
"
|
|
3648
|
-
"
|
|
3649
|
-
"
|
|
3650
|
-
"name": "workspace",
|
|
3651
|
-
"required": false,
|
|
3652
|
-
"hasDynamicHelp": false,
|
|
3653
|
-
"multiple": false,
|
|
3654
|
-
"type": "option"
|
|
3655
|
-
},
|
|
3656
|
-
"profile": {
|
|
3657
|
-
"char": "p",
|
|
3658
|
-
"description": "Deprecated: use --workspace instead",
|
|
3659
|
-
"helpGroup": "GLOBAL",
|
|
3660
|
-
"hidden": true,
|
|
3661
|
-
"name": "profile",
|
|
3662
|
-
"required": false,
|
|
3624
|
+
"dir": {
|
|
3625
|
+
"description": "Workspace directory to inspect",
|
|
3626
|
+
"name": "dir",
|
|
3627
|
+
"default": ".",
|
|
3663
3628
|
"hasDynamicHelp": false,
|
|
3664
3629
|
"multiple": false,
|
|
3665
3630
|
"type": "option"
|
|
@@ -3667,7 +3632,7 @@
|
|
|
3667
3632
|
},
|
|
3668
3633
|
"hasDynamicHelp": false,
|
|
3669
3634
|
"hiddenAliases": [],
|
|
3670
|
-
"id": "
|
|
3635
|
+
"id": "migrate:status",
|
|
3671
3636
|
"pluginAlias": "@quonfig/cli",
|
|
3672
3637
|
"pluginName": "@quonfig/cli",
|
|
3673
3638
|
"pluginType": "core",
|
|
@@ -3677,19 +3642,17 @@
|
|
|
3677
3642
|
"relativePath": [
|
|
3678
3643
|
"dist",
|
|
3679
3644
|
"commands",
|
|
3680
|
-
"
|
|
3681
|
-
"
|
|
3645
|
+
"migrate",
|
|
3646
|
+
"status.js"
|
|
3682
3647
|
]
|
|
3683
3648
|
},
|
|
3684
|
-
"
|
|
3649
|
+
"sdk-key:create": {
|
|
3685
3650
|
"aliases": [],
|
|
3686
3651
|
"args": {},
|
|
3687
|
-
"description": "
|
|
3652
|
+
"description": "Create a new SDK key",
|
|
3688
3653
|
"examples": [
|
|
3689
|
-
"<%= config.bin %> <%= command.id %>",
|
|
3690
|
-
"<%= config.bin %> <%= command.id %> --
|
|
3691
|
-
"<%= config.bin %> <%= command.id %> --dir ./my-workspace --language node",
|
|
3692
|
-
"<%= config.bin %> <%= command.id %> --json"
|
|
3654
|
+
"<%= config.bin %> <%= command.id %> --environment production --type server",
|
|
3655
|
+
"<%= config.bin %> <%= command.id %> --environment staging --type browser"
|
|
3693
3656
|
],
|
|
3694
3657
|
"flags": {
|
|
3695
3658
|
"json": {
|
|
@@ -3721,45 +3684,53 @@
|
|
|
3721
3684
|
"allowNo": false,
|
|
3722
3685
|
"type": "boolean"
|
|
3723
3686
|
},
|
|
3724
|
-
"
|
|
3725
|
-
"
|
|
3726
|
-
"
|
|
3687
|
+
"workspace": {
|
|
3688
|
+
"char": "w",
|
|
3689
|
+
"description": "Workspace slug to use (overrides QUONFIG_WORKSPACE env var and saved default)",
|
|
3690
|
+
"helpGroup": "GLOBAL",
|
|
3691
|
+
"name": "workspace",
|
|
3727
3692
|
"required": false,
|
|
3728
3693
|
"hasDynamicHelp": false,
|
|
3729
3694
|
"multiple": false,
|
|
3730
3695
|
"type": "option"
|
|
3731
3696
|
},
|
|
3732
|
-
"
|
|
3733
|
-
"
|
|
3734
|
-
"
|
|
3735
|
-
"
|
|
3697
|
+
"profile": {
|
|
3698
|
+
"char": "p",
|
|
3699
|
+
"description": "Deprecated: use --workspace instead",
|
|
3700
|
+
"helpGroup": "GLOBAL",
|
|
3701
|
+
"hidden": true,
|
|
3702
|
+
"name": "profile",
|
|
3703
|
+
"required": false,
|
|
3736
3704
|
"hasDynamicHelp": false,
|
|
3737
3705
|
"multiple": false,
|
|
3738
3706
|
"type": "option"
|
|
3739
3707
|
},
|
|
3740
|
-
"
|
|
3741
|
-
"
|
|
3742
|
-
"
|
|
3743
|
-
"
|
|
3708
|
+
"environment": {
|
|
3709
|
+
"char": "e",
|
|
3710
|
+
"description": "Environment name (e.g. production, staging)",
|
|
3711
|
+
"name": "environment",
|
|
3712
|
+
"required": false,
|
|
3744
3713
|
"hasDynamicHelp": false,
|
|
3745
3714
|
"multiple": false,
|
|
3746
|
-
"options": [
|
|
3747
|
-
"launch"
|
|
3748
|
-
],
|
|
3749
3715
|
"type": "option"
|
|
3750
3716
|
},
|
|
3751
|
-
"
|
|
3752
|
-
"
|
|
3753
|
-
"
|
|
3717
|
+
"type": {
|
|
3718
|
+
"char": "t",
|
|
3719
|
+
"description": "Key type: server (backend) or browser (frontend)",
|
|
3720
|
+
"name": "type",
|
|
3754
3721
|
"required": false,
|
|
3755
3722
|
"hasDynamicHelp": false,
|
|
3756
3723
|
"multiple": false,
|
|
3724
|
+
"options": [
|
|
3725
|
+
"server",
|
|
3726
|
+
"browser"
|
|
3727
|
+
],
|
|
3757
3728
|
"type": "option"
|
|
3758
3729
|
}
|
|
3759
3730
|
},
|
|
3760
3731
|
"hasDynamicHelp": false,
|
|
3761
3732
|
"hiddenAliases": [],
|
|
3762
|
-
"id": "
|
|
3733
|
+
"id": "sdk-key:create",
|
|
3763
3734
|
"pluginAlias": "@quonfig/cli",
|
|
3764
3735
|
"pluginName": "@quonfig/cli",
|
|
3765
3736
|
"pluginType": "core",
|
|
@@ -3769,18 +3740,17 @@
|
|
|
3769
3740
|
"relativePath": [
|
|
3770
3741
|
"dist",
|
|
3771
3742
|
"commands",
|
|
3772
|
-
"
|
|
3773
|
-
"
|
|
3743
|
+
"sdk-key",
|
|
3744
|
+
"create.js"
|
|
3774
3745
|
]
|
|
3775
3746
|
},
|
|
3776
|
-
"
|
|
3747
|
+
"sdk-key:list": {
|
|
3777
3748
|
"aliases": [],
|
|
3778
3749
|
"args": {},
|
|
3779
|
-
"description": "
|
|
3750
|
+
"description": "List SDK keys for your workspace",
|
|
3780
3751
|
"examples": [
|
|
3781
3752
|
"<%= config.bin %> <%= command.id %>",
|
|
3782
|
-
"<%= config.bin %> <%= command.id %> --
|
|
3783
|
-
"<%= config.bin %> <%= command.id %> --dry-run"
|
|
3753
|
+
"<%= config.bin %> <%= command.id %> --environment production"
|
|
3784
3754
|
],
|
|
3785
3755
|
"flags": {
|
|
3786
3756
|
"json": {
|
|
@@ -3812,27 +3782,40 @@
|
|
|
3812
3782
|
"allowNo": false,
|
|
3813
3783
|
"type": "boolean"
|
|
3814
3784
|
},
|
|
3815
|
-
"
|
|
3816
|
-
"
|
|
3817
|
-
"
|
|
3818
|
-
"
|
|
3819
|
-
"
|
|
3785
|
+
"workspace": {
|
|
3786
|
+
"char": "w",
|
|
3787
|
+
"description": "Workspace slug to use (overrides QUONFIG_WORKSPACE env var and saved default)",
|
|
3788
|
+
"helpGroup": "GLOBAL",
|
|
3789
|
+
"name": "workspace",
|
|
3790
|
+
"required": false,
|
|
3791
|
+
"hasDynamicHelp": false,
|
|
3792
|
+
"multiple": false,
|
|
3793
|
+
"type": "option"
|
|
3820
3794
|
},
|
|
3821
|
-
"
|
|
3822
|
-
"
|
|
3823
|
-
"
|
|
3824
|
-
"
|
|
3795
|
+
"profile": {
|
|
3796
|
+
"char": "p",
|
|
3797
|
+
"description": "Deprecated: use --workspace instead",
|
|
3798
|
+
"helpGroup": "GLOBAL",
|
|
3799
|
+
"hidden": true,
|
|
3800
|
+
"name": "profile",
|
|
3801
|
+
"required": false,
|
|
3802
|
+
"hasDynamicHelp": false,
|
|
3803
|
+
"multiple": false,
|
|
3804
|
+
"type": "option"
|
|
3805
|
+
},
|
|
3806
|
+
"environment": {
|
|
3807
|
+
"char": "e",
|
|
3808
|
+
"description": "Filter by environment name",
|
|
3809
|
+
"name": "environment",
|
|
3810
|
+
"required": false,
|
|
3825
3811
|
"hasDynamicHelp": false,
|
|
3826
3812
|
"multiple": false,
|
|
3827
|
-
"options": [
|
|
3828
|
-
"launch"
|
|
3829
|
-
],
|
|
3830
3813
|
"type": "option"
|
|
3831
3814
|
}
|
|
3832
3815
|
},
|
|
3833
3816
|
"hasDynamicHelp": false,
|
|
3834
3817
|
"hiddenAliases": [],
|
|
3835
|
-
"id": "
|
|
3818
|
+
"id": "sdk-key:list",
|
|
3836
3819
|
"pluginAlias": "@quonfig/cli",
|
|
3837
3820
|
"pluginName": "@quonfig/cli",
|
|
3838
3821
|
"pluginType": "core",
|
|
@@ -3842,18 +3825,22 @@
|
|
|
3842
3825
|
"relativePath": [
|
|
3843
3826
|
"dist",
|
|
3844
3827
|
"commands",
|
|
3845
|
-
"
|
|
3846
|
-
"
|
|
3828
|
+
"sdk-key",
|
|
3829
|
+
"list.js"
|
|
3847
3830
|
]
|
|
3848
3831
|
},
|
|
3849
|
-
"
|
|
3832
|
+
"sdk-key:revoke": {
|
|
3850
3833
|
"aliases": [],
|
|
3851
|
-
"args": {
|
|
3852
|
-
|
|
3834
|
+
"args": {
|
|
3835
|
+
"keyId": {
|
|
3836
|
+
"description": "ID of the SDK key to revoke",
|
|
3837
|
+
"name": "keyId",
|
|
3838
|
+
"required": true
|
|
3839
|
+
}
|
|
3840
|
+
},
|
|
3841
|
+
"description": "Revoke an SDK key by its ID",
|
|
3853
3842
|
"examples": [
|
|
3854
|
-
"<%= config.bin %> <%= command.id %>"
|
|
3855
|
-
"<%= config.bin %> <%= command.id %> --dir ./my-workspace",
|
|
3856
|
-
"<%= config.bin %> <%= command.id %> --json"
|
|
3843
|
+
"<%= config.bin %> <%= command.id %> a1b2c3d4-e5f6-7890-abcd-ef1234567890"
|
|
3857
3844
|
],
|
|
3858
3845
|
"flags": {
|
|
3859
3846
|
"json": {
|
|
@@ -3885,10 +3872,23 @@
|
|
|
3885
3872
|
"allowNo": false,
|
|
3886
3873
|
"type": "boolean"
|
|
3887
3874
|
},
|
|
3888
|
-
"
|
|
3889
|
-
"
|
|
3890
|
-
"
|
|
3891
|
-
"
|
|
3875
|
+
"workspace": {
|
|
3876
|
+
"char": "w",
|
|
3877
|
+
"description": "Workspace slug to use (overrides QUONFIG_WORKSPACE env var and saved default)",
|
|
3878
|
+
"helpGroup": "GLOBAL",
|
|
3879
|
+
"name": "workspace",
|
|
3880
|
+
"required": false,
|
|
3881
|
+
"hasDynamicHelp": false,
|
|
3882
|
+
"multiple": false,
|
|
3883
|
+
"type": "option"
|
|
3884
|
+
},
|
|
3885
|
+
"profile": {
|
|
3886
|
+
"char": "p",
|
|
3887
|
+
"description": "Deprecated: use --workspace instead",
|
|
3888
|
+
"helpGroup": "GLOBAL",
|
|
3889
|
+
"hidden": true,
|
|
3890
|
+
"name": "profile",
|
|
3891
|
+
"required": false,
|
|
3892
3892
|
"hasDynamicHelp": false,
|
|
3893
3893
|
"multiple": false,
|
|
3894
3894
|
"type": "option"
|
|
@@ -3896,7 +3896,7 @@
|
|
|
3896
3896
|
},
|
|
3897
3897
|
"hasDynamicHelp": false,
|
|
3898
3898
|
"hiddenAliases": [],
|
|
3899
|
-
"id": "
|
|
3899
|
+
"id": "sdk-key:revoke",
|
|
3900
3900
|
"pluginAlias": "@quonfig/cli",
|
|
3901
3901
|
"pluginName": "@quonfig/cli",
|
|
3902
3902
|
"pluginType": "core",
|
|
@@ -3906,8 +3906,8 @@
|
|
|
3906
3906
|
"relativePath": [
|
|
3907
3907
|
"dist",
|
|
3908
3908
|
"commands",
|
|
3909
|
-
"
|
|
3910
|
-
"
|
|
3909
|
+
"sdk-key",
|
|
3910
|
+
"revoke.js"
|
|
3911
3911
|
]
|
|
3912
3912
|
},
|
|
3913
3913
|
"workspace:bootstrap": {
|
|
@@ -4126,5 +4126,5 @@
|
|
|
4126
4126
|
]
|
|
4127
4127
|
}
|
|
4128
4128
|
},
|
|
4129
|
-
"version": "0.0.
|
|
4129
|
+
"version": "0.0.62"
|
|
4130
4130
|
}
|
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.62",
|
|
5
5
|
"bugs": {
|
|
6
6
|
"url": "https://github.com/quonfig/cli/issues"
|
|
7
7
|
},
|
|
@@ -21,7 +21,7 @@
|
|
|
21
21
|
"@oclif/core": "^3.18.2",
|
|
22
22
|
"@oclif/plugin-help": "^6",
|
|
23
23
|
"@oclif/plugin-plugins": "^4",
|
|
24
|
-
"@quonfig/node": "^0.0
|
|
24
|
+
"@quonfig/node": "^1.0.0",
|
|
25
25
|
"acorn": "^8.10.0",
|
|
26
26
|
"acorn-walk": "^8.3.5",
|
|
27
27
|
"chalk": "^5.6.2",
|