@quonfig/cli 0.0.10 → 0.0.12

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 (45) hide show
  1. package/README.md +154 -28
  2. package/dist/commands/get.js +46 -63
  3. package/dist/commands/migrate/doctor.d.ts +12 -0
  4. package/dist/commands/migrate/doctor.js +63 -0
  5. package/dist/commands/migrate/status.d.ts +10 -0
  6. package/dist/commands/migrate/status.js +112 -0
  7. package/dist/commands/migrate.d.ts +20 -0
  8. package/dist/commands/migrate.js +256 -0
  9. package/dist/migrate/doctor.d.ts +27 -0
  10. package/dist/migrate/doctor.js +220 -0
  11. package/dist/migrate/identifier-map.d.ts +14 -0
  12. package/dist/migrate/identifier-map.js +55 -0
  13. package/dist/migrate/import-state.d.ts +14 -0
  14. package/dist/migrate/import-state.js +60 -0
  15. package/dist/migrate/migration-report.d.ts +42 -0
  16. package/dist/migrate/migration-report.js +93 -0
  17. package/dist/migrate/push-strategy.d.ts +34 -0
  18. package/dist/migrate/push-strategy.js +133 -0
  19. package/dist/migrate/push-to-cloud.d.ts +15 -0
  20. package/dist/migrate/push-to-cloud.js +31 -0
  21. package/dist/migrate/registry.d.ts +6 -0
  22. package/dist/migrate/registry.js +25 -0
  23. package/dist/migrate/source.d.ts +22 -0
  24. package/dist/migrate/source.js +12 -0
  25. package/dist/migrate/sources/flagsmith.d.ts +2 -0
  26. package/dist/migrate/sources/flagsmith.js +18 -0
  27. package/dist/migrate/sources/launch/api.d.ts +7 -0
  28. package/dist/migrate/sources/launch/api.js +75 -0
  29. package/dist/migrate/sources/launch/translate.d.ts +6 -0
  30. package/dist/migrate/sources/launch/translate.js +190 -0
  31. package/dist/migrate/sources/launch/types.d.ts +68 -0
  32. package/dist/migrate/sources/launch/types.js +1 -0
  33. package/dist/migrate/sources/launch.d.ts +3 -0
  34. package/dist/migrate/sources/launch.js +70 -0
  35. package/dist/migrate/sources/launchdarkly.d.ts +2 -0
  36. package/dist/migrate/sources/launchdarkly.js +18 -0
  37. package/dist/ui/get-confirmation.d.ts +2 -1
  38. package/dist/ui/get-confirmation.js +9 -1
  39. package/dist/ui/get-value.d.ts +1 -1
  40. package/dist/ui/get-value.js +3 -2
  41. package/dist/util/is-interactive.d.ts +21 -1
  42. package/dist/util/is-interactive.js +21 -1
  43. package/dist/verify/validate.js +6 -1
  44. package/oclif.manifest.json +287 -1
  45. package/package.json +1 -1
@@ -932,6 +932,136 @@
932
932
  "mcp.js"
933
933
  ]
934
934
  },
