stepzen 0.44.0 → 0.45.0-beta.0

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 (236) hide show
  1. package/README.md +76 -71
  2. package/bin/dev.cmd +1 -1
  3. package/bin/dev.js +6 -0
  4. package/bin/{run → run.js} +6 -20
  5. package/lib/commands/delete.d.ts +3 -3
  6. package/lib/commands/delete.d.ts.map +1 -1
  7. package/lib/commands/delete.js +32 -33
  8. package/lib/commands/delete.js.map +1 -1
  9. package/lib/commands/deploy.d.ts +10 -12
  10. package/lib/commands/deploy.d.ts.map +1 -1
  11. package/lib/commands/deploy.js +98 -98
  12. package/lib/commands/deploy.js.map +1 -1
  13. package/lib/commands/import/curl.d.ts +17 -24
  14. package/lib/commands/import/curl.d.ts.map +1 -1
  15. package/lib/commands/import/curl.js +85 -85
  16. package/lib/commands/import/curl.js.map +1 -1
  17. package/lib/commands/import/db2.d.ts +20 -28
  18. package/lib/commands/import/db2.d.ts.map +1 -1
  19. package/lib/commands/import/db2.js +59 -62
  20. package/lib/commands/import/db2.js.map +1 -1
  21. package/lib/commands/import/flow.d.ts +10 -71
  22. package/lib/commands/import/flow.d.ts.map +1 -1
  23. package/lib/commands/import/flow.js +39 -43
  24. package/lib/commands/import/flow.js.map +1 -1
  25. package/lib/commands/import/graphql.d.ts +10 -18
  26. package/lib/commands/import/graphql.d.ts.map +1 -1
  27. package/lib/commands/import/graphql.js +38 -42
  28. package/lib/commands/import/graphql.js.map +1 -1
  29. package/lib/commands/import/index.d.ts +7 -10
  30. package/lib/commands/import/index.d.ts.map +1 -1
  31. package/lib/commands/import/index.js +52 -53
  32. package/lib/commands/import/index.js.map +1 -1
  33. package/lib/commands/import/mysql.d.ts +14 -22
  34. package/lib/commands/import/mysql.d.ts.map +1 -1
  35. package/lib/commands/import/mysql.js +53 -56
  36. package/lib/commands/import/mysql.js.map +1 -1
  37. package/lib/commands/import/openapi.d.ts +9 -16
  38. package/lib/commands/import/openapi.d.ts.map +1 -1
  39. package/lib/commands/import/openapi.js +38 -41
  40. package/lib/commands/import/openapi.js.map +1 -1
  41. package/lib/commands/import/oracle.d.ts +19 -26
  42. package/lib/commands/import/oracle.d.ts.map +1 -1
  43. package/lib/commands/import/oracle.js +56 -59
  44. package/lib/commands/import/oracle.js.map +1 -1
  45. package/lib/commands/import/postgresql.d.ts +15 -23
  46. package/lib/commands/import/postgresql.d.ts.map +1 -1
  47. package/lib/commands/import/postgresql.js +54 -57
  48. package/lib/commands/import/postgresql.js.map +1 -1
  49. package/lib/commands/import/presto.d.ts +14 -22
  50. package/lib/commands/import/presto.d.ts.map +1 -1
  51. package/lib/commands/import/presto.js +57 -60
  52. package/lib/commands/import/presto.js.map +1 -1
  53. package/lib/commands/import/snowflake.d.ts +16 -24
  54. package/lib/commands/import/snowflake.d.ts.map +1 -1
  55. package/lib/commands/import/snowflake.js +61 -64
  56. package/lib/commands/import/snowflake.js.map +1 -1
  57. package/lib/commands/init.d.ts +5 -7
  58. package/lib/commands/init.d.ts.map +1 -1
  59. package/lib/commands/init.js +22 -22
  60. package/lib/commands/init.js.map +1 -1
  61. package/lib/commands/lint.d.ts +2 -4
  62. package/lib/commands/lint.d.ts.map +1 -1
  63. package/lib/commands/lint.js +15 -18
  64. package/lib/commands/lint.js.map +1 -1
  65. package/lib/commands/list.d.ts +4 -6
  66. package/lib/commands/list.d.ts.map +1 -1
  67. package/lib/commands/list.js +66 -63
  68. package/lib/commands/list.js.map +1 -1
  69. package/lib/commands/login.d.ts +8 -10
  70. package/lib/commands/login.d.ts.map +1 -1
  71. package/lib/commands/login.js +94 -92
  72. package/lib/commands/login.js.map +1 -1
  73. package/lib/commands/logout.d.ts +2 -3
  74. package/lib/commands/logout.d.ts.map +1 -1
  75. package/lib/commands/logout.js +8 -11
  76. package/lib/commands/logout.js.map +1 -1
  77. package/lib/commands/request.d.ts +10 -12
  78. package/lib/commands/request.d.ts.map +1 -1
  79. package/lib/commands/request.js +127 -129
  80. package/lib/commands/request.js.map +1 -1
  81. package/lib/commands/service.d.ts +9 -11
  82. package/lib/commands/service.d.ts.map +1 -1
  83. package/lib/commands/service.js +203 -203
  84. package/lib/commands/service.js.map +1 -1
  85. package/lib/commands/start.d.ts +13 -15
  86. package/lib/commands/start.d.ts.map +1 -1
  87. package/lib/commands/start.js +61 -60
  88. package/lib/commands/start.js.map +1 -1
  89. package/lib/commands/transpile.d.ts +8 -10
  90. package/lib/commands/transpile.d.ts.map +1 -1
  91. package/lib/commands/transpile.js +31 -34
  92. package/lib/commands/transpile.js.map +1 -1
  93. package/lib/commands/upload.d.ts +6 -8
  94. package/lib/commands/upload.d.ts.map +1 -1
  95. package/lib/commands/upload.js +41 -44
  96. package/lib/commands/upload.js.map +1 -1
  97. package/lib/commands/validate.d.ts +3 -4
  98. package/lib/commands/validate.d.ts.map +1 -1
  99. package/lib/commands/validate.js +23 -26
  100. package/lib/commands/validate.js.map +1 -1
  101. package/lib/commands/whoami.d.ts +6 -8
  102. package/lib/commands/whoami.d.ts.map +1 -1
  103. package/lib/commands/whoami.js +39 -48
  104. package/lib/commands/whoami.js.map +1 -1
  105. package/lib/generate/curl2sdl.d.ts +8 -8
  106. package/lib/generate/curl2sdl.d.ts.map +1 -1
  107. package/lib/generate/curl2sdl.js +16 -20
  108. package/lib/generate/curl2sdl.js.map +1 -1
  109. package/lib/generate/flags.d.ts +11 -11
  110. package/lib/generate/flags.d.ts.map +1 -1
  111. package/lib/generate/flags.js +16 -17
  112. package/lib/generate/flags.js.map +1 -1
  113. package/lib/generate/flow2sdl.d.ts +5 -5
  114. package/lib/generate/flow2sdl.d.ts.map +1 -1
  115. package/lib/generate/flow2sdl.js +13 -19
  116. package/lib/generate/flow2sdl.js.map +1 -1
  117. package/lib/generate/graphql2sdl.d.ts +5 -5
  118. package/lib/generate/graphql2sdl.d.ts.map +1 -1
  119. package/lib/generate/graphql2sdl.js +22 -28
  120. package/lib/generate/graphql2sdl.js.map +1 -1
  121. package/lib/generate/helpers.d.ts +5 -5
  122. package/lib/generate/helpers.d.ts.map +1 -1
  123. package/lib/generate/helpers.js +39 -44
  124. package/lib/generate/helpers.js.map +1 -1
  125. package/lib/generate/import-command.d.ts +7 -13
  126. package/lib/generate/import-command.d.ts.map +1 -1
  127. package/lib/generate/import-command.js +51 -52
  128. package/lib/generate/import-command.js.map +1 -1
  129. package/lib/generate/openapi2sdl.d.ts +4 -4
  130. package/lib/generate/openapi2sdl.d.ts.map +1 -1
  131. package/lib/generate/openapi2sdl.js +10 -16
  132. package/lib/generate/openapi2sdl.js.map +1 -1
  133. package/lib/generate/questions.d.ts.map +1 -1
  134. package/lib/generate/questions.js +4 -7
  135. package/lib/generate/questions.js.map +1 -1
  136. package/lib/generate/sql2sdl.d.ts +13 -13
  137. package/lib/generate/sql2sdl.d.ts.map +1 -1
  138. package/lib/generate/sql2sdl.js +13 -16
  139. package/lib/generate/sql2sdl.js.map +1 -1
  140. package/lib/hooks/init/version.d.ts +1 -1
  141. package/lib/hooks/init/version.d.ts.map +1 -1
  142. package/lib/hooks/init/version.js +11 -9
  143. package/lib/hooks/init/version.js.map +1 -1
  144. package/lib/hooks/prerun/check-upgrade.d.ts +1 -1
  145. package/lib/hooks/prerun/check-upgrade.d.ts.map +1 -1
  146. package/lib/hooks/prerun/check-upgrade.js +42 -46
  147. package/lib/hooks/prerun/check-upgrade.js.map +1 -1
  148. package/lib/hooks/prerun/ensure-config-file.d.ts +1 -1
  149. package/lib/hooks/prerun/ensure-config-file.d.ts.map +1 -1
  150. package/lib/hooks/prerun/ensure-config-file.js +9 -11
  151. package/lib/hooks/prerun/ensure-config-file.js.map +1 -1
  152. package/lib/hooks/prerun/ensure-permissions.d.ts +1 -1
  153. package/lib/hooks/prerun/ensure-permissions.d.ts.map +1 -1
  154. package/lib/hooks/prerun/ensure-permissions.js +15 -11
  155. package/lib/hooks/prerun/ensure-permissions.js.map +1 -1
  156. package/lib/index.js +1 -5
  157. package/lib/index.js.map +1 -1
  158. package/lib/shared/actions.d.ts +2 -2
  159. package/lib/shared/actions.d.ts.map +1 -1
  160. package/lib/shared/actions.js +15 -21
  161. package/lib/shared/actions.js.map +1 -1
  162. package/lib/shared/configuration.d.ts +5 -3
  163. package/lib/shared/configuration.d.ts.map +1 -1
  164. package/lib/shared/configuration.js +39 -52
  165. package/lib/shared/configuration.js.map +1 -1
  166. package/lib/shared/constants.d.ts +7 -4
  167. package/lib/shared/constants.d.ts.map +1 -1
  168. package/lib/shared/constants.js +70 -86
  169. package/lib/shared/constants.js.map +1 -1
  170. package/lib/shared/curl-parser.d.ts +2 -2
  171. package/lib/shared/curl-parser.d.ts.map +1 -1
  172. package/lib/shared/curl-parser.js +9 -13
  173. package/lib/shared/curl-parser.js.map +1 -1
  174. package/lib/shared/docker.d.ts +2 -4
  175. package/lib/shared/docker.d.ts.map +1 -1
  176. package/lib/shared/docker.js +40 -48
  177. package/lib/shared/docker.js.map +1 -1
  178. package/lib/shared/errors.js +7 -11
  179. package/lib/shared/errors.js.map +1 -1
  180. package/lib/shared/header-params-parser.d.ts +2 -4
  181. package/lib/shared/header-params-parser.d.ts.map +1 -1
  182. package/lib/shared/header-params-parser.js +23 -29
  183. package/lib/shared/header-params-parser.js.map +1 -1
  184. package/lib/shared/header.d.ts +7 -7
  185. package/lib/shared/header.d.ts.map +1 -1
  186. package/lib/shared/header.js +5 -10
  187. package/lib/shared/header.js.map +1 -1
  188. package/lib/shared/inquirer.d.ts +7 -6
  189. package/lib/shared/inquirer.d.ts.map +1 -1
  190. package/lib/shared/inquirer.js +29 -37
  191. package/lib/shared/inquirer.js.map +1 -1
  192. package/lib/shared/moniker.js +4 -9
  193. package/lib/shared/moniker.js.map +1 -1
  194. package/lib/shared/path-params-parser.d.ts +2 -2
  195. package/lib/shared/path-params-parser.d.ts.map +1 -1
  196. package/lib/shared/path-params-parser.js +6 -12
  197. package/lib/shared/path-params-parser.js.map +1 -1
  198. package/lib/shared/request-variables-parser.d.ts +4 -4
  199. package/lib/shared/request-variables-parser.d.ts.map +1 -1
  200. package/lib/shared/request-variables-parser.js +10 -14
  201. package/lib/shared/request-variables-parser.js.map +1 -1
  202. package/lib/shared/rmtemp.d.ts +1 -0
  203. package/lib/shared/rmtemp.d.ts.map +1 -1
  204. package/lib/shared/rmtemp.js +7 -10
  205. package/lib/shared/rmtemp.js.map +1 -1
  206. package/lib/shared/segment.d.ts +10 -0
  207. package/lib/shared/segment.d.ts.map +1 -0
  208. package/lib/shared/segment.js +162 -0
  209. package/lib/shared/segment.js.map +1 -0
  210. package/lib/shared/stepzen-sdk.d.ts +8 -8
  211. package/lib/shared/stepzen-sdk.d.ts.map +1 -1
  212. package/lib/shared/stepzen-sdk.js +27 -36
  213. package/lib/shared/stepzen-sdk.js.map +1 -1
  214. package/lib/shared/types.d.ts +13 -11
  215. package/lib/shared/types.d.ts.map +1 -1
  216. package/lib/shared/types.js +1 -2
  217. package/lib/shared/url-helpers.d.ts.map +1 -1
  218. package/lib/shared/url-helpers.js +7 -14
  219. package/lib/shared/url-helpers.js.map +1 -1
  220. package/lib/shared/utils.d.ts +2 -2
  221. package/lib/shared/utils.d.ts.map +1 -1
  222. package/lib/shared/utils.js +55 -71
  223. package/lib/shared/utils.js.map +1 -1
  224. package/lib/shared/validation.js +12 -17
  225. package/lib/shared/validation.js.map +1 -1
  226. package/lib/shared/workspace.d.ts +1 -1
  227. package/lib/shared/workspace.d.ts.map +1 -1
  228. package/lib/shared/workspace.js +34 -45
  229. package/lib/shared/workspace.js.map +1 -1
  230. package/lib/shared/zen-command.d.ts +5 -10
  231. package/lib/shared/zen-command.d.ts.map +1 -1
  232. package/lib/shared/zen-command.js +132 -113
  233. package/lib/shared/zen-command.js.map +1 -1
  234. package/oclif.manifest.json +1281 -945
  235. package/package.json +35 -33
  236. package/bin/dev +0 -23
