stepzen 0.28.0-experimental.fa8aa47 → 0.29.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.
- package/README.md +23 -15
- package/bin/dev +6 -0
- package/bin/run +7 -2
- package/lib/commands/deploy.d.ts +6 -8
- package/lib/commands/deploy.d.ts.map +1 -1
- package/lib/commands/deploy.js +10 -11
- package/lib/commands/deploy.js.map +1 -1
- package/lib/commands/import.d.ts +9 -32
- package/lib/commands/import.d.ts.map +1 -1
- package/lib/commands/import.js +92 -61
- package/lib/commands/import.js.map +1 -1
- package/lib/commands/init.d.ts +3 -4
- package/lib/commands/init.d.ts.map +1 -1
- package/lib/commands/init.js +3 -6
- package/lib/commands/init.js.map +1 -1
- package/lib/commands/lint.d.ts +1 -1
- package/lib/commands/list.d.ts +2 -5
- package/lib/commands/list.d.ts.map +1 -1
- package/lib/commands/list.js +11 -10
- package/lib/commands/list.js.map +1 -1
- package/lib/commands/login.d.ts +3 -3
- package/lib/commands/login.js +2 -2
- package/lib/commands/login.js.map +1 -1
- package/lib/commands/request.d.ts +10 -10
- package/lib/commands/request.d.ts.map +1 -1
- package/lib/commands/request.js +38 -10
- package/lib/commands/request.js.map +1 -1
- package/lib/commands/service.d.ts +4 -7
- package/lib/commands/service.d.ts.map +1 -1
- package/lib/commands/service.js +38 -44
- package/lib/commands/service.js.map +1 -1
- package/lib/commands/start.d.ts +4 -5
- package/lib/commands/start.d.ts.map +1 -1
- package/lib/commands/start.js +3 -4
- package/lib/commands/start.js.map +1 -1
- package/lib/commands/transpile.d.ts +3 -4
- package/lib/commands/transpile.d.ts.map +1 -1
- package/lib/commands/transpile.js +15 -12
- package/lib/commands/transpile.js.map +1 -1
- package/lib/commands/upload.d.ts +6 -13
- package/lib/commands/upload.d.ts.map +1 -1
- package/lib/commands/upload.js +9 -10
- package/lib/commands/upload.js.map +1 -1
- package/lib/commands/validate.d.ts +2 -3
- package/lib/commands/validate.d.ts.map +1 -1
- package/lib/commands/validate.js +13 -10
- package/lib/commands/validate.js.map +1 -1
- package/lib/commands/whoami.d.ts +0 -1
- package/lib/commands/whoami.d.ts.map +1 -1
- package/lib/commands/whoami.js +0 -1
- package/lib/commands/whoami.js.map +1 -1
- package/lib/generate/helpers.d.ts.map +1 -1
- package/lib/generate/helpers.js +23 -18
- package/lib/generate/helpers.js.map +1 -1
- package/lib/hooks/init/version.d.ts.map +1 -1
- package/lib/hooks/init/version.js +1 -6
- package/lib/hooks/init/version.js.map +1 -1
- package/lib/hooks/prerun/check-upgrade.d.ts.map +1 -1
- package/lib/hooks/prerun/check-upgrade.js +1 -6
- package/lib/hooks/prerun/check-upgrade.js.map +1 -1
- package/lib/shared/docker.d.ts.map +1 -1
- package/lib/shared/docker.js +3 -0
- package/lib/shared/docker.js.map +1 -1
- package/lib/shared/inquirer.d.ts +0 -1
- package/lib/shared/inquirer.d.ts.map +1 -1
- package/lib/shared/rmtemp.d.ts +11 -0
- package/lib/shared/rmtemp.d.ts.map +1 -0
- package/lib/shared/rmtemp.js +39 -0
- package/lib/shared/rmtemp.js.map +1 -0
- package/lib/shared/types.d.ts +2 -2
- package/lib/shared/types.d.ts.map +1 -1
- package/lib/shared/zen-command.d.ts +6 -2
- package/lib/shared/zen-command.d.ts.map +1 -1
- package/lib/shared/zen-command.js +102 -0
- package/lib/shared/zen-command.js.map +1 -1
- package/oclif.manifest.json +950 -1
- package/package.json +13 -11
package/README.md
CHANGED
|
@@ -30,7 +30,7 @@ $ npm install -g stepzen
|
|
|
30
30
|
$ stepzen COMMAND
|
|
31
31
|
running command...
|
|
32
32
|
$ stepzen (--version|-v)
|
|
33
|
-
stepzen/0.
|
|
33
|
+
stepzen/0.29.0-beta.0 linux-x64 node-v14.21.2
|
|
34
34
|
$ stepzen --help [COMMAND]
|
|
35
35
|
USAGE
|
|
36
36
|
$ stepzen COMMAND
|
|
@@ -50,13 +50,13 @@ To run from code: `path-to-repo/bin/run start` (start or whatever command you're
|
|
|
50
50
|
-- OR (deprecated) --
|
|
51
51
|
|
|
52
52
|
$ stepzen deploy ENDPOINT --schema=schema [--configurationsets=cs1[,cs2[,..]]]`](#stepzen-deploy-endpoint---configpathtoconfigyaml---dirpathtoworkspace---or-deprecated----stepzen-deploy-endpoint---schemaschema---configurationsetscs1cs2)
|
|
53
|
-
* [`stepzen help [
|
|
54
|
-
* [`stepzen import curl [[CURLOPTS] URL] [--prefix=PREFIX] [--header=HEADER] [--header-param=HEADER-PARAM] [--query-name=QUERY-NAME] [--query-type=QUERY-TYPE] [--path-params=PATH-PARAMS]`](#stepzen-import-curl-curlopts-url---prefixprefix---headerheader---header-paramheader-param---query-namequery-name---query-typequery-type---path-paramspath-params)
|
|
53
|
+
* [`stepzen help [COMMANDS]`](#stepzen-help-commands)
|
|
54
|
+
* [`stepzen import curl [[CURLOPTS] URL] [--prefix=PREFIX] [--data=DATA] [--request=REQUEST] [--url=URL] [--header=HEADER] [--header-param=HEADER-PARAM] [--query-name=QUERY-NAME] [--query-type=QUERY-TYPE] [--path-params=PATH-PARAMS]`](#stepzen-import-curl-curlopts-url---prefixprefix---datadata---requestrequest---urlurl---headerheader---header-paramheader-param---query-namequery-name---query-typequery-type---path-paramspath-params)
|
|
55
55
|
* [`stepzen init`](#stepzen-init)
|
|
56
56
|
* [`stepzen list [TYPE]`](#stepzen-list-type)
|
|
57
57
|
* [`stepzen login`](#stepzen-login)
|
|
58
58
|
* [`stepzen logout`](#stepzen-logout)
|
|
59
|
-
* [`stepzen request QUERY`](#stepzen-request-query)
|
|
59
|
+
* [`stepzen request [QUERY]`](#stepzen-request-query)
|
|
60
60
|
* [`stepzen service [ACTION]`](#stepzen-service-action)
|
|
61
61
|
* [`stepzen start`](#stepzen-start)
|
|
62
62
|
* [`stepzen upload TYPE DESTINATION`](#stepzen-upload-type-destination)
|
|
@@ -120,16 +120,16 @@ DESCRIPTION
|
|
|
120
120
|
Deploy to StepZen.
|
|
121
121
|
```
|
|
122
122
|
|
|
123
|
-
## `stepzen help [
|
|
123
|
+
## `stepzen help [COMMANDS]`
|
|
124
124
|
|
|
125
125
|
Display help for stepzen.
|
|
126
126
|
|
|
127
127
|
```
|
|
128
128
|
USAGE
|
|
129
|
-
$ stepzen help [
|
|
129
|
+
$ stepzen help [COMMANDS] [-n]
|
|
130
130
|
|
|
131
131
|
ARGUMENTS
|
|
132
|
-
|
|
132
|
+
COMMANDS Command to show help for.
|
|
133
133
|
|
|
134
134
|
FLAGS
|
|
135
135
|
-n, --nested-commands Include all nested commands in the output.
|
|
@@ -138,16 +138,17 @@ DESCRIPTION
|
|
|
138
138
|
Display help for stepzen.
|
|
139
139
|
```
|
|
140
140
|
|
|
141
|
-
_See code: [@oclif/plugin-help](https://github.com/oclif/plugin-help/blob/v5.
|
|
141
|
+
_See code: [@oclif/plugin-help](https://github.com/oclif/plugin-help/blob/v5.2.4/src/commands/help.ts)_
|
|
142
142
|
|
|
143
|
-
## `stepzen import curl [[CURLOPTS] URL] [--prefix=PREFIX] [--header=HEADER] [--header-param=HEADER-PARAM] [--query-name=QUERY-NAME] [--query-type=QUERY-TYPE] [--path-params=PATH-PARAMS]`
|
|
143
|
+
## `stepzen import curl [[CURLOPTS] URL] [--prefix=PREFIX] [--data=DATA] [--request=REQUEST] [--url=URL] [--header=HEADER] [--header-param=HEADER-PARAM] [--query-name=QUERY-NAME] [--query-type=QUERY-TYPE] [--path-params=PATH-PARAMS]`
|
|
144
144
|
|
|
145
145
|
Import a schema for an external data source or an API endpoint to your GraphQL API.
|
|
146
146
|
|
|
147
147
|
```
|
|
148
148
|
USAGE
|
|
149
|
-
$ stepzen import curl [[CURLOPTS] URL] [--prefix=PREFIX] [--
|
|
150
|
-
[--
|
|
149
|
+
$ stepzen import curl [[CURLOPTS] URL] [--prefix=PREFIX] [--data=DATA] [--request=REQUEST] [--url=URL]
|
|
150
|
+
[--header=HEADER] [--header-param=HEADER-PARAM] [--query-name=QUERY-NAME] [--query-type=QUERY-TYPE]
|
|
151
|
+
[--path-params=PATH-PARAMS]
|
|
151
152
|
$ stepzen import graphql [URL] [--prefix=PREFIX] [--header=HEADER] [--header-param=HEADER-PARAM]
|
|
152
153
|
$ stepzen import mysql [--db-host=DB-HOST] [--db-user=DB-USER] [--db-password=DB-PASSWORD]
|
|
153
154
|
[--db-database=DB-DATABASE] [--db-link-types] [--db-include=DB-INCLUDE]
|
|
@@ -328,17 +329,18 @@ DESCRIPTION
|
|
|
328
329
|
Log out of StepZen.
|
|
329
330
|
```
|
|
330
331
|
|
|
331
|
-
## `stepzen request QUERY`
|
|
332
|
+
## `stepzen request [QUERY]`
|
|
332
333
|
|
|
333
334
|
Send a GraphQL request to a StepZen endpoint and print the response, using the API key and the target endpoint from the current StepZen workspace.
|
|
334
335
|
|
|
335
336
|
```
|
|
336
337
|
USAGE
|
|
337
338
|
$ stepzen request [QUERY] [-h] [--dir <value> | --endpoint <value>] [-H <value>] [--operation-name <value>]
|
|
338
|
-
[--var <value>] [--var-file <value>]
|
|
339
|
+
[--var <value>] [--var-file <value>] [-f <value>]
|
|
339
340
|
|
|
340
341
|
ARGUMENTS
|
|
341
|
-
QUERY GraphQL query (could include a query, a mutation or a subscription)
|
|
342
|
+
QUERY GraphQL query (could include a query, a mutation or a subscription).
|
|
343
|
+
This argument is required unless you provide the query as a file with --file=file.
|
|
342
344
|
|
|
343
345
|
FLAGS
|
|
344
346
|
-H, --header=<value>...
|
|
@@ -352,6 +354,12 @@ FLAGS
|
|
|
352
354
|
Use the -H "Header-Name:" syntax to drop a default header, and the -H "Header-Name;" syntax to send a header with an
|
|
353
355
|
empty value.
|
|
354
356
|
|
|
357
|
+
-f, --file=<value>
|
|
358
|
+
Read the query text from a file instead of the command line.
|
|
359
|
+
|
|
360
|
+
Example:
|
|
361
|
+
stepzen request -f query.graphql
|
|
362
|
+
|
|
355
363
|
-h, --help
|
|
356
364
|
Show CLI help
|
|
357
365
|
|
|
@@ -511,7 +519,7 @@ FLAG DESCRIPTIONS
|
|
|
511
519
|
Additionally shows the architecture, node version, operating system, and versions of plugins that the CLI is using.
|
|
512
520
|
```
|
|
513
521
|
|
|
514
|
-
_See code: [@oclif/plugin-version](https://github.com/oclif/plugin-version/blob/v1.1
|
|
522
|
+
_See code: [@oclif/plugin-version](https://github.com/oclif/plugin-version/blob/v1.2.1/src/commands/version.ts)_
|
|
515
523
|
|
|
516
524
|
## `stepzen whoami`
|
|
517
525
|
|
package/bin/dev
CHANGED
|
@@ -1,5 +1,11 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
|
|
3
|
+
// workaround for https://github.com/oclif/core/issues/630
|
|
4
|
+
if (!global.AbortController) {
|
|
5
|
+
const {AbortController} = require('node-abort-controller')
|
|
6
|
+
global.AbortController = AbortController
|
|
7
|
+
}
|
|
8
|
+
|
|
3
9
|
const oclif = require('@oclif/core')
|
|
4
10
|
|
|
5
11
|
const path = require('path')
|
package/bin/run
CHANGED
|
@@ -18,6 +18,12 @@ if (nodeMajor > 0 && nodeMajor < 14) {
|
|
|
18
18
|
console.warn(yellow + message.replace('$$version.', version) + reset)
|
|
19
19
|
}
|
|
20
20
|
|
|
21
|
+
// workaround for https://github.com/oclif/core/issues/630
|
|
22
|
+
if (!global.AbortController) {
|
|
23
|
+
const {AbortController} = require('node-abort-controller')
|
|
24
|
+
global.AbortController = AbortController
|
|
25
|
+
}
|
|
26
|
+
|
|
21
27
|
const oclif = require('@oclif/core')
|
|
22
28
|
const flush = require('@oclif/core/flush')
|
|
23
29
|
const handleError = require('@oclif/core/handle')
|
|
@@ -26,6 +32,5 @@ oclif
|
|
|
26
32
|
.run()
|
|
27
33
|
.then(flush)
|
|
28
34
|
.catch(error => {
|
|
29
|
-
flush()
|
|
30
|
-
handleError(error)
|
|
35
|
+
return flush().then(() => handleError(error))
|
|
31
36
|
})
|
package/lib/commands/deploy.d.ts
CHANGED
|
@@ -5,19 +5,17 @@ export default class Deploy extends ZenCommand {
|
|
|
5
5
|
static description: string;
|
|
6
6
|
static usage: string;
|
|
7
7
|
static flags: {
|
|
8
|
-
dir: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined>;
|
|
8
|
+
dir: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
|
|
9
9
|
silent: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
|
|
10
|
-
configurationsets: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined>;
|
|
11
|
-
config: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined>;
|
|
12
|
-
schema: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined>;
|
|
10
|
+
configurationsets: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
|
|
11
|
+
config: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
|
|
12
|
+
schema: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
|
|
13
13
|
help: import("@oclif/core/lib/interfaces").BooleanFlag<void>;
|
|
14
14
|
'non-interactive': import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
|
|
15
15
|
};
|
|
16
16
|
static args: {
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
required: boolean;
|
|
20
|
-
}[];
|
|
17
|
+
endpoint: import("@oclif/core/lib/interfaces/parser").Arg<string | undefined, Record<string, unknown>>;
|
|
18
|
+
};
|
|
21
19
|
run(): Promise<void>;
|
|
22
20
|
doDeployV1WithSdkV1({ endpoint, schema, configurationsets, configuration, }: {
|
|
23
21
|
endpoint: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deploy.d.ts","sourceRoot":"","sources":["../../src/commands/deploy.ts"],"names":[],"mappings":"AAcA,OAAO,UAAU,MAAM,uBAAuB,CAAA;AAE9C,OAAO,EAAC,4BAA4B,EAAE,SAAS,EAAC,MAAM,iBAAiB,CAAA;AACvE,OAAO,EAEL,cAAc,EAEf,MAAM,uBAAuB,CAAA;AAG9B,MAAM,CAAC,OAAO,OAAO,MAAO,SAAQ,UAAU;IAC5C,MAAM,CAAC,WAAW,SAAuB;IAEzC,MAAM,CAAC,KAAK,SAIiE;IAE7E,MAAM,CAAC,KAAK;;;;;;;;MAuCX;IAED,MAAM,CAAC,IAAI
|
|
1
|
+
{"version":3,"file":"deploy.d.ts","sourceRoot":"","sources":["../../src/commands/deploy.ts"],"names":[],"mappings":"AAcA,OAAO,UAAU,MAAM,uBAAuB,CAAA;AAE9C,OAAO,EAAC,4BAA4B,EAAE,SAAS,EAAC,MAAM,iBAAiB,CAAA;AACvE,OAAO,EAEL,cAAc,EAEf,MAAM,uBAAuB,CAAA;AAG9B,MAAM,CAAC,OAAO,OAAO,MAAO,SAAQ,UAAU;IAC5C,MAAM,CAAC,WAAW,SAAuB;IAEzC,MAAM,CAAC,KAAK,SAIiE;IAE7E,MAAM,CAAC,KAAK;;;;;;;;MAuCX;IAED,MAAM,CAAC,IAAI;;MAMV;IAGK,GAAG;IAsLH,mBAAmB,CAAC,EACxB,QAAQ,EACR,MAAM,EACN,iBAAiB,EACjB,aAAa,GACd,EAAE;QACD,QAAQ,EAAE,MAAM,CAAA;QAChB,MAAM,EAAE,MAAM,CAAA;QACd,iBAAiB,CAAC,EAAE,MAAM,CAAA;QAC1B,aAAa,EAAE,4BAA4B,CAAA;KAC5C;;;;;;;;;IAqBK,mBAAmB,CAAC,EACxB,QAAQ,EACR,SAAS,EACT,cAAc,EACd,aAAa,GACd,EAAE;QACD,QAAQ,EAAE,MAAM,CAAA;QAChB,SAAS,EAAE,SAAS,CAAA;QACpB,cAAc,CAAC,EAAE,MAAM,CAAA;QACvB,aAAa,EAAE,4BAA4B,CAAA;KAC5C;;;;;;;;;IA+BK,mBAAmB,CAAC,EACxB,QAAQ,EACR,SAAS,EACT,cAAc,EACd,aAAa,EACb,OAAO,GACR,EAAE;QACD,QAAQ,EAAE,MAAM,CAAA;QAChB,SAAS,EAAE,SAAS,CAAA;QACpB,cAAc,CAAC,EAAE,MAAM,CAAA;QACvB,aAAa,EAAE,4BAA4B,CAAA;QAC3C,OAAO,EAAE,cAAc,CAAA;KACxB;;;;CAoDF"}
|
package/lib/commands/deploy.js
CHANGED
|
@@ -81,7 +81,7 @@ class Deploy extends zen_command_1.default {
|
|
|
81
81
|
if (hasDeprecatedFlags) {
|
|
82
82
|
const endpoint = args.endpoint;
|
|
83
83
|
if (!flags.silent) {
|
|
84
|
-
core_1.
|
|
84
|
+
core_1.ux.action.start(`Deploying ${chalk.yellow(endpoint)} to StepZen`);
|
|
85
85
|
}
|
|
86
86
|
try {
|
|
87
87
|
result = await this.doDeployV1WithSdkV1({
|
|
@@ -93,7 +93,7 @@ class Deploy extends zen_command_1.default {
|
|
|
93
93
|
}
|
|
94
94
|
catch (error2) {
|
|
95
95
|
if (!flags.silent) {
|
|
96
|
-
core_1.
|
|
96
|
+
core_1.ux.action.stop(chalk.red('fail'));
|
|
97
97
|
}
|
|
98
98
|
throw error2;
|
|
99
99
|
}
|
|
@@ -106,7 +106,7 @@ class Deploy extends zen_command_1.default {
|
|
|
106
106
|
});
|
|
107
107
|
const endpoint = args.endpoint || workspace.endpoint;
|
|
108
108
|
if (!flags.silent) {
|
|
109
|
-
core_1.
|
|
109
|
+
core_1.ux.action.start(`Deploying ${chalk.yellow(endpoint)} to StepZen`);
|
|
110
110
|
}
|
|
111
111
|
let configPath;
|
|
112
112
|
if (flags.config) {
|
|
@@ -148,7 +148,7 @@ class Deploy extends zen_command_1.default {
|
|
|
148
148
|
}
|
|
149
149
|
catch (error2) {
|
|
150
150
|
if (!flags.silent) {
|
|
151
|
-
core_1.
|
|
151
|
+
core_1.ux.action.stop(chalk.red('fail'));
|
|
152
152
|
}
|
|
153
153
|
throw error2;
|
|
154
154
|
}
|
|
@@ -158,13 +158,13 @@ class Deploy extends zen_command_1.default {
|
|
|
158
158
|
if (!flags.silent) {
|
|
159
159
|
const deployEnd = new Date().getTime();
|
|
160
160
|
const deployTime = deployEnd - deployStart;
|
|
161
|
-
core_1.
|
|
161
|
+
core_1.ux.action.stop(`${chalk.grey('done in')} ${prettyMilliseconds(deployTime)} 🚀`);
|
|
162
162
|
console.log((0, utils_1.formatEndpointInfo)({ configuration, endpoint }));
|
|
163
163
|
}
|
|
164
164
|
}
|
|
165
165
|
else {
|
|
166
166
|
if (!flags.silent) {
|
|
167
|
-
core_1.
|
|
167
|
+
core_1.ux.action.stop(chalk.red('fail'));
|
|
168
168
|
}
|
|
169
169
|
// Errors. Exit, and output the server's error response
|
|
170
170
|
throw new errors_1.CLIError(error?.message || 'An error occurred.');
|
|
@@ -297,12 +297,11 @@ Deploy.flags = {
|
|
|
297
297
|
exclusive: ['config', 'dir'],
|
|
298
298
|
}),
|
|
299
299
|
};
|
|
300
|
-
Deploy.args =
|
|
301
|
-
{
|
|
302
|
-
name: 'endpoint',
|
|
300
|
+
Deploy.args = {
|
|
301
|
+
endpoint: core_1.Args.string({
|
|
303
302
|
description: chalk `name of the endpoint (e.g. {bold api/customers})
|
|
304
303
|
[default: use the {underline endpoint} property from stepzen.config.json]`,
|
|
305
304
|
required: false,
|
|
306
|
-
},
|
|
307
|
-
|
|
305
|
+
}),
|
|
306
|
+
};
|
|
308
307
|
//# sourceMappingURL=deploy.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deploy.js","sourceRoot":"","sources":["../../src/commands/deploy.ts"],"names":[],"mappings":";AAAA,mDAAmD;;AAEnD,gEAAgE;AAEhE,+BAA8B;AAC9B,yBAAwB;AACxB,6BAA4B;AAC5B,gDAA+C;AAC/C,
|
|
1
|
+
{"version":3,"file":"deploy.js","sourceRoot":"","sources":["../../src/commands/deploy.ts"],"names":[],"mappings":"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"}
|
package/lib/commands/import.d.ts
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
|
+
import { BooleanFlag, OptionFlag, ArgOutput, FlagOutput, Input, ParserOutput } from '@oclif/core/lib/interfaces/parser';
|
|
1
2
|
import type { CommonImportOptions } from '../generate';
|
|
2
3
|
import ZenCommand from '../shared/zen-command';
|
|
3
4
|
import { DBType, DBIntrospectionOptions } from '../generate/sql2sdl';
|
|
4
5
|
import { HeaderInput } from '../shared/header';
|
|
5
6
|
import { Workspace, FlagsT } from '../shared/types';
|
|
6
|
-
import { BooleanFlag, OptionFlag } from '@oclif/core/lib/interfaces';
|
|
7
7
|
export declare type DataSourceType = 'curl' | 'graphql' | 'postgresql' | 'mysql' | 'snowflake';
|
|
8
8
|
declare type OptionFlagWithDataSource<T> = OptionFlag<T> & {
|
|
9
9
|
dataSources?: DataSourceType[];
|
|
@@ -19,6 +19,9 @@ export default class Import extends ZenCommand {
|
|
|
19
19
|
name: OptionFlagWithDataSource<string | undefined>;
|
|
20
20
|
overwrite: BooleanFlagWithDataSource<boolean>;
|
|
21
21
|
prefix: OptionFlagWithDataSource<string | undefined>;
|
|
22
|
+
data: OptionFlagWithDataSource<string[] | undefined>;
|
|
23
|
+
request: OptionFlagWithDataSource<string | undefined>;
|
|
24
|
+
url: OptionFlagWithDataSource<string[] | undefined>;
|
|
22
25
|
header: OptionFlagWithDataSource<string[] | undefined>;
|
|
23
26
|
'header-param': OptionFlagWithDataSource<string[] | undefined>;
|
|
24
27
|
'query-name': OptionFlagWithDataSource<string | undefined>;
|
|
@@ -38,46 +41,20 @@ export default class Import extends ZenCommand {
|
|
|
38
41
|
'non-interactive': BooleanFlag<boolean>;
|
|
39
42
|
};
|
|
40
43
|
static args: {
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
}[];
|
|
44
|
+
source: import("@oclif/core/lib/interfaces/parser").Arg<string, Record<string, unknown>>;
|
|
45
|
+
};
|
|
44
46
|
static flagHelpForSource: (source: DataSourceType, exclude?: Array<keyof typeof Import.flags>) => string;
|
|
45
47
|
static usage: string[];
|
|
46
48
|
static strict: boolean;
|
|
49
|
+
protected parse<F extends FlagOutput, B extends FlagOutput, A extends ArgOutput>(options?: Input<F, B, A>, argv?: string[]): Promise<ParserOutput<F, B, A> & {
|
|
50
|
+
argv: string[];
|
|
51
|
+
}>;
|
|
47
52
|
run(): Promise<void>;
|
|
48
53
|
importCurl(argv: string[], flags: FlagsT<typeof Import>, commonOptions: CommonImportOptions): Promise<string>;
|
|
49
54
|
importGraphQL(argv: string[], flags: FlagsT<typeof Import>, commonOptions: CommonImportOptions): Promise<string>;
|
|
50
55
|
importSql(source: DBType, dsn: string | undefined, flags: FlagsT<typeof Import>, fixedOptions: CommonImportOptions): Promise<string>;
|
|
51
56
|
ensureOnConflictBehavior(workspace: Workspace, source: string, flags: FlagsT<typeof Import>): Promise<"overwrite" | "append">;
|
|
52
57
|
warnAboutIgnoredFlags(source: string, usedFlags: FlagsT<typeof Import>): void;
|
|
53
|
-
parseWorkaround(): Promise<import("@oclif/core/lib/interfaces").ParserOutput<{
|
|
54
|
-
dir: string | undefined;
|
|
55
|
-
silent: boolean;
|
|
56
|
-
name: string | undefined;
|
|
57
|
-
overwrite: boolean;
|
|
58
|
-
prefix: string | undefined;
|
|
59
|
-
header: string[] | undefined;
|
|
60
|
-
'header-param': string[] | undefined;
|
|
61
|
-
'query-name': string | undefined;
|
|
62
|
-
'query-type': string | undefined;
|
|
63
|
-
'path-params': string | undefined;
|
|
64
|
-
'db-host': string | undefined;
|
|
65
|
-
'db-user': string | undefined;
|
|
66
|
-
'db-password': string | undefined;
|
|
67
|
-
'db-database': string | undefined;
|
|
68
|
-
'db-link-types': boolean;
|
|
69
|
-
'db-include': string | undefined;
|
|
70
|
-
'db-schema': string | undefined;
|
|
71
|
-
'db-use-deprecated-2022-naming': boolean;
|
|
72
|
-
'snowflake-account-id': string | undefined;
|
|
73
|
-
'snowflake-warehouse': string | undefined;
|
|
74
|
-
help: void;
|
|
75
|
-
'non-interactive': boolean;
|
|
76
|
-
}, {
|
|
77
|
-
[flag: string]: any;
|
|
78
|
-
}, {
|
|
79
|
-
[name: string]: any;
|
|
80
|
-
}>>;
|
|
81
58
|
parseHeaderFlags(headerFlagValues?: string[], headerParamFlagValues?: string[]): HeaderInput[];
|
|
82
59
|
getSqlOptionsFromFlags(flags: FlagsT<typeof Import>): {
|
|
83
60
|
host: string | undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"import.d.ts","sourceRoot":"","sources":["../../src/commands/import.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"import.d.ts","sourceRoot":"","sources":["../../src/commands/import.ts"],"names":[],"mappings":"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"}
|
package/lib/commands/import.js
CHANGED
|
@@ -6,6 +6,7 @@ const fsx = require("fs-extra");
|
|
|
6
6
|
const path = require("path");
|
|
7
7
|
const core_1 = require("@oclif/core");
|
|
8
8
|
const errors_1 = require("@oclif/core/lib/errors");
|
|
9
|
+
const errors_2 = require("@oclif/core/lib/parser/errors");
|
|
9
10
|
const dsn_parser_1 = require("@soluble/dsn-parser");
|
|
10
11
|
const lodash_1 = require("lodash");
|
|
11
12
|
const inquirer = require("../shared/inquirer");
|
|
@@ -21,6 +22,7 @@ const path_params_parser_1 = require("../shared/path-params-parser");
|
|
|
21
22
|
const header_params_parser_1 = require("../shared/header-params-parser");
|
|
22
23
|
const header_1 = require("../shared/header");
|
|
23
24
|
const configuration_1 = require("../shared/configuration");
|
|
25
|
+
const rmtemp_1 = require("../shared/rmtemp");
|
|
24
26
|
const _addDataTypesToDescription = (options) => {
|
|
25
27
|
const prefix = options?.dataSources
|
|
26
28
|
? `[${options?.dataSources.join(', ')}]`
|
|
@@ -49,8 +51,61 @@ const Flags = {
|
|
|
49
51
|
}),
|
|
50
52
|
};
|
|
51
53
|
class Import extends zen_command_1.default {
|
|
54
|
+
// special parsing to support curl flags and options
|
|
55
|
+
async parse(options, argv = this.argv) {
|
|
56
|
+
let parsed;
|
|
57
|
+
try {
|
|
58
|
+
parsed = await super.parse(options, argv);
|
|
59
|
+
}
|
|
60
|
+
catch (error) {
|
|
61
|
+
if (!(error instanceof errors_2.CLIParseError)) {
|
|
62
|
+
throw error;
|
|
63
|
+
}
|
|
64
|
+
const { parse: { output }, } = error;
|
|
65
|
+
const isCurl = output?.args?.source?.toLowerCase() === 'curl';
|
|
66
|
+
const hasUnsupportedFlags = Boolean(output?.nonExistentFlags?.length);
|
|
67
|
+
if (isCurl && hasUnsupportedFlags) {
|
|
68
|
+
const unsupportedFlags = output.nonExistentFlags;
|
|
69
|
+
throw new errors_1.CLIError(`Unsupported curl flag${unsupportedFlags.length > 1 ? 's' : ''}: ${unsupportedFlags.join(', ')}.` +
|
|
70
|
+
` If this is a blocker for you, please let us know on Discord (${constants_1.STEPZEN_DISCORD_URL})`);
|
|
71
|
+
}
|
|
72
|
+
throw error;
|
|
73
|
+
}
|
|
74
|
+
const isCurl = parsed.args.source.toLowerCase() === 'curl';
|
|
75
|
+
if (isCurl) {
|
|
76
|
+
// "unparse" the curl flags and args into the argv array
|
|
77
|
+
// (to be parsed again by the curl-parser code later)
|
|
78
|
+
//
|
|
79
|
+
// The main reason for this non-optimal approach:
|
|
80
|
+
// - In StepZen CLI, a curl command parser with support for
|
|
81
|
+
// curl-specific validation and error messages has been historically
|
|
82
|
+
// implemented without using the oclif parser. (This was done
|
|
83
|
+
// because the curl syntax conventions for command line flags and
|
|
84
|
+
// options slightly differ from those in oclif.)
|
|
85
|
+
// - The custom curl parser is used in 2 places: to initially parse
|
|
86
|
+
// the command line when running the Import command, and also to
|
|
87
|
+
// parse the user answer to the "URL or a whole curl command"
|
|
88
|
+
// question in the `askCurlQuestions()` function.
|
|
89
|
+
// - The workarounds added to the oclif's `parse()` method in the
|
|
90
|
+
// ZenCommand base class make it feasible to use the customised
|
|
91
|
+
// oclif parser also for the curl command line. However, considering
|
|
92
|
+
// the two options:
|
|
93
|
+
// 1. "unparse" the oclif parser output and keep using a custom
|
|
94
|
+
// curl parser as before
|
|
95
|
+
// 2. remove the custom curl parser and use the oclif parser in
|
|
96
|
+
// both places
|
|
97
|
+
// the first option seems to provide more specific error messages,
|
|
98
|
+
// and it is not drastically more complex than the second one
|
|
99
|
+
// (calling the oclif parser directly outisde of the `parse()`
|
|
100
|
+
// method is non-trivial).
|
|
101
|
+
parsed.argv.push(...(parsed.flags.data
|
|
102
|
+
? parsed.flags.data.flatMap((data) => ['-d', data])
|
|
103
|
+
: []), ...(parsed.flags.request ? ['-X', parsed.flags.request] : []), ...(parsed.flags.url ? [parsed.flags.url] : []));
|
|
104
|
+
}
|
|
105
|
+
return parsed;
|
|
106
|
+
}
|
|
52
107
|
async run() {
|
|
53
|
-
const { args, argv, flags } = await this.
|
|
108
|
+
const { args, argv, flags } = await this.parse(Import);
|
|
54
109
|
// Get the schema you're asking for; may be a DSN
|
|
55
110
|
const { source, dsn } = (0, helpers_1.getSource)(args.source);
|
|
56
111
|
// If using a local StepZen service instance, make sure it's running
|
|
@@ -93,11 +148,15 @@ class Import extends zen_command_1.default {
|
|
|
93
148
|
chalk `\n\tSee {bold stepzen import --help} for supported data sources.`);
|
|
94
149
|
}
|
|
95
150
|
const result = await importFn();
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
151
|
+
try {
|
|
152
|
+
// Housekeeping
|
|
153
|
+
fsx.copySync(result, workspace.schema);
|
|
154
|
+
// Nice message
|
|
155
|
+
this.log(chalk.green(`Successfully imported ${chalk.bold(source)} data source into your GraphQL schema`));
|
|
156
|
+
}
|
|
157
|
+
finally {
|
|
158
|
+
(0, rmtemp_1.rmtemp)(result);
|
|
159
|
+
}
|
|
101
160
|
}
|
|
102
161
|
async importCurl(argv, flags, commonOptions) {
|
|
103
162
|
const headers = this.parseHeaderFlags(flags.header, flags['header-param']);
|
|
@@ -299,48 +358,6 @@ class Import extends zen_command_1.default {
|
|
|
299
358
|
}
|
|
300
359
|
});
|
|
301
360
|
}
|
|
302
|
-
// Correct the value for the 'header-param' flag to work around the oclif's
|
|
303
|
-
// parser issue with multi-value flags: https://github.com/oclif/oclif/issues/261
|
|
304
|
-
async parseWorkaround() {
|
|
305
|
-
const argv = this.argv;
|
|
306
|
-
const parsed = await this.parse(Import, argv);
|
|
307
|
-
const fixFlag = (flag) => {
|
|
308
|
-
const values = parsed.flags[flag];
|
|
309
|
-
if (values) {
|
|
310
|
-
// Every ['--flag', value] pair in the argv array should match
|
|
311
|
-
// only one value in the flag's value list.
|
|
312
|
-
const matchedIndices = new Set();
|
|
313
|
-
// For each value in the flag's value list, find the original
|
|
314
|
-
// ['--flag', value] pair in the argv array.
|
|
315
|
-
for (let i = 0; i < values.length; i++) {
|
|
316
|
-
const value = values[i];
|
|
317
|
-
const flagIdx = argv.findIndex((arg, idx) => {
|
|
318
|
-
const spaceDelimMatch = (arg === `--${flag}` ||
|
|
319
|
-
(Import.flags[flag].char &&
|
|
320
|
-
arg === `-${Import.flags[flag].char}`)) &&
|
|
321
|
-
idx < argv.length &&
|
|
322
|
-
argv[idx + 1] === value;
|
|
323
|
-
const eqlDelimMatch = arg === `--${flag}=${value}`;
|
|
324
|
-
return ((spaceDelimMatch || eqlDelimMatch) && !matchedIndices.has(idx));
|
|
325
|
-
});
|
|
326
|
-
// If not found, that means the given value was associated with the
|
|
327
|
-
// `flag` incorrectly. In that case, it's moved from `flags` to `argv` in
|
|
328
|
-
// the parsed output.
|
|
329
|
-
if (flagIdx === -1) {
|
|
330
|
-
values.splice(i, 1);
|
|
331
|
-
i -= 1; // compensate for the .splice() call above
|
|
332
|
-
parsed.argv.push(value);
|
|
333
|
-
}
|
|
334
|
-
else {
|
|
335
|
-
matchedIndices.add(flagIdx);
|
|
336
|
-
}
|
|
337
|
-
}
|
|
338
|
-
}
|
|
339
|
-
};
|
|
340
|
-
fixFlag('header');
|
|
341
|
-
fixFlag('header-param');
|
|
342
|
-
return parsed;
|
|
343
|
-
}
|
|
344
361
|
parseHeaderFlags(headerFlagValues, headerParamFlagValues) {
|
|
345
362
|
const headers = [];
|
|
346
363
|
if (headerFlagValues) {
|
|
@@ -412,24 +429,24 @@ class Import extends zen_command_1.default {
|
|
|
412
429
|
const importPromise = importFn();
|
|
413
430
|
let timeoutPromise;
|
|
414
431
|
let resultOrError;
|
|
415
|
-
core_1.
|
|
432
|
+
core_1.ux.action.start('Starting');
|
|
416
433
|
timeoutPromise = (0, utils_1.getTimeout)(5 * 1000);
|
|
417
434
|
resultOrError = await Promise.race([importPromise, timeoutPromise]);
|
|
418
435
|
if (!resultOrError) {
|
|
419
436
|
// 5 sec passed, but no result yet
|
|
420
|
-
core_1.
|
|
437
|
+
core_1.ux.action.start('Creating a GraphQL schema');
|
|
421
438
|
timeoutPromise = (0, utils_1.getTimeout)(5 * 1000);
|
|
422
439
|
resultOrError = await Promise.race([importPromise, timeoutPromise]);
|
|
423
440
|
}
|
|
424
441
|
if (!resultOrError) {
|
|
425
442
|
// another 5 sec passed (10 sec total)
|
|
426
|
-
core_1.
|
|
443
|
+
core_1.ux.action.start('Creating a GraphQL schema (this is taking longer than usual)');
|
|
427
444
|
timeoutPromise = (0, utils_1.getTimeout)(30 * 1000);
|
|
428
445
|
resultOrError = await Promise.race([importPromise, timeoutPromise]);
|
|
429
446
|
}
|
|
430
447
|
if (!resultOrError) {
|
|
431
448
|
// another 30 sec passed (40 sec total)
|
|
432
|
-
core_1.
|
|
449
|
+
core_1.ux.action.start('Creating a GraphQL schema (it may take up to 10 minutes)');
|
|
433
450
|
timeoutPromise = (0, utils_1.getTimeout)((8 * 60 + 20) * 1000);
|
|
434
451
|
resultOrError = await Promise.race([importPromise, timeoutPromise]);
|
|
435
452
|
}
|
|
@@ -445,16 +462,16 @@ class Import extends zen_command_1.default {
|
|
|
445
462
|
};
|
|
446
463
|
}
|
|
447
464
|
if ('error' in resultOrError) {
|
|
448
|
-
core_1.
|
|
465
|
+
core_1.ux.action.stop(chalk.red('fail'));
|
|
449
466
|
this.log('A problem occurred while processing your import. ' + ctaOnError);
|
|
450
467
|
this.log(resultOrError.error);
|
|
451
468
|
this.exit(1);
|
|
452
469
|
}
|
|
453
|
-
core_1.
|
|
470
|
+
core_1.ux.action.stop('done');
|
|
454
471
|
return resultOrError;
|
|
455
472
|
}
|
|
456
473
|
catch (error) {
|
|
457
|
-
core_1.
|
|
474
|
+
core_1.ux.action.stop(chalk.red('fail'));
|
|
458
475
|
throw error;
|
|
459
476
|
}
|
|
460
477
|
}
|
|
@@ -479,6 +496,23 @@ Import.flags = {
|
|
|
479
496
|
dataSources: ['curl', 'graphql'],
|
|
480
497
|
description: 'Prefix to add to every type in the generated schema',
|
|
481
498
|
}),
|
|
499
|
+
data: Flags.string({
|
|
500
|
+
char: 'd',
|
|
501
|
+
dataSources: ['curl'],
|
|
502
|
+
hidden: true,
|
|
503
|
+
aliases: ['data-ascii', 'data-raw', 'data-binary'],
|
|
504
|
+
multiple: true,
|
|
505
|
+
}),
|
|
506
|
+
request: Flags.string({
|
|
507
|
+
char: 'X',
|
|
508
|
+
dataSources: ['curl'],
|
|
509
|
+
hidden: true,
|
|
510
|
+
}),
|
|
511
|
+
url: Flags.string({
|
|
512
|
+
dataSources: ['curl'],
|
|
513
|
+
hidden: true,
|
|
514
|
+
multiple: true,
|
|
515
|
+
}),
|
|
482
516
|
header: Flags.string({
|
|
483
517
|
char: 'H',
|
|
484
518
|
dataSources: ['curl', 'graphql'],
|
|
@@ -579,12 +613,9 @@ Import.flags = {
|
|
|
579
613
|
description: 'Snowflake warehouse',
|
|
580
614
|
}),
|
|
581
615
|
};
|
|
582
|
-
Import.args =
|
|
583
|
-
{
|
|
584
|
-
|
|
585
|
-
required: true,
|
|
586
|
-
},
|
|
587
|
-
];
|
|
616
|
+
Import.args = {
|
|
617
|
+
source: core_1.Args.string({ required: true }),
|
|
618
|
+
};
|
|
588
619
|
Import.flagHelpForSource = (source, exclude) => Object.entries(Import.flags)
|
|
589
620
|
.filter(([name, value]) => 'dataSources' in value &&
|
|
590
621
|
value.dataSources?.includes(source) &&
|