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,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 ImportPostgreSQL extends ImportCommandBase {
|
|
15
|
+
static description = `Import a schema for a PostgreSQL data source into your GraphQL API.` +
|
|
16
|
+
`\n` +
|
|
17
|
+
chalk `\n{bold stepzen import postgresql} automatically introspects a` +
|
|
18
|
+
` PostgreSQL database, generates a GraphQL schema for accessing this` +
|
|
19
|
+
` database through a StepZen API, and merges the generated types,` +
|
|
20
|
+
` queries and mutations into your GraphQL schema.`;
|
|
17
21
|
get source() {
|
|
18
22
|
return 'postgresql';
|
|
19
23
|
}
|
|
24
|
+
static aliases = ['import:postgres'];
|
|
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(),
|
|
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 PostgreSQL database.` +
|
|
39
|
+
chalk `\nExample: {bold postgresql://user:password@host:port/database?schema=schema}` +
|
|
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(ImportPostgreSQL);
|
|
22
47
|
const nonInteractiveOptions = {
|
|
@@ -43,7 +68,7 @@ class ImportPostgreSQL 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 PostgreSQL database.' +
|
|
47
72
|
chalk `\nSee more help with {bold stepzen import postgresql --help}`);
|
|
48
73
|
}
|
|
49
74
|
// no parameters given: start an interactive prompt
|
|
@@ -67,9 +92,9 @@ class ImportPostgreSQL 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 = {
|
|
@@ -87,10 +112,10 @@ class ImportPostgreSQL extends import_command_1.ImportCommandBase {
|
|
|
87
112
|
},
|
|
88
113
|
};
|
|
89
114
|
// Remove `undefined`-valued properties
|
|
90
|
-
return
|
|
115
|
+
return pickBy(options, value => value !== undefined);
|
|
91
116
|
}
|
|
92
117
|
getImportOptionsFromDsn(possibleDsn) {
|
|
93
|
-
const parsed =
|
|
118
|
+
const parsed = parseDsn(possibleDsn);
|
|
94
119
|
if (parsed.success) {
|
|
95
120
|
const value = parsed.value;
|
|
96
121
|
const options = {
|
|
@@ -103,48 +128,20 @@ class ImportPostgreSQL extends import_command_1.ImportCommandBase {
|
|
|
103
128
|
: `${value.params?.schema}`,
|
|
104
129
|
};
|
|
105
130
|
// Remove `undefined`-valued properties
|
|
106
|
-
return
|
|
131
|
+
return pickBy(options, value => value !== undefined);
|
|
107
132
|
}
|
|
108
|
-
throw new
|
|
133
|
+
throw new CLIError(parsed.message);
|
|
109
134
|
}
|
|
110
135
|
async getImportOptionsInteractively(defaults = {}) {
|
|
111
136
|
const questions = inquirer.overrideDefaults([
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
137
|
+
ImportQuestions.dbHost(),
|
|
138
|
+
ImportQuestions.dbUser(),
|
|
139
|
+
ImportQuestions.dbPassword(),
|
|
140
|
+
ImportQuestions.dbDatabase(),
|
|
141
|
+
ImportQuestions.dbSchema(),
|
|
142
|
+
ImportQuestions.dbLinkTypes(),
|
|
118
143
|
], defaults);
|
|
119
144
|
return inquirer.prompt(`import-${this.source}`, questions);
|
|
120
145
|
}
|
|
121
146
|
}
|
|
122
|
-
exports.default = ImportPostgreSQL;
|
|
123
|
-
ImportPostgreSQL.description = `Import a schema for a PostgreSQL data source into your GraphQL API.` +
|
|
124
|
-
`\n` +
|
|
125
|
-
chalk `\n{bold stepzen import postgresql} automatically introspects a` +
|
|
126
|
-
` PostgreSQL database, generates a GraphQL schema for accessing this` +
|
|
127
|
-
` database through a StepZen API, and merges the generated types,` +
|
|
128
|
-
` queries and mutations into your GraphQL schema.`;
|
|
129
|
-
ImportPostgreSQL.aliases = ['import:postgres'];
|
|
130
|
-
ImportPostgreSQL.flags = {
|
|
131
|
-
...import_command_1.ImportCommandBase.flags,
|
|
132
|
-
'db-host': flags_1.ImportFlags.dbHost(),
|
|
133
|
-
'db-user': flags_1.ImportFlags.dbUser(),
|
|
134
|
-
'db-password': flags_1.ImportFlags.dbPassword(),
|
|
135
|
-
'db-database': flags_1.ImportFlags.dbDatabase(),
|
|
136
|
-
'db-schema': flags_1.ImportFlags.dbSchema(),
|
|
137
|
-
'db-link-types': flags_1.ImportFlags.dbLinkTypes(),
|
|
138
|
-
'db-include': flags_1.ImportFlags.dbInclude(),
|
|
139
|
-
'db-use-deprecated-2022-naming': flags_1.ImportFlags.dbUseDeprecatedNaming(),
|
|
140
|
-
};
|
|
141
|
-
ImportPostgreSQL.args = {
|
|
142
|
-
dsn: core_1.Args.string({
|
|
143
|
-
description: chalk `{italic (optional)} Data Source Name (DSN) of a PostgreSQL database.` +
|
|
144
|
-
chalk `\nExample: {bold postgresql://user:password@host:port/database?schema=schema}` +
|
|
145
|
-
chalk `\n` +
|
|
146
|
-
chalk `\nFlags, such as {bold --db-host}, override the corresponding` +
|
|
147
|
-
chalk ` parts of the DSN (if both are provided).`,
|
|
148
|
-
}),
|
|
149
|
-
};
|
|
150
147
|
//# sourceMappingURL=postgresql.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"postgresql.js","sourceRoot":"","sources":["../../../src/commands/import/postgresql.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"postgresql.js","sourceRoot":"","sources":["../../../src/commands/import/postgresql.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 { PrestoImportOptions } from '../../generate/sql2sdl.js';
|
|
3
|
+
import type { FlagsT } from '../../shared/types.js';
|
|
4
|
+
import { ImportCommandBase } from '../../generate/import-command.js';
|
|
5
|
+
export type PrestoAnswers = Pick<PrestoImportOptions, 'host' | 'user' | 'password' | 'catalog' | 'schema' | 'linkTypes'>;
|
|
6
6
|
export default class ImportPresto extends ImportCommandBase {
|
|
7
7
|
static description: string;
|
|
8
8
|
get source(): "presto";
|
|
9
9
|
static hidden: boolean;
|
|
10
10
|
static flags: {
|
|
11
|
-
'db-host': import("@oclif/core/
|
|
12
|
-
'db-user': import("@oclif/core/
|
|
13
|
-
'db-password': import("@oclif/core/
|
|
14
|
-
'db-catalog': import("@oclif/core/
|
|
15
|
-
'db-schema': import("@oclif/core/
|
|
16
|
-
'db-link-types': import("@oclif/core/
|
|
17
|
-
'db-include': 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-catalog': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
15
|
+
'db-schema': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
16
|
+
'db-link-types': import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
17
|
+
'db-include': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
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 ImportPresto>): {
|
|
32
24
|
host: string | undefined;
|
|
33
25
|
user: string | undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"presto.d.ts","sourceRoot":"","sources":["../../../src/commands/import/presto.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"presto.d.ts","sourceRoot":"","sources":["../../../src/commands/import/presto.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAC,mBAAmB,EAAC,MAAM,kCAAkC,CAAA;AACzE,OAAO,KAAK,EAAC,mBAAmB,EAAC,MAAM,2BAA2B,CAAA;AAClE,OAAO,KAAK,EAAU,MAAM,EAAC,MAAM,uBAAuB,CAAA;AAS1D,OAAO,EAAC,iBAAiB,EAAC,MAAM,kCAAkC,CAAA;AAWlE,MAAM,MAAM,aAAa,GAAG,IAAI,CAC9B,mBAAmB,EACnB,MAAM,GAAG,MAAM,GAAG,UAAU,GAAG,SAAS,GAAG,QAAQ,GAAG,WAAW,CAClE,CAAA;AAED,MAAM,CAAC,OAAO,OAAO,YAAa,SAAQ,iBAAiB;IACzD,MAAM,CAAC,WAAW,SAMgC;IAElD,IAAI,MAAM,aAET;IAGD,MAAM,CAAC,MAAM,UAAwC;IAErD,MAAM,CAAC,KAAK;;;;;;;;MAYX;IAED,MAAM,CAAC,IAAI;;MASV;cAEe,MAAM,CAAC,aAAa,EAAE,mBAAmB;IAoFzD,yBAAyB,CAAC,KAAK,EAAE,MAAM,CAAC,OAAO,YAAY,CAAC;;;;;;;;;IAe5D,uBAAuB,CAAC,WAAW,EAAE,MAAM;;;;;;;IAmBrC,6BAA6B,CACjC,QAAQ,GAAE,OAAO,CAAC,aAAa,CAAM,GACpC,OAAO,CAAC,aAAa,CAAC;CAoB1B"}
|
|
@@ -1,23 +1,51 @@
|
|
|
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
|
-
|
|
2
|
+
import { Args, Flags } 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 { ENABLE_PRESTO_IMPORT } from '../../shared/constants.js';
|
|
13
|
+
import * as inquirer from '../../shared/inquirer.js';
|
|
14
|
+
import { getFeatureFlag, rewriteLocalhostToHostGateway, } from '../../shared/utils.js';
|
|
15
|
+
export default class ImportPresto extends ImportCommandBase {
|
|
16
|
+
static description = `Import a schema for a Presto data source into your GraphQL API.` +
|
|
17
|
+
`\n` +
|
|
18
|
+
chalk `\n{bold stepzen import presto} automatically introspects a Presto` +
|
|
19
|
+
` database, generates a GraphQL schema for accessing this database` +
|
|
20
|
+
` through a StepZen API, and merges the generated types, queries and` +
|
|
21
|
+
` mutations into your into your GraphQL schema.`;
|
|
18
22
|
get source() {
|
|
19
23
|
return 'presto';
|
|
20
24
|
}
|
|
25
|
+
// the GA version of the introspection service does not support Presto yet
|
|
26
|
+
static hidden = !getFeatureFlag(ENABLE_PRESTO_IMPORT);
|
|
27
|
+
static flags = {
|
|
28
|
+
...ImportCommandBase.flags,
|
|
29
|
+
'db-host': ImportFlags.dbHost(),
|
|
30
|
+
'db-user': ImportFlags.dbUser(),
|
|
31
|
+
'db-password': ImportFlags.dbPassword(),
|
|
32
|
+
// 'db-database': ImportFlags.dbDatabase(), -- intentionally omitted (Presto does not have databases)
|
|
33
|
+
'db-catalog': Flags.string({
|
|
34
|
+
description: 'Name of the catalog to import',
|
|
35
|
+
}),
|
|
36
|
+
'db-schema': ImportFlags.dbSchema(),
|
|
37
|
+
'db-link-types': ImportFlags.dbLinkTypes(),
|
|
38
|
+
'db-include': ImportFlags.dbInclude(),
|
|
39
|
+
};
|
|
40
|
+
static args = {
|
|
41
|
+
dsn: Args.string({
|
|
42
|
+
description: chalk `{italic (optional)} Data Source Name (DSN) of a Presto data source.` +
|
|
43
|
+
chalk `\nExample: {bold presto://user:password@host:port/catalog}` +
|
|
44
|
+
chalk `\n` +
|
|
45
|
+
chalk `\nFlags, such as {bold --db-host}, override the corresponding` +
|
|
46
|
+
chalk ` parts of the DSN (if both are provided).`,
|
|
47
|
+
}),
|
|
48
|
+
};
|
|
21
49
|
async import(commonOptions) {
|
|
22
50
|
const { args, flags } = await this.parse(ImportPresto);
|
|
23
51
|
const nonInteractiveOptions = {
|
|
@@ -45,7 +73,7 @@ class ImportPresto extends import_command_1.ImportCommandBase {
|
|
|
45
73
|
}
|
|
46
74
|
else {
|
|
47
75
|
if (flags['non-interactive']) {
|
|
48
|
-
throw new
|
|
76
|
+
throw new CLIError('Please provide a complete Data Source Name (DSN) string for a Presto database.' +
|
|
49
77
|
chalk `\nSee more help with {bold stepzen import presto --help}`);
|
|
50
78
|
}
|
|
51
79
|
// no parameters given: start an interactive prompt
|
|
@@ -69,9 +97,9 @@ class ImportPresto extends import_command_1.ImportCommandBase {
|
|
|
69
97
|
...interactiveOptions,
|
|
70
98
|
};
|
|
71
99
|
}
|
|
72
|
-
const configuration = await
|
|
73
|
-
sql2sdlOptions.host =
|
|
74
|
-
return this.wrapInProgressAndTimeout(
|
|
100
|
+
const configuration = await readConfiguration();
|
|
101
|
+
sql2sdlOptions.host = rewriteLocalhostToHostGateway(configuration, sql2sdlOptions.host);
|
|
102
|
+
return this.wrapInProgressAndTimeout(sql2sdl(sql2sdlOptions, configuration));
|
|
75
103
|
}
|
|
76
104
|
getImportOptionsFromFlags(flags) {
|
|
77
105
|
const options = {
|
|
@@ -84,10 +112,10 @@ class ImportPresto extends import_command_1.ImportCommandBase {
|
|
|
84
112
|
include: flags['db-include'],
|
|
85
113
|
};
|
|
86
114
|
// Remove `undefined`-valued properties
|
|
87
|
-
return
|
|
115
|
+
return pickBy(options, value => value !== undefined);
|
|
88
116
|
}
|
|
89
117
|
getImportOptionsFromDsn(possibleDsn) {
|
|
90
|
-
const parsed =
|
|
118
|
+
const parsed = parseDsn(possibleDsn);
|
|
91
119
|
if (parsed.success) {
|
|
92
120
|
const value = parsed.value;
|
|
93
121
|
const options = {
|
|
@@ -98,55 +126,24 @@ class ImportPresto extends import_command_1.ImportCommandBase {
|
|
|
98
126
|
schema: value.params?.schema,
|
|
99
127
|
};
|
|
100
128
|
// Remove `undefined`-valued properties
|
|
101
|
-
return
|
|
129
|
+
return pickBy(options, value => value !== undefined);
|
|
102
130
|
}
|
|
103
|
-
throw new
|
|
131
|
+
throw new CLIError(parsed.message);
|
|
104
132
|
}
|
|
105
133
|
async getImportOptionsInteractively(defaults = {}) {
|
|
106
134
|
const questions = inquirer.overrideDefaults([
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
135
|
+
ImportQuestions.dbHost(),
|
|
136
|
+
ImportQuestions.dbUser(),
|
|
137
|
+
ImportQuestions.dbPassword(),
|
|
110
138
|
{
|
|
111
139
|
name: 'catalog',
|
|
112
140
|
message: 'What is your Presto catalog name?',
|
|
113
141
|
validate: input => input.trim() !== '' || 'Catalog name must not be empty',
|
|
114
142
|
},
|
|
115
|
-
|
|
116
|
-
|
|
143
|
+
ImportQuestions.dbSchema({ required: true }),
|
|
144
|
+
ImportQuestions.dbLinkTypes(),
|
|
117
145
|
], defaults);
|
|
118
146
|
return inquirer.prompt(`import-${this.source}`, questions);
|
|
119
147
|
}
|
|
120
148
|
}
|
|
121
|
-
exports.default = ImportPresto;
|
|
122
|
-
ImportPresto.description = `Import a schema for a Presto data source into your GraphQL API.` +
|
|
123
|
-
`\n` +
|
|
124
|
-
chalk `\n{bold stepzen import presto} automatically introspects a Presto` +
|
|
125
|
-
` database, generates a GraphQL schema for accessing this database` +
|
|
126
|
-
` through a StepZen API, and merges the generated types, queries and` +
|
|
127
|
-
` mutations into your into your GraphQL schema.`;
|
|
128
|
-
// the GA version of the introspection service does not support Presto yet
|
|
129
|
-
ImportPresto.hidden = !(0, utils_1.getFeatureFlag)(constants_1.ENABLE_PRESTO_IMPORT);
|
|
130
|
-
ImportPresto.flags = {
|
|
131
|
-
...import_command_1.ImportCommandBase.flags,
|
|
132
|
-
'db-host': flags_1.ImportFlags.dbHost(),
|
|
133
|
-
'db-user': flags_1.ImportFlags.dbUser(),
|
|
134
|
-
'db-password': flags_1.ImportFlags.dbPassword(),
|
|
135
|
-
// 'db-database': ImportFlags.dbDatabase(), -- intentionally omitted (Presto does not have databases)
|
|
136
|
-
'db-catalog': core_1.Flags.string({
|
|
137
|
-
description: 'Name of the catalog to import',
|
|
138
|
-
}),
|
|
139
|
-
'db-schema': flags_1.ImportFlags.dbSchema(),
|
|
140
|
-
'db-link-types': flags_1.ImportFlags.dbLinkTypes(),
|
|
141
|
-
'db-include': flags_1.ImportFlags.dbInclude(),
|
|
142
|
-
};
|
|
143
|
-
ImportPresto.args = {
|
|
144
|
-
dsn: core_1.Args.string({
|
|
145
|
-
description: chalk `{italic (optional)} Data Source Name (DSN) of a Presto data source.` +
|
|
146
|
-
chalk `\nExample: {bold presto://user:password@host:port/catalog}` +
|
|
147
|
-
chalk `\n` +
|
|
148
|
-
chalk `\nFlags, such as {bold --db-host}, override the corresponding` +
|
|
149
|
-
chalk ` parts of the DSN (if both are provided).`,
|
|
150
|
-
}),
|
|
151
|
-
};
|
|
152
149
|
//# sourceMappingURL=presto.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"presto.js","sourceRoot":"","sources":["../../../src/commands/import/presto.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"presto.js","sourceRoot":"","sources":["../../../src/commands/import/presto.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,34 +1,26 @@
|
|
|
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, SnowflakeImportOptions } from '../../generate/sql2sdl.js';
|
|
3
|
+
import type { FlagsT } from '../../shared/types.js';
|
|
4
|
+
import { ImportCommandBase } from '../../generate/import-command.js';
|
|
5
|
+
export type SnowflakeAnswers = Pick<SnowflakeImportOptions, 'accountId' | 'database' | 'schema' | 'warehouse' | 'user' | 'password' | 'linkTypes'>;
|
|
6
6
|
export default class ImportSnowflake extends ImportCommandBase {
|
|
7
7
|
static description: string;
|
|
8
8
|
get source(): "snowflake";
|
|
9
9
|
static flags: {
|
|
10
|
-
'db-user': import("@oclif/core/
|
|
11
|
-
'db-password': import("@oclif/core/
|
|
12
|
-
'db-database': import("@oclif/core/
|
|
13
|
-
'db-schema': import("@oclif/core/
|
|
14
|
-
'db-link-types': import("@oclif/core/
|
|
15
|
-
'db-include': import("@oclif/core/
|
|
16
|
-
'db-use-deprecated-2022-naming': import("@oclif/core/
|
|
17
|
-
'snowflake-account-id': import("@oclif/core/
|
|
18
|
-
'snowflake-warehouse': import("@oclif/core/
|
|
19
|
-
dir: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
|
|
20
|
-
silent: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
|
|
21
|
-
name: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
|
|
22
|
-
overwrite: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
|
|
23
|
-
help: import("@oclif/core/lib/interfaces").BooleanFlag<void>;
|
|
24
|
-
'non-interactive': import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
|
|
10
|
+
'db-user': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
11
|
+
'db-password': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
12
|
+
'db-database': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
13
|
+
'db-schema': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
14
|
+
'db-link-types': import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
15
|
+
'db-include': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
16
|
+
'db-use-deprecated-2022-naming': import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
17
|
+
'snowflake-account-id': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
18
|
+
'snowflake-warehouse': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
25
19
|
};
|
|
26
20
|
static args: {
|
|
27
|
-
dsn: import("@oclif/core/
|
|
21
|
+
dsn: import("@oclif/core/interfaces").Arg<string | undefined, Record<string, unknown>>;
|
|
28
22
|
};
|
|
29
|
-
protected import(commonOptions: CommonImportOptions): Promise<import("../../shared/types").ErrorOr<import("../../generate/helpers").IntrospectionServiceResponse
|
|
30
|
-
message: string;
|
|
31
|
-
}>>;
|
|
23
|
+
protected import(commonOptions: CommonImportOptions): Promise<import("../../shared/types.js").ErrorOr<import("../../generate/helpers.js").IntrospectionServiceResponse>>;
|
|
32
24
|
getImportOptionsFromFlags(flags: FlagsT<typeof ImportSnowflake>): {
|
|
33
25
|
accountId: string | undefined;
|
|
34
26
|
user: string | undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"snowflake.d.ts","sourceRoot":"","sources":["../../../src/commands/import/snowflake.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"snowflake.d.ts","sourceRoot":"","sources":["../../../src/commands/import/snowflake.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAC,mBAAmB,EAAC,MAAM,kCAAkC,CAAA;AACzE,OAAO,KAAK,EACV,sBAAsB,EACtB,sBAAsB,EACvB,MAAM,2BAA2B,CAAA;AAClC,OAAO,KAAK,EAAU,MAAM,EAAC,MAAM,uBAAuB,CAAA;AAS1D,OAAO,EAAC,iBAAiB,EAAC,MAAM,kCAAkC,CAAA;AAOlE,MAAM,MAAM,gBAAgB,GAAG,IAAI,CACjC,sBAAsB,EACpB,WAAW,GACX,UAAU,GACV,QAAQ,GACR,WAAW,GACX,MAAM,GACN,UAAU,GACV,WAAW,CACd,CAAA;AAED,MAAM,CAAC,OAAO,OAAO,eAAgB,SAAQ,iBAAiB;IAC5D,MAAM,CAAC,WAAW,SAMkC;IAEpD,IAAI,MAAM,gBAET;IAED,MAAM,CAAC,KAAK;;;;;;;;;;MAmBX;IAED,MAAM,CAAC,IAAI;;MASV;cAEe,MAAM,CAAC,aAAa,EAAE,mBAAmB;IAsFzD,yBAAyB,CAAC,KAAK,EAAE,MAAM,CAAC,OAAO,eAAe,CAAC;;;;;;;;;;;IAqB/D,uBAAuB,CAAC,WAAW,EAAE,MAAM;;;;;;;;IA0BrC,6BAA6B,CACjC,QAAQ,GAAE,OAAO,CAAC,gBAAgB,CAAM,GACvC,OAAO,CAAC,gBAAgB,CAAC;CA+B7B"}
|