@@ -1,11 +1,9 @@
1
+ import type { FlagInput, Input, OutputArgs, OutputFlags, ParserOutput } from '@oclif/core/parser';
2
+ import type { LoggedInMachineConfiguration, LoggedOutMachineConfiguration, MachineConfiguration, ServiceInstanceV2, Workspace } from './types.js';
1
3
  import { Command } from '@oclif/core';
2
- import type { ArgOutput, FlagOutput, Input, ParserOutput } from '@oclif/core/lib/interfaces/parser';
3
- import { LoggedInMachineConfiguration, LoggedOutMachineConfiguration, MachineConfiguration, ServiceInstanceV2, Workspace } from './types';
4
4
  export declare abstract class ZenCommand extends Command {
5
- static flags: {
6
- help: import("@oclif/core/lib/interfaces/parser").BooleanFlag<void>;
7
- 'non-interactive': import("@oclif/core/lib/interfaces/parser").BooleanFlag<boolean>;
8
- };
5
+ static flags: FlagInput;
6
+ static get '--'(): boolean;
9
7
  getServiceInstanceIfLocal(configuration?: MachineConfiguration): Promise<ServiceInstanceV2 | undefined>;
10
8
  awaitStepZenServiceUpIfLocal(configuration?: MachineConfiguration): Promise<void>;
11
9
  awaitIntrospectionServiceUpIfLocal(configuration?: MachineConfiguration): Promise<void>;
@@ -23,10 +21,7 @@ export declare abstract class ZenCommand extends Command {
23
21
  promptUserToLogIn(initialConfiguration: LoggedOutMachineConfiguration): Promise<{
24
22
  configuration: LoggedInMachineConfiguration;
25
23
  }>;
26
- exit(code?: number): never;
27
- protected parse<F extends FlagOutput, B extends FlagOutput, A extends ArgOutput>(options?: Input<F, B, A>, argv?: string[]): Promise<ParserOutput<F, B, A> & {
28
- argv: string[];
29
- }>;
24
+ protected parse<F extends OutputFlags<any>, B extends OutputFlags<any>, A extends OutputArgs<any>>(options: Input<F, B, A>, argv?: string[]): Promise<ParserOutput<F, B, A>>;
30
25
  }
31
26
  export default ZenCommand;
32
27
  //# sourceMappingURL=zen-command.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"zen-command.d.ts","sourceRoot":"","sources":["../../src/shared/zen-command.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,OAAO,EAAgB,MAAM,aAAa,CAAA;AAIlD,OAAO,KAAK,EAEV,SAAS,EAET,UAAU,EACV,KAAK,EACL,YAAY,EACb,MAAM,mCAAmC,CAAA;AAW1C,OAAO,EACL,4BAA4B,EAC5B,6BAA6B,EAC7B,oBAAoB,EACpB,iBAAiB,EACjB,SAAS,EACV,MAAM,SAAS,CAAA;AAQhB,8BAAsB,UAAW,SAAQ,OAAO;IAC9C,MAAM,CAAC,KAAK;;;MAcX;IAEK,yBAAyB,CAC7B,aAAa,CAAC,EAAE,oBAAoB,GACnC,OAAO,CAAC,iBAAiB,GAAG,SAAS,CAAC;IAcnC,4BAA4B,CAAC,aAAa,CAAC,EAAE,oBAAoB;IAmBjE,kCAAkC,CACtC,aAAa,CAAC,EAAE,oBAAoB;IA6BhC,oBAAoB,CACxB,OAAO,GAAE;QACP,cAAc,CAAC,EAAE,OAAO,CAAA;KACpB;;;IAoBF,sBAAsB,CAC1B,OAAO,GAAE;QACP,SAAS,CAAC,EAAE,MAAM,CAAA;QAClB,QAAQ,CAAC,EAAE,MAAM,CAAA;QACjB,cAAc,CAAC,EAAE,OAAO,CAAA;QACxB,MAAM,CAAC,EAAE,OAAO,CAAA;KACZ,GACL,OAAO,CAAC,SAAS,CAAC;IA4Cf,iBAAiB,CACrB,oBAAoB,EAAE,6BAA6B,GAClD,OAAO,CAAC;QACT,aAAa,EAAE,4BAA4B,CAAA;KAC5C,CAAC;IA8EF,IAAI,CAAC,IAAI,SAAI;cAWG,KAAK,CACnB,CAAC,SAAS,UAAU,EACpB,CAAC,SAAS,UAAU,EACpB,CAAC,SAAS,SAAS,EAEnB,OAAO,GAAE,KAAK,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAA+B,EACrD,IAAI,GAAE,MAAM,EAAc,GACzB,OAAO,CACR,YAAY,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG;QAItB,IAAI,EAAE,MAAM,EAAE,CAAA;KACf,CACF;CAmIF;AAED,eAAe,UAAU,CAAA"}
1
+ {"version":3,"file":"zen-command.d.ts","sourceRoot":"","sources":["../../src/shared/zen-command.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EACV,SAAS,EACT,KAAK,EACL,UAAU,EACV,WAAW,EACX,YAAY,EACb,MAAM,oBAAoB,CAAA;AAG3B,OAAO,KAAK,EACV,4BAA4B,EAC5B,6BAA6B,EAC7B,oBAAoB,EACpB,iBAAiB,EACjB,SAAS,EACV,MAAM,YAAY,CAAA;AAEnB,OAAO,EAAC,OAAO,EAAQ,MAAM,aAAa,CAAA;AAgB1C,8BAAsB,UAAW,SAAQ,OAAO;IAC9C,MAAM,CAAC,KAAK,EAAE,SAAS,CAetB;IAKD,MAAM,KAAK,IAAI,YAEd;IAEK,yBAAyB,CAC7B,aAAa,CAAC,EAAE,oBAAoB,GACnC,OAAO,CAAC,iBAAiB,GAAG,SAAS,CAAC;IAcnC,4BAA4B,CAAC,aAAa,CAAC,EAAE,oBAAoB;IAoBjE,kCAAkC,CACtC,aAAa,CAAC,EAAE,oBAAoB;IA+BhC,oBAAoB,CACxB,OAAO,GAAE;QACP,cAAc,CAAC,EAAE,OAAO,CAAA;KACpB;;;IAoBF,sBAAsB,CAC1B,OAAO,GAAE;QACP,SAAS,CAAC,EAAE,MAAM,CAAA;QAClB,QAAQ,CAAC,EAAE,MAAM,CAAA;QACjB,cAAc,CAAC,EAAE,OAAO,CAAA;QACxB,MAAM,CAAC,EAAE,OAAO,CAAA;KACZ,GACL,OAAO,CAAC,SAAS,CAAC;IA4Cf,iBAAiB,CACrB,oBAAoB,EAAE,6BAA6B,GAClD,OAAO,CAAC;QACT,aAAa,EAAE,4BAA4B,CAAA;KAC5C,CAAC;cAwGc,KAAK,CAEnB,CAAC,SAAS,WAAW,CAAC,GAAG,CAAC,EAC1B,CAAC,SAAS,WAAW,CAAC,GAAG,CAAC,EAC1B,CAAC,SAAS,UAAU,CAAC,GAAG,CAAC,EAGzB,OAAO,EAAE,KAAK,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EACvB,IAAI,GAAE,MAAM,EAAc,GACzB,OAAO,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;CAsIlC;AAED,eAAe,UAAU,CAAA"}
@@ -1,26 +1,42 @@
1
- "use strict";
2
1
  // Copyright IBM Corp. 2020, 2024
3
- var _a;
4
- Object.defineProperty(exports, "__esModule", { value: true });
5
- exports.ZenCommand = void 0;
6
- const core_1 = require("@oclif/core");
7
- const errors_1 = require("@oclif/core/lib/errors");
8
- const validate_1 = require("@oclif/core/lib/parser/validate");
9
- const inquirer = require("inquirer");
10
- const chalk = require("chalk");
11
- const process = require("process");
12
- const configuration_1 = require("./configuration");
13
- const url_helpers_1 = require("./url-helpers");
14
- const utils_1 = require("./utils");
15
- const workspace_1 = require("./workspace");
16
- const stepzen_sdk_1 = require("./stepzen-sdk");
17
- const constants_1 = require("./constants");
18
- class ZenCommand extends core_1.Command {
2
+ import { Command, Flags } from '@oclif/core';
3
+ import { CLIError } from '@oclif/core/errors';
4
+ import chalk from 'chalk';
5
+ import inquirer from 'inquirer';
6
+ import process from 'node:process';
7
+ import { readConfiguration, writeCredentialsAndServiceToConfigFile, } from './configuration.js';
8
+ import { ZENCTL2_URL } from './constants.js';
9
+ import { tryZenCtl2ThenZenCtl1 } from './stepzen-sdk.js';
10
+ import { isLocalhost } from './url-helpers.js';
11
+ import { getDirectory, homeRelative, probeEndpoint } from './utils.js';
12
+ import { getWorkspace, initWorkspace } from './workspace.js';
13
+ export class ZenCommand extends Command {
14
+ static flags = {
15
+ help: Flags.help({
16
+ char: 'h',
17
+ description: 'Show CLI help',
18
+ }),
19
+ 'non-interactive': Flags.boolean({
20
+ description: 'Disable all interactive prompts',
21
+ async default() {
22
+ if (process.env.STEPZEN_INTERACTIVE !== undefined) {
23
+ return process.env.STEPZEN_INTERACTIVE.toLowerCase() === 'false';
24
+ }
25
+ return !process.stdin.isTTY || !process.stdout.isTTY;
26
+ },
27
+ }),
28
+ };
29
+ // Removed by https://github.com/oclif/core/pull/793, released in @oclif/core
30
+ // v3. Parser.parse() still checks this property and if it's not exactly
31
+ // `false` selects a code path that fails some tests.
32
+ static get '--'() {
33
+ return false;
34
+ }
19
35
  async getServiceInstanceIfLocal(configuration) {
20
- configuration = configuration || (await (0, configuration_1.readConfiguration)());
36
+ configuration = configuration || (await readConfiguration());
21
37
  if (configuration.serviceInstance &&
22
38
  'zenctl2' in configuration.serviceInstance &&
23
- (0, url_helpers_1.isLocalhost)(configuration.serviceInstance.zenctl2)) {
39
+ isLocalhost(configuration.serviceInstance.zenctl2)) {
24
40
  return configuration.serviceInstance;
25
41
  }
26
42
  // not using a local StepZen service instance => not local
@@ -34,10 +50,10 @@ class ZenCommand extends core_1.Command {
34
50
  }
35
51
  const zenctl2 = serviceInstance.zenctl2;
36
52
  try {
37
- await (0, utils_1.probeEndpoint)(zenctl2.replace(constants_1.ZENCTL2_URL, '/healthz'));
53
+ await probeEndpoint(zenctl2.replace(ZENCTL2_URL, '/healthz'));
38
54
  }
39
- catch (error) {
40
- throw new errors_1.CLIError(chalk `Could not connect to the local StepZen service instance you are logged in to.` +
55
+ catch {
56
+ throw new CLIError(chalk `Could not connect to the local StepZen service instance you are logged in to.` +
41
57
  chalk ` Please make sure the local StepZen service instance is running with` +
42
58
  chalk ` {bold stepzen service start}, or log in to the StepZen cloud with` +
43
59
  chalk ` {bold stepzen login}.`);
@@ -52,27 +68,27 @@ class ZenCommand extends core_1.Command {
52
68
  const promises = [];
53
69
  const dbIntrospectionUrl = serviceInstance.dbintrospection;
54
70
  if (dbIntrospectionUrl !== undefined) {
55
- promises.push((0, utils_1.probeEndpoint)(dbIntrospectionUrl));
71
+ promises.push(probeEndpoint(dbIntrospectionUrl));
56
72
  }
57
73
  const introspectionUrl = serviceInstance.introspection;
58
74
  if (introspectionUrl !== undefined) {
59
- promises.push((0, utils_1.probeEndpoint)(introspectionUrl));
75
+ promises.push(probeEndpoint(introspectionUrl));
60
76
  }
61
77
  try {
62
78
  await Promise.all(promises);
63
79
  }
64
- catch (error) {
65
- throw new errors_1.CLIError(chalk `Could not connect to the local StepZen introspection service.` +
80
+ catch {
81
+ throw new CLIError(chalk `Could not connect to the local StepZen introspection service.` +
66
82
  chalk ` Please make sure the local StepZen service instance is running with` +
67
83
  chalk ` {bold stepzen service start}, or log in to the StepZen cloud with` +
68
84
  chalk ` {bold stepzen login}.`);
69
85
  }
70
86
  }
71
87
  async ensureStepZenAccount(options = {}) {
72
- const configuration = await (0, configuration_1.readConfiguration)();
88
+ const configuration = await readConfiguration();
73
89
  if (!('account' in configuration)) {
74
90
  if (options.nonInteractive) {
75
- throw new errors_1.CLIError(chalk `Could not proceed while not logged in. ` +
91
+ throw new CLIError(chalk `Could not proceed while not logged in. ` +
76
92
  chalk ` Please login to your StepZen account by running {bold stepzen login}.`);
77
93
  }
78
94
  else {
@@ -86,30 +102,30 @@ class ZenCommand extends core_1.Command {
86
102
  }
87
103
  async ensureStepZenWorkspace(options = {}) {
88
104
  let workspace;
89
- const directory = (0, utils_1.getDirectory)(options.directory);
90
- const maybeWorkspace = (0, workspace_1.getWorkspace)(directory);
105
+ const directory = getDirectory(options.directory);
106
+ const maybeWorkspace = getWorkspace(directory);
91
107
  if (maybeWorkspace) {
92
108
  workspace = maybeWorkspace;
93
109
  }
94
110
  else if (options.nonInteractive) {
95
- throw new errors_1.CLIError(`Could not find a StepZen workspace in the ${options.directory ? directory : 'current'} directory.` +
111
+ throw new CLIError(`Could not find a StepZen workspace in the ${options.directory ? directory : 'current'} directory.` +
96
112
  chalk `\n Please run {bold stepzen init${options.directory ? ` ${options.directory}` : ''}} once to create it.`);
97
113
  }
98
114
  else {
99
115
  try {
100
- workspace = await (0, workspace_1.initWorkspace)({
116
+ workspace = await initWorkspace({
101
117
  directory,
102
118
  endpoint: options.endpoint,
103
119
  });
104
120
  }
105
121
  catch (error) {
106
- throw new errors_1.CLIError(`Could not create a StepZen workspace in the ${options.directory ? directory : 'current'} directory.\n` + error.message);
122
+ throw new CLIError(`Could not create a StepZen workspace in the ${options.directory ? directory : 'current'} directory.\n` + error.message);
107
123
  }
108
124
  }
109
125
  // Emphasize that the workspace is not the _current_ directory.
110
126
  if (workspace.directory !== process.cwd() && !options.silent) {
111
127
  this.log();
112
- this.log(` ⤴️ Using the StepZen workspace in ${chalk.blue((0, utils_1.homeRelative)(workspace.directory))}`);
128
+ this.log(` ⤴️ Using the StepZen workspace in ${chalk.blue(homeRelative(workspace.directory))}`);
113
129
  this.log();
114
130
  }
115
131
  return workspace;
@@ -139,9 +155,9 @@ class ZenCommand extends core_1.Command {
139
155
  message: 'What is your Admin Key?',
140
156
  name: 'adminkey',
141
157
  type: 'password',
142
- validate: async (value) => {
158
+ async validate(value) {
143
159
  try {
144
- await (0, stepzen_sdk_1.tryZenCtl2ThenZenCtl1)(initialConfiguration, stepzen => stepzen.login(value));
160
+ await tryZenCtl2ThenZenCtl1(initialConfiguration, stepzen => stepzen.login(value));
145
161
  return true;
146
162
  }
147
163
  catch (error) {
@@ -151,14 +167,14 @@ class ZenCommand extends core_1.Command {
151
167
  suffix: chalk.blue(` (available at ${chalk.bold('https://stepzen.com/account')})`),
152
168
  },
153
169
  ]);
154
- const { result: credentials, serviceInstance } = await (0, stepzen_sdk_1.tryZenCtl2ThenZenCtl1)(initialConfiguration, stepzen => stepzen.login(answers.adminkey));
155
- configuration = await (0, configuration_1.writeCredentialsAndServiceToConfigFile)(credentials, serviceInstance);
170
+ const { result: credentials, serviceInstance } = await tryZenCtl2ThenZenCtl1(initialConfiguration, stepzen => stepzen.login(answers.adminkey));
171
+ configuration = await writeCredentialsAndServiceToConfigFile(credentials, serviceInstance);
156
172
  this.log('You have successfully logged in.');
157
173
  this.log('');
158
174
  }
159
175
  else {
160
- const { result: credentials, serviceInstance } = await (0, stepzen_sdk_1.tryZenCtl2ThenZenCtl1)(initialConfiguration, stepzen => stepzen.createAnonymousAccount(initialConfiguration.uuid));
161
- configuration = await (0, configuration_1.writeCredentialsAndServiceToConfigFile)(credentials, serviceInstance);
176
+ const { result: credentials, serviceInstance } = await tryZenCtl2ThenZenCtl1(initialConfiguration, stepzen => stepzen.createAnonymousAccount(initialConfiguration.uuid));
177
+ configuration = await writeCredentialsAndServiceToConfigFile(credentials, serviceInstance);
162
178
  this.log(`We've created a temporary public account for you.\nAll endpoints` +
163
179
  ` deployed to this account will be automatically deleted after 24` +
164
180
  ` hours. You can log in with your regular StepZen account at any` +
@@ -167,43 +183,61 @@ class ZenCommand extends core_1.Command {
167
183
  }
168
184
  return { configuration };
169
185
  }
170
- // Override only to change the TS type signature.
171
- // The implementation is identical to that in the Command super class.
172
- exit(code = 0) {
173
- return core_1.Errors.exit(code);
174
- }
175
- // Customise the default `parse()` implementation to work around an oclif's
176
- // parser issue. It incorrectly parses multi-value flags such as
177
- // '--header-param', '--header', '--var' and others.
178
- // https://github.com/oclif/oclif/issues/261
179
- // https://github.com/oclif/core/issues/496
186
+ // Customise the default `parse()` implementation to keep backward
187
+ // compatibility for StepZen CLI users:
188
+ //
189
+ // 1. Repeating single-value flags (last one wins)
190
+ // StepZen CLI allows repeating a single-value flag and have the last
191
+ // occurrence "win". This is how the parser in oclif v1 and v2 worked, and
192
+ // this has changed with oclif v3 (or v4).
180
193
  //
181
- // This implementation uses copied fragments of the original oclif's parse()
182
- async parse(options = this.ctor, argv = this.argv) {
194
+ // Example: stepzen import curl -XGET --request POST
195
+ //
196
+ // Here `-XGET` should be ignored and `--request POST` should be used.
197
+ // Starting from oclif v3 its parser throws a "Flag --${name} can only be
198
+ // specified once" CLIError.
199
+ //
200
+ // 2. Multi-value flags need to be repeated with each value
201
+ // StepZen CLI expects multi-value flags to be repeated with each value,
202
+ // which differs from the oclif defaults where multi-value flags "greedily"
203
+ // consume as many of the following args as they can.
204
+ //
205
+ // Example: stepzen import curl \
206
+ // --header "Authorization: Bearer NNN" \
207
+ // https://example.org/api/users \
208
+ // --header "Content-Type: application/json"
209
+ //
210
+ // Here the default behaviour of oclif parser is to treat the URL as
211
+ // another value for the `--header` flag (even if `multipleNonGreedy: true`
212
+ // is set on the flag definition). StepZen CLI limits the number of args
213
+ // consumed by a multi-value flag to one.
214
+ async parse(options, argv = this.argv) {
183
215
  const flags = options.flags || {};
184
216
  const args = options.args || {};
185
- const multiValueFlagNames = Object.keys(flags).filter(flag => 'multiple' in flags[flag] &&
186
- flags[flag].multiple);
187
- if (multiValueFlagNames.length === 0) {
188
- // no multi-value flags => nothing to fix => use the default parse() impl
217
+ const orderedArgNames = Object.keys(args);
218
+ // oclif flags can be of two types: "boolean" and "option"
219
+ // - boolean flags are the flags with no values (e.g. --non-interactive)
220
+ // - option flags are the flags with values (e.g. --name=test)
221
+ //
222
+ // Only the flags with values (single or multiple) need a workaround.
223
+ const hasSingleOrMultiValueFlags = Object.keys(flags).some(name => flags[name].type === 'option');
224
+ if (!hasSingleOrMultiValueFlags) {
225
+ // no affected flags => nothing to fix => use the default parse() impl
189
226
  return super.parse(options, argv);
190
227
  }
191
- const orderedArgNames = Object.keys(args);
192
- // Make a copy of `args` with the `required` property disabled.
193
- const argsAsOptional = Object.fromEntries(Object.entries(args).map(([argName, argDef]) => [
194
- argName,
195
- argDef.required ? { ...argDef, required: false } : argDef,
228
+ // Make a copy of `flags` with the `multiple` property enabled for the
229
+ // single-value flags.
230
+ const flagsAsMultiple = Object.fromEntries(Object.entries(flags).map(([flagName, flagDef]) => [
231
+ flagName,
232
+ { ...flagDef, multiple: true, multipleNonGreedy: true },
196
233
  ]));
197
234
  // 1. run the default `parse()` method with modified input
198
- const parsed = (await super.parse({
235
+ const parsed = await super.parse({
199
236
  ...options,
200
- flags,
201
- // Make all args optional because `parse()` may incorrecly mark them as
202
- // flags, and then validation would fail.
203
- args: argsAsOptional,
204
- }, argv));
205
- const fixFlag = (flag) => {
206
- const values = parsed.flags[flag];
237
+ flags: flagsAsMultiple,
238
+ }, argv);
239
+ const fixMultiValueFlag = (name) => {
240
+ const values = parsed.flags[name];
207
241
  if (values) {
208
242
  // Every ['--flag', value] pair in the argv array should match
209
243
  // only one value in the flag's value list.
@@ -216,20 +250,20 @@ class ZenCommand extends core_1.Command {
216
250
  // https://oclif.io/docs/flags#alternative-flag-inputs
217
251
  // $ mycli --file foo
218
252
  // $ mycli -f foo
219
- const spaceDelimMatch = (arg === `--${flag}` ||
220
- (flags[flag].char && arg === `-${flags[flag].char}`) ||
221
- (flags[flag].aliases &&
222
- flags[flag].aliases?.some(alias => arg === `--${alias}`))) &&
253
+ const spaceDelimMatch = (arg === `--${name}` ||
254
+ (flags[name].char && arg === `-${flags[name].char}`) ||
255
+ (flags[name].aliases &&
256
+ flags[name].aliases?.some(alias => arg === `--${alias}`))) &&
223
257
  idx < argv.length &&
224
258
  argv[idx + 1] === value;
225
259
  // $ mycli --file=foo
226
260
  // $ mycli -f=foo
227
- const eqlDelimMatch = arg === `--${flag}=${value}` ||
228
- (flags[flag].char && arg === `-${flags[flag].char}=${value}`) ||
229
- (flags[flag].aliases &&
230
- flags[flag].aliases?.some(alias => arg === `--${alias}=${value}`));
261
+ const eqlDelimMatch = arg === `--${name}=${value}` ||
262
+ (flags[name].char && arg === `-${flags[name].char}=${value}`) ||
263
+ (flags[name].aliases &&
264
+ flags[name].aliases?.some(alias => arg === `--${alias}=${value}`));
231
265
  // $ mycli -ffoo
232
- const noDelimMatch = flags[flag].char && arg === `-${flags[flag].char}${value}`;
266
+ const noDelimMatch = flags[name].char && arg === `-${flags[name].char}${value}`;
233
267
  return ((spaceDelimMatch || eqlDelimMatch || noDelimMatch) &&
234
268
  !matchedIndices.has(idx));
235
269
  });
@@ -256,43 +290,28 @@ class ZenCommand extends core_1.Command {
256
290
  }
257
291
  }
258
292
  };
259
- // 2. massage the default `parse()` output:
260
- // Make sure the multi-value flags are parsed correctly
261
- multiValueFlagNames.forEach(fixFlag);
262
- // 3. validate the modified `parse()` output
263
- // Validation is the last step of the default `parse()` method.
264
- // Here we run it explicitly (again), but this time with unmodified args
265
- // definitions to make sure all required args have values.
266
- //
267
- // (this code block is copied from @oclif/core/lib/parser/index.js)
268
- const input = {
269
- argv,
270
- context: options.context || this,
271
- '--': options['--'],
272
- flags,
273
- args,
274
- strict: options.strict !== false,
293
+ const fixSingleValueFlag = (name) => {
294
+ const values = parsed.flags[name];
295
+ if (Array.isArray(values)) {
296
+ parsed.flags[name] = values.at(-1);
297
+ }
275
298
  };
276
- await (0, validate_1.validate)({ input, output: parsed });
299
+ // 2. massage the default `parse()` output:
300
+ // - in case if a single-value flag is repeated several times, keep the
301
+ // last value and ignore the rest
302
+ // - in case if a multi-value flag make sure it's parsed in a non-greedy
303
+ // way
304
+ for (const name of Object.keys(flags)) {
305
+ if (flags[name].type === 'boolean') {
306
+ continue;
307
+ }
308
+ const fixFlag = flags[name].multiple
309
+ ? fixMultiValueFlag
310
+ : fixSingleValueFlag;
311
+ fixFlag(name);
312
+ }
277
313
  return parsed;
278
314
  }
279
315
  }
280
- exports.ZenCommand = ZenCommand;
281
- _a = ZenCommand;
282
- ZenCommand.flags = {
283
- help: core_1.Flags.help({
284
- char: 'h',
285
- description: 'Show CLI help',
286
- }),
287
- 'non-interactive': core_1.Flags.boolean({
288
- description: 'Disable all interactive prompts',
289
- default: async () => {
290
- if (process.env.STEPZEN_INTERACTIVE !== undefined) {
291
- return process.env.STEPZEN_INTERACTIVE.toLowerCase() === 'false';
292
- }
293
- return !process.stdin.isTTY || !process.stdout.isTTY;
294
- },
295
- }),
296
- };
297
- exports.default = ZenCommand;
316
+ export default ZenCommand;
298
317
  //# sourceMappingURL=zen-command.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"zen-command.js","sourceRoot":"","sources":["../../src/shared/zen-command.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"zen-command.js","sourceRoot":"","sources":["../../src/shared/zen-command.ts"],"names":[],"mappings":"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"}