stepzen 0.44.0 → 0.45.0-beta.1
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} +8 -21
- 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,21 +1,40 @@
|
|
|
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 { Flags, ux } from '@oclif/core';
|
|
3
|
+
import { CLIError } from '@oclif/core/errors';
|
|
4
|
+
import chalk from 'chalk';
|
|
5
|
+
import fsx from 'fs-extra';
|
|
6
|
+
import path from 'node:path';
|
|
7
|
+
import { DETECT_NAME_CONFLICTS } from '../shared/constants.js';
|
|
8
|
+
import * as inquirer from '../shared/inquirer.js';
|
|
9
|
+
import { rmtemp } from '../shared/rmtemp.js';
|
|
10
|
+
import { trackImportCommand } from '../shared/segment.js';
|
|
11
|
+
import { getFeatureFlag, getTimeout } from '../shared/utils.js';
|
|
12
|
+
import ZenCommand from '../shared/zen-command.js';
|
|
13
|
+
import { writeSdlAndConfig } from './helpers.js';
|
|
14
|
+
export class ImportCommandBase extends ZenCommand {
|
|
15
|
+
static flags = {
|
|
16
|
+
...ZenCommand.flags,
|
|
17
|
+
dir: Flags.string({ description: 'Working directory' }),
|
|
18
|
+
silent: Flags.boolean({
|
|
19
|
+
description: 'This is an internal flag passed by the (no-arg) Import command when' +
|
|
20
|
+
' it launches a data-source specific import command. The intent is' +
|
|
21
|
+
' to avoid showing a welcome message twice (if its already been shown' +
|
|
22
|
+
' by the (no-arg) Import command).',
|
|
23
|
+
hidden: true,
|
|
24
|
+
}),
|
|
25
|
+
name: Flags.string({
|
|
26
|
+
description: 'Subfolder inside the workspace folder to save the imported' +
|
|
27
|
+
' schema files to. Defaults to the name of the imported schema.',
|
|
28
|
+
}),
|
|
29
|
+
overwrite: Flags.boolean({
|
|
30
|
+
description: 'Overwrite any existing schema with the same name. Cannot be used' +
|
|
31
|
+
' without also providing a --name flag.',
|
|
32
|
+
dependsOn: ['name'],
|
|
33
|
+
hidden: true,
|
|
34
|
+
}),
|
|
35
|
+
};
|
|
17
36
|
async run() {
|
|
18
|
-
const { flags } = await this.parse();
|
|
37
|
+
const { flags } = await this.parse(this.ctor);
|
|
19
38
|
// If using a local StepZen service instance, make sure it's running
|
|
20
39
|
await this.awaitIntrospectionServiceUpIfLocal();
|
|
21
40
|
// Get or create a StepZen workspace (possibly interactive)
|
|
@@ -44,7 +63,7 @@ class ImportCommandBase extends zen_command_1.default {
|
|
|
44
63
|
// the new schema returned by the introspection service and the existing
|
|
45
64
|
// workspace schema. The merged schema is written to a temp folder
|
|
46
65
|
// (outPath).
|
|
47
|
-
const { outPath } = await
|
|
66
|
+
const { outPath } = await writeSdlAndConfig({
|
|
48
67
|
name: flags.name || this.source,
|
|
49
68
|
source: workspace.schema,
|
|
50
69
|
// Merging types in the way it's done in @stepzen/transpiler leads to
|
|
@@ -61,13 +80,15 @@ class ImportCommandBase extends zen_command_1.default {
|
|
|
61
80
|
// workspace folder making the result visible to the user.
|
|
62
81
|
fsx.copySync(outPath, workspace.schema);
|
|
63
82
|
this.log(chalk `{green Successfully imported {bold ${this.source}} data source into your GraphQL schema}`);
|
|
83
|
+
// track stepzen import command
|
|
84
|
+
trackImportCommand(this.source);
|
|
64
85
|
}
|
|
65
86
|
finally {
|
|
66
|
-
|
|
87
|
+
rmtemp(outPath);
|
|
67
88
|
}
|
|
68
89
|
}
|
|
69
90
|
async ensureOnConflictBehavior(workspace, flags) {
|
|
70
|
-
const detectNameConflicts =
|
|
91
|
+
const detectNameConflicts = getFeatureFlag(DETECT_NAME_CONFLICTS);
|
|
71
92
|
if (!detectNameConflicts) {
|
|
72
93
|
return 'append';
|
|
73
94
|
}
|
|
@@ -95,7 +116,7 @@ class ImportCommandBase extends zen_command_1.default {
|
|
|
95
116
|
// In an interactive mode the CLI asks them for a confirmation.
|
|
96
117
|
// In a non-interactive mode the CLI throws an error.
|
|
97
118
|
if (flags['non-interactive']) {
|
|
98
|
-
throw new
|
|
119
|
+
throw new CLIError(`A schema named ${chalk.bold(flags.name)} already exists in this workspace. Add an ${chalk.bold('--overwrite')} flag to overwrite it.`);
|
|
99
120
|
}
|
|
100
121
|
this.log(`A schema named ${chalk.bold(flags.name)} already exists in this workspace. Would you like to overwrite it?`);
|
|
101
122
|
const answers = await inquirer.prompt('import', [
|
|
@@ -112,26 +133,26 @@ class ImportCommandBase extends zen_command_1.default {
|
|
|
112
133
|
return this.exit();
|
|
113
134
|
}
|
|
114
135
|
async wrapInProgressAndTimeout(importPromise) {
|
|
115
|
-
|
|
136
|
+
ux.action.start('Starting');
|
|
116
137
|
try {
|
|
117
|
-
let timeoutPromise =
|
|
138
|
+
let timeoutPromise = getTimeout(5 * 1000);
|
|
118
139
|
let resultOrError = await Promise.race([importPromise, timeoutPromise]);
|
|
119
140
|
if (!resultOrError) {
|
|
120
141
|
// 5 sec passed, but no result yet
|
|
121
|
-
|
|
122
|
-
timeoutPromise =
|
|
142
|
+
ux.action.start('Creating a GraphQL schema');
|
|
143
|
+
timeoutPromise = getTimeout(5 * 1000);
|
|
123
144
|
resultOrError = await Promise.race([importPromise, timeoutPromise]);
|
|
124
145
|
}
|
|
125
146
|
if (!resultOrError) {
|
|
126
147
|
// another 5 sec passed (10 sec total)
|
|
127
|
-
|
|
128
|
-
timeoutPromise =
|
|
148
|
+
ux.action.start('Creating a GraphQL schema (this is taking longer than usual)');
|
|
149
|
+
timeoutPromise = getTimeout(30 * 1000);
|
|
129
150
|
resultOrError = await Promise.race([importPromise, timeoutPromise]);
|
|
130
151
|
}
|
|
131
152
|
if (!resultOrError) {
|
|
132
153
|
// another 30 sec passed (40 sec total)
|
|
133
|
-
|
|
134
|
-
timeoutPromise =
|
|
154
|
+
ux.action.start('Creating a GraphQL schema (it may take up to 10 minutes)');
|
|
155
|
+
timeoutPromise = getTimeout((8 * 60 + 20) * 1000);
|
|
135
156
|
resultOrError = await Promise.race([importPromise, timeoutPromise]);
|
|
136
157
|
}
|
|
137
158
|
if (resultOrError) {
|
|
@@ -145,35 +166,13 @@ class ImportCommandBase extends zen_command_1.default {
|
|
|
145
166
|
error: { message: 'The StepZen introspection service has timed out.' },
|
|
146
167
|
};
|
|
147
168
|
}
|
|
148
|
-
|
|
169
|
+
ux.action.stop(resultOrError.error ? chalk.red('fail') : 'done');
|
|
149
170
|
return resultOrError;
|
|
150
171
|
}
|
|
151
172
|
catch (error) {
|
|
152
|
-
|
|
173
|
+
ux.action.stop(chalk.red('fail'));
|
|
153
174
|
throw error;
|
|
154
175
|
}
|
|
155
176
|
}
|
|
156
177
|
}
|
|
157
|
-
exports.ImportCommandBase = ImportCommandBase;
|
|
158
|
-
ImportCommandBase.flags = {
|
|
159
|
-
...zen_command_1.default.flags,
|
|
160
|
-
dir: core_1.Flags.string({ description: 'Working directory' }),
|
|
161
|
-
silent: core_1.Flags.boolean({
|
|
162
|
-
description: 'This is an internal flag passed by the (no-arg) Import command when' +
|
|
163
|
-
' it launches a data-source specific import command. The intent is' +
|
|
164
|
-
' to avoid showing a welcome message twice (if its already been shown' +
|
|
165
|
-
' by the (no-arg) Import command).',
|
|
166
|
-
hidden: true,
|
|
167
|
-
}),
|
|
168
|
-
name: core_1.Flags.string({
|
|
169
|
-
description: 'Subfolder inside the workspace folder to save the imported' +
|
|
170
|
-
' schema files to. Defaults to the name of the imported schema.',
|
|
171
|
-
}),
|
|
172
|
-
overwrite: core_1.Flags.boolean({
|
|
173
|
-
description: 'Overwrite any existing schema with the same name. Cannot be used' +
|
|
174
|
-
' without also providing a --name flag.',
|
|
175
|
-
dependsOn: ['name'],
|
|
176
|
-
hidden: true,
|
|
177
|
-
}),
|
|
178
|
-
};
|
|
179
178
|
//# sourceMappingURL=import-command.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"import-command.js","sourceRoot":"","sources":["../../src/generate/import-command.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"import-command.js","sourceRoot":"","sources":["../../src/generate/import-command.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import type { ErrorOr, MachineConfiguration } from '../shared/types';
|
|
2
|
-
import type { IntrospectionServiceResponse } from './helpers';
|
|
3
|
-
import { CommonImportOptions } from './import-command';
|
|
4
|
-
export
|
|
1
|
+
import type { ErrorOr, MachineConfiguration } from '../shared/types.js';
|
|
2
|
+
import type { IntrospectionServiceResponse } from './helpers.js';
|
|
3
|
+
import type { CommonImportOptions } from './import-command.js';
|
|
4
|
+
export type OpenApi2SdlOptions = CommonImportOptions & {
|
|
5
5
|
openapi: string;
|
|
6
6
|
};
|
|
7
7
|
export declare const openapi2sdl: ({ openapi }: OpenApi2SdlOptions, configuration: MachineConfiguration) => Promise<ErrorOr<IntrospectionServiceResponse>>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"openapi2sdl.d.ts","sourceRoot":"","sources":["../../src/generate/openapi2sdl.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"openapi2sdl.d.ts","sourceRoot":"","sources":["../../src/generate/openapi2sdl.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAC,OAAO,EAAE,oBAAoB,EAAC,MAAM,oBAAoB,CAAA;AACrE,OAAO,KAAK,EAAC,4BAA4B,EAAC,MAAM,cAAc,CAAA;AAC9D,OAAO,KAAK,EAAC,mBAAmB,EAAC,MAAM,qBAAqB,CAAA;AAK5D,MAAM,MAAM,kBAAkB,GAAG,mBAAmB,GAAG;IACrD,OAAO,EAAE,MAAM,CAAA;CAChB,CAAA;AAED,eAAO,MAAM,WAAW,gBACX,kBAAkB,iBACd,oBAAoB,KAClC,QAAQ,QAAQ,4BAA4B,CAAC,CAS5C,CAAA"}
|
|
@@ -1,19 +1,13 @@
|
|
|
1
|
-
"use strict";
|
|
2
1
|
// Copyright IBM Corp. 2020, 2024
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
const
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
schema: {
|
|
12
|
-
type: 'String!',
|
|
13
|
-
value: openapi,
|
|
14
|
-
},
|
|
2
|
+
import { getIntrospectionUrl } from '../shared/constants.js';
|
|
3
|
+
import { queryIntrospectionService } from './helpers.js';
|
|
4
|
+
export const openapi2sdl = async ({ openapi }, configuration) => queryIntrospectionService(getIntrospectionUrl(configuration), {
|
|
5
|
+
operation: 'getSDLFromOpenAPISchema',
|
|
6
|
+
variables: {
|
|
7
|
+
schema: {
|
|
8
|
+
type: 'String!',
|
|
9
|
+
value: openapi,
|
|
15
10
|
},
|
|
16
|
-
}
|
|
17
|
-
};
|
|
18
|
-
exports.openapi2sdl = openapi2sdl;
|
|
11
|
+
},
|
|
12
|
+
});
|
|
19
13
|
//# sourceMappingURL=openapi2sdl.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"openapi2sdl.js","sourceRoot":"","sources":["../../src/generate/openapi2sdl.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"openapi2sdl.js","sourceRoot":"","sources":["../../src/generate/openapi2sdl.ts"],"names":[],"mappings":"AAAA,iCAAiC;AAMjC,OAAO,EAAC,mBAAmB,EAAC,MAAM,wBAAwB,CAAA;AAC1D,OAAO,EAAC,yBAAyB,EAAC,MAAM,cAAc,CAAA;AAMtD,MAAM,CAAC,MAAM,WAAW,GAAG,KAAK,EAC9B,EAAC,OAAO,EAAqB,EAC7B,aAAmC,EACa,EAAE,CAClD,yBAAyB,CAAC,mBAAmB,CAAC,aAAa,CAAC,EAAE;IAC5D,SAAS,EAAE,yBAAyB;IACpC,SAAS,EAAE;QACT,MAAM,EAAE;YACN,IAAI,EAAE,SAAS;YACf,KAAK,EAAE,OAAO;SACf;KACF;CACF,CAAC,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"questions.d.ts","sourceRoot":"","sources":["../../src/generate/questions.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"questions.d.ts","sourceRoot":"","sources":["../../src/generate/questions.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAC,gBAAgB,EAAC,MAAM,UAAU,CAAA;AAM9C;;GAEG;AACH,eAAO,MAAM,eAAe;;;;;cAaK,MAAM;;;cAMN,MAAM;;;kBAMF,MAAM;;;kBAON,MAAM;;sBACxB;QAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;KAAC;;;;mBAkBD,OAAO;;;uBAOH,OAAO;;CAChD,CAAA"}
|
|
@@ -1,13 +1,10 @@
|
|
|
1
|
-
"use strict";
|
|
2
1
|
// Copyright IBM Corp. 2020, 2024
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
const chalk = require("chalk");
|
|
6
|
-
const url_helpers_1 = require("../shared/url-helpers");
|
|
2
|
+
import chalk from 'chalk';
|
|
3
|
+
import { parseHost } from '../shared/url-helpers.js';
|
|
7
4
|
/**
|
|
8
5
|
* A helper to share interactive questions between several import commands.
|
|
9
6
|
*/
|
|
10
|
-
|
|
7
|
+
export const ImportQuestions = {
|
|
11
8
|
prefix: () => ({
|
|
12
9
|
name: 'typePrefix',
|
|
13
10
|
message: 'Prefix to add to all generated type names (leave blank for none)',
|
|
@@ -15,7 +12,7 @@ exports.ImportQuestions = {
|
|
|
15
12
|
dbHost: () => ({
|
|
16
13
|
name: 'host',
|
|
17
14
|
message: 'What is your host? (and optional port as host:port)',
|
|
18
|
-
validate: input =>
|
|
15
|
+
validate: input => parseHost(input).isValid || `Could not parse "${input}" as a hostname.`,
|
|
19
16
|
}),
|
|
20
17
|
dbUser: () => ({
|
|
21
18
|
name: 'user',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"questions.js","sourceRoot":"","sources":["../../src/generate/questions.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"questions.js","sourceRoot":"","sources":["../../src/generate/questions.ts"],"names":[],"mappings":"AAAA,iCAAiC;AAIjC,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,EAAC,SAAS,EAAC,MAAM,0BAA0B,CAAA;AAElD;;GAEG;AACH,MAAM,CAAC,MAAM,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,qDAAqD;QAC9D,QAAQ,EAAE,KAAK,CAAC,EAAE,CAChB,SAAS,CAAC,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;IAC9C,aAAa,EAAE,GAAG,EAAE,CAClB,CAAC;QACC,IAAI,EAAE,eAAe;QACrB,OAAO,EAAE,iBAAiB;QAC1B,IAAI,EAAE,SAAS;QACf,OAAO,EAAE,KAAK;KACgC,CAAA;CACnD,CAAA"}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import type { ErrorOr, MachineConfiguration } from '../shared/types';
|
|
2
|
-
import type { IntrospectionServiceResponse } from './helpers';
|
|
3
|
-
import type { CommonImportOptions } from './import-command';
|
|
4
|
-
export
|
|
5
|
-
export
|
|
1
|
+
import type { ErrorOr, MachineConfiguration } from '../shared/types.js';
|
|
2
|
+
import type { IntrospectionServiceResponse } from './helpers.js';
|
|
3
|
+
import type { CommonImportOptions } from './import-command.js';
|
|
4
|
+
export type DBType = 'mysql' | 'postgresql' | 'snowflake' | 'presto' | 'db2' | 'oracle';
|
|
5
|
+
export type DBIntrospectionOptions = {
|
|
6
6
|
naming?: '2022' | '2023';
|
|
7
7
|
};
|
|
8
|
-
export
|
|
8
|
+
export type CommonSqlImportOptions = CommonImportOptions & {
|
|
9
9
|
dbType: DBType;
|
|
10
10
|
host: string;
|
|
11
11
|
database: string;
|
|
@@ -15,33 +15,33 @@ export declare type CommonSqlImportOptions = CommonImportOptions & {
|
|
|
15
15
|
include?: 'tables-only' | 'views-only' | 'tables-and-views';
|
|
16
16
|
introspectionOptions?: DBIntrospectionOptions;
|
|
17
17
|
};
|
|
18
|
-
export
|
|
18
|
+
export type MysqlImportOptions = CommonSqlImportOptions & {
|
|
19
19
|
dbType: 'mysql';
|
|
20
20
|
};
|
|
21
|
-
export
|
|
21
|
+
export type PostgresqlImportOptions = CommonSqlImportOptions & {
|
|
22
22
|
dbType: 'postgresql';
|
|
23
23
|
schema?: string;
|
|
24
24
|
};
|
|
25
|
-
export
|
|
25
|
+
export type Db2sqlImportOptions = CommonSqlImportOptions & {
|
|
26
26
|
dbType: 'db2';
|
|
27
27
|
schema?: string;
|
|
28
28
|
sslConnection: boolean;
|
|
29
29
|
};
|
|
30
|
-
export
|
|
30
|
+
export type SnowflakeImportOptions = Omit<CommonSqlImportOptions, 'host'> & {
|
|
31
31
|
dbType: 'snowflake';
|
|
32
32
|
accountId: string;
|
|
33
33
|
warehouse: string;
|
|
34
34
|
schema?: string;
|
|
35
35
|
};
|
|
36
|
-
export
|
|
36
|
+
export type PrestoImportOptions = Omit<CommonSqlImportOptions, 'database'> & {
|
|
37
37
|
dbType: 'presto';
|
|
38
38
|
catalog: string;
|
|
39
39
|
schema: string;
|
|
40
40
|
};
|
|
41
|
-
export
|
|
41
|
+
export type OraclesqlImportOptions = CommonSqlImportOptions & {
|
|
42
42
|
dbType: 'oracle';
|
|
43
43
|
schema?: string;
|
|
44
44
|
};
|
|
45
|
-
export
|
|
45
|
+
export type SqlImportOptions = MysqlImportOptions | PostgresqlImportOptions | SnowflakeImportOptions | PrestoImportOptions | Db2sqlImportOptions | OraclesqlImportOptions;
|
|
46
46
|
export declare const sql2sdl: (options: SqlImportOptions, configuration: MachineConfiguration) => Promise<ErrorOr<IntrospectionServiceResponse>>;
|
|
47
47
|
//# sourceMappingURL=sql2sdl.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sql2sdl.d.ts","sourceRoot":"","sources":["../../src/generate/sql2sdl.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"sql2sdl.d.ts","sourceRoot":"","sources":["../../src/generate/sql2sdl.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAC,OAAO,EAAE,oBAAoB,EAAC,MAAM,oBAAoB,CAAA;AACrE,OAAO,KAAK,EAAC,4BAA4B,EAAC,MAAM,cAAc,CAAA;AAC9D,OAAO,KAAK,EAAC,mBAAmB,EAAC,MAAM,qBAAqB,CAAA;AAc5D,MAAM,MAAM,MAAM,GACd,OAAO,GACP,YAAY,GACZ,WAAW,GACX,QAAQ,GACR,KAAK,GACL,QAAQ,CAAA;AACZ,MAAM,MAAM,sBAAsB,GAAG;IACnC,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;CACzB,CAAA;AAED,MAAM,MAAM,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,MAAM,MAAM,kBAAkB,GAAG,sBAAsB,GAAG;IACxD,MAAM,EAAE,OAAO,CAAA;CAChB,CAAA;AAED,MAAM,MAAM,uBAAuB,GAAG,sBAAsB,GAAG;IAC7D,MAAM,EAAE,YAAY,CAAA;IACpB,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB,CAAA;AAED,MAAM,MAAM,mBAAmB,GAAG,sBAAsB,GAAG;IACzD,MAAM,EAAE,KAAK,CAAA;IACb,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,aAAa,EAAE,OAAO,CAAA;CACvB,CAAA;AAED,MAAM,MAAM,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,MAAM,MAAM,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,MAAM,MAAM,sBAAsB,GAAG,sBAAsB,GAAG;IAC5D,MAAM,EAAE,QAAQ,CAAA;IAChB,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB,CAAA;AAED,MAAM,MAAM,gBAAgB,GACxB,kBAAkB,GAClB,uBAAuB,GACvB,sBAAsB,GACtB,mBAAmB,GACnB,mBAAmB,GACnB,sBAAsB,CAAA;AAE1B,eAAO,MAAM,OAAO,YACT,gBAAgB,iBACV,oBAAoB,KAClC,QAAQ,QAAQ,4BAA4B,CAAC,CAqK/C,CAAA"}
|
package/lib/generate/sql2sdl.js
CHANGED
|
@@ -1,12 +1,9 @@
|
|
|
1
|
-
"use strict";
|
|
2
1
|
// Copyright IBM Corp. 2020, 2024
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
const
|
|
8
|
-
const helpers_1 = require("./helpers");
|
|
9
|
-
const sql2sdl = async (options, configuration) => {
|
|
2
|
+
import { ENABLE_PRESTO_IMPORT, getDBIntrospectionUrl, } from '../shared/constants.js';
|
|
3
|
+
import { parseHost } from '../shared/url-helpers.js';
|
|
4
|
+
import { findNextAvailableSubfolder, getFeatureFlag, parseSnowflakeAccountId, } from '../shared/utils.js';
|
|
5
|
+
import { queryIntrospectionService } from './helpers.js';
|
|
6
|
+
export const sql2sdl = async (options, configuration) => {
|
|
10
7
|
let driver;
|
|
11
8
|
switch (options.dbType) {
|
|
12
9
|
case 'mysql':
|
|
@@ -48,7 +45,7 @@ const sql2sdl = async (options, configuration) => {
|
|
|
48
45
|
const naming = options.introspectionOptions?.naming === '2022' ? 'USE_2022' : 'USE_2023';
|
|
49
46
|
let driverProperties;
|
|
50
47
|
if (options.dbType === 'snowflake') {
|
|
51
|
-
const { result, error } =
|
|
48
|
+
const { result, error } = parseSnowflakeAccountId(options.accountId);
|
|
52
49
|
if (error) {
|
|
53
50
|
return { error };
|
|
54
51
|
}
|
|
@@ -65,11 +62,11 @@ const sql2sdl = async (options, configuration) => {
|
|
|
65
62
|
// consider the following: if you import two PostgreSQL databases under a single StepZen API,
|
|
66
63
|
// each database will require a different configuration name in the config.yaml file.
|
|
67
64
|
// This configuration name will be used in index.graphql, based on the folder name.
|
|
68
|
-
const effectiveName =
|
|
65
|
+
const effectiveName = findNextAvailableSubfolder(options.source, options.name || options.dbType);
|
|
69
66
|
const hostDetails = options.dbType === 'snowflake'
|
|
70
67
|
? { host: '', port: undefined }
|
|
71
|
-
:
|
|
72
|
-
return
|
|
68
|
+
: parseHost(options.host);
|
|
69
|
+
return queryIntrospectionService(getDBIntrospectionUrl(configuration), {
|
|
73
70
|
operation: 'generateSDL',
|
|
74
71
|
variables: {
|
|
75
72
|
driver: {
|
|
@@ -84,9 +81,9 @@ const sql2sdl = async (options, configuration) => {
|
|
|
84
81
|
type: 'Int',
|
|
85
82
|
value: hostDetails.port === undefined
|
|
86
83
|
? null
|
|
87
|
-
: parseInt(hostDetails.port, 10),
|
|
84
|
+
: Number.parseInt(hostDetails.port, 10),
|
|
88
85
|
},
|
|
89
|
-
...(
|
|
86
|
+
...(getFeatureFlag(ENABLE_PRESTO_IMPORT)
|
|
90
87
|
? {
|
|
91
88
|
database: {
|
|
92
89
|
type: 'String',
|
|
@@ -100,7 +97,8 @@ const sql2sdl = async (options, configuration) => {
|
|
|
100
97
|
: {
|
|
101
98
|
database: {
|
|
102
99
|
type: 'String!',
|
|
103
|
-
value: options
|
|
100
|
+
value: options
|
|
101
|
+
.database,
|
|
104
102
|
},
|
|
105
103
|
}),
|
|
106
104
|
user: {
|
|
@@ -147,5 +145,4 @@ const sql2sdl = async (options, configuration) => {
|
|
|
147
145
|
},
|
|
148
146
|
});
|
|
149
147
|
};
|
|
150
|
-
exports.sql2sdl = sql2sdl;
|
|
151
148
|
//# sourceMappingURL=sql2sdl.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sql2sdl.js","sourceRoot":"","sources":["../../src/generate/sql2sdl.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"sql2sdl.js","sourceRoot":"","sources":["../../src/generate/sql2sdl.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../../../src/hooks/init/version.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,IAAI,
|
|
1
|
+
{"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../../../src/hooks/init/version.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAC,IAAI,EAAC,MAAM,aAAa,CAAA;AASrC,QAAA,MAAM,IAAI,EAAE,IAAI,CAAC,MAAM,CAsCtB,CAAA;AAED,eAAe,IAAI,CAAA"}
|
|
@@ -1,9 +1,7 @@
|
|
|
1
|
-
"use strict";
|
|
2
1
|
// Copyright IBM Corp. 2020, 2024
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
const check_upgrade_1 = require("../prerun/check-upgrade");
|
|
2
|
+
import { Parser } from '@oclif/core';
|
|
3
|
+
import ZenCommand from '../../shared/zen-command.js';
|
|
4
|
+
import { checkForNpmUpdate } from '../prerun/check-upgrade.js';
|
|
7
5
|
// Override the oclif's `version` command
|
|
8
6
|
// https://github.com/oclif/oclif/issues/254#issuecomment-591433963
|
|
9
7
|
const hook = async function (options) {
|
|
@@ -18,9 +16,9 @@ const hook = async function (options) {
|
|
|
18
16
|
// default implementation
|
|
19
17
|
this.log(this.config.userAgent);
|
|
20
18
|
// parse the command line to skip the upgrade check if running non-interactive
|
|
21
|
-
const { flags } = await
|
|
19
|
+
const { flags } = await Parser.parse(options.argv, ZenCommand);
|
|
22
20
|
if (!flags['non-interactive']) {
|
|
23
|
-
const upgradeCheck = await
|
|
21
|
+
const upgradeCheck = await checkForNpmUpdate(this.config.version);
|
|
24
22
|
if (upgradeCheck.message) {
|
|
25
23
|
this.log('');
|
|
26
24
|
this.log(upgradeCheck.message);
|
|
@@ -30,10 +28,14 @@ const hook = async function (options) {
|
|
|
30
28
|
}
|
|
31
29
|
}
|
|
32
30
|
// Exit to prevent the default impl from running
|
|
31
|
+
//
|
|
33
32
|
// Not using this.exit() because of https://github.com/oclif/oclif/issues/1083
|
|
34
|
-
//
|
|
33
|
+
// It was fixed in https://github.com/oclif/core/pull/617, but in a way that
|
|
34
|
+
// it actually works only with a non-zero exit code. Here we need to exit
|
|
35
|
+
// with 0 to make `stepzen -v` usable in a bash pipeline.
|
|
36
|
+
// eslint-disable-next-line unicorn/no-process-exit, n/no-process-exit
|
|
35
37
|
process.exit(0);
|
|
36
38
|
}
|
|
37
39
|
};
|
|
38
|
-
|
|
40
|
+
export default hook;
|
|
39
41
|
//# sourceMappingURL=version.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"version.js","sourceRoot":"","sources":["../../../src/hooks/init/version.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"version.js","sourceRoot":"","sources":["../../../src/hooks/init/version.ts"],"names":[],"mappings":"AAAA,iCAAiC;AAIjC,OAAO,EAAC,MAAM,EAAC,MAAM,aAAa,CAAA;AAElC,OAAO,UAAU,MAAM,6BAA6B,CAAA;AACpD,OAAO,EAAC,iBAAiB,EAAC,MAAM,4BAA4B,CAAA;AAE5D,yCAAyC;AACzC,mEAAmE;AACnE,MAAM,IAAI,GAAiB,KAAK,WAAiB,OAAO;IACtD,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC;QAChB,OAAM;IACR,CAAC;IAED,MAAM,OAAO,GAAG,OAAO,CAAC,EAAE,CAAC,WAAW,EAAE,CAAA;IACxC,IACE,OAAO,KAAK,IAAI;QAChB,OAAO,KAAK,WAAW;QACvB,4DAA4D;QAC5D,CAAC,OAAO,KAAK,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,CAAC,EACpD,CAAC;QACD,yBAAyB;QACzB,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAA;QAE/B,8EAA8E;QAC9E,MAAM,EAAC,KAAK,EAAC,GAAG,MAAM,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,UAAU,CAAC,CAAA;QAE5D,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,EAAE,CAAC;YAC9B,MAAM,YAAY,GAAG,MAAM,iBAAiB,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;YACjE,IAAI,YAAY,CAAC,OAAO,EAAE,CAAC;gBACzB,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;gBACZ,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,OAAO,CAAC,CAAA;YAChC,CAAC;iBAAM,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC;gBAChC,IAAI,CAAC,GAAG,CAAC,mCAAmC,CAAC,CAAA;YAC/C,CAAC;QACH,CAAC;QAED,gDAAgD;QAChD,EAAE;QACF,8EAA8E;QAC9E,4EAA4E;QAC5E,yEAAyE;QACzE,yDAAyD;QAEzD,sEAAsE;QACtE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACjB,CAAC;AACH,CAAC,CAAA;AAED,eAAe,IAAI,CAAA"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Hook } from '@oclif/core';
|
|
1
|
+
import type { Hook } from '@oclif/core';
|
|
2
2
|
export declare const compareMajorVersions: (v1: string, v2: string) => number | string;
|
|
3
3
|
export declare const shouldCheckForUpdates: (version: string) => boolean;
|
|
4
4
|
export declare const checkForNpmUpdate: (version: string) => Promise<{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"check-upgrade.d.ts","sourceRoot":"","sources":["../../../src/hooks/prerun/check-upgrade.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"check-upgrade.d.ts","sourceRoot":"","sources":["../../../src/hooks/prerun/check-upgrade.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAC,IAAI,EAAC,MAAM,aAAa,CAAA;AAmBrC,eACA,MAAM,oBAAoB,OAAQ,MAAM,MAAM,MAAM,KAAG,MAAM,GAAG,MAY/D,CAAA;AAED,eACA,MAAM,qBAAqB,YAAa,MAAM,YAS7C,CAAA;AAED,eACA,MAAM,iBAAiB,YAAmB,MAAM;;;;EA+D/C,CAAA;AAED,eACA,MAAM,oBAAoB;;;;;;EA6BzB,CAAA;AAED,eACA,MAAM,oBAAoB;aAKf,MAAM;aACN,MAAM;;;;MAEb,QAAQ;IAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,OAAO,CAAA;CAAC,CAgClD,CAAA;AAED,QAAA,MAAM,IAAI,EAAE,IAAI,CAAC,QAAQ,CA0BxB,CAAA;AAED,eAAe,IAAI,CAAA"}
|