935
+ "migrate": {
936
+ "aliases": [],
937
+ "args": {},
938
+ "description": "Migrate flags and configs from a legacy feature-flag system into a Quonfig workspace.\n\nCurrently supported sources:\n launch — Reforge Launch (ported from launch-migrator)\n\nSee https://docs.quonfig.com/docs/migrating/from-launch for the step-by-step guide,\nand https://docs.quonfig.com/docs/migrating/troubleshooting when something goes sideways.",
939
+ "examples": [
940
+ "<%= config.bin %> <%= command.id %> --from launch --api-key $LAUNCH_API_KEY --dir ./quonfig-config",
941
+ "<%= config.bin %> <%= command.id %> --from launch --api-key $LAUNCH_API_KEY --workspace acme-prod --push",
942
+ "<%= config.bin %> <%= command.id %> --from launch --api-key $LAUNCH_API_KEY --dir ./quonfig-config --reset",
943
+ "<%= config.bin %> <%= command.id %> --from launch --api-key $LAUNCH_API_KEY --dir ./quonfig-config --dry-run",
944
+ "<%= config.bin %> <%= command.id %> --from launch --api-key $LAUNCH_API_KEY --dir ./quonfig-config --staging"
945
+ ],
946
+ "flags": {
947
+ "json": {
948
+ "description": "Format output as json.",
949
+ "helpGroup": "GLOBAL",
950
+ "name": "json",
951
+ "allowNo": false,
952
+ "type": "boolean"
953
+ },
954
+ "interactive": {
955
+ "description": "Force interactive mode",
956
+ "helpGroup": "GLOBAL",
957
+ "name": "interactive",
958
+ "allowNo": true,
959
+ "type": "boolean"
960
+ },
961
+ "no-color": {
962
+ "description": "Do not colorize output",
963
+ "env": "NO_COLOR",
964
+ "helpGroup": "GLOBAL",
965
+ "name": "no-color",
966
+ "allowNo": false,
967
+ "type": "boolean"
968
+ },
969
+ "verbose": {
970
+ "description": "Verbose output",
971
+ "helpGroup": "GLOBAL",
972
+ "name": "verbose",
973
+ "allowNo": false,
974
+ "type": "boolean"
975
+ },
976
+ "api-key": {
977
+ "description": "API key for the legacy source (or set LAUNCH_API_KEY)",
978
+ "env": "LAUNCH_API_KEY",
979
+ "name": "api-key",
980
+ "hasDynamicHelp": false,
981
+ "multiple": false,
982
+ "type": "option"
983
+ },
984
+ "dir": {
985
+ "description": "Target local workspace directory. Defaults to cwd if it looks like a Quonfig workspace, otherwise ./quonfig-config.",
986
+ "name": "dir",
987
+ "hasDynamicHelp": false,
988
+ "multiple": false,
989
+ "type": "option"
990
+ },
991
+ "dry-run": {
992
+ "description": "Fetch and summarize changes without writing anything",
993
+ "name": "dry-run",
994
+ "allowNo": false,
995
+ "type": "boolean"
996
+ },
997
+ "from": {
998
+ "description": "Legacy source to migrate from",
999
+ "name": "from",
1000
+ "required": true,
1001
+ "hasDynamicHelp": false,
1002
+ "multiple": false,
1003
+ "options": [
1004
+ "launch",
1005
+ "launchdarkly",
1006
+ "flagsmith"
1007
+ ],
1008
+ "type": "option"
1009
+ },
1010
+ "push": {
1011
+ "description": "After migrating to a local dir, also push to the given --workspace on Quonfig cloud",
1012
+ "name": "push",
1013
+ "allowNo": false,
1014
+ "type": "boolean"
1015
+ },
1016
+ "recent": {
1017
+ "description": "Import only the last N changes (useful for tire-kicking)",
1018
+ "name": "recent",
1019
+ "hasDynamicHelp": false,
1020
+ "multiple": false,
1021
+ "type": "option"
1022
+ },
1023
+ "reset": {
1024
+ "description": "Ignore the delta cursor and re-import everything from scratch",
1025
+ "name": "reset",
1026
+ "allowNo": false,
1027
+ "type": "boolean"
1028
+ },
1029
+ "since": {
1030
+ "description": "Override the delta cursor (epoch milliseconds or ISO-8601 timestamp)",
1031
+ "name": "since",
1032
+ "hasDynamicHelp": false,
1033
+ "multiple": false,
1034
+ "type": "option"
1035
+ },
1036
+ "staging": {
1037
+ "description": "Hit the staging API for the source (dev-only)",
1038
+ "name": "staging",
1039
+ "allowNo": false,
1040
+ "type": "boolean"
1041
+ },
1042
+ "workspace": {
1043
+ "description": "Quonfig cloud workspace slug to push to. Requires `qfg login` and is typically combined with --push.",
1044
+ "name": "workspace",
1045
+ "hasDynamicHelp": false,
1046
+ "multiple": false,
1047
+ "type": "option"
1048
+ }
1049
+ },
1050
+ "hasDynamicHelp": false,
1051
+ "hiddenAliases": [],
1052
+ "id": "migrate",
1053
+ "pluginAlias": "@quonfig/cli",
1054
+ "pluginName": "@quonfig/cli",
1055
+ "pluginType": "core",
1056
+ "strict": true,
1057
+ "enableJsonFlag": true,
1058
+ "isESM": true,
1059
+ "relativePath": [
1060
+ "dist",
1061
+ "commands",
1062
+ "migrate.js"
1063
+ ]
1064
+ },
935
1065
  "override": {
936
1066
  "aliases": [],
937
1067
  "args": {
@@ -1822,6 +1952,162 @@
1822
1952
  "workspace.js"
1823
1953
  ]
1824
1954
  },
