@apimatic/cli 1.1.0-alpha.5 → 1.1.0-alpha.6

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 (61) hide show
  1. package/README.md +115 -37
  2. package/bin/run +5 -1
  3. package/lib/client-utils/auth-manager.js +3 -3
  4. package/lib/client-utils/sdk-client.js +1 -0
  5. package/lib/commands/api/transform.d.ts +7 -7
  6. package/lib/commands/api/transform.js +18 -15
  7. package/lib/commands/api/validate.d.ts +4 -4
  8. package/lib/commands/api/validate.js +13 -10
  9. package/lib/commands/auth/login.d.ts +2 -2
  10. package/lib/commands/auth/login.js +29 -12
  11. package/lib/commands/auth/logout.d.ts +1 -1
  12. package/lib/commands/auth/logout.js +3 -2
  13. package/lib/commands/auth/status.d.ts +1 -1
  14. package/lib/commands/auth/status.js +3 -2
  15. package/lib/commands/portal/generate.d.ts +6 -6
  16. package/lib/commands/portal/generate.js +16 -11
  17. package/lib/commands/portal/quickstart.d.ts +10 -0
  18. package/lib/commands/portal/quickstart.js +83 -0
  19. package/lib/commands/portal/serve.d.ts +17 -0
  20. package/lib/commands/portal/serve.js +143 -0
  21. package/lib/commands/sdk/generate.d.ts +8 -8
  22. package/lib/commands/sdk/generate.js +16 -13
  23. package/lib/config/axios-config.d.ts +2 -0
  24. package/lib/config/axios-config.js +12 -0
  25. package/lib/config/env.d.ts +26 -0
  26. package/lib/config/env.js +28 -1
  27. package/lib/controllers/api/transform.js +6 -5
  28. package/lib/controllers/api/validate.d.ts +1 -1
  29. package/lib/controllers/api/validate.js +25 -8
  30. package/lib/controllers/portal/generate.d.ts +2 -1
  31. package/lib/controllers/portal/generate.js +19 -11
  32. package/lib/controllers/portal/quickstart.d.ts +14 -0
  33. package/lib/controllers/portal/quickstart.js +206 -0
  34. package/lib/controllers/portal/serve.d.ts +4 -0
  35. package/lib/controllers/portal/serve.js +152 -0
  36. package/lib/controllers/sdk/generate.js +7 -6
  37. package/lib/index.d.ts +1 -1
  38. package/lib/index.js +3 -3
  39. package/lib/prompts/portal/quickstart.d.ts +32 -0
  40. package/lib/prompts/portal/quickstart.js +216 -0
  41. package/lib/prompts/portal/serve.d.ts +7 -0
  42. package/lib/prompts/portal/serve.js +25 -0
  43. package/lib/services/portal/server.d.ts +11 -0
  44. package/lib/services/portal/server.js +71 -0
  45. package/lib/types/api/transform.d.ts +0 -1
  46. package/lib/types/api/transform.js +1 -0
  47. package/lib/types/api/validate.js +1 -0
  48. package/lib/types/portal/generate.js +1 -0
  49. package/lib/types/portal/quickstart.d.ts +17 -0
  50. package/lib/types/portal/quickstart.js +3 -0
  51. package/lib/types/sdk/generate.js +1 -0
  52. package/lib/types/utils.js +1 -0
  53. package/lib/utils/utils.d.ts +28 -4
  54. package/lib/utils/utils.js +289 -53
  55. package/lib/validators/common/directoryValidator.d.ts +9 -0
  56. package/lib/validators/common/directoryValidator.js +53 -0
  57. package/lib/validators/common/portValidator.d.ts +5 -0
  58. package/lib/validators/common/portValidator.js +20 -0
  59. package/lib/validators/portal/serveValidator.d.ts +6 -0
  60. package/lib/validators/portal/serveValidator.js +21 -0
  61. package/package.json +59 -23
package/README.md CHANGED
@@ -1,5 +1,6 @@
1
1
  @apimatic/cli
2
2
  =============
3
+ apimatic is in Alpha.
3
4
 
4
5
  The official CLI for APIMatic.
5
6
 
