@quonfig/cli 0.0.14 → 0.0.16

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.
Files changed (39) hide show
  1. package/README.md +93 -37
  2. package/dist/commands/init.d.ts +1 -0
  3. package/dist/commands/init.js +18 -0
  4. package/dist/commands/migrate.js +1 -1
  5. package/dist/commands/pull.d.ts +14 -1
  6. package/dist/commands/pull.js +64 -4
  7. package/dist/commands/push.d.ts +53 -0
  8. package/dist/commands/push.js +370 -0
  9. package/dist/commands/workspace/bootstrap.d.ts +7 -0
  10. package/dist/commands/workspace/bootstrap.js +58 -2
  11. package/dist/commands/workspace/switch.d.ts +3 -0
  12. package/dist/commands/workspace/switch.js +25 -3
  13. package/dist/commands/workspace.d.ts +1 -0
  14. package/dist/commands/workspace.js +55 -0
  15. package/dist/migrate/local-write.d.ts +1 -1
  16. package/dist/migrate/local-write.js +1 -1
  17. package/dist/migrate/push-to-cloud.d.ts +1 -1
  18. package/dist/migrate/push-to-cloud.js +1 -1
  19. package/dist/push/bare-path-diff.d.ts +40 -0
  20. package/dist/push/bare-path-diff.js +126 -0
  21. package/dist/push/confirm.d.ts +10 -0
  22. package/dist/push/confirm.js +108 -0
  23. package/dist/push/diff-summary.d.ts +56 -0
  24. package/dist/push/diff-summary.js +115 -0
  25. package/dist/push/identity-check.d.ts +53 -0
  26. package/dist/push/identity-check.js +135 -0
  27. package/dist/push/run-push.d.ts +107 -0
  28. package/dist/push/run-push.js +318 -0
  29. package/dist/util/get-client.js +1 -1
  30. package/dist/util/gitea-api.d.ts +15 -1
  31. package/dist/util/gitea-api.js +1 -0
  32. package/dist/util/gitea-token-storage.d.ts +7 -0
  33. package/dist/util/quonfig-json.d.ts +44 -0
  34. package/dist/util/quonfig-json.js +65 -0
  35. package/dist/verify/validate.js +6 -2
  36. package/oclif.manifest.json +113 -3
  37. package/package.json +1 -1
  38. /package/dist/{migrate/push-strategy.d.ts → util/clone-and-stack-push.d.ts} +0 -0
  39. /package/dist/{migrate/push-strategy.js → util/clone-and-stack-push.js} +0 -0
@@ -567,6 +567,14 @@
567
567
  "name": "samples",
568
568
  "allowNo": true,
569
569
  "type": "boolean"
570
+ },
571
+ "workspace": {
572
+ "description": "Workspace slug to pin in quonfig.json (Guard 1). If omitted, no pin is written.",
573
+ "name": "workspace",
574
+ "required": false,
575
+ "hasDynamicHelp": false,
576
+ "multiple": false,
577
+ "type": "option"
570
578
  }
571
579
  },
572
580
  "hasDynamicHelp": false,
@@ -1287,6 +1295,101 @@
1287
1295
  "pull.js"
1288
1296
  ]
1289
1297
  },
