stepzen 0.29.0 → 0.30.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 +417 -54
- package/lib/commands/import/curl.d.ts +48 -0
- package/lib/commands/import/curl.d.ts.map +1 -0
- package/lib/commands/import/curl.js +246 -0
- package/lib/commands/import/curl.js.map +1 -0
- package/lib/commands/import/graphql.d.ts +34 -0
- package/lib/commands/import/graphql.d.ts.map +1 -0
- package/lib/commands/import/graphql.js +118 -0
- package/lib/commands/import/graphql.js.map +1 -0
- package/lib/commands/import/index.d.ts +22 -0
- package/lib/commands/import/index.d.ts.map +1 -0
- package/lib/commands/import/index.js +165 -0
- package/lib/commands/import/index.js.map +1 -0
- package/lib/commands/import/mysql.d.ts +48 -0
- package/lib/commands/import/mysql.d.ts.map +1 -0
- package/lib/commands/import/mysql.js +145 -0
- package/lib/commands/import/mysql.js.map +1 -0
- package/lib/commands/import/postgresql.d.ts +51 -0
- package/lib/commands/import/postgresql.d.ts.map +1 -0
- package/lib/commands/import/postgresql.js +150 -0
- package/lib/commands/import/postgresql.js.map +1 -0
- package/lib/commands/import/presto.d.ts +49 -0
- package/lib/commands/import/presto.d.ts.map +1 -0
- package/lib/commands/import/presto.js +152 -0
- package/lib/commands/import/presto.js.map +1 -0
- package/lib/commands/import/snowflake.d.ts +53 -0
- package/lib/commands/import/snowflake.d.ts.map +1 -0
- package/lib/commands/import/snowflake.js +181 -0
- package/lib/commands/import/snowflake.js.map +1 -0
- package/lib/commands/list.d.ts.map +1 -1
- package/lib/commands/list.js +0 -2
- package/lib/commands/list.js.map +1 -1
- package/lib/commands/request.js +6 -6
- package/lib/commands/request.js.map +1 -1
- package/lib/commands/service.d.ts +1 -1
- package/lib/commands/service.d.ts.map +1 -1
- package/lib/commands/service.js +12 -12
- package/lib/commands/service.js.map +1 -1
- package/lib/generate/curl2sdl.d.ts +13 -25
- package/lib/generate/curl2sdl.d.ts.map +1 -1
- package/lib/generate/curl2sdl.js +52 -114
- package/lib/generate/curl2sdl.js.map +1 -1
- package/lib/generate/flags.d.ts +19 -0
- package/lib/generate/flags.d.ts.map +1 -0
- package/lib/generate/flags.js +74 -0
- package/lib/generate/flags.js.map +1 -0
- package/lib/generate/graphql2sdl.d.ts +5 -16
- package/lib/generate/graphql2sdl.d.ts.map +1 -1
- package/lib/generate/graphql2sdl.js +4 -49
- package/lib/generate/graphql2sdl.js.map +1 -1
- package/lib/generate/helpers.d.ts +5 -9
- package/lib/generate/helpers.d.ts.map +1 -1
- package/lib/generate/helpers.js +30 -37
- package/lib/generate/helpers.js.map +1 -1
- package/lib/generate/import-command.d.ts +25 -0
- package/lib/generate/import-command.d.ts.map +1 -0
- package/lib/generate/import-command.js +176 -0
- package/lib/generate/import-command.js.map +1 -0
- package/lib/generate/questions.d.ts +30 -0
- package/lib/generate/questions.d.ts.map +1 -0
- package/lib/generate/questions.js +50 -0
- package/lib/generate/questions.js.map +1 -0
- package/lib/generate/sql2sdl.d.ts +14 -18
- package/lib/generate/sql2sdl.d.ts.map +1 -1
- package/lib/generate/sql2sdl.js +29 -92
- package/lib/generate/sql2sdl.js.map +1 -1
- package/lib/hooks/prerun/check-upgrade.js +4 -4
- package/lib/hooks/prerun/check-upgrade.js.map +1 -1
- package/lib/shared/constants.d.ts +1 -0
- package/lib/shared/constants.d.ts.map +1 -1
- package/lib/shared/constants.js +2 -1
- package/lib/shared/constants.js.map +1 -1
- package/lib/shared/curl-parser.d.ts +3 -3
- package/lib/shared/curl-parser.d.ts.map +1 -1
- package/lib/shared/curl-parser.js +52 -39
- package/lib/shared/curl-parser.js.map +1 -1
- package/lib/shared/docker.d.ts +8 -36
- package/lib/shared/docker.d.ts.map +1 -1
- package/lib/shared/docker.js +44 -42
- package/lib/shared/docker.js.map +1 -1
- package/lib/shared/dsn-parser.d.ts +3 -0
- package/lib/shared/dsn-parser.d.ts.map +1 -0
- package/lib/shared/dsn-parser.js +28 -0
- package/lib/shared/dsn-parser.js.map +1 -0
- package/lib/shared/header-params-parser.d.ts +7 -5
- package/lib/shared/header-params-parser.d.ts.map +1 -1
- package/lib/shared/header-params-parser.js +55 -43
- package/lib/shared/header-params-parser.js.map +1 -1
- package/lib/shared/header.d.ts +2 -2
- package/lib/shared/header.d.ts.map +1 -1
- package/lib/shared/header.js +13 -7
- package/lib/shared/header.js.map +1 -1
- package/lib/shared/inquirer.d.ts +2 -0
- package/lib/shared/inquirer.d.ts.map +1 -1
- package/lib/shared/inquirer.js +12 -4
- package/lib/shared/inquirer.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 +11 -7
- package/lib/shared/path-params-parser.js.map +1 -1
- package/lib/shared/request-variables-parser.d.ts +2 -9
- package/lib/shared/request-variables-parser.d.ts.map +1 -1
- package/lib/shared/request-variables-parser.js +8 -8
- package/lib/shared/request-variables-parser.js.map +1 -1
- package/lib/shared/types.d.ts +33 -6
- package/lib/shared/types.d.ts.map +1 -1
- package/lib/shared/utils.d.ts +5 -13
- package/lib/shared/utils.d.ts.map +1 -1
- package/lib/shared/utils.js.map +1 -1
- package/oclif.manifest.json +684 -197
- package/package.json +6 -6
- package/lib/commands/import.d.ts +0 -85
- package/lib/commands/import.d.ts.map +0 -1
- package/lib/commands/import.js +0 -645
- package/lib/commands/import.js.map +0 -1
- package/lib/generate/index.d.ts +0 -6
- package/lib/generate/index.d.ts.map +0 -1
- package/lib/generate/index.js +0 -4
- package/lib/generate/index.js.map +0 -1
|
@@ -0,0 +1,176 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// Copyright (c) 2020,2021,2022,2023, StepZen, Inc.
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
exports.ImportCommandBase = void 0;
|
|
5
|
+
const core_1 = require("@oclif/core");
|
|
6
|
+
const errors_1 = require("@oclif/core/lib/errors");
|
|
7
|
+
const chalk = require("chalk");
|
|
8
|
+
const fsx = require("fs-extra");
|
|
9
|
+
const path = require("path");
|
|
10
|
+
const constants_1 = require("../shared/constants");
|
|
11
|
+
const inquirer = require("../shared/inquirer");
|
|
12
|
+
const rmtemp_1 = require("../shared/rmtemp");
|
|
13
|
+
const utils_1 = require("../shared/utils");
|
|
14
|
+
const zen_command_1 = require("../shared/zen-command");
|
|
15
|
+
const helpers_1 = require("./helpers");
|
|
16
|
+
class ImportCommandBase extends zen_command_1.default {
|
|
17
|
+
async run() {
|
|
18
|
+
const { flags } = await this.parse();
|
|
19
|
+
// If using a local StepZen service instance, make sure it's running
|
|
20
|
+
await this.awaitIntrospectionServiceUpIfLocal();
|
|
21
|
+
// Get or create a StepZen workspace (possibly interactive)
|
|
22
|
+
const workspace = await this.ensureStepZenWorkspace({ directory: flags.dir });
|
|
23
|
+
// Define a sane onConflict behaviour (possibly interactive)
|
|
24
|
+
const onConflict = await this.ensureOnConflictBehavior(workspace, flags);
|
|
25
|
+
// Common options for all import sources
|
|
26
|
+
const commonOptions = {
|
|
27
|
+
name: flags.name,
|
|
28
|
+
source: workspace.schema,
|
|
29
|
+
onConflict,
|
|
30
|
+
};
|
|
31
|
+
// Run the import command for the specific source:
|
|
32
|
+
// - ask for any missing required arguments (if not in non-interactive mode)
|
|
33
|
+
// - call the StepZen introspection service to generate a GraphQL schema
|
|
34
|
+
const { result: response, error } = await this.import(commonOptions);
|
|
35
|
+
if (error) {
|
|
36
|
+
this.log('A problem occurred while processing your import.');
|
|
37
|
+
this.log(error.message);
|
|
38
|
+
return this.exit(1);
|
|
39
|
+
}
|
|
40
|
+
// Use @stepzen/transpiler to run the schema merge algorithm taking in
|
|
41
|
+
// the new schema returned by the introspection service and the existing
|
|
42
|
+
// workspace schema. The merged schema is written to a temp folder
|
|
43
|
+
// (outPath).
|
|
44
|
+
const { outPath } = await (0, helpers_1.writeSdlAndConfig)({
|
|
45
|
+
name: flags.name || this.source,
|
|
46
|
+
source: workspace.schema,
|
|
47
|
+
// Merging types in the way it's done in @stepzen/transpiler leads to
|
|
48
|
+
// issues (https://github.com/steprz/stepzen-cli/issues/875) but it's
|
|
49
|
+
// still used for mysql for compatibility (because it was originally
|
|
50
|
+
// implemented that way), and for other SQL sources for consistency.
|
|
51
|
+
mergeTypes: ['snowflake', 'mysql', 'postgresql'].includes(this.source),
|
|
52
|
+
onConflict,
|
|
53
|
+
response,
|
|
54
|
+
});
|
|
55
|
+
try {
|
|
56
|
+
// Last step - when both introspection and schema merge are done and the
|
|
57
|
+
// merged schema is written in a temp folder, copy the result into the
|
|
58
|
+
// workspace folder making the result visible to the user.
|
|
59
|
+
fsx.copySync(outPath, workspace.schema);
|
|
60
|
+
this.log(chalk `{green Successfully imported {bold ${this.source}} data source into your GraphQL schema}`);
|
|
61
|
+
}
|
|
62
|
+
finally {
|
|
63
|
+
(0, rmtemp_1.rmtemp)(outPath);
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
async ensureOnConflictBehavior(workspace, flags) {
|
|
67
|
+
const detectNameConflicts = (0, utils_1.getFeatureFlag)(constants_1.DETECT_NAME_CONFLICTS);
|
|
68
|
+
if (!detectNameConflicts) {
|
|
69
|
+
return 'append';
|
|
70
|
+
}
|
|
71
|
+
const name = flags.name || this.source;
|
|
72
|
+
const hasConflict = fsx.existsSync(path.join(workspace.schema, name));
|
|
73
|
+
if (!hasConflict) {
|
|
74
|
+
return 'append';
|
|
75
|
+
}
|
|
76
|
+
// No `--name` is given (i.e. naming is automatic)
|
|
77
|
+
// Using the default name is going to lead to a conflict, and it should
|
|
78
|
+
// be resolved by inventing a new unique name for the new schema.
|
|
79
|
+
if (!flags.name) {
|
|
80
|
+
return 'append';
|
|
81
|
+
}
|
|
82
|
+
// `--name` is given and (i.e. naming is namaged by the user)
|
|
83
|
+
// There is a naming conflict.
|
|
84
|
+
// The user has explicitly asked to overwrite the existing schema.
|
|
85
|
+
if (flags.overwrite) {
|
|
86
|
+
return 'overwrite';
|
|
87
|
+
}
|
|
88
|
+
// `--name` is given and (i.e. naming is namaged by the user)
|
|
89
|
+
// There is a naming conflict.
|
|
90
|
+
// The user has NOT given an explicit permission to overwrite the existing
|
|
91
|
+
// schema.
|
|
92
|
+
// In an interactive mode the CLI asks them for a confirmation.
|
|
93
|
+
// In a non-interactive mode the CLI throws an error.
|
|
94
|
+
if (flags['non-interactive']) {
|
|
95
|
+
throw new errors_1.CLIError(`A schema named ${chalk.bold(flags.name)} already exists in this workspace. Add an ${chalk.bold('--overwrite')} flag to overwrite it.`);
|
|
96
|
+
}
|
|
97
|
+
this.log(`A schema named ${chalk.bold(flags.name)} already exists in this workspace. Would you like to overwrite it?`);
|
|
98
|
+
const answers = await inquirer.prompt('import', [
|
|
99
|
+
{
|
|
100
|
+
name: 'overwrite',
|
|
101
|
+
type: 'confirm',
|
|
102
|
+
default: false,
|
|
103
|
+
message: `Overwrite ${flags.name}?`,
|
|
104
|
+
},
|
|
105
|
+
]);
|
|
106
|
+
if (answers.overwrite) {
|
|
107
|
+
return 'overwrite';
|
|
108
|
+
}
|
|
109
|
+
return this.exit();
|
|
110
|
+
}
|
|
111
|
+
async wrapInProgressAndTimeout(importPromise) {
|
|
112
|
+
core_1.ux.action.start('Starting');
|
|
113
|
+
try {
|
|
114
|
+
let timeoutPromise = (0, utils_1.getTimeout)(5 * 1000);
|
|
115
|
+
let resultOrError = await Promise.race([importPromise, timeoutPromise]);
|
|
116
|
+
if (!resultOrError) {
|
|
117
|
+
// 5 sec passed, but no result yet
|
|
118
|
+
core_1.ux.action.start('Creating a GraphQL schema');
|
|
119
|
+
timeoutPromise = (0, utils_1.getTimeout)(5 * 1000);
|
|
120
|
+
resultOrError = await Promise.race([importPromise, timeoutPromise]);
|
|
121
|
+
}
|
|
122
|
+
if (!resultOrError) {
|
|
123
|
+
// another 5 sec passed (10 sec total)
|
|
124
|
+
core_1.ux.action.start('Creating a GraphQL schema (this is taking longer than usual)');
|
|
125
|
+
timeoutPromise = (0, utils_1.getTimeout)(30 * 1000);
|
|
126
|
+
resultOrError = await Promise.race([importPromise, timeoutPromise]);
|
|
127
|
+
}
|
|
128
|
+
if (!resultOrError) {
|
|
129
|
+
// another 30 sec passed (40 sec total)
|
|
130
|
+
core_1.ux.action.start('Creating a GraphQL schema (it may take up to 10 minutes)');
|
|
131
|
+
timeoutPromise = (0, utils_1.getTimeout)((8 * 60 + 20) * 1000);
|
|
132
|
+
resultOrError = await Promise.race([importPromise, timeoutPromise]);
|
|
133
|
+
}
|
|
134
|
+
if (resultOrError) {
|
|
135
|
+
timeoutPromise.cancel();
|
|
136
|
+
}
|
|
137
|
+
else {
|
|
138
|
+
// another 8 min 20 sec passed (9 min total)
|
|
139
|
+
// 9 minutes is the max timeout in the introspection service. If it has
|
|
140
|
+
// not responsed withing this time, there is no point in waiting longer.
|
|
141
|
+
resultOrError = {
|
|
142
|
+
error: { message: 'The StepZen introspection service has timed out.' },
|
|
143
|
+
};
|
|
144
|
+
}
|
|
145
|
+
core_1.ux.action.stop(resultOrError.error ? chalk.red('fail') : 'done');
|
|
146
|
+
return resultOrError;
|
|
147
|
+
}
|
|
148
|
+
catch (error) {
|
|
149
|
+
core_1.ux.action.stop(chalk.red('fail'));
|
|
150
|
+
throw error;
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
}
|
|
154
|
+
exports.ImportCommandBase = ImportCommandBase;
|
|
155
|
+
ImportCommandBase.flags = {
|
|
156
|
+
...zen_command_1.default.flags,
|
|
157
|
+
dir: core_1.Flags.string({ description: 'Working directory' }),
|
|
158
|
+
silent: core_1.Flags.boolean({
|
|
159
|
+
description: 'This is an internal flag passed by the (no-arg) Import command when' +
|
|
160
|
+
' it launches a data-source specific import command. The intent is' +
|
|
161
|
+
' to avoid showing a welcome message twice (if its already been shown' +
|
|
162
|
+
' by the (no-arg) Import command).',
|
|
163
|
+
hidden: true,
|
|
164
|
+
}),
|
|
165
|
+
name: core_1.Flags.string({
|
|
166
|
+
description: 'Subfolder inside the workspace folder to save the imported' +
|
|
167
|
+
' schema files to. Defaults to the name of the imported schema.',
|
|
168
|
+
}),
|
|
169
|
+
overwrite: core_1.Flags.boolean({
|
|
170
|
+
description: 'Overwrite any existing schema with the same name. Cannot be used' +
|
|
171
|
+
' without also providing a --name flag.',
|
|
172
|
+
dependsOn: ['name'],
|
|
173
|
+
hidden: true,
|
|
174
|
+
}),
|
|
175
|
+
};
|
|
176
|
+
//# sourceMappingURL=import-command.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"import-command.js","sourceRoot":"","sources":["../../src/generate/import-command.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import type { DistinctQuestion } from 'inquirer';
|
|
2
|
+
/**
|
|
3
|
+
* A helper to share interactive questions between several import commands.
|
|
4
|
+
*/
|
|
5
|
+
export declare const ImportQuestions: {
|
|
6
|
+
prefix: () => DistinctQuestion<{
|
|
7
|
+
typePrefix?: string | undefined;
|
|
8
|
+
}>;
|
|
9
|
+
dbHost: () => DistinctQuestion<{
|
|
10
|
+
host: string;
|
|
11
|
+
}>;
|
|
12
|
+
dbUser: () => DistinctQuestion<{
|
|
13
|
+
user: string;
|
|
14
|
+
}>;
|
|
15
|
+
dbPassword: () => DistinctQuestion<{
|
|
16
|
+
password: string;
|
|
17
|
+
}>;
|
|
18
|
+
dbDatabase: () => DistinctQuestion<{
|
|
19
|
+
database: string;
|
|
20
|
+
}>;
|
|
21
|
+
dbSchema: (opts?: {
|
|
22
|
+
required?: boolean;
|
|
23
|
+
}) => DistinctQuestion<{
|
|
24
|
+
schema?: string | undefined;
|
|
25
|
+
}>;
|
|
26
|
+
dbLinkTypes: () => DistinctQuestion<{
|
|
27
|
+
linkTypes: boolean;
|
|
28
|
+
}>;
|
|
29
|
+
};
|
|
30
|
+
//# sourceMappingURL=questions.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"questions.d.ts","sourceRoot":"","sources":["../../src/generate/questions.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAC,gBAAgB,EAAC,MAAM,UAAU,CAAA;AAE9C;;GAEG;AACH,eAAO,MAAM,eAAe;;;;;cAaK,MAAM;;;cAMN,MAAM;;;kBAMF,MAAM;;;kBAON,MAAM;;sBACxB;QAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;KAAC;;;;mBAkBD,OAAO;;CAC5C,CAAA"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// Copyright (c) 2020,2021,2022,2023, StepZen, Inc.
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
exports.ImportQuestions = void 0;
|
|
5
|
+
const chalk = require("chalk");
|
|
6
|
+
const utils_1 = require("../shared/utils");
|
|
7
|
+
/**
|
|
8
|
+
* A helper to share interactive questions between several import commands.
|
|
9
|
+
*/
|
|
10
|
+
exports.ImportQuestions = {
|
|
11
|
+
prefix: () => ({
|
|
12
|
+
name: 'typePrefix',
|
|
13
|
+
message: 'Prefix to add to all generated type names (leave blank for none)',
|
|
14
|
+
}),
|
|
15
|
+
dbHost: () => ({
|
|
16
|
+
name: 'host',
|
|
17
|
+
message: 'What is your host?',
|
|
18
|
+
validate: input => (0, utils_1.parseHost)(input).isValid || `Could not parse "${input}" as a hostname.`,
|
|
19
|
+
}),
|
|
20
|
+
dbUser: () => ({
|
|
21
|
+
name: 'user',
|
|
22
|
+
message: 'What is the username?',
|
|
23
|
+
validate: input => input.trim() !== '' || 'Username must not be empty',
|
|
24
|
+
}),
|
|
25
|
+
dbPassword: () => ({
|
|
26
|
+
name: 'password',
|
|
27
|
+
message: 'What is the password?',
|
|
28
|
+
type: 'password',
|
|
29
|
+
}),
|
|
30
|
+
dbDatabase: () => ({
|
|
31
|
+
name: 'database',
|
|
32
|
+
message: 'What is your database name?',
|
|
33
|
+
validate: input => input.trim() !== '' || 'Database name must not be empty',
|
|
34
|
+
}),
|
|
35
|
+
dbSchema: (opts = {}) => ({
|
|
36
|
+
name: 'schema',
|
|
37
|
+
message: `What is your database schema${opts.required ? '' : ' (leave blank to use defaults)'}?`,
|
|
38
|
+
validate: opts.required
|
|
39
|
+
? input => input.trim() !== '' || 'Schema must not be empty'
|
|
40
|
+
: undefined,
|
|
41
|
+
}),
|
|
42
|
+
dbLinkTypes: () => ({
|
|
43
|
+
name: 'linkTypes',
|
|
44
|
+
message: `Automatically link types based on foreign key relationships using @materializer` +
|
|
45
|
+
`\n ${chalk.dim('(https://stepzen.com/docs/features/linking-types)')}`,
|
|
46
|
+
type: 'confirm',
|
|
47
|
+
default: false,
|
|
48
|
+
}),
|
|
49
|
+
};
|
|
50
|
+
//# sourceMappingURL=questions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"questions.js","sourceRoot":"","sources":["../../src/generate/questions.ts"],"names":[],"mappings":";AAAA,mDAAmD;;;AAEnD,+BAA8B;AAC9B,2CAAyC;AAIzC;;GAEG;AACU,QAAA,eAAe,GAAG;IAC7B,MAAM,EAAE,GAAG,EAAE,CACX,CAAC;QACC,IAAI,EAAE,YAAY;QAClB,OAAO,EACL,kEAAkE;KACzB,CAAA;IAC/C,MAAM,EAAE,GAAG,EAAE,CACX,CAAC;QACC,IAAI,EAAE,MAAM;QACZ,OAAO,EAAE,oBAAoB;QAC7B,QAAQ,EAAE,KAAK,CAAC,EAAE,CAChB,IAAA,iBAAS,EAAC,KAAK,CAAC,CAAC,OAAO,IAAI,oBAAoB,KAAK,kBAAkB;KACrC,CAAA;IACxC,MAAM,EAAE,GAAG,EAAE,CACX,CAAC;QACC,IAAI,EAAE,MAAM;QACZ,OAAO,EAAE,uBAAuB;QAChC,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,4BAA4B;KAClC,CAAA;IACxC,UAAU,EAAE,GAAG,EAAE,CACf,CAAC;QACC,IAAI,EAAE,UAAU;QAChB,OAAO,EAAE,uBAAuB;QAChC,IAAI,EAAE,UAAU;KACwB,CAAA;IAC5C,UAAU,EAAE,GAAG,EAAE,CACf,CAAC;QACC,IAAI,EAAE,UAAU;QAChB,OAAO,EAAE,6BAA6B;QACtC,QAAQ,EAAE,KAAK,CAAC,EAAE,CAChB,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,iCAAiC;KAClB,CAAA;IAC5C,QAAQ,EAAE,CAAC,OAA6B,EAAE,EAAE,EAAE,CAC5C,CAAC;QACC,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE,+BACP,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,gCACvB,GAAG;QACH,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACrB,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,0BAA0B;YAC5D,CAAC,CAAC,SAAS;KAC0B,CAAA;IAC3C,WAAW,EAAE,GAAG,EAAE,CAChB,CAAC;QACC,IAAI,EAAE,WAAW;QACjB,OAAO,EACL,iFAAiF;YACjF,MAAM,KAAK,CAAC,GAAG,CAAC,mDAAmD,CAAC,EAAE;QACxE,IAAI,EAAE,SAAS;QACf,OAAO,EAAE,KAAK;KAC4B,CAAA;CAC/C,CAAA"}
|
|
@@ -1,42 +1,38 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
import type {
|
|
3
|
-
|
|
1
|
+
import type { ErrorOr, MachineConfiguration } from '../shared/types';
|
|
2
|
+
import type { IntrospectionServiceResponse } from './helpers';
|
|
3
|
+
import type { CommonImportOptions } from './import-command';
|
|
4
|
+
export declare type DBType = 'mysql' | 'postgresql' | 'snowflake' | 'presto';
|
|
4
5
|
export declare type DBIntrospectionOptions = {
|
|
5
6
|
naming?: '2022' | '2023';
|
|
6
7
|
};
|
|
7
8
|
export declare type CommonSqlImportOptions = CommonImportOptions & {
|
|
8
9
|
dbType: DBType;
|
|
10
|
+
host: string;
|
|
9
11
|
database: string;
|
|
10
12
|
user: string;
|
|
11
13
|
password: string;
|
|
12
|
-
linkTypes
|
|
14
|
+
linkTypes: boolean;
|
|
13
15
|
include?: 'tables-only' | 'views-only' | 'tables-and-views';
|
|
14
16
|
introspectionOptions?: DBIntrospectionOptions;
|
|
15
17
|
};
|
|
16
18
|
export declare type MysqlImportOptions = CommonSqlImportOptions & {
|
|
17
19
|
dbType: 'mysql';
|
|
18
|
-
host: string;
|
|
19
20
|
};
|
|
20
21
|
export declare type PostgresqlImportOptions = CommonSqlImportOptions & {
|
|
21
22
|
dbType: 'postgresql';
|
|
22
|
-
host: string;
|
|
23
23
|
schema?: string;
|
|
24
24
|
};
|
|
25
|
-
export declare type SnowflakeImportOptions = CommonSqlImportOptions & {
|
|
25
|
+
export declare type SnowflakeImportOptions = Omit<CommonSqlImportOptions, 'host'> & {
|
|
26
26
|
dbType: 'snowflake';
|
|
27
27
|
accountId: string;
|
|
28
28
|
warehouse: string;
|
|
29
29
|
schema?: string;
|
|
30
30
|
};
|
|
31
|
-
export declare type
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
export declare
|
|
37
|
-
export declare const sql2sdl: (
|
|
38
|
-
error: string;
|
|
39
|
-
} | {
|
|
40
|
-
outPath: string;
|
|
41
|
-
}>;
|
|
31
|
+
export declare type PrestoImportOptions = Omit<CommonSqlImportOptions, 'database'> & {
|
|
32
|
+
dbType: 'presto';
|
|
33
|
+
catalog: string;
|
|
34
|
+
schema: string;
|
|
35
|
+
};
|
|
36
|
+
export declare type SqlImportOptions = MysqlImportOptions | PostgresqlImportOptions | SnowflakeImportOptions | PrestoImportOptions;
|
|
37
|
+
export declare const sql2sdl: (options: SqlImportOptions, configuration: MachineConfiguration) => Promise<ErrorOr<IntrospectionServiceResponse>>;
|
|
42
38
|
//# sourceMappingURL=sql2sdl.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sql2sdl.d.ts","sourceRoot":"","sources":["../../src/generate/sql2sdl.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAC,
|
|
1
|
+
{"version":3,"file":"sql2sdl.d.ts","sourceRoot":"","sources":["../../src/generate/sql2sdl.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAC,OAAO,EAAE,oBAAoB,EAAC,MAAM,iBAAiB,CAAA;AAClE,OAAO,KAAK,EAAC,4BAA4B,EAAC,MAAM,WAAW,CAAA;AAC3D,OAAO,KAAK,EAAC,mBAAmB,EAAC,MAAM,kBAAkB,CAAA;AAEzD,oBAAY,MAAM,GAAG,OAAO,GAAG,YAAY,GAAG,WAAW,GAAG,QAAQ,CAAA;AACpE,oBAAY,sBAAsB,GAAG;IACnC,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;CACzB,CAAA;AAED,oBAAY,sBAAsB,GAAG,mBAAmB,GAAG;IACzD,MAAM,EAAE,MAAM,CAAA;IACd,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,EAAE,MAAM,CAAA;IAChB,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,EAAE,MAAM,CAAA;IAChB,SAAS,EAAE,OAAO,CAAA;IAClB,OAAO,CAAC,EAAE,aAAa,GAAG,YAAY,GAAG,kBAAkB,CAAA;IAC3D,oBAAoB,CAAC,EAAE,sBAAsB,CAAA;CAC9C,CAAA;AAED,oBAAY,kBAAkB,GAAG,sBAAsB,GAAG;IACxD,MAAM,EAAE,OAAO,CAAA;CAChB,CAAA;AAED,oBAAY,uBAAuB,GAAG,sBAAsB,GAAG;IAC7D,MAAM,EAAE,YAAY,CAAA;IACpB,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB,CAAA;AAED,oBAAY,sBAAsB,GAAG,IAAI,CAAC,sBAAsB,EAAE,MAAM,CAAC,GAAG;IAC1E,MAAM,EAAE,WAAW,CAAA;IACnB,SAAS,EAAE,MAAM,CAAA;IACjB,SAAS,EAAE,MAAM,CAAA;IACjB,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB,CAAA;AAED,oBAAY,mBAAmB,GAAG,IAAI,CAAC,sBAAsB,EAAE,UAAU,CAAC,GAAG;IAC3E,MAAM,EAAE,QAAQ,CAAA;IAChB,OAAO,EAAE,MAAM,CAAA;IACf,MAAM,EAAE,MAAM,CAAA;CACf,CAAA;AAED,oBAAY,gBAAgB,GACxB,kBAAkB,GAClB,uBAAuB,GACvB,sBAAsB,GACtB,mBAAmB,CAAA;AAEvB,eAAO,MAAM,OAAO,YACT,gBAAgB,iBACV,oBAAoB,KAClC,QAAQ,QAAQ,4BAA4B,CAAC,CAyI/C,CAAA"}
|
package/lib/generate/sql2sdl.js
CHANGED
|
@@ -1,73 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
// Copyright (c) 2020,2021,2022,2023, StepZen, Inc.
|
|
3
3
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
-
exports.sql2sdl =
|
|
5
|
-
const chalk = require("chalk");
|
|
6
|
-
const inquirer = require("../shared/inquirer");
|
|
7
|
-
const helpers_1 = require("./helpers");
|
|
4
|
+
exports.sql2sdl = void 0;
|
|
8
5
|
const constants_1 = require("../shared/constants");
|
|
9
6
|
const utils_1 = require("../shared/utils");
|
|
10
|
-
const
|
|
11
|
-
|
|
12
|
-
const questions = [
|
|
13
|
-
dbType === 'mysql' || dbType === 'postgresql'
|
|
14
|
-
? {
|
|
15
|
-
name: 'host',
|
|
16
|
-
message: 'What is your host?',
|
|
17
|
-
validate: input => (0, utils_1.parseHost)(input).isValid ||
|
|
18
|
-
`Could not parse "${input}" as a hostname.`,
|
|
19
|
-
}
|
|
20
|
-
: {
|
|
21
|
-
name: 'accountId',
|
|
22
|
-
message: 'What is your Snowflake account identifier?',
|
|
23
|
-
validate: input => {
|
|
24
|
-
const { error } = (0, utils_1.parseSnowflakeAccountId)(input);
|
|
25
|
-
return error ? error.message : true;
|
|
26
|
-
},
|
|
27
|
-
},
|
|
28
|
-
{
|
|
29
|
-
name: 'user',
|
|
30
|
-
message: 'What is the username?',
|
|
31
|
-
validate: input => input.trim() !== '' || 'Username must not be empty',
|
|
32
|
-
},
|
|
33
|
-
{
|
|
34
|
-
name: 'password',
|
|
35
|
-
message: 'What is the password?',
|
|
36
|
-
type: 'password',
|
|
37
|
-
},
|
|
38
|
-
{
|
|
39
|
-
name: 'database',
|
|
40
|
-
message: 'What is your database name?',
|
|
41
|
-
validate: input => input.trim() !== '' || 'Database name must not be empty',
|
|
42
|
-
filter: toUpperIfSnowflake,
|
|
43
|
-
},
|
|
44
|
-
dbType === 'postgresql' || dbType === 'snowflake'
|
|
45
|
-
? {
|
|
46
|
-
name: 'schema',
|
|
47
|
-
message: 'What is your database schema (leave blank to use defaults)?',
|
|
48
|
-
filter: toUpperIfSnowflake,
|
|
49
|
-
}
|
|
50
|
-
: undefined,
|
|
51
|
-
dbType === 'snowflake'
|
|
52
|
-
? {
|
|
53
|
-
name: 'warehouse',
|
|
54
|
-
message: 'What is your Snowflake warehouse?',
|
|
55
|
-
validate: input => input.trim() !== '' || 'Snowflake warehouse must not be empty',
|
|
56
|
-
}
|
|
57
|
-
: undefined,
|
|
58
|
-
{
|
|
59
|
-
name: 'linkTypes',
|
|
60
|
-
message: `Automatically link types based on foreign key relationships using @materializer` +
|
|
61
|
-
`\n ${chalk.dim('(https://stepzen.com/docs/features/linking-types)')}`,
|
|
62
|
-
type: 'confirm',
|
|
63
|
-
default: false,
|
|
64
|
-
},
|
|
65
|
-
];
|
|
66
|
-
const validQuestions = questions.filter(value => value !== undefined);
|
|
67
|
-
return inquirer.prompt(`import-${dbType}`, (0, helpers_1.overrideDefaults)(validQuestions, defaultAnswers));
|
|
68
|
-
};
|
|
69
|
-
exports.askSqlQuestions = askSqlQuestions;
|
|
70
|
-
const sql2sdl = async (_, options, configuration) => {
|
|
7
|
+
const helpers_1 = require("./helpers");
|
|
8
|
+
const sql2sdl = async (options, configuration) => {
|
|
71
9
|
let driver;
|
|
72
10
|
switch (options.dbType) {
|
|
73
11
|
case 'mysql':
|
|
@@ -79,6 +17,9 @@ const sql2sdl = async (_, options, configuration) => {
|
|
|
79
17
|
case 'snowflake':
|
|
80
18
|
driver = 'SNOWFLAKE';
|
|
81
19
|
break;
|
|
20
|
+
case 'presto':
|
|
21
|
+
driver = 'PRESTO';
|
|
22
|
+
break;
|
|
82
23
|
}
|
|
83
24
|
let inludeAsTableOptions;
|
|
84
25
|
switch (options.include) {
|
|
@@ -94,22 +35,15 @@ const sql2sdl = async (_, options, configuration) => {
|
|
|
94
35
|
default:
|
|
95
36
|
inludeAsTableOptions = null;
|
|
96
37
|
}
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
break;
|
|
102
|
-
case '2023':
|
|
103
|
-
naming = 'USE_2023';
|
|
104
|
-
break;
|
|
105
|
-
default:
|
|
106
|
-
naming = null;
|
|
107
|
-
}
|
|
38
|
+
// Only use the 2022 naming if explicitly asked for. Use the 2023 naming by
|
|
39
|
+
// default (the introspection service needs to be explicitly asked for 2023
|
|
40
|
+
// naming because it keeps backwards compat with earlier CLI versions).
|
|
41
|
+
const naming = options.introspectionOptions?.naming === '2022' ? 'USE_2022' : 'USE_2023';
|
|
108
42
|
let driverProperties;
|
|
109
43
|
if (options.dbType === 'snowflake') {
|
|
110
44
|
const { result, error } = (0, utils_1.parseSnowflakeAccountId)(options.accountId);
|
|
111
45
|
if (error) {
|
|
112
|
-
return { error
|
|
46
|
+
return { error };
|
|
113
47
|
}
|
|
114
48
|
driverProperties = [
|
|
115
49
|
{ property: 'ORGANIZATION', value: result.organization },
|
|
@@ -121,7 +55,7 @@ const sql2sdl = async (_, options, configuration) => {
|
|
|
121
55
|
const hostDetails = options.dbType === 'snowflake'
|
|
122
56
|
? { host: '', port: undefined }
|
|
123
57
|
: (0, utils_1.parseHost)(options.host);
|
|
124
|
-
|
|
58
|
+
return (0, helpers_1.queryIntrospectionService)((0, constants_1.getDBIntrospectionUrl)(configuration), {
|
|
125
59
|
operation: 'generateSDL',
|
|
126
60
|
variables: {
|
|
127
61
|
driver: {
|
|
@@ -138,10 +72,23 @@ const sql2sdl = async (_, options, configuration) => {
|
|
|
138
72
|
? null
|
|
139
73
|
: parseInt(hostDetails.port, 10),
|
|
140
74
|
},
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
75
|
+
...((0, utils_1.getFeatureFlag)(constants_1.ENABLE_PRESTO_IMPORT)
|
|
76
|
+
? {
|
|
77
|
+
database: {
|
|
78
|
+
type: 'String',
|
|
79
|
+
value: options.dbType === 'presto' ? null : options.database,
|
|
80
|
+
},
|
|
81
|
+
catalog: {
|
|
82
|
+
type: 'String',
|
|
83
|
+
value: options.dbType === 'presto' ? options.catalog : null,
|
|
84
|
+
},
|
|
85
|
+
}
|
|
86
|
+
: {
|
|
87
|
+
database: {
|
|
88
|
+
type: 'String!',
|
|
89
|
+
value: options.database,
|
|
90
|
+
},
|
|
91
|
+
}),
|
|
145
92
|
user: {
|
|
146
93
|
type: 'String!',
|
|
147
94
|
value: options.user,
|
|
@@ -185,16 +132,6 @@ const sql2sdl = async (_, options, configuration) => {
|
|
|
185
132
|
},
|
|
186
133
|
},
|
|
187
134
|
});
|
|
188
|
-
if (response.error) {
|
|
189
|
-
return { error: response.error };
|
|
190
|
-
}
|
|
191
|
-
return (0, helpers_1.writeSdlAndConfig)({
|
|
192
|
-
name: effectiveName,
|
|
193
|
-
source: options.source,
|
|
194
|
-
mergeTypes: true,
|
|
195
|
-
onConflict: options.onConflict,
|
|
196
|
-
response,
|
|
197
|
-
});
|
|
198
135
|
};
|
|
199
136
|
exports.sql2sdl = sql2sdl;
|
|
200
137
|
//# sourceMappingURL=sql2sdl.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sql2sdl.js","sourceRoot":"","sources":["../../src/generate/sql2sdl.ts"],"names":[],"mappings":";AAAA,mDAAmD;;;AAEnD
|
|
1
|
+
{"version":3,"file":"sql2sdl.js","sourceRoot":"","sources":["../../src/generate/sql2sdl.ts"],"names":[],"mappings":"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"}
|
|
@@ -86,16 +86,16 @@ ${chalk.green('npm install -g stepzen')}
|
|
|
86
86
|
};
|
|
87
87
|
exports.checkForNpmUpdate = checkForNpmUpdate;
|
|
88
88
|
const checkForDockerUpdate = async () => {
|
|
89
|
-
const {
|
|
89
|
+
const { result: versions, error } = await (0, docker_1.getDockerImageVersions)();
|
|
90
90
|
if (error) {
|
|
91
91
|
// ignore any errors
|
|
92
92
|
(0, debug_1.default)('stepzen:check-upgrade')(`Failed to get the local / latest Docker image versions. ${error.message}`);
|
|
93
93
|
return { message: undefined, isBlocking: false };
|
|
94
94
|
}
|
|
95
|
-
if (latest !== local) {
|
|
95
|
+
if (versions.latest !== versions.local) {
|
|
96
96
|
(0, debug_1.default)('stepzen:check-upgrade')(`Detected a diff between the local and the latest Docker image versions:` +
|
|
97
|
-
`\n\tlocal: ${local}` +
|
|
98
|
-
`\n\tlatest: ${latest}`);
|
|
97
|
+
`\n\tlocal: ${versions.local}` +
|
|
98
|
+
`\n\tlatest: ${versions.latest}`);
|
|
99
99
|
return {
|
|
100
100
|
message: chalk `{yellow A new version of the StepZen service image is available.}` +
|
|
101
101
|
chalk `\n{yellow Please run {green {bold stepzen service upgrade}} to upgrade.}`,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"check-upgrade.js","sourceRoot":"","sources":["../../../src/hooks/prerun/check-upgrade.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"check-upgrade.js","sourceRoot":"","sources":["../../../src/hooks/prerun/check-upgrade.ts"],"names":[],"mappings":"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"}
|
|
@@ -27,6 +27,7 @@ export declare const STEPZEN_AUTODB_PASSWORD = "stepzen-auto-metadata-password";
|
|
|
27
27
|
export declare const STEPZEN_AUTODB_DSN: string;
|
|
28
28
|
export declare const STEPZEN_DISCORD_URL = "https://discord.gg/9k2VdPn2FR";
|
|
29
29
|
export declare const DETECT_NAME_CONFLICTS = "STEPZEN_DETECT_NAME_CONFLICTS";
|
|
30
|
+
export declare const ENABLE_PRESTO_IMPORT = "STEPZEN_ENABLE_PRESTO_IMPORT";
|
|
30
31
|
/**
|
|
31
32
|
* Adds the path component to the URL if the URL is missing one.
|
|
32
33
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/shared/constants.ts"],"names":[],"mappings":"AAOA,OAAO,EAAC,oBAAoB,EAAE,4BAA4B,EAAC,MAAM,SAAS,CAAA;AAe1E,eAAO,MAAM,wBAAwB,QAAsC,CAAA;AAC3E,eAAO,MAAM,mCAAmC,QAG/C,CAAA;AACD,eAAO,MAAM,mBAAmB,QACsB,CAAA;AAGtD,eAAO,MAAM,+BAA+B,YAAY,CAAA;AAExD,eAAO,MAAM,yBAAyB,QAC4B,CAAA;AAElE,eAAO,MAAM,yBAAyB,QAGrC,CAAA;AACD,eAAO,MAAM,oBAAoB,2BAA2B,CAAA;AAG5D,eAAO,MAAM,0BAA0B,iCAAiC,CAAA;AAGxE,eAAO,MAAM,gBAAgB,sBAAsB,CAAA;AACnD,eAAO,MAAM,cAAc,oBAAoB,CAAA;AAC/C,eAAO,MAAM,gBAAgB,sBAAsB,CAAA;AACnD,eAAO,MAAM,iBAAiB,uBAAuB,CAAA;AACrD,eAAO,MAAM,WAAW,0BAA0B,CAAA;AAClD,eAAO,MAAM,0BAA0B,iCAAiC,CAAA;AAExE,eAAO,MAAM,mCAAmC,0EACyB,CAAA;AAEzE,eAAO,MAAM,0CAA0C,iEACS,CAAA;AAGhE,eAAO,MAAM,4BAA4B,oDACU,CAAA;AAGnD,eAAO,MAAM,0BAA0B,eAAe,CAAA;AAEtD,eAAO,MAAM,yBAAyB,oBAAoB,CAAA;AAC1D,eAAO,MAAM,sBAAsB,kBAAkB,CAAA;AAErD,eAAO,MAAM,6BAA6B,qBAAqB,CAAA;AAC/D,eAAO,MAAM,oBAAoB,gBAAgB,CAAA;AACjD,eAAO,MAAM,uBAAuB,6BAA6B,CAAA;AACjE,eAAO,MAAM,mBAAmB,+BAA+B,CAAA;AAC/D,eAAO,MAAM,uBAAuB,mCAAmC,CAAA;AACvE,eAAO,MAAM,kBAAkB,QAAkI,CAAA;AAEjK,eAAO,MAAM,mBAAmB,kCAAkC,CAAA;AAElE,eAAO,MAAM,qBAAqB,kCAAkC,CAAA;
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/shared/constants.ts"],"names":[],"mappings":"AAOA,OAAO,EAAC,oBAAoB,EAAE,4BAA4B,EAAC,MAAM,SAAS,CAAA;AAe1E,eAAO,MAAM,wBAAwB,QAAsC,CAAA;AAC3E,eAAO,MAAM,mCAAmC,QAG/C,CAAA;AACD,eAAO,MAAM,mBAAmB,QACsB,CAAA;AAGtD,eAAO,MAAM,+BAA+B,YAAY,CAAA;AAExD,eAAO,MAAM,yBAAyB,QAC4B,CAAA;AAElE,eAAO,MAAM,yBAAyB,QAGrC,CAAA;AACD,eAAO,MAAM,oBAAoB,2BAA2B,CAAA;AAG5D,eAAO,MAAM,0BAA0B,iCAAiC,CAAA;AAGxE,eAAO,MAAM,gBAAgB,sBAAsB,CAAA;AACnD,eAAO,MAAM,cAAc,oBAAoB,CAAA;AAC/C,eAAO,MAAM,gBAAgB,sBAAsB,CAAA;AACnD,eAAO,MAAM,iBAAiB,uBAAuB,CAAA;AACrD,eAAO,MAAM,WAAW,0BAA0B,CAAA;AAClD,eAAO,MAAM,0BAA0B,iCAAiC,CAAA;AAExE,eAAO,MAAM,mCAAmC,0EACyB,CAAA;AAEzE,eAAO,MAAM,0CAA0C,iEACS,CAAA;AAGhE,eAAO,MAAM,4BAA4B,oDACU,CAAA;AAGnD,eAAO,MAAM,0BAA0B,eAAe,CAAA;AAEtD,eAAO,MAAM,yBAAyB,oBAAoB,CAAA;AAC1D,eAAO,MAAM,sBAAsB,kBAAkB,CAAA;AAErD,eAAO,MAAM,6BAA6B,qBAAqB,CAAA;AAC/D,eAAO,MAAM,oBAAoB,gBAAgB,CAAA;AACjD,eAAO,MAAM,uBAAuB,6BAA6B,CAAA;AACjE,eAAO,MAAM,mBAAmB,+BAA+B,CAAA;AAC/D,eAAO,MAAM,uBAAuB,mCAAmC,CAAA;AACvE,eAAO,MAAM,kBAAkB,QAAkI,CAAA;AAEjK,eAAO,MAAM,mBAAmB,kCAAkC,CAAA;AAElE,eAAO,MAAM,qBAAqB,kCAAkC,CAAA;AACpE,eAAO,MAAM,oBAAoB,iCAAiC,CAAA;AAElE;;;;;;GAMG;AACH,eAAO,MAAM,qBAAqB,QAAS,MAAM,QAAQ,MAAM,KAAG,MAOjE,CAAA;AAED;;;;;;;;;GASG;AACH,eAAO,MAAM,iBAAiB,WAAY,oBAAoB,WAQ7D,CAAA;AAED;;;;;;;;;GASG;AACH,eAAO,MAAM,oBAAoB,WAAY,oBAAoB,WAQhE,CAAA;AAED;;;;;;;;;;GAUG;AACH,eAAO,MAAM,qBAAqB,WAAY,oBAAoB,WAiBjE,CAAA;AAED;;;;;;;;;GASG;AACH,eAAO,MAAM,YAAY,WAAY,4BAA4B,WAGhE,CAAA;AAED;;;;;;;;;;GAUG;AACH,eAAO,MAAM,aAAa,WAAY,oBAAoB,WAgBzD,CAAA;AAED;;;;;;;;;GASG;AACH,eAAO,MAAM,aAAa,WAAY,4BAA4B,WAGjE,CAAA;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,mBAAmB,WAAY,oBAAoB,WAM/D,CAAA;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,qBAAqB,WAAY,oBAAoB,WAMjE,CAAA"}
|
package/lib/shared/constants.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
// Copyright (c) 2020,2021,2022,2023, StepZen, Inc.
|
|
3
3
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
-
exports.getDBIntrospectionUrl = exports.getIntrospectionUrl = exports.getZenServUrl = exports.getZenCtl2Url = exports.getZenCtlUrl = exports.getZenServUrlTemplate = exports.getZenCtlUrlTemplate = exports.getDeploymentType = exports.appendPathnameIfEmpty = exports.DETECT_NAME_CONFLICTS = exports.STEPZEN_DISCORD_URL = exports.STEPZEN_AUTODB_DSN = exports.STEPZEN_AUTODB_PASSWORD = exports.STEPZEN_AUTODB_USER = exports.STEPZEN_AUTODB_DATABASE = exports.STEPZEN_AUTODB_IMAGE = exports.STEPZEN_AUTODB_CONTAINER_NAME = exports.STEPZEN_CONTAINER_NAME = exports.STEPZEN_CONTAINER_NETWORK = exports.DEFAULT_STEPZEN_DOCKER_TAG = exports.DEFAULT_STEPZEN_DOCKER_IMAGE = exports.DEFAULT_STEPZEN_DBINTROSPECTION_SERVER_URL = exports.DEFAULT_STEPZEN_JSON2SDL_SERVER_URL = exports.ZENCTL2_PUBLIC_ACCOUNT_URL = exports.ZENCTL2_URL = exports.ADMIN_ACCOUNT_URL = exports.ADMIN_UPLOAD_URL = exports.ADMIN_LIST_URL = exports.ADMIN_DEPLOY_URL = exports.DEFAULT_STEPZEN_SERVER_URL = exports.STEPZEN_HISTORY_FILE = exports.STEPZEN_HISTORY_DIRECTORY = exports.STEPZEN_LOCAL_CONFIG_FILE = exports.DEFAULT_STEPZEN_DEPLOYMENT_TYPE = exports.STEPZEN_CONFIG_FILE = exports.STEPZEN_LAST_UPDATE_CHECK_TIMESTAMP = exports.STEPZEN_CONFIG_DIRECTORY = void 0;
|
|
4
|
+
exports.getDBIntrospectionUrl = exports.getIntrospectionUrl = exports.getZenServUrl = exports.getZenCtl2Url = exports.getZenCtlUrl = exports.getZenServUrlTemplate = exports.getZenCtlUrlTemplate = exports.getDeploymentType = exports.appendPathnameIfEmpty = exports.ENABLE_PRESTO_IMPORT = exports.DETECT_NAME_CONFLICTS = exports.STEPZEN_DISCORD_URL = exports.STEPZEN_AUTODB_DSN = exports.STEPZEN_AUTODB_PASSWORD = exports.STEPZEN_AUTODB_USER = exports.STEPZEN_AUTODB_DATABASE = exports.STEPZEN_AUTODB_IMAGE = exports.STEPZEN_AUTODB_CONTAINER_NAME = exports.STEPZEN_CONTAINER_NAME = exports.STEPZEN_CONTAINER_NETWORK = exports.DEFAULT_STEPZEN_DOCKER_TAG = exports.DEFAULT_STEPZEN_DOCKER_IMAGE = exports.DEFAULT_STEPZEN_DBINTROSPECTION_SERVER_URL = exports.DEFAULT_STEPZEN_JSON2SDL_SERVER_URL = exports.ZENCTL2_PUBLIC_ACCOUNT_URL = exports.ZENCTL2_URL = exports.ADMIN_ACCOUNT_URL = exports.ADMIN_UPLOAD_URL = exports.ADMIN_LIST_URL = exports.ADMIN_DEPLOY_URL = exports.DEFAULT_STEPZEN_SERVER_URL = exports.STEPZEN_HISTORY_FILE = exports.STEPZEN_HISTORY_DIRECTORY = exports.STEPZEN_LOCAL_CONFIG_FILE = exports.DEFAULT_STEPZEN_DEPLOYMENT_TYPE = exports.STEPZEN_CONFIG_FILE = exports.STEPZEN_LAST_UPDATE_CHECK_TIMESTAMP = exports.STEPZEN_CONFIG_DIRECTORY = void 0;
|
|
5
5
|
// This file contains constants and all magic strings
|
|
6
6
|
const dotenv = require("dotenv");
|
|
7
7
|
const debug = require("debug");
|
|
@@ -46,6 +46,7 @@ exports.STEPZEN_AUTODB_PASSWORD = 'stepzen-auto-metadata-password';
|
|
|
46
46
|
exports.STEPZEN_AUTODB_DSN = `postgres://${exports.STEPZEN_AUTODB_USER}:${exports.STEPZEN_AUTODB_PASSWORD}@${exports.STEPZEN_AUTODB_CONTAINER_NAME}:5432/${exports.STEPZEN_AUTODB_DATABASE}`;
|
|
47
47
|
exports.STEPZEN_DISCORD_URL = 'https://discord.gg/9k2VdPn2FR';
|
|
48
48
|
exports.DETECT_NAME_CONFLICTS = 'STEPZEN_DETECT_NAME_CONFLICTS';
|
|
49
|
+
exports.ENABLE_PRESTO_IMPORT = 'STEPZEN_ENABLE_PRESTO_IMPORT';
|
|
49
50
|
/**
|
|
50
51
|
* Adds the path component to the URL if the URL is missing one.
|
|
51
52
|
*
|