@@ -8,6 +9,14 @@ The official CLI for APIMatic.
8
9
  [![Downloads/week](https://img.shields.io/npm/dw/@apimatic/cli.svg)](https://npmjs.org/package/@apimatic/cli)
9
10
  [![License](https://img.shields.io/npm/l/@apimatic/cli.svg)](https://github.com/apimatic/apimatic-cli/blob/master/package.json)
10
11
 
12
+ # Getting Started
13
+
14
+ To get started with APIMatic's CLI using a step by step wizard, run the following command:
15
+
16
+ ```sh-session
17
+ $ apimatic portal:quickstart
18
+ ```
19
+
11
20
  <!-- toc -->
12
21
  * [Usage](#usage)
13
22
  * [Commands](#commands)
@@ -15,11 +24,11 @@ The official CLI for APIMatic.
15
24
  # Usage
16
25
  <!-- usage -->
17
26
  ```sh-session
18
- $ npm install -g @apimatic/cli@1.0.1-alpha.3
27
+ $ npm install -g @apimatic/cli
19
28
  $ apimatic COMMAND
20
29
  running command...
21
- $ apimatic (-v|--version|version)
22
- @apimatic/cli/0.0.0-alpha.3 linux-x64 node-v16.13.0
30
+ $ apimatic (--version)
31
+ @apimatic/cli/0.0.0-alpha.0 win32-x64 node-v20.18.3
23
32
  $ apimatic --help [COMMAND]
24
33
  USAGE
25
34
  $ apimatic COMMAND
@@ -37,6 +46,8 @@ USAGE
37
46
  * [`apimatic autocomplete [SHELL]`](#apimatic-autocomplete-shell)
38
47
  * [`apimatic help [COMMAND]`](#apimatic-help-command)
39
48
  * [`apimatic portal:generate`](#apimatic-portalgenerate)
49
+ * [`apimatic portal:quickstart`](#apimatic-portalquickstart)
50
+ * [`apimatic portal:serve`](#apimatic-portalserve)
40
51
  * [`apimatic sdk:generate`](#apimatic-sdkgenerate)
41
52
 
42
53
  ## `apimatic api:transform`
@@ -45,9 +56,10 @@ Transform API specifications from one format to another. Supports [10+ different
45
56
 
46
57
  ```
47
58
  USAGE
48
- $ apimatic api:transform
59
+ $ apimatic api:transform --format <value> [--file <value>] [--url <value>] [--destination <value>] [-f]
60
+ [--auth-key <value>]
49
61
 
50
- OPTIONS
62
+ FLAGS
51
63
  -f, --force overwrite if same file exist in the destination
52
64
  --auth-key=auth-key override current authentication state with an authentication key
53
65
 
@@ -63,6 +75,11 @@ OPTIONS
63
75
  --url=url URL to the API specification file to transform. Can be used in place of the --file option
64
76
  if the API specification is publicly available.
65
77
 
78
+ DESCRIPTION
79
+ Transform API specifications from one format to another. Supports [10+ different
80
+ formats](https://www.apimatic.io/transformer/#supported-formats) including OpenApi/Swagger, RAML, WSDL and Postman
81
+ Collections.
82
+
66
83
  EXAMPLES
67
84
  $ apimatic api:transform --format="OpenApi3Json" --file="./specs/sample.json" --destination="D:/"
68
85
  Success! Your transformed file is located at D:/Transformed_OpenApi3Json.json
@@ -71,7 +88,7 @@ EXAMPLES
71
88
  Success! Your transformed file is located at D:/swagger_raml.yaml
72
89
  ```
73
90
 
74
- _See code: [src/commands/api/transform.ts](https://github.com/apimatic/apimatic-cli/blob/v0.0.0-alpha.3/src/commands/api/transform.ts)_
91
+ _See code: [src/commands/api/transform.ts](https://github.com/apimatic/apimatic-cli/blob/alpha/src/commands/api/transform.ts)_
75
92
 
76
93
  ## `apimatic api:validate`
77
94
 
@@ -79,15 +96,18 @@ Validate the syntactic and semantic correctness of an API specification
79
96
 
80
97
  ```
81
98
  USAGE
82
- $ apimatic api:validate
99
+ $ apimatic api:validate [--file <value>] [--url <value>] [--auth-key <value>]
83
100
 
84
- OPTIONS
101
+ FLAGS
85
102
  --auth-key=auth-key override current authentication state with an authentication key
86
103
  --file=file Path to the API specification file to validate
87
104
 
88
105
  --url=url URL to the specification file to validate. Can be used in place of the --file option if the API
89
106
  specification is publicly available.
90
107
 
108
+ DESCRIPTION
109
+ Validate the syntactic and semantic correctness of an API specification
110
+
91
111
  EXAMPLES
92
112
  $ apimatic api:validate --file="./specs/sample.json"
93
113
  Specification file provided is valid
@@ -96,7 +116,7 @@ EXAMPLES
96
116
  Specification file provided is valid
97
117
  ```
98
118
 
99
- _See code: [src/commands/api/validate.ts](https://github.com/apimatic/apimatic-cli/blob/v0.0.0-alpha.3/src/commands/api/validate.ts)_
119
+ _See code: [src/commands/api/validate.ts](https://github.com/apimatic/apimatic-cli/blob/alpha/src/commands/api/validate.ts)_
100
120
 
101
121
  ## `apimatic auth:login`
102
122
 
@@ -104,11 +124,14 @@ Login using your APIMatic credentials or an API Key
104
124
 
105
125
  ```
106
126
  USAGE
107
- $ apimatic auth:login
127
+ $ apimatic auth:login [--auth-key <value>]
108
128
 
109
- OPTIONS
129
+ FLAGS
110
130
  --auth-key=auth-key Set authentication key for all commands
111
131
 
132
+ DESCRIPTION
133
+ Login using your APIMatic credentials or an API Key
134
+
112
135
  EXAMPLES
113
136
  $ apimatic auth:login
114
137
  Please enter your registered email: apimatic-user@gmail.com
@@ -120,7 +143,7 @@ EXAMPLES
120
143
  Authentication key successfully set
121
144
  ```
122
145
 
123
- _See code: [src/commands/auth/login.ts](https://github.com/apimatic/apimatic-cli/blob/v0.0.0-alpha.3/src/commands/auth/login.ts)_
146
+ _See code: [src/commands/auth/login.ts](https://github.com/apimatic/apimatic-cli/blob/alpha/src/commands/auth/login.ts)_
124
147
 
125
148
  ## `apimatic auth:logout`
126
149
 
@@ -130,12 +153,15 @@ Clear local login credentials
130
153
  USAGE
131
154
  $ apimatic auth:logout
132
155
 
133
- EXAMPLE
156
+ DESCRIPTION
157
+ Clear local login credentials
158
+
159
+ EXAMPLES
134
160
  $ apimatic auth:logout
135
161
  Logged out
136
162
  ```
137
163
 
138
- _See code: [src/commands/auth/logout.ts](https://github.com/apimatic/apimatic-cli/blob/v0.0.0-alpha.3/src/commands/auth/logout.ts)_
164
+ _See code: [src/commands/auth/logout.ts](https://github.com/apimatic/apimatic-cli/blob/alpha/src/commands/auth/logout.ts)_
139
165
 
140
166
  ## `apimatic auth:status`
141
167
 
@@ -145,27 +171,33 @@ View current authentication state
145
171
  USAGE
146
172
  $ apimatic auth:status
147
173
 
148
- EXAMPLE
174
+ DESCRIPTION
175
+ View current authentication state
176
+
177
+ EXAMPLES
149
178
  $ apimatic auth:status
150
179
  Currently logged in as apimatic-client@gmail.com
151
180
  ```
152
181
 
153
- _See code: [src/commands/auth/status.ts](https://github.com/apimatic/apimatic-cli/blob/v0.0.0-alpha.3/src/commands/auth/status.ts)_
182
+ _See code: [src/commands/auth/status.ts](https://github.com/apimatic/apimatic-cli/blob/alpha/src/commands/auth/status.ts)_
154
183
 
155
184
  ## `apimatic autocomplete [SHELL]`
156
185
 
157
- display autocomplete installation instructions
186
+ Display autocomplete installation instructions.
158
187
 
159
188
  ```
160
189
  USAGE
161
- $ apimatic autocomplete [SHELL]
190
+ $ apimatic autocomplete [SHELL] [-r]
162
191
 
163
192
  ARGUMENTS
164
193
  SHELL shell type
165
194
 
166
- OPTIONS
195
+ FLAGS
167
196
  -r, --refresh-cache Refresh cache (ignores displaying instructions)
168
197
 
198
+ DESCRIPTION
199
+ Display autocomplete installation instructions.
200
+
169
201
  EXAMPLES
170
202
  $ apimatic autocomplete
171
203
  $ apimatic autocomplete bash
@@ -173,11 +205,11 @@ EXAMPLES
173
205
  $ apimatic autocomplete --refresh-cache
174
206
  ```
175
207
 
176
- _See code: [@oclif/plugin-autocomplete](https://github.com/oclif/plugin-autocomplete/blob/v0.3.0/src/commands/autocomplete/index.ts)_
208
+ _See code: [@oclif/plugin-autocomplete](https://github.com/oclif/plugin-autocomplete/blob/main/src/commands/autocomplete/index.ts)_
177
209
 
178
210
  ## `apimatic help [COMMAND]`
179
211
 
180
- display help for apimatic
212
+ Display help for apimatic.
181
213
 
182
214
  ```
183
215
  USAGE
@@ -186,33 +218,77 @@ USAGE
186
218
  ARGUMENTS
187
219
  COMMAND command to show help for
188
220
 
189
- OPTIONS
190
- --all see all commands in CLI
221
+ DESCRIPTION
222
+ Display help for apimatic.
191
223
  ```
192
224
 
193
- _See code: [@oclif/plugin-help](https://github.com/oclif/plugin-help/blob/v3.2.14/src/commands/help.ts)_
225
+ _See code: [@oclif/plugin-help](https://github.com/oclif/plugin-help/blob/main/src/commands/help.ts)_
194
226
 
195
227
  ## `apimatic portal:generate`
196
228
 
197
- Generate and download a static API Documentation portal. Requires an input directory containing API specifications, a config file and optionally, markdown guides. For details, refer to the [documentation](https://portal-api-docs.apimatic.io/#/http/generating-api-portal/build-file)
229
+ Generate and download a static API Documentation portal. Requires an input directory containing API specifications, a config file and optionally, markdown guides. For details, refer to the [documentation](https://docs.apimatic.io/platform-api/#/http/guides/generating-on-prem-api-portal/build-file-reference)
198
230
 
199
231
  ```
200
232
  USAGE
201
- $ apimatic portal:generate
233
+ $ apimatic portal:generate [--folder <value>] [--destination <value>] [-f] [--zip] [--auth-key <value>]
202
234
 
203
- OPTIONS
235
+ FLAGS
204
236
  -f, --force overwrite if a portal exists in the destination
205
- --auth-key=auth-key override current authentication state with an authentication key
206
- --destination=destination [default: /home/runner/work/apimatic-cli/apimatic-cli/cli] path to the downloaded portal
207
- --folder=folder [default: ./] path to the input directory containing API specifications and config files
208
- --zip download the generated portal as a .zip archive
237
+ DESCRIPTION
238
+ Generate and download a static API Documentation portal. Requires an input directory containing API specifications, a
239
+ config file and optionally, markdown guides. For details, refer to the [documentation](https://docs.apimatic.io/platfo
240
+ rm-api/#/http/guides/generating-on-prem-api-portal/build-file-reference)
209
241
 
210
- EXAMPLE
242
+ EXAMPLES
211
243
  $ apimatic portal:generate --folder="./portal/" --destination="D:/"
212
244
  Your portal has been generated at D:/
213
245
  ```
214
246
 
215
- _See code: [src/commands/portal/generate.ts](https://github.com/apimatic/apimatic-cli/blob/v0.0.0-alpha.3/src/commands/portal/generate.ts)_
247
+ _See code: [src/commands/portal/generate.ts](https://github.com/apimatic/apimatic-cli/blob/alpha/src/commands/portal/generate.ts)_
248
+
249
+ ## `apimatic portal:quickstart`
250
+
251
+ Create your first API Portal using APIMatic’s Docs as Code offering.
252
+
253
+ ```
254
+ USAGE
255
+ $ apimatic portal:quickstart
256
+
257
+ DESCRIPTION
258
+ Create your first API Portal using APIMatic’s Docs as Code offering.
259
+
260
+ EXAMPLES
261
+ $ apimatic portal:quickstart
262
+ ```
263
+
264
+ _See code: [src/commands/portal/quickstart.ts](https://github.com/apimatic/apimatic-cli/blob/v1.0.1-alpha.11/src/commands/portal/quickstart.ts)_
265
+
266
+ ## `apimatic portal:serve`
267
+
268
+ Generate and deploy a Docs as Code portal with hot reload.
269
+
270
+ ```
271
+ USAGE
272
+ $ apimatic portal:serve [-p <value>] [-d <value>] [-s <value>] [-o] [--no-reload] [-i <value>] [--auth-key <value>]
273
+
274
+ FLAGS
275
+ -d, --destination=<value> [default: ./api-portal] Directory to store and serve the generated portal.
276
+ -i, --ignore=<value> Comma-separated list of files/directories to ignore.
277
+ -o, --open Open the portal in the default browser.
278
+ -p, --port=<value> [default: 3000] Port to serve the portal.
279
+ -s, --source=<value> [default: ./] Source directory containing specs, content, and build file. By default, the
280
+ current directory is used.
281
+ --auth-key=<value> Override current authentication state with an authentication key.
282
+ --no-reload Disable hot reload.
283
+
284
+ DESCRIPTION
285
+ Generate and deploy a Docs as Code portal with hot reload.
286
+
287
+ EXAMPLES
288
+ $ apimatic portal:serve --source="./" --destination="./api-portal" --port=3000 --open --no-reload
289
+ ```
290
+
291
+ _See code: [src/commands/portal/serve.ts](https://github.com/apimatic/apimatic-cli/blob/v1.0.1-alpha.11/src/commands/portal/serve.ts)_
216
292
 
217
293
  ## `apimatic sdk:generate`
218
294
 
@@ -220,9 +296,9 @@ Generate SDK for your APIs
220
296
 
221
297
  ```
222
298
  USAGE
223
- $ apimatic sdk:generate
299
+ $ apimatic sdk:generate --platform <value> [--file <value>] [--url <value>] [--destination <value>] [-f] [--zip] [--auth-key <value>]
224
300
 
225
- OPTIONS
301
+ FLAGS
226
302
  -f, --force overwrite if an SDK already exists in the destination
227
303
  --auth-key=auth-key override current authentication state with an authentication key
228
304
 
@@ -239,8 +315,10 @@ OPTIONS
239
315
 
240
316
  --url=url URL to the API specification to generate SDKs for. Can be used in place of the --file
241
317
  option if the API specification is publicly available.
318
+ --zip download the generated SDK as a .zip archive
242
319
 
243
- --zip download the generated SDK as a .zip archive
320
+ DESCRIPTION
321
+ Generate SDK for your APIs
244
322
 
245
323
  EXAMPLES
246
324
  $ apimatic sdk:generate --platform="CSHARP" --file="./specs/sample.json"
@@ -254,5 +332,5 @@ EXAMPLES
254
332
  Success! Your SDK is located at swagger_sdk_csharp
255
333
  ```
256
334
 
257
- _See code: [src/commands/sdk/generate.ts](https://github.com/apimatic/apimatic-cli/blob/v0.0.0-alpha.3/src/commands/sdk/generate.ts)_
335
+ _See code: [src/commands/sdk/generate.ts](https://github.com/apimatic/apimatic-cli/blob/alpha/src/commands/sdk/generate.ts)_
258
336
  <!-- commandsstop -->
package/bin/run CHANGED
@@ -2,4 +2,8 @@
2
2
  /* eslint-disable no-undef */
3
3
  /* eslint-disable @typescript-eslint/no-var-requires */
4
4
 
5
- require("@oclif/command").run().then(require("@oclif/command/flush")).catch(require("@oclif/errors/handle"));
5
+ const { run, flush, handle } = require("@oclif/core");
6
+
7
+ run()
8
+ .then(flush)
9
+ .catch(handle);
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.setAuthInfo = exports.getAuthInfo = void 0;
3
+ exports.getAuthInfo = getAuthInfo;
4
+ exports.setAuthInfo = setAuthInfo;
4
5
  const path = require("path");
5
6
  const fs = require("fs-extra");
6
7
  /**
@@ -17,7 +18,6 @@ async function getAuthInfo(configDir) {
17
18
  return null;
18
19
  }
19
20
  }
20
- exports.getAuthInfo = getAuthInfo;
21
21
  /**
22
22
  *
23
23
  * @param {AuthInfo} credentials
@@ -30,4 +30,4 @@ async function setAuthInfo(credentials, configDir) {
30
30
  fs.createFileSync(configFilePath);
31
31
  return await fs.writeFile(configFilePath, JSON.stringify(credentials));
32
32
  }
33
- exports.setAuthInfo = setAuthInfo;
33
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC1tYW5hZ2VyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NsaWVudC11dGlscy9hdXRoLW1hbmFnZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFZQSxrQ0FPQztBQVFELGtDQU1DO0FBakNELDZCQUE2QjtBQUM3QiwrQkFBK0I7QUFNL0I7Ozs7R0FJRztBQUNJLEtBQUssVUFBVSxXQUFXLENBQUMsU0FBaUI7SUFDakQsSUFBSSxDQUFDO1FBQ0gsTUFBTSxJQUFJLEdBQW9CLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxFQUFFLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLGFBQWEsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUM7UUFDekcsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztRQUNYLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztBQUNILENBQUM7QUFFRDs7Ozs7R0FLRztBQUNJLEtBQUssVUFBVSxXQUFXLENBQUMsV0FBcUIsRUFBRSxTQUFpQjtJQUN4RSxNQUFNLGNBQWMsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxhQUFhLENBQUMsQ0FBQztJQUUzRCxJQUFJLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxjQUFjLENBQUM7UUFBRSxFQUFFLENBQUMsY0FBYyxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBRXRFLE9BQU8sTUFBTSxFQUFFLENBQUMsU0FBUyxDQUFDLGNBQWMsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUM7QUFDekUsQ0FBQyJ9
@@ -117,3 +117,4 @@ class SDKClient {
117
117
  }
118
118
  exports.SDKClient = SDKClient;
119
119
  SDKClient.authAPI = `${env_1.baseURL}/account/authkey`;
120
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2RrLWNsaWVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jbGllbnQtdXRpbHMvc2RrLWNsaWVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxrQ0FBa0M7QUFDbEMsaUNBQTZDO0FBRTdDLHVDQUF1QztBQUN2Qyx1Q0FBd0M7QUFDeEMsaURBQW9FO0FBU3BFLE1BQWEsU0FBUztJQUF0QjtRQTBIUyxlQUFVLEdBQUcsQ0FBQyxPQUFlLEVBQUUsU0FBaUIsRUFBRSxFQUFFO1lBQ3pELElBQUEsMEJBQVcsRUFDVDtnQkFDRSxLQUFLLEVBQUUsRUFBRTtnQkFDVCxPQUFPO2FBQ1IsRUFDRCxTQUFTLENBQ1YsQ0FBQztZQUNGLE9BQU8scUNBQXFDLENBQUM7UUFDL0MsQ0FBQyxDQUFDO0lBQ0osQ0FBQztJQS9IQzs7Ozs7T0FLRztJQUNJLE1BQU0sQ0FBQyxXQUFXO1FBQ3ZCLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDeEIsU0FBUyxDQUFDLFFBQVEsR0FBRyxJQUFJLFNBQVMsRUFBRSxDQUFDO1FBQ3ZDLENBQUM7UUFFRCxPQUFPLFNBQVMsQ0FBQyxRQUFRLENBQUM7SUFDNUIsQ0FBQztJQUVEOzs7T0FHRztJQUVJLEtBQUssQ0FBQyxLQUFLLENBQUMsS0FBYSxFQUFFLFFBQWdCLEVBQUUsU0FBaUI7UUFDbkUsSUFBSSxjQUFjLEdBQW9CLE1BQU0sSUFBQSwwQkFBVyxFQUFDLFNBQVMsQ0FBQyxDQUFDO1FBRW5FLCtEQUErRDtRQUMvRCxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7WUFDcEIsY0FBYyxHQUFHLEVBQUUsS0FBSyxFQUFFLEVBQUUsRUFBRSxPQUFPLEVBQUUsRUFBRSxFQUFFLENBQUM7UUFDOUMsQ0FBQztRQUVELE1BQU0sV0FBVyxHQUFnQixFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsQ0FBQztRQUNyRCxNQUFNLE9BQU8sR0FBVyxNQUFNLElBQUksQ0FBQyxVQUFVLENB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
@@ -1,14 +1,14 @@
1
- import { flags, Command } from "@oclif/command";
1
+ import { Command } from "@oclif/core";
2
2
  export default class Transform extends Command {
3
3
  static description: string;
4
4
  static examples: string[];
5
5
  static flags: {
6
- format: flags.IOptionFlag<string>;
7
- file: flags.IOptionFlag<string>;
8
- url: flags.IOptionFlag<string>;
9
- destination: flags.IOptionFlag<string>;
10
- force: import("@oclif/parser/lib/flags").IBooleanFlag<boolean>;
11
- "auth-key": flags.IOptionFlag<string | undefined>;
6
+ format: import("@oclif/core/lib/interfaces").OptionFlag<string, import("@oclif/core/lib/interfaces").CustomOptions>;
7
+ file: import("@oclif/core/lib/interfaces").OptionFlag<string, import("@oclif/core/lib/interfaces").CustomOptions>;
8
+ url: import("@oclif/core/lib/interfaces").OptionFlag<string, import("@oclif/core/lib/interfaces").CustomOptions>;
9
+ destination: import("@oclif/core/lib/interfaces").OptionFlag<string, import("@oclif/core/lib/interfaces").CustomOptions>;
10
+ force: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
11
+ "auth-key": import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
12
12
  };
13
13
  run(): Promise<void>;
14
14
  }
@@ -1,8 +1,9 @@
1
1
  "use strict";
2
+ var _a;
2
3
  Object.defineProperty(exports, "__esModule", { value: true });
3
4
  const path = require("path");
4
5
  const fs = require("fs-extra");
5
- const command_1 = require("@oclif/command");
6
+ const core_1 = require("@oclif/core");
6
7
  const sdk_1 = require("@apimatic/sdk");
7
8
  const sdk_client_1 = require("../../client-utils/sdk-client");
8
9
  const utils_1 = require("../../utils/utils");
@@ -10,9 +11,9 @@ const utils_2 = require("../../utils/utils");
10
11
  const transform_1 = require("../../types/api/transform");
11
12
  const transform_2 = require("../../controllers/api/transform");
12
13
  const formats = Object.keys(sdk_1.ExportFormats).join("|");
13
- class Transform extends command_1.Command {
14
+ class Transform extends core_1.Command {
14
15
  async run() {
15
- const { flags } = this.parse(Transform);
16
+ const { flags } = await this.parse(_a);
16
17
  const fileName = flags.file ? (0, utils_2.getFileNameFromPath)(flags.file) : (0, utils_2.getFileNameFromPath)(flags.url);
17
18
  const destinationFormat = transform_1.DestinationFormats[flags.format];
18
19
  const destinationFilePath = path.join(flags.destination, `${fileName}_${flags.format}.${destinationFormat}`.toLowerCase());
@@ -33,9 +34,9 @@ class Transform extends command_1.Command {
33
34
  const transformationController = new sdk_1.TransformationController(client);
34
35
  const { id, apiValidationSummary } = await (0, transform_2.getTransformationId)(flags, transformationController);
35
36
  const logFunctions = {
36
- log: this.log,
37
- warn: this.warn,
38
- error: this.error
37
+ log: (message) => this.log(message),
38
+ warn: (message) => this.warn(message),
39
+ error: (message) => this.error(message)
39
40
  };
40
41
  (0, utils_1.printValidationMessages)(apiValidationSummary, logFunctions);
41
42
  const savedTransformationFile = await (0, transform_2.downloadTransformationFile)({
@@ -78,6 +79,7 @@ class Transform extends command_1.Command {
78
79
  }
79
80
  }
80
81
  }
82
+ _a = Transform;
81
83
  Transform.description = `Transform API specifications from one format to another. Supports [10+ different formats](https://www.apimatic.io/transformer/#supported-formats) including OpenApi/Swagger, RAML, WSDL and Postman Collections.`;
82
84
  Transform.examples = [
83
85
  `$ apimatic api:transform --format="OpenApi3Json" --file="./specs/sample.json" --destination="D:/"
@@ -88,27 +90,28 @@ Success! Your transformed file is located at D:/swagger_raml.yaml
88
90
  `
89
91
  ];
90
92
  Transform.flags = {
91
- format: command_1.flags.string({
92
- parse: (format) => (0, transform_2.getValidFormat)(format.toUpperCase()),
93
+ format: core_1.Flags.string({
94
+ parse: async (format) => (0, transform_2.getValidFormat)(format.toUpperCase()),
93
95
  required: true,
94
96
  description: `specification format to transform API specification into
95
97
  ${formats}`
96
98
  }),
97
- file: command_1.flags.string({
98
- parse: (input) => path.resolve(input),
99
+ file: core_1.Flags.string({
100
+ parse: async (input) => path.resolve(input),
99
101
  default: "",
100
102
  description: "path to the API specification file to transform"
101
103
  }),
102
- url: command_1.flags.string({
104
+ url: core_1.Flags.string({
103
105
  default: "",
104
106
  description: "URL to the API specification file to transform. Can be used in place of the --file option if the API specification is publicly available."
105
107
  }),
106
- destination: command_1.flags.string({
107
- parse: (input) => path.resolve(input),
108
+ destination: core_1.Flags.string({
109
+ parse: async (input) => path.resolve(input),
108
110
  default: path.resolve("./"),
109
111
  description: "directory to download transformed file to"
110
112
  }),
111
- force: command_1.flags.boolean({ char: "f", default: false, description: "overwrite if same file exist in the destination" }),
112
- "auth-key": command_1.flags.string({ description: "override current authentication state with an authentication key" })
113
+ force: core_1.Flags.boolean({ char: "f", default: false, description: "overwrite if same file exist in the destination" }),
114
+ "auth-key": core_1.Flags.string({ description: "override current authentication state with an authentication key" })
113
115
  };
114
116
  exports.default = Transform;
117
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNmb3JtLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbW1hbmRzL2FwaS90cmFuc2Zvcm0udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsNkJBQTZCO0FBQzdCLCtCQUErQjtBQUUvQixzQ0FBNkM7QUFDN0MsdUNBQTBHO0FBRzFHLDhEQUEwRDtBQUMxRCw2Q0FBNEQ7QUFDNUQsNkNBQXFFO0FBQ3JFLHlEQUErRDtBQUMvRCwrREFBa0g7QUFFbEgsTUFBTSxPQUFPLEdBQVcsTUFBTSxDQUFDLElBQUksQ0FBQyxtQkFBYSxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0FBQzdELE1BQXFCLFNBQVUsU0FBUSxjQUFPO0lBc0M1QyxLQUFLLENBQUMsR0FBRztRQUNQLE1BQU0sRUFBRSxLQUFLLEVBQUUsR0FBRyxNQUFNLElBQUksQ0FBQyxLQUFLLENBQUMsRUFBUyxDQUFDLENBQUM7UUFDOUMsTUFBTSxRQUFRLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBQSwyQkFBbUIsRUFBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUEsMkJBQW1CLEVBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQy9GLE1BQU0saUJBQWlCLEdBQVcsOEJBQWtCLENBQUMsS0FBSyxDQUFDLE1BQXlDLENBQUMsQ0FBQztRQUN0RyxNQUFNLG1CQUFtQixHQUFXLElBQUksQ0FBQyxJQUFJLENBQzNDLEtBQUssQ0FBQyxXQUFXLEVBQ2pCLEdBQUcsUUFBUSxJQUFJLEtBQUssQ0FBQyxNQUFNLElBQUksaUJBQWlCLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FDakUsQ0FBQztRQUVGLG1GQUFtRjtRQUNuRixJQUFJLEVBQUUsQ0FBQyxVQUFVLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUN2RCxNQUFNLElBQUksS0FB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
@@ -1,11 +1,11 @@
1
- import { flags, Command } from "@oclif/command";
1
+ import { Command } from "@oclif/core";
2
2
  export default class Validate extends Command {
3
3
  static description: string;
4
4
  static examples: string[];
5
5
  static flags: {
6
- file: flags.IOptionFlag<string>;
7
- url: flags.IOptionFlag<string>;
8
- "auth-key": flags.IOptionFlag<string | undefined>;
6
+ file: import("@oclif/core/lib/interfaces").OptionFlag<string, import("@oclif/core/lib/interfaces").CustomOptions>;
7
+ url: import("@oclif/core/lib/interfaces").OptionFlag<string, import("@oclif/core/lib/interfaces").CustomOptions>;
8
+ "auth-key": import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
9
9
  };
10
10
  run(): Promise<void>;
11
11
  }
@@ -1,14 +1,14 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const fs = require("fs-extra");
4
- const command_1 = require("@oclif/command");
4
+ const core_1 = require("@oclif/core");
5
5
  const sdk_1 = require("@apimatic/sdk");
6
6
  const sdk_client_1 = require("../../client-utils/sdk-client");
7
7
  const validate_1 = require("../../controllers/api/validate");
8
8
  const utils_1 = require("../../utils/utils");
9
- class Validate extends command_1.Command {
9
+ class Validate extends core_1.Command {
10
10
  async run() {
11
- const { flags } = this.parse(Validate);
11
+ const { flags } = await this.parse(Validate);
12
12
  try {
13
13
  if (flags.file && !(await fs.pathExists(flags.file))) {
14
14
  throw new Error(`Validation file: ${flags.file} does not exist`);
@@ -16,11 +16,13 @@ class Validate extends command_1.Command {
16
16
  const overrideAuthKey = flags["auth-key"] ? flags["auth-key"] : null;
17
17
  const client = await sdk_client_1.SDKClient.getInstance().getClient(overrideAuthKey, this.config.configDir);
18
18
  const apiValidationController = new sdk_1.APIValidationExternalApisController(client);
19
- const validationSummary = await (0, validate_1.getValidation)(flags, apiValidationController);
19
+ core_1.ux.action.start("Validating specification file");
20
+ const validationSummary = await (0, validate_1.getValidationSummary)(flags, apiValidationController);
21
+ core_1.ux.action.stop();
20
22
  const logFunctions = {
21
- log: this.log,
22
- warn: this.warn,
23
- error: this.error
23
+ log: (message) => this.log(message),
24
+ warn: (message) => this.warn(message),
25
+ error: (message) => this.error(message)
24
26
  };
25
27
  (0, utils_1.printValidationMessages)(validationSummary, logFunctions);
26
28
  validationSummary.success
@@ -65,12 +67,13 @@ Specification file provided is valid
65
67
  `
66
68
  ];
67
69
  Validate.flags = {
68
- file: command_1.flags.string({ default: "", description: "Path to the API specification file to validate" }),
69
- url: command_1.flags.string({
70
+ file: core_1.Flags.string({ default: "", description: "Path to the API specification file to validate" }),
71
+ url: core_1.Flags.string({
70
72
  default: "",
71
73
  description: "URL to the specification file to validate. Can be used in place of the --file option if the API specification is publicly available."
72
74
  }),
73
75
  // docs: flags.boolean({ default: false, description: "Validate specification for docs generation" }), // Next tier, not included in API spec
74
- "auth-key": command_1.flags.string({ description: "override current authentication state with an authentication key" })
76
+ "auth-key": core_1.Flags.string({ description: "override current authentication state with an authentication key" })
75
77
  };
76
78
  exports.default = Validate;
79
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29tbWFuZHMvYXBpL3ZhbGlkYXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsK0JBQStCO0FBRS9CLHNDQUFpRDtBQUNqRCx1Q0FBNEc7QUFHNUcsOERBQTBEO0FBQzFELDZEQUFzRTtBQUN0RSw2Q0FBeUU7QUFHekUsTUFBcUIsUUFBUyxTQUFRLGNBQU87SUF1QjNDLEtBQUssQ0FBQyxHQUFHO1FBQ1AsTUFBTSxFQUFFLEtBQUssRUFBRSxHQUFHLE1BQU0sSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUU3QyxJQUFJLENBQUM7WUFDSCxJQUFJLEtBQUssQ0FBQyxJQUFJLElBQUksQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsRUFBRSxDQUFDO2dCQUNyRCxNQUFNLElBQUksS0FBSyxDQUFDLG9CQUFvQixLQUFLLENBQUMsSUFBSSxpQkFBaUIsQ0FBQyxDQUFDO1lBQ25FLENBQUM7WUFDRCxNQUFNLGVBQWUsR0FBRyxLQUFLLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO1lBQ3JFLE1BQU0sTUFBTSxHQUFXLE1BQU0sc0JBQVMsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxTQUFTLENBQUMsZUFBZSxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUM7WUFFdkcsTUFBTSx1QkFBdUIsR0FBd0MsSUFBSSx5Q0FBbUMsQ0FDMUcsTUFBTSxDQUNQLENBQUM7WUFFRixTQUFFLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQywrQkFBK0IsQ0FBQyxDQUFDO1lBQ2pELE1BQU0saUJBQWlCLEdBQXlCLE1BQU0sSUFBQSwrQkFBb0IsRUFBQyxLQUFLLEVBQUUsdUJBQXVCLENBQUMs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
@@ -1,9 +1,9 @@
1
- import { flags, Command } from "@oclif/command";
1
+ import { Command } from "@oclif/core";
2
2
  export default class Login extends Command {
3
3
  static description: string;
4
4
  static examples: string[];
5
5
  static flags: {
6
- "auth-key": flags.IOptionFlag<string>;
6
+ "auth-key": import("@oclif/core/lib/interfaces").OptionFlag<string, import("@oclif/core/lib/interfaces").CustomOptions>;
7
7
  };
8
8
  run(): Promise<void>;
9
9
  }