1955
+ "migrate:doctor": {
1956
+ "aliases": [],
1957
+ "args": {},
1958
+ "description": "Preflight health checks for `qfg migrate`. Verifies auth, workspace provisioning, working tree, and identifier collisions.",
1959
+ "examples": [
1960
+ "<%= config.bin %> <%= command.id %>",
1961
+ "<%= config.bin %> <%= command.id %> --from launch --api-key $LAUNCH_API_KEY",
1962
+ "<%= config.bin %> <%= command.id %> --dir ./my-workspace --language node",
1963
+ "<%= config.bin %> <%= command.id %> --json"
1964
+ ],
1965
+ "flags": {
1966
+ "json": {
1967
+ "description": "Format output as json.",
1968
+ "helpGroup": "GLOBAL",
1969
+ "name": "json",
1970
+ "allowNo": false,
1971
+ "type": "boolean"
1972
+ },
1973
+ "interactive": {
1974
+ "description": "Force interactive mode",
1975
+ "helpGroup": "GLOBAL",
1976
+ "name": "interactive",
1977
+ "allowNo": true,
1978
+ "type": "boolean"
1979
+ },
1980
+ "no-color": {
1981
+ "description": "Do not colorize output",
1982
+ "env": "NO_COLOR",
1983
+ "helpGroup": "GLOBAL",
1984
+ "name": "no-color",
1985
+ "allowNo": false,
1986
+ "type": "boolean"
1987
+ },
1988
+ "verbose": {
1989
+ "description": "Verbose output",
1990
+ "helpGroup": "GLOBAL",
1991
+ "name": "verbose",
1992
+ "allowNo": false,
1993
+ "type": "boolean"
1994
+ },
1995
+ "api-key": {
1996
+ "description": "Legacy SDK API key to validate against the source",
1997
+ "name": "api-key",
1998
+ "required": false,
1999
+ "hasDynamicHelp": false,
2000
+ "multiple": false,
2001
+ "type": "option"
2002
+ },
2003
+ "dir": {
2004
+ "description": "Workspace directory to check (git clean / identifier map)",
2005
+ "name": "dir",
2006
+ "default": ".",
2007
+ "hasDynamicHelp": false,
2008
+ "multiple": false,
2009
+ "type": "option"
2010
+ },
2011
+ "from": {
2012
+ "description": "Legacy SDK to migrate from",
2013
+ "name": "from",
2014
+ "default": "launch",
2015
+ "hasDynamicHelp": false,
2016
+ "multiple": false,
2017
+ "options": [
2018
+ "launch"
2019
+ ],
2020
+ "type": "option"
2021
+ },
2022
+ "language": {
2023
+ "description": "Customer SDK language — used to warn when datadir mode is unavailable (e.g. javascript-browser)",
2024
+ "name": "language",
2025
+ "required": false,
2026
+ "hasDynamicHelp": false,
2027
+ "multiple": false,
2028
+ "type": "option"
2029
+ }
2030
+ },
2031
+ "hasDynamicHelp": false,
2032
+ "hiddenAliases": [],
2033
+ "id": "migrate:doctor",
2034
+ "pluginAlias": "@quonfig/cli",
2035
+ "pluginName": "@quonfig/cli",
2036
+ "pluginType": "core",
2037
+ "strict": true,
2038
+ "enableJsonFlag": true,
2039
+ "isESM": true,
2040
+ "relativePath": [
2041
+ "dist",
2042
+ "commands",
2043
+ "migrate",
2044
+ "doctor.js"
2045
+ ]
2046
+ },
2047
+ "migrate:status": {
2048
+ "aliases": [],
2049
+ "args": {},
2050
+ "description": "Show the status of a workspace migrated with `qfg migrate`. Reads .qf/import-state.json and summarizes source, counts, and next steps.",
2051
+ "examples": [
2052
+ "<%= config.bin %> <%= command.id %>",
2053
+ "<%= config.bin %> <%= command.id %> --dir ./my-workspace",
2054
+ "<%= config.bin %> <%= command.id %> --json"
2055
+ ],
2056
+ "flags": {
2057
+ "json": {
2058
+ "description": "Format output as json.",
2059
+ "helpGroup": "GLOBAL",
2060
+ "name": "json",
2061
+ "allowNo": false,
2062
+ "type": "boolean"
2063
+ },
2064
+ "interactive": {
2065
+ "description": "Force interactive mode",
2066
+ "helpGroup": "GLOBAL",
2067
+ "name": "interactive",
2068
+ "allowNo": true,
2069
+ "type": "boolean"
2070
+ },
2071
+ "no-color": {
2072
+ "description": "Do not colorize output",
2073
+ "env": "NO_COLOR",
2074
+ "helpGroup": "GLOBAL",
2075
+ "name": "no-color",
2076
+ "allowNo": false,
2077
+ "type": "boolean"
2078
+ },
2079
+ "verbose": {
2080
+ "description": "Verbose output",
2081
+ "helpGroup": "GLOBAL",
2082
+ "name": "verbose",
2083
+ "allowNo": false,
2084
+ "type": "boolean"
2085
+ },
2086
+ "dir": {
2087
+ "description": "Workspace directory to inspect",
2088
+ "name": "dir",
2089
+ "default": ".",
2090
+ "hasDynamicHelp": false,
2091
+ "multiple": false,
2092
+ "type": "option"
2093
+ }
2094
+ },
2095
+ "hasDynamicHelp": false,
2096
+ "hiddenAliases": [],
2097
+ "id": "migrate:status",
2098
+ "pluginAlias": "@quonfig/cli",
2099
+ "pluginName": "@quonfig/cli",
2100
+ "pluginType": "core",
2101
+ "strict": true,
2102
+ "enableJsonFlag": true,
2103
+ "isESM": true,
2104
+ "relativePath": [
2105
+ "dist",
2106
+ "commands",
2107
+ "migrate",
2108
+ "status.js"
2109
+ ]
2110
+ },
1825
2111
  "sdk-key:create": {
1826
2112
  "aliases": [],
1827
2113
  "args": {},
@@ -2217,5 +2503,5 @@
2217
2503
  ]
2218
2504
  }
2219
2505
  },
2220
- "version": "0.0.10"
2506
+ "version": "0.0.12"
2221
2507
  }
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.10",
4
+ "version": "0.0.12",
5
5
  "bugs": {
6
6
  "url": "https://github.com/quonfig/cli/issues"
7
7
  },