1298
+ "push": {
1299
+ "aliases": [],
1300
+ "args": {},
1301
+ "description": "Push local config changes up to your workspace on Quonfig cloud.\n\nEnforces three guards before touching the remote:\n 1. The dir's quonfig.json \"workspace\" pin must match the backend (if set).\n 2. The dir's git origin must match the backend repo URL (if set).\n 3. A diff summary is shown; destructive changes (10+ deletes, >=25% of\n files, or an unpinned dir) require typing the workspace slug to confirm.\n\n qfg push # uses QUONFIG_DIR + profile workspace\n qfg push --dir ./our-config\n qfg push --dir ./our-config --workspace acme-prod\n qfg push --dir ./our-config --yes # skip normal Y/N (never skips typed-slug)\n qfg push --dir ./our-config --skip-validate",
1302
+ "examples": [
1303
+ "<%= config.bin %> push --dir ./our-config",
1304
+ "<%= config.bin %> push --workspace acme-prod --dir ./our-config",
1305
+ "<%= config.bin %> push --dir ./our-config --yes"
1306
+ ],
1307
+ "flags": {
1308
+ "json": {
1309
+ "description": "Format output as json.",
1310
+ "helpGroup": "GLOBAL",
1311
+ "name": "json",
1312
+ "allowNo": false,
1313
+ "type": "boolean"
1314
+ },
1315
+ "interactive": {
1316
+ "description": "Force interactive mode",
1317
+ "helpGroup": "GLOBAL",
1318
+ "name": "interactive",
1319
+ "allowNo": true,
1320
+ "type": "boolean"
1321
+ },
1322
+ "no-color": {
1323
+ "description": "Do not colorize output",
1324
+ "env": "NO_COLOR",
1325
+ "helpGroup": "GLOBAL",
1326
+ "name": "no-color",
1327
+ "allowNo": false,
1328
+ "type": "boolean"
1329
+ },
1330
+ "verbose": {
1331
+ "description": "Verbose output",
1332
+ "helpGroup": "GLOBAL",
1333
+ "name": "verbose",
1334
+ "allowNo": false,
1335
+ "type": "boolean"
1336
+ },
1337
+ "dir": {
1338
+ "description": "Local directory to push (defaults to QUONFIG_DIR env var)",
1339
+ "name": "dir",
1340
+ "hasDynamicHelp": false,
1341
+ "multiple": false,
1342
+ "type": "option"
1343
+ },
1344
+ "workspace": {
1345
+ "description": "Workspace slug or UUID (defaults to active profile)",
1346
+ "name": "workspace",
1347
+ "hasDynamicHelp": false,
1348
+ "multiple": false,
1349
+ "type": "option"
1350
+ },
1351
+ "yes": {
1352
+ "description": "Skip the standard Y/N confirm. Never skips typed-slug prompts.",
1353
+ "name": "yes",
1354
+ "allowNo": false,
1355
+ "type": "boolean"
1356
+ },
1357
+ "skip-validate": {
1358
+ "description": "Skip `qfg validate` preflight",
1359
+ "name": "skip-validate",
1360
+ "allowNo": false,
1361
+ "type": "boolean"
1362
+ },
1363
+ "no-pin-write": {
1364
+ "description": "Do not offer to write workspace slug into quonfig.json on success",
1365
+ "name": "no-pin-write",
1366
+ "allowNo": false,
1367
+ "type": "boolean"
1368
+ },
1369
+ "message": {
1370
+ "char": "m",
1371
+ "description": "Commit message for bare-path pushes (ignored on clone-path; push what is already committed)",
1372
+ "name": "message",
1373
+ "hasDynamicHelp": false,
1374
+ "multiple": false,
1375
+ "type": "option"
1376
+ }
1377
+ },
1378
+ "hasDynamicHelp": false,
1379
+ "hiddenAliases": [],
1380
+ "id": "push",
1381
+ "pluginAlias": "@quonfig/cli",
1382
+ "pluginName": "@quonfig/cli",
1383
+ "pluginType": "core",
1384
+ "strict": true,
1385
+ "enableJsonFlag": true,
1386
+ "isESM": true,
1387
+ "relativePath": [
1388
+ "dist",
1389
+ "commands",
1390
+ "push.js"
1391
+ ]
1392
+ },
1290
1393
  "schema": {
1291
1394
  "aliases": [],
1292
1395
  "args": {
@@ -2526,10 +2629,17 @@
2526
2629
  },
2527
2630
  "workspace:switch": {
2528
2631
  "aliases": [],
2529
- "args": {},
2632
+ "args": {
2633
+ "slug": {
2634
+ "description": "Workspace slug (or UUID) to switch to. Omit for an interactive picker.",
2635
+ "name": "slug",
2636
+ "required": false
2637
+ }
2638
+ },
2530
2639
  "description": "Switch to a different workspace",
2531
2640
  "examples": [
2532
- "<%= config.bin %> <%= command.id %>"
2641
+ "<%= config.bin %> <%= command.id %>",
2642
+ "<%= config.bin %> <%= command.id %> my-workspace-slug"
2533
2643
  ],
2534
2644
  "flags": {
2535
2645
  "json": {
@@ -2579,5 +2689,5 @@
2579
2689
  ]
2580
2690
  }
2581
2691
  },
2582
- "version": "0.0.14"
2692
+ "version": "0.0.16"
2583
2693
  }
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.14",
4
+ "version": "0.0.16",
5
5
  "bugs": {
6
6
  "url": "https://github.com/quonfig/cli/issues"
7
7
  },