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.
- package/README.md +76 -71
- package/bin/dev.cmd +1 -1
- package/bin/dev.js +6 -0
- package/bin/{run → run.js} +6 -20
- package/lib/commands/delete.d.ts +3 -3
- package/lib/commands/delete.d.ts.map +1 -1
- package/lib/commands/delete.js +32 -33
- package/lib/commands/delete.js.map +1 -1
- package/lib/commands/deploy.d.ts +10 -12
- package/lib/commands/deploy.d.ts.map +1 -1
- package/lib/commands/deploy.js +98 -98
- package/lib/commands/deploy.js.map +1 -1
- package/lib/commands/import/curl.d.ts +17 -24
- package/lib/commands/import/curl.d.ts.map +1 -1
- package/lib/commands/import/curl.js +85 -85
- package/lib/commands/import/curl.js.map +1 -1
- package/lib/commands/import/db2.d.ts +20 -28
- package/lib/commands/import/db2.d.ts.map +1 -1
- package/lib/commands/import/db2.js +59 -62
- package/lib/commands/import/db2.js.map +1 -1
- package/lib/commands/import/flow.d.ts +10 -71
- package/lib/commands/import/flow.d.ts.map +1 -1
- package/lib/commands/import/flow.js +39 -43
- package/lib/commands/import/flow.js.map +1 -1
- package/lib/commands/import/graphql.d.ts +10 -18
- package/lib/commands/import/graphql.d.ts.map +1 -1
- package/lib/commands/import/graphql.js +38 -42
- package/lib/commands/import/graphql.js.map +1 -1
- package/lib/commands/import/index.d.ts +7 -10
- package/lib/commands/import/index.d.ts.map +1 -1
- package/lib/commands/import/index.js +52 -53
- package/lib/commands/import/index.js.map +1 -1
- package/lib/commands/import/mysql.d.ts +14 -22
- package/lib/commands/import/mysql.d.ts.map +1 -1
- package/lib/commands/import/mysql.js +53 -56
- package/lib/commands/import/mysql.js.map +1 -1
- package/lib/commands/import/openapi.d.ts +9 -16
- package/lib/commands/import/openapi.d.ts.map +1 -1
- package/lib/commands/import/openapi.js +38 -41
- package/lib/commands/import/openapi.js.map +1 -1
- package/lib/commands/import/oracle.d.ts +19 -26
- package/lib/commands/import/oracle.d.ts.map +1 -1
- package/lib/commands/import/oracle.js +56 -59
- package/lib/commands/import/oracle.js.map +1 -1
- package/lib/commands/import/postgresql.d.ts +15 -23
- package/lib/commands/import/postgresql.d.ts.map +1 -1
- package/lib/commands/import/postgresql.js +54 -57
- package/lib/commands/import/postgresql.js.map +1 -1
- package/lib/commands/import/presto.d.ts +14 -22
- package/lib/commands/import/presto.d.ts.map +1 -1
- package/lib/commands/import/presto.js +57 -60
- package/lib/commands/import/presto.js.map +1 -1
- package/lib/commands/import/snowflake.d.ts +16 -24
- package/lib/commands/import/snowflake.d.ts.map +1 -1
- package/lib/commands/import/snowflake.js +61 -64
- package/lib/commands/import/snowflake.js.map +1 -1
- package/lib/commands/init.d.ts +5 -7
- package/lib/commands/init.d.ts.map +1 -1
- package/lib/commands/init.js +22 -22
- package/lib/commands/init.js.map +1 -1
- package/lib/commands/lint.d.ts +2 -4
- package/lib/commands/lint.d.ts.map +1 -1
- package/lib/commands/lint.js +15 -18
- package/lib/commands/lint.js.map +1 -1
- package/lib/commands/list.d.ts +4 -6
- package/lib/commands/list.d.ts.map +1 -1
- package/lib/commands/list.js +66 -63
- package/lib/commands/list.js.map +1 -1
- package/lib/commands/login.d.ts +8 -10
- package/lib/commands/login.d.ts.map +1 -1
- package/lib/commands/login.js +94 -92
- package/lib/commands/login.js.map +1 -1
- package/lib/commands/logout.d.ts +2 -3
- package/lib/commands/logout.d.ts.map +1 -1
- package/lib/commands/logout.js +8 -11
- package/lib/commands/logout.js.map +1 -1
- package/lib/commands/request.d.ts +10 -12
- package/lib/commands/request.d.ts.map +1 -1
- package/lib/commands/request.js +127 -129
- package/lib/commands/request.js.map +1 -1
- package/lib/commands/service.d.ts +9 -11
- package/lib/commands/service.d.ts.map +1 -1
- package/lib/commands/service.js +203 -203
- package/lib/commands/service.js.map +1 -1
- package/lib/commands/start.d.ts +13 -15
- package/lib/commands/start.d.ts.map +1 -1
- package/lib/commands/start.js +61 -60
- package/lib/commands/start.js.map +1 -1
- package/lib/commands/transpile.d.ts +8 -10
- package/lib/commands/transpile.d.ts.map +1 -1
- package/lib/commands/transpile.js +31 -34
- package/lib/commands/transpile.js.map +1 -1
- package/lib/commands/upload.d.ts +6 -8
- package/lib/commands/upload.d.ts.map +1 -1
- package/lib/commands/upload.js +41 -44
- package/lib/commands/upload.js.map +1 -1
- package/lib/commands/validate.d.ts +3 -4
- package/lib/commands/validate.d.ts.map +1 -1
- package/lib/commands/validate.js +23 -26
- package/lib/commands/validate.js.map +1 -1
- package/lib/commands/whoami.d.ts +6 -8
- package/lib/commands/whoami.d.ts.map +1 -1
- package/lib/commands/whoami.js +39 -48
- package/lib/commands/whoami.js.map +1 -1
- package/lib/generate/curl2sdl.d.ts +8 -8
- package/lib/generate/curl2sdl.d.ts.map +1 -1
- package/lib/generate/curl2sdl.js +16 -20
- package/lib/generate/curl2sdl.js.map +1 -1
- package/lib/generate/flags.d.ts +11 -11
- package/lib/generate/flags.d.ts.map +1 -1
- package/lib/generate/flags.js +16 -17
- package/lib/generate/flags.js.map +1 -1
- package/lib/generate/flow2sdl.d.ts +5 -5
- package/lib/generate/flow2sdl.d.ts.map +1 -1
- package/lib/generate/flow2sdl.js +13 -19
- package/lib/generate/flow2sdl.js.map +1 -1
- package/lib/generate/graphql2sdl.d.ts +5 -5
- package/lib/generate/graphql2sdl.d.ts.map +1 -1
- package/lib/generate/graphql2sdl.js +22 -28
- package/lib/generate/graphql2sdl.js.map +1 -1
- package/lib/generate/helpers.d.ts +5 -5
- package/lib/generate/helpers.d.ts.map +1 -1
- package/lib/generate/helpers.js +39 -44
- package/lib/generate/helpers.js.map +1 -1
- package/lib/generate/import-command.d.ts +7 -13
- package/lib/generate/import-command.d.ts.map +1 -1
- package/lib/generate/import-command.js +51 -52
- package/lib/generate/import-command.js.map +1 -1
- package/lib/generate/openapi2sdl.d.ts +4 -4
- package/lib/generate/openapi2sdl.d.ts.map +1 -1
- package/lib/generate/openapi2sdl.js +10 -16
- package/lib/generate/openapi2sdl.js.map +1 -1
- package/lib/generate/questions.d.ts.map +1 -1
- package/lib/generate/questions.js +4 -7
- package/lib/generate/questions.js.map +1 -1
- package/lib/generate/sql2sdl.d.ts +13 -13
- package/lib/generate/sql2sdl.d.ts.map +1 -1
- package/lib/generate/sql2sdl.js +13 -16
- package/lib/generate/sql2sdl.js.map +1 -1
- package/lib/hooks/init/version.d.ts +1 -1
- package/lib/hooks/init/version.d.ts.map +1 -1
- package/lib/hooks/init/version.js +11 -9
- package/lib/hooks/init/version.js.map +1 -1
- package/lib/hooks/prerun/check-upgrade.d.ts +1 -1
- package/lib/hooks/prerun/check-upgrade.d.ts.map +1 -1
- package/lib/hooks/prerun/check-upgrade.js +42 -46
- package/lib/hooks/prerun/check-upgrade.js.map +1 -1
- package/lib/hooks/prerun/ensure-config-file.d.ts +1 -1
- package/lib/hooks/prerun/ensure-config-file.d.ts.map +1 -1
- package/lib/hooks/prerun/ensure-config-file.js +9 -11
- package/lib/hooks/prerun/ensure-config-file.js.map +1 -1
- package/lib/hooks/prerun/ensure-permissions.d.ts +1 -1
- package/lib/hooks/prerun/ensure-permissions.d.ts.map +1 -1
- package/lib/hooks/prerun/ensure-permissions.js +15 -11
- package/lib/hooks/prerun/ensure-permissions.js.map +1 -1
- package/lib/index.js +1 -5
- package/lib/index.js.map +1 -1
- package/lib/shared/actions.d.ts +2 -2
- package/lib/shared/actions.d.ts.map +1 -1
- package/lib/shared/actions.js +15 -21
- package/lib/shared/actions.js.map +1 -1
- package/lib/shared/configuration.d.ts +5 -3
- package/lib/shared/configuration.d.ts.map +1 -1
- package/lib/shared/configuration.js +39 -52
- package/lib/shared/configuration.js.map +1 -1
- package/lib/shared/constants.d.ts +7 -4
- package/lib/shared/constants.d.ts.map +1 -1
- package/lib/shared/constants.js +70 -86
- package/lib/shared/constants.js.map +1 -1
- package/lib/shared/curl-parser.d.ts +2 -2
- package/lib/shared/curl-parser.d.ts.map +1 -1
- package/lib/shared/curl-parser.js +9 -13
- package/lib/shared/curl-parser.js.map +1 -1
- package/lib/shared/docker.d.ts +2 -4
- package/lib/shared/docker.d.ts.map +1 -1
- package/lib/shared/docker.js +40 -48
- package/lib/shared/docker.js.map +1 -1
- package/lib/shared/errors.js +7 -11
- package/lib/shared/errors.js.map +1 -1
- package/lib/shared/header-params-parser.d.ts +2 -4
- package/lib/shared/header-params-parser.d.ts.map +1 -1
- package/lib/shared/header-params-parser.js +23 -29
- package/lib/shared/header-params-parser.js.map +1 -1
- package/lib/shared/header.d.ts +7 -7
- package/lib/shared/header.d.ts.map +1 -1
- package/lib/shared/header.js +5 -10
- package/lib/shared/header.js.map +1 -1
- package/lib/shared/inquirer.d.ts +7 -6
- package/lib/shared/inquirer.d.ts.map +1 -1
- package/lib/shared/inquirer.js +29 -37
- package/lib/shared/inquirer.js.map +1 -1
- package/lib/shared/moniker.js +4 -9
- package/lib/shared/moniker.js.map +1 -1
- package/lib/shared/path-params-parser.d.ts +2 -2
- package/lib/shared/path-params-parser.d.ts.map +1 -1
- package/lib/shared/path-params-parser.js +6 -12
- package/lib/shared/path-params-parser.js.map +1 -1
- package/lib/shared/request-variables-parser.d.ts +4 -4
- package/lib/shared/request-variables-parser.d.ts.map +1 -1
- package/lib/shared/request-variables-parser.js +10 -14
- package/lib/shared/request-variables-parser.js.map +1 -1
- package/lib/shared/rmtemp.d.ts +1 -0
- package/lib/shared/rmtemp.d.ts.map +1 -1
- package/lib/shared/rmtemp.js +7 -10
- package/lib/shared/rmtemp.js.map +1 -1
- package/lib/shared/segment.d.ts +10 -0
- package/lib/shared/segment.d.ts.map +1 -0
- package/lib/shared/segment.js +162 -0
- package/lib/shared/segment.js.map +1 -0
- package/lib/shared/stepzen-sdk.d.ts +8 -8
- package/lib/shared/stepzen-sdk.d.ts.map +1 -1
- package/lib/shared/stepzen-sdk.js +27 -36
- package/lib/shared/stepzen-sdk.js.map +1 -1
- package/lib/shared/types.d.ts +13 -11
- package/lib/shared/types.d.ts.map +1 -1
- package/lib/shared/types.js +1 -2
- package/lib/shared/url-helpers.d.ts.map +1 -1
- package/lib/shared/url-helpers.js +7 -14
- package/lib/shared/url-helpers.js.map +1 -1
- package/lib/shared/utils.d.ts +2 -2
- package/lib/shared/utils.d.ts.map +1 -1
- package/lib/shared/utils.js +55 -71
- package/lib/shared/utils.js.map +1 -1
- package/lib/shared/validation.js +12 -17
- package/lib/shared/validation.js.map +1 -1
- package/lib/shared/workspace.d.ts +1 -1
- package/lib/shared/workspace.d.ts.map +1 -1
- package/lib/shared/workspace.js +34 -45
- package/lib/shared/workspace.js.map +1 -1
- package/lib/shared/zen-command.d.ts +5 -10
- package/lib/shared/zen-command.d.ts.map +1 -1
- package/lib/shared/zen-command.js +132 -113
- package/lib/shared/zen-command.js.map +1 -1
- package/oclif.manifest.json +1281 -945
- package/package.json +35 -33
- package/bin/dev +0 -23
|
@@ -1,23 +1,20 @@
|
|
|
1
|
-
"use strict";
|
|
2
1
|
// Copyright IBM Corp. 2020, 2024
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
const oracle_1 = require("./oracle");
|
|
20
|
-
const db2_1 = require("./db2");
|
|
2
|
+
import { Args, Flags } from '@oclif/core';
|
|
3
|
+
import { CLIError } from '@oclif/core/errors';
|
|
4
|
+
import chalk from 'chalk';
|
|
5
|
+
import { ENABLE_PRESTO_IMPORT } from '../../shared/constants.js';
|
|
6
|
+
import * as inquirer from '../../shared/inquirer.js';
|
|
7
|
+
import { getFeatureFlag } from '../../shared/utils.js';
|
|
8
|
+
import ZenCommand from '../../shared/zen-command.js';
|
|
9
|
+
import ImportCurl from './curl.js';
|
|
10
|
+
import ImportDb2SQL from './db2.js';
|
|
11
|
+
import ImportFlow from './flow.js';
|
|
12
|
+
import ImportGraphQL from './graphql.js';
|
|
13
|
+
import ImportMySQL from './mysql.js';
|
|
14
|
+
import ImportOracle from './oracle.js';
|
|
15
|
+
import ImportPostgreSQL from './postgresql.js';
|
|
16
|
+
import ImportPresto from './presto.js';
|
|
17
|
+
import ImportSnowflake from './snowflake.js';
|
|
21
18
|
const SOURCES = [
|
|
22
19
|
'curl',
|
|
23
20
|
'graphql',
|
|
@@ -27,7 +24,19 @@ const SOURCES = [
|
|
|
27
24
|
'db2',
|
|
28
25
|
'oracle',
|
|
29
26
|
];
|
|
30
|
-
class Import extends
|
|
27
|
+
export default class Import extends ZenCommand {
|
|
28
|
+
static description = chalk `Import a schema for an external data source or an API endpoint into your GraphQL API.` +
|
|
29
|
+
chalk `\nSee more details with {bold stepzen import [SOURCE] --help}`;
|
|
30
|
+
static flags = {
|
|
31
|
+
...ZenCommand.flags,
|
|
32
|
+
dir: Flags.string({ description: 'Working directory' }),
|
|
33
|
+
};
|
|
34
|
+
static args = {
|
|
35
|
+
source: Args.string({
|
|
36
|
+
description: chalk `kind of the data source: ${SOURCES.map(s => chalk.bold(s)).join(', ')} (or a full DSN string)`,
|
|
37
|
+
}),
|
|
38
|
+
};
|
|
39
|
+
static strict = false;
|
|
31
40
|
async run() {
|
|
32
41
|
const { args, flags } = await this.parse(Import);
|
|
33
42
|
let sourceArg;
|
|
@@ -38,7 +47,7 @@ class Import extends zen_command_1.default {
|
|
|
38
47
|
}
|
|
39
48
|
else {
|
|
40
49
|
if (flags['non-interactive']) {
|
|
41
|
-
throw new
|
|
50
|
+
throw new CLIError(chalk `The {bold SOURCE} argument is required when running in a non-interactive mode.` +
|
|
42
51
|
chalk `\nSee more help with {bold stepzen import --help}`);
|
|
43
52
|
}
|
|
44
53
|
this.log();
|
|
@@ -61,7 +70,7 @@ class Import extends zen_command_1.default {
|
|
|
61
70
|
{ value: 'mysql', name: 'MySQL' },
|
|
62
71
|
{ value: 'postgresql', name: 'PostgreSQL' },
|
|
63
72
|
// the GA version of the introspection service does not support Presto yet
|
|
64
|
-
...(
|
|
73
|
+
...(getFeatureFlag(ENABLE_PRESTO_IMPORT)
|
|
65
74
|
? [{ value: 'presto', name: 'Presto' }]
|
|
66
75
|
: []),
|
|
67
76
|
{ value: 'singlestore', name: 'SingleStore' },
|
|
@@ -79,42 +88,42 @@ class Import extends zen_command_1.default {
|
|
|
79
88
|
switch (source) {
|
|
80
89
|
case 'curl':
|
|
81
90
|
if (dsn) {
|
|
82
|
-
throw new
|
|
91
|
+
throw new CLIError(`Please use ${chalk.bold('stepzen import curl [url]')}`);
|
|
83
92
|
}
|
|
84
|
-
ImportCommand =
|
|
93
|
+
ImportCommand = ImportCurl;
|
|
85
94
|
break;
|
|
86
95
|
case 'flow':
|
|
87
96
|
if (dsn) {
|
|
88
|
-
throw new
|
|
97
|
+
throw new CLIError(`Please use ${chalk.bold('stepzen import flow [flow]')}`);
|
|
89
98
|
}
|
|
90
|
-
ImportCommand =
|
|
99
|
+
ImportCommand = ImportFlow;
|
|
91
100
|
break;
|
|
92
101
|
case 'graphql':
|
|
93
102
|
if (dsn) {
|
|
94
|
-
throw new
|
|
103
|
+
throw new CLIError(`Please use ${chalk.bold('stepzen import graphql [url]')}`);
|
|
95
104
|
}
|
|
96
|
-
ImportCommand =
|
|
105
|
+
ImportCommand = ImportGraphQL;
|
|
97
106
|
break;
|
|
98
107
|
case 'mysql':
|
|
99
|
-
ImportCommand =
|
|
108
|
+
ImportCommand = ImportMySQL;
|
|
100
109
|
break;
|
|
101
110
|
case 'postgresql':
|
|
102
|
-
ImportCommand =
|
|
111
|
+
ImportCommand = ImportPostgreSQL;
|
|
103
112
|
break;
|
|
104
113
|
case 'snowflake':
|
|
105
|
-
ImportCommand =
|
|
114
|
+
ImportCommand = ImportSnowflake;
|
|
106
115
|
break;
|
|
107
116
|
case 'db2':
|
|
108
|
-
ImportCommand =
|
|
117
|
+
ImportCommand = ImportDb2SQL;
|
|
109
118
|
break;
|
|
110
119
|
case 'presto':
|
|
111
|
-
ImportCommand =
|
|
120
|
+
ImportCommand = ImportPresto;
|
|
112
121
|
break;
|
|
113
122
|
case 'oracle':
|
|
114
|
-
ImportCommand =
|
|
123
|
+
ImportCommand = ImportOracle;
|
|
115
124
|
break;
|
|
116
125
|
default:
|
|
117
|
-
throw new
|
|
126
|
+
throw new CLIError(chalk `Unsupported data source: {bold ${source}}.` +
|
|
118
127
|
chalk `\n\tStepZen CLI does not support introspection and automatic` +
|
|
119
128
|
chalk ` GraphQL schema generation for {bold ${source}} data sources.` +
|
|
120
129
|
chalk ` Please write a schema for it manually.` +
|
|
@@ -137,11 +146,13 @@ class Import extends zen_command_1.default {
|
|
|
137
146
|
return parsed;
|
|
138
147
|
}
|
|
139
148
|
catch (error) {
|
|
140
|
-
if (error instanceof
|
|
141
|
-
error
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
149
|
+
if (!(error instanceof CLIError && 'parse' in error)) {
|
|
150
|
+
throw error;
|
|
151
|
+
}
|
|
152
|
+
// see CLIParseError in @oclif/core/lib/parser/errors.d.ts
|
|
153
|
+
const { parse } = error;
|
|
154
|
+
if (parse.output?.args.source && parse.output?.nonExistentFlags) {
|
|
155
|
+
return parse.output;
|
|
145
156
|
}
|
|
146
157
|
throw error;
|
|
147
158
|
}
|
|
@@ -159,7 +170,7 @@ class Import extends zen_command_1.default {
|
|
|
159
170
|
// Now supports importing only one schema at a time:
|
|
160
171
|
// https://github.com/steprz/stepzen-cli/issues/628
|
|
161
172
|
if (trimmed.includes(',') || trimmed.includes(' ')) {
|
|
162
|
-
throw new
|
|
173
|
+
throw new CLIError("Cannot import multiple schemas in one command; please specify only one (e.g. 'stepzen import mysql')");
|
|
163
174
|
}
|
|
164
175
|
source = trimmed;
|
|
165
176
|
}
|
|
@@ -183,16 +194,4 @@ class Import extends zen_command_1.default {
|
|
|
183
194
|
return { source, dsn };
|
|
184
195
|
}
|
|
185
196
|
}
|
|
186
|
-
exports.default = Import;
|
|
187
|
-
Import.description = chalk `Import a schema for an external data source or an API endpoint into your GraphQL API.` +
|
|
188
|
-
chalk `\nSee more details with {bold stepzen import [SOURCE] --help}`;
|
|
189
|
-
Import.flags = {
|
|
190
|
-
...zen_command_1.default.flags,
|
|
191
|
-
dir: core_1.Flags.string({ description: 'Working directory' }),
|
|
192
|
-
};
|
|
193
|
-
Import.args = {
|
|
194
|
-
source: core_1.Args.string({
|
|
195
|
-
description: chalk `kind of the data source: ${SOURCES.map(s => chalk.bold(s)).join(', ')} (or a full DSN string)`,
|
|
196
|
-
}),
|
|
197
|
-
};
|
|
198
197
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/import/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/import/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,33 +1,25 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import type {
|
|
3
|
-
import type {
|
|
4
|
-
import
|
|
5
|
-
export
|
|
1
|
+
import type { CommonImportOptions } from '../../generate/import-command.js';
|
|
2
|
+
import type { DBIntrospectionOptions, MysqlImportOptions } from '../../generate/sql2sdl.js';
|
|
3
|
+
import type { FlagsT } from '../../shared/types.js';
|
|
4
|
+
import { ImportCommandBase } from '../../generate/import-command.js';
|
|
5
|
+
export type MySQLAnswers = Pick<MysqlImportOptions, 'host' | 'user' | 'password' | 'database' | 'linkTypes'>;
|
|
6
6
|
export default class ImportMySQL extends ImportCommandBase {
|
|
7
7
|
static description: string;
|
|
8
8
|
get source(): "mysql";
|
|
9
9
|
static aliases: string[];
|
|
10
10
|
static flags: {
|
|
11
|
-
'db-host': import("@oclif/core/
|
|
12
|
-
'db-user': import("@oclif/core/
|
|
13
|
-
'db-password': import("@oclif/core/
|
|
14
|
-
'db-database': import("@oclif/core/
|
|
15
|
-
'db-link-types': import("@oclif/core/
|
|
16
|
-
'db-include': import("@oclif/core/
|
|
17
|
-
'db-use-deprecated-2022-naming': import("@oclif/core/
|
|
18
|
-
dir: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
|
|
19
|
-
silent: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
|
|
20
|
-
name: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
|
|
21
|
-
overwrite: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
|
|
22
|
-
help: import("@oclif/core/lib/interfaces").BooleanFlag<void>;
|
|
23
|
-
'non-interactive': import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
|
|
11
|
+
'db-host': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
12
|
+
'db-user': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
13
|
+
'db-password': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
14
|
+
'db-database': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
15
|
+
'db-link-types': import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
16
|
+
'db-include': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
17
|
+
'db-use-deprecated-2022-naming': import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
24
18
|
};
|
|
25
19
|
static args: {
|
|
26
|
-
dsn: import("@oclif/core/
|
|
20
|
+
dsn: import("@oclif/core/interfaces").Arg<string | undefined, Record<string, unknown>>;
|
|
27
21
|
};
|
|
28
|
-
protected import(commonOptions: CommonImportOptions): Promise<import("../../shared/types").ErrorOr<import("../../generate/helpers").IntrospectionServiceResponse
|
|
29
|
-
message: string;
|
|
30
|
-
}>>;
|
|
22
|
+
protected import(commonOptions: CommonImportOptions): Promise<import("../../shared/types.js").ErrorOr<import("../../generate/helpers.js").IntrospectionServiceResponse>>;
|
|
31
23
|
getImportOptionsFromFlags(flags: FlagsT<typeof ImportMySQL>): {
|
|
32
24
|
host: string | undefined;
|
|
33
25
|
user: string | undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mysql.d.ts","sourceRoot":"","sources":["../../../src/commands/import/mysql.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"mysql.d.ts","sourceRoot":"","sources":["../../../src/commands/import/mysql.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAC,mBAAmB,EAAC,MAAM,kCAAkC,CAAA;AACzE,OAAO,KAAK,EACV,sBAAsB,EACtB,kBAAkB,EACnB,MAAM,2BAA2B,CAAA;AAClC,OAAO,KAAK,EAAU,MAAM,EAAC,MAAM,uBAAuB,CAAA;AAS1D,OAAO,EAAC,iBAAiB,EAAC,MAAM,kCAAkC,CAAA;AAOlE,MAAM,MAAM,YAAY,GAAG,IAAI,CAC7B,kBAAkB,EAClB,MAAM,GAAG,MAAM,GAAG,UAAU,GAAG,UAAU,GAAG,WAAW,CACxD,CAAA;AAED,MAAM,CAAC,OAAO,OAAO,WAAY,SAAQ,iBAAiB;IACxD,MAAM,CAAC,WAAW,SAMgC;IAElD,IAAI,MAAM,YAET;IAED,MAAM,CAAC,OAAO,WAAyB;IAEvC,MAAM,CAAC,KAAK;;;;;;;;MAUX;IAED,MAAM,CAAC,IAAI;;MASV;cAEe,MAAM,CAAC,aAAa,EAAE,mBAAmB;IAmFzD,yBAAyB,CAAC,KAAK,EAAE,MAAM,CAAC,OAAO,WAAW,CAAC;;;;;;;;;IAmB3D,uBAAuB,CAAC,WAAW,EAAE,MAAM;;;;;;IAkBrC,6BAA6B,CACjC,QAAQ,GAAE,OAAO,CAAC,YAAY,CAAM,GACnC,OAAO,CAAC,YAAY,CAAC;CAczB"}
|
|
@@ -1,22 +1,47 @@
|
|
|
1
|
-
"use strict";
|
|
2
1
|
// Copyright IBM Corp. 2020, 2024
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
2
|
+
import { Args } from '@oclif/core';
|
|
3
|
+
import { CLIError } from '@oclif/core/errors';
|
|
4
|
+
import { parseDsn } from '@soluble/dsn-parser';
|
|
5
|
+
import chalk from 'chalk';
|
|
6
|
+
import { pickBy } from 'lodash-es';
|
|
7
|
+
import { ImportFlags } from '../../generate/flags.js';
|
|
8
|
+
import { ImportCommandBase } from '../../generate/import-command.js';
|
|
9
|
+
import { ImportQuestions } from '../../generate/questions.js';
|
|
10
|
+
import { sql2sdl } from '../../generate/sql2sdl.js';
|
|
11
|
+
import { readConfiguration } from '../../shared/configuration.js';
|
|
12
|
+
import * as inquirer from '../../shared/inquirer.js';
|
|
13
|
+
import { rewriteLocalhostToHostGateway } from '../../shared/utils.js';
|
|
14
|
+
export default class ImportMySQL extends ImportCommandBase {
|
|
15
|
+
static description = `Import a schema for a MySQL data source into your GraphQL API.` +
|
|
16
|
+
`\n` +
|
|
17
|
+
chalk `\n{bold stepzen import mysql} automatically introspects a MySQL` +
|
|
18
|
+
` database, generates a GraphQL schema for accessing this database` +
|
|
19
|
+
` through a StepZen API, and merges the generated types, queries and` +
|
|
20
|
+
` mutations into your into your GraphQL schema.`;
|
|
17
21
|
get source() {
|
|
18
22
|
return 'mysql';
|
|
19
23
|
}
|
|
24
|
+
static aliases = ['import:singlestore'];
|
|
25
|
+
static flags = {
|
|
26
|
+
...ImportCommandBase.flags,
|
|
27
|
+
'db-host': ImportFlags.dbHost(),
|
|
28
|
+
'db-user': ImportFlags.dbUser(),
|
|
29
|
+
'db-password': ImportFlags.dbPassword(),
|
|
30
|
+
'db-database': ImportFlags.dbDatabase(),
|
|
31
|
+
// 'db-schema': ImportFlags.dbSchema(), -- intentionally omitted (MySQL does not have schemas)
|
|
32
|
+
'db-link-types': ImportFlags.dbLinkTypes(),
|
|
33
|
+
'db-include': ImportFlags.dbInclude(),
|
|
34
|
+
'db-use-deprecated-2022-naming': ImportFlags.dbUseDeprecatedNaming(),
|
|
35
|
+
};
|
|
36
|
+
static args = {
|
|
37
|
+
dsn: Args.string({
|
|
38
|
+
description: chalk `{italic (optional)} Data Source Name (DSN) of a MySQL database.` +
|
|
39
|
+
chalk `\nExample: {bold mysql://user:password@host:port/database}` +
|
|
40
|
+
chalk `\n` +
|
|
41
|
+
chalk `\nFlags, such as {bold --db-host}, override the corresponding` +
|
|
42
|
+
chalk ` parts of the DSN (if both are provided).`,
|
|
43
|
+
}),
|
|
44
|
+
};
|
|
20
45
|
async import(commonOptions) {
|
|
21
46
|
const { args, flags } = await this.parse(ImportMySQL);
|
|
22
47
|
const nonInteractiveOptions = {
|
|
@@ -43,7 +68,7 @@ class ImportMySQL extends import_command_1.ImportCommandBase {
|
|
|
43
68
|
}
|
|
44
69
|
else {
|
|
45
70
|
if (flags['non-interactive']) {
|
|
46
|
-
throw new
|
|
71
|
+
throw new CLIError('Please provide a Data Source Name (DSN) string for a MySQL database.' +
|
|
47
72
|
chalk `\nSee more help with {bold stepzen import mysql --help}`);
|
|
48
73
|
}
|
|
49
74
|
// no parameters given: start an interactive prompt
|
|
@@ -67,9 +92,9 @@ class ImportMySQL extends import_command_1.ImportCommandBase {
|
|
|
67
92
|
...interactiveOptions,
|
|
68
93
|
};
|
|
69
94
|
}
|
|
70
|
-
const configuration = await
|
|
71
|
-
sql2sdlOptions.host =
|
|
72
|
-
return this.wrapInProgressAndTimeout(
|
|
95
|
+
const configuration = await readConfiguration();
|
|
96
|
+
sql2sdlOptions.host = rewriteLocalhostToHostGateway(configuration, sql2sdlOptions.host);
|
|
97
|
+
return this.wrapInProgressAndTimeout(sql2sdl(sql2sdlOptions, configuration));
|
|
73
98
|
}
|
|
74
99
|
getImportOptionsFromFlags(flags) {
|
|
75
100
|
const options = {
|
|
@@ -86,10 +111,10 @@ class ImportMySQL extends import_command_1.ImportCommandBase {
|
|
|
86
111
|
},
|
|
87
112
|
};
|
|
88
113
|
// Remove `undefined`-valued properties
|
|
89
|
-
return
|
|
114
|
+
return pickBy(options, value => value !== undefined);
|
|
90
115
|
}
|
|
91
116
|
getImportOptionsFromDsn(possibleDsn) {
|
|
92
|
-
const parsed =
|
|
117
|
+
const parsed = parseDsn(possibleDsn);
|
|
93
118
|
if (parsed.success) {
|
|
94
119
|
const value = parsed.value;
|
|
95
120
|
const options = {
|
|
@@ -99,47 +124,19 @@ class ImportMySQL extends import_command_1.ImportCommandBase {
|
|
|
99
124
|
database: value.db,
|
|
100
125
|
};
|
|
101
126
|
// Remove `undefined`-valued properties
|
|
102
|
-
return
|
|
127
|
+
return pickBy(options, value => value !== undefined);
|
|
103
128
|
}
|
|
104
|
-
throw new
|
|
129
|
+
throw new CLIError(parsed.message);
|
|
105
130
|
}
|
|
106
131
|
async getImportOptionsInteractively(defaults = {}) {
|
|
107
132
|
const questions = inquirer.overrideDefaults([
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
133
|
+
ImportQuestions.dbHost(),
|
|
134
|
+
ImportQuestions.dbUser(),
|
|
135
|
+
ImportQuestions.dbPassword(),
|
|
136
|
+
ImportQuestions.dbDatabase(),
|
|
137
|
+
ImportQuestions.dbLinkTypes(),
|
|
113
138
|
], defaults);
|
|
114
139
|
return inquirer.prompt(`import-${this.source}`, questions);
|
|
115
140
|
}
|
|
116
141
|
}
|
|
117
|
-
exports.default = ImportMySQL;
|
|
118
|
-
ImportMySQL.description = `Import a schema for a MySQL data source into your GraphQL API.` +
|
|
119
|
-
`\n` +
|
|
120
|
-
chalk `\n{bold stepzen import mysql} automatically introspects a MySQL` +
|
|
121
|
-
` database, generates a GraphQL schema for accessing this database` +
|
|
122
|
-
` through a StepZen API, and merges the generated types, queries and` +
|
|
123
|
-
` mutations into your into your GraphQL schema.`;
|
|
124
|
-
ImportMySQL.aliases = ['import:singlestore'];
|
|
125
|
-
ImportMySQL.flags = {
|
|
126
|
-
...import_command_1.ImportCommandBase.flags,
|
|
127
|
-
'db-host': flags_1.ImportFlags.dbHost(),
|
|
128
|
-
'db-user': flags_1.ImportFlags.dbUser(),
|
|
129
|
-
'db-password': flags_1.ImportFlags.dbPassword(),
|
|
130
|
-
'db-database': flags_1.ImportFlags.dbDatabase(),
|
|
131
|
-
// 'db-schema': ImportFlags.dbSchema(), -- intentionally omitted (MySQL does not have schemas)
|
|
132
|
-
'db-link-types': flags_1.ImportFlags.dbLinkTypes(),
|
|
133
|
-
'db-include': flags_1.ImportFlags.dbInclude(),
|
|
134
|
-
'db-use-deprecated-2022-naming': flags_1.ImportFlags.dbUseDeprecatedNaming(),
|
|
135
|
-
};
|
|
136
|
-
ImportMySQL.args = {
|
|
137
|
-
dsn: core_1.Args.string({
|
|
138
|
-
description: chalk `{italic (optional)} Data Source Name (DSN) of a MySQL database.` +
|
|
139
|
-
chalk `\nExample: {bold mysql://user:password@host:port/database}` +
|
|
140
|
-
chalk `\n` +
|
|
141
|
-
chalk `\nFlags, such as {bold --db-host}, override the corresponding` +
|
|
142
|
-
chalk ` parts of the DSN (if both are provided).`,
|
|
143
|
-
}),
|
|
144
|
-
};
|
|
145
142
|
//# sourceMappingURL=mysql.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mysql.js","sourceRoot":"","sources":["../../../src/commands/import/mysql.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"mysql.js","sourceRoot":"","sources":["../../../src/commands/import/mysql.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import type {
|
|
3
|
-
import type {
|
|
4
|
-
import {
|
|
5
|
-
|
|
6
|
-
|
|
1
|
+
import type { CommonImportOptions } from '../../generate/import-command.js';
|
|
2
|
+
import type { OpenApi2SdlOptions } from '../../generate/openapi2sdl.js';
|
|
3
|
+
import type { Workspace } from '../../shared/types.js';
|
|
4
|
+
import { ImportCommandBase } from '../../generate/import-command.js';
|
|
5
|
+
type InteractiveOpenApi2SdlOptions = Pick<OpenApi2SdlOptions, 'openapi'>;
|
|
6
|
+
type OpenApiAnswers = {
|
|
7
7
|
openapi: string;
|
|
8
8
|
};
|
|
9
9
|
export default class ImportOpenApi extends ImportCommandBase {
|
|
@@ -11,20 +11,13 @@ export default class ImportOpenApi extends ImportCommandBase {
|
|
|
11
11
|
get source(): "openapi";
|
|
12
12
|
static hidden: boolean;
|
|
13
13
|
static flags: {
|
|
14
|
-
|
|
15
|
-
silent: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
|
|
16
|
-
name: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
|
|
17
|
-
overwrite: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
|
|
18
|
-
help: import("@oclif/core/lib/interfaces").BooleanFlag<void>;
|
|
19
|
-
'non-interactive': import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
|
|
14
|
+
[x: string]: import("@oclif/core/interfaces").Flag<any>;
|
|
20
15
|
};
|
|
21
16
|
static args: {
|
|
22
|
-
openapi: import("@oclif/core/
|
|
17
|
+
openapi: import("@oclif/core/interfaces").Arg<string | undefined, Record<string, unknown>>;
|
|
23
18
|
};
|
|
24
19
|
ensureOpenApiSpecFile(openapi: string, basedir: string): void;
|
|
25
|
-
protected import(commonOptions: CommonImportOptions, workspace: Workspace): Promise<import("../../shared/types").ErrorOr<import("../../generate/helpers").IntrospectionServiceResponse
|
|
26
|
-
message: string;
|
|
27
|
-
}>>;
|
|
20
|
+
protected import(commonOptions: CommonImportOptions, workspace: Workspace): Promise<import("../../shared/types.js").ErrorOr<import("../../generate/helpers.js").IntrospectionServiceResponse>>;
|
|
28
21
|
getImportOptionsInteractively(defaults: Partial<OpenApiAnswers> | undefined, basedir: string): Promise<InteractiveOpenApi2SdlOptions>;
|
|
29
22
|
}
|
|
30
23
|
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"openapi.d.ts","sourceRoot":"","sources":["../../../src/commands/import/openapi.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"openapi.d.ts","sourceRoot":"","sources":["../../../src/commands/import/openapi.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAC,mBAAmB,EAAC,MAAM,kCAAkC,CAAA;AACzE,OAAO,KAAK,EAAC,kBAAkB,EAAC,MAAM,+BAA+B,CAAA;AACrE,OAAO,KAAK,EAAU,SAAS,EAAC,MAAM,uBAAuB,CAAA;AAQ7D,OAAO,EAAC,iBAAiB,EAAC,MAAM,kCAAkC,CAAA;AAMlE,KAAK,6BAA6B,GAAG,IAAI,CAAC,kBAAkB,EAAE,SAAS,CAAC,CAAA;AAExE,KAAK,cAAc,GAAG;IACpB,OAAO,EAAE,MAAM,CAAA;CAChB,CAAA;AAED,MAAM,CAAC,OAAO,OAAO,aAAc,SAAQ,iBAAiB;IAC1D,MAAM,CAAC,WAAW,SAQkC;IAEpD,IAAI,MAAM,cAET;IAGD,MAAM,CAAC,MAAM,UAAO;IAEpB,MAAM,CAAC,KAAK;;MAEX;IAED,MAAM,CAAC,IAAI;;MAIV;IAED,qBAAqB,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM;cAwBtC,MAAM,CACpB,aAAa,EAAE,mBAAmB,EAClC,SAAS,EAAE,SAAS;IA4EhB,6BAA6B,CACjC,QAAQ,qCAA8B,EACtC,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,6BAA6B,CAAC;CA0B1C"}
|