@apimatic/cli 1.2.1 → 1.3.0-beta.2
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 +65 -1
- package/lib/actions/action-result.d.ts +1 -0
- package/lib/actions/action-result.js +3 -0
- package/lib/actions/action-result.js.map +1 -1
- package/lib/actions/plugin/generate.d.ts +12 -0
- package/lib/actions/plugin/generate.js +71 -0
- package/lib/actions/plugin/generate.js.map +1 -0
- package/lib/actions/plugin/publish.d.ts +6 -0
- package/lib/actions/plugin/publish.js +43 -0
- package/lib/actions/plugin/publish.js.map +1 -0
- package/lib/actions/plugin/record-metadata.d.ts +18 -0
- package/lib/actions/plugin/record-metadata.js +57 -0
- package/lib/actions/plugin/record-metadata.js.map +1 -0
- package/lib/actions/plugin/record-sdk.d.ts +14 -0
- package/lib/actions/plugin/record-sdk.js +60 -0
- package/lib/actions/plugin/record-sdk.js.map +1 -0
- package/lib/actions/sdk/generate.d.ts +2 -2
- package/lib/actions/sdk/generate.js +4 -4
- package/lib/actions/sdk/generate.js.map +1 -1
- package/lib/actions/sdk/publish/interactive.js +23 -4
- package/lib/actions/sdk/publish/interactive.js.map +1 -1
- package/lib/actions/sdk/publish/non-interactive.d.ts +2 -2
- package/lib/actions/sdk/publish/non-interactive.js +19 -12
- package/lib/actions/sdk/publish/non-interactive.js.map +1 -1
- package/lib/actions/sdk/publish.d.ts +2 -3
- package/lib/actions/sdk/publish.js +26 -5
- package/lib/actions/sdk/publish.js.map +1 -1
- package/lib/actions/sdk/quickstart.js +2 -2
- package/lib/actions/sdk/quickstart.js.map +1 -1
- package/lib/commands/plugin/generate.d.ts +14 -0
- package/lib/commands/plugin/generate.js +37 -0
- package/lib/commands/plugin/generate.js.map +1 -0
- package/lib/commands/plugin/publish.d.ts +11 -0
- package/lib/commands/plugin/publish.js +29 -0
- package/lib/commands/plugin/publish.js.map +1 -0
- package/lib/commands/sdk/generate.js +4 -3
- package/lib/commands/sdk/generate.js.map +1 -1
- package/lib/commands/sdk/publish.d.ts +3 -0
- package/lib/commands/sdk/publish.js +18 -5
- package/lib/commands/sdk/publish.js.map +1 -1
- package/lib/config/axios-config.d.ts +6 -0
- package/lib/config/axios-config.js +8 -2
- package/lib/config/axios-config.js.map +1 -1
- package/lib/infrastructure/generation-status-poller.d.ts +31 -0
- package/lib/infrastructure/generation-status-poller.js +56 -0
- package/lib/infrastructure/generation-status-poller.js.map +1 -0
- package/lib/infrastructure/service-error.d.ts +10 -1
- package/lib/infrastructure/service-error.js +47 -0
- package/lib/infrastructure/service-error.js.map +1 -1
- package/lib/infrastructure/services/api-service.d.ts +0 -7
- package/lib/infrastructure/services/api-service.js +0 -42
- package/lib/infrastructure/services/api-service.js.map +1 -1
- package/lib/infrastructure/services/plugin-service.d.ts +24 -0
- package/lib/infrastructure/services/plugin-service.js +141 -0
- package/lib/infrastructure/services/plugin-service.js.map +1 -0
- package/lib/infrastructure/services/portal-service.d.ts +16 -8
- package/lib/infrastructure/services/portal-service.js +147 -39
- package/lib/infrastructure/services/portal-service.js.map +1 -1
- package/lib/prompts/format.d.ts +4 -3
- package/lib/prompts/format.js +14 -13
- package/lib/prompts/format.js.map +1 -1
- package/lib/prompts/plugin/generate.d.ts +19 -0
- package/lib/prompts/plugin/generate.js +64 -0
- package/lib/prompts/plugin/generate.js.map +1 -0
- package/lib/prompts/plugin/publish.d.ts +25 -0
- package/lib/prompts/plugin/publish.js +77 -0
- package/lib/prompts/plugin/publish.js.map +1 -0
- package/lib/prompts/plugin/record-metadata.d.ts +25 -0
- package/lib/prompts/plugin/record-metadata.js +70 -0
- package/lib/prompts/plugin/record-metadata.js.map +1 -0
- package/lib/prompts/plugin/record-sdk.d.ts +9 -0
- package/lib/prompts/plugin/record-sdk.js +40 -0
- package/lib/prompts/plugin/record-sdk.js.map +1 -0
- package/lib/prompts/publishing/links.d.ts +1 -0
- package/lib/prompts/publishing/links.js +2 -0
- package/lib/prompts/publishing/links.js.map +1 -0
- package/lib/prompts/publishing/profile/list.js +5 -3
- package/lib/prompts/publishing/profile/list.js.map +1 -1
- package/lib/prompts/sdk/generate.d.ts +2 -0
- package/lib/prompts/sdk/generate.js +7 -0
- package/lib/prompts/sdk/generate.js.map +1 -1
- package/lib/prompts/sdk/publish/interactive.d.ts +7 -5
- package/lib/prompts/sdk/publish/interactive.js +29 -14
- package/lib/prompts/sdk/publish/interactive.js.map +1 -1
- package/lib/prompts/sdk/publish/non-interactive.d.ts +1 -6
- package/lib/prompts/sdk/publish/non-interactive.js +11 -52
- package/lib/prompts/sdk/publish/non-interactive.js.map +1 -1
- package/lib/prompts/sdk/publish.d.ts +15 -2
- package/lib/prompts/sdk/publish.js +71 -5
- package/lib/prompts/sdk/publish.js.map +1 -1
- package/lib/types/file/directory.d.ts +3 -0
- package/lib/types/file/directory.js +13 -0
- package/lib/types/file/directory.js.map +1 -1
- package/lib/types/plugin/generation-status.d.ts +23 -0
- package/lib/types/plugin/generation-status.js +18 -0
- package/lib/types/plugin/generation-status.js.map +1 -0
- package/lib/types/plugin/language-entry.d.ts +9 -0
- package/lib/types/plugin/language-entry.js +64 -0
- package/lib/types/plugin/language-entry.js.map +1 -0
- package/lib/types/plugin/plugin-config.d.ts +72 -0
- package/lib/types/plugin/plugin-config.js +4 -0
- package/lib/types/plugin/plugin-config.js.map +1 -0
- package/lib/types/plugin/plugin-contents.d.ts +5 -0
- package/lib/types/plugin/plugin-contents.js +2 -0
- package/lib/types/plugin/plugin-contents.js.map +1 -0
- package/lib/types/plugin-config-context.d.ts +63 -0
- package/lib/types/plugin-config-context.js +179 -0
- package/lib/types/plugin-config-context.js.map +1 -0
- package/lib/types/plugin-context.d.ts +13 -0
- package/lib/types/plugin-context.js +28 -0
- package/lib/types/plugin-context.js.map +1 -0
- package/lib/types/publish/package-settings-configuration.d.ts +11 -1
- package/lib/types/publish/package-settings-configuration.js +1 -1
- package/lib/types/publish/package-settings-configuration.js.map +1 -1
- package/lib/types/publish/publishing-profile.d.ts +3 -2
- package/lib/types/publish/publishing-profile.js +24 -18
- package/lib/types/publish/publishing-profile.js.map +1 -1
- package/lib/types/publish/publishing-profiles.d.ts +1 -1
- package/lib/types/publish/publishing-profiles.js +1 -1
- package/lib/types/publish/publishing-profiles.js.map +1 -1
- package/lib/types/publish/version.d.ts +6 -1
- package/lib/types/publish/version.js +2 -1
- package/lib/types/publish/version.js.map +1 -1
- package/lib/types/sdk/generate.d.ts +19 -0
- package/lib/types/sdk/generate.js +44 -0
- package/lib/types/sdk/generate.js.map +1 -1
- package/lib/types/utils.d.ts +1 -0
- package/oclif.manifest.json +1040 -0
- package/package.json +7 -4
- package/lib/types/api/generation-status-endpoint.d.ts +0 -8
- package/lib/types/api/generation-status-endpoint.js +0 -12
- package/lib/types/api/generation-status-endpoint.js.map +0 -1
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
import { isCancel, log, text } from '@clack/prompts';
|
|
2
|
+
import { PLUGIN_ID_PATTERN } from '../../types/plugin-config-context.js';
|
|
3
|
+
import { SemVersion } from '../../types/publish/version.js';
|
|
4
|
+
import { format as f } from '../format.js';
|
|
5
|
+
import { noteWrapped, withSpinner } from '../prompt.js';
|
|
6
|
+
const PLUGIN_CONFIG_FILE = 'plugin-config.json';
|
|
7
|
+
export class PluginRecordMetadataPrompts {
|
|
8
|
+
spinnerAccountInfo(fn) {
|
|
9
|
+
return withSpinner('Retrieving your subscription info', 'Subscription info retrieved', 'Subscription info retrieval failed', fn);
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Required fields get a `placeholder` but no `defaultValue`, so an empty answer re-prompts.
|
|
13
|
+
* Optional ones get both, so Enter accepts the suggestion — the same split `sdk quickstart` uses.
|
|
14
|
+
*/
|
|
15
|
+
async inputPluginMetadata(defaults) {
|
|
16
|
+
const pluginId = await text({
|
|
17
|
+
message: 'Enter an ID for your plugin:',
|
|
18
|
+
placeholder: defaults.pluginId,
|
|
19
|
+
validate: (value) => {
|
|
20
|
+
if (!value)
|
|
21
|
+
return 'Plugin ID is required.';
|
|
22
|
+
if (!PLUGIN_ID_PATTERN.test(value))
|
|
23
|
+
return `Plugin ID must be lower-case alphanumeric words separated by single dashes, for example 'acme-payments'.`;
|
|
24
|
+
}
|
|
25
|
+
});
|
|
26
|
+
if (isCancel(pluginId))
|
|
27
|
+
return { cancelled: 'A plugin ID is required' };
|
|
28
|
+
const pluginName = await text({
|
|
29
|
+
message: 'Enter a name for your plugin:',
|
|
30
|
+
placeholder: defaults.pluginName,
|
|
31
|
+
validate: (value) => {
|
|
32
|
+
if (!value)
|
|
33
|
+
return 'Plugin name is required.';
|
|
34
|
+
}
|
|
35
|
+
});
|
|
36
|
+
if (isCancel(pluginName))
|
|
37
|
+
return { cancelled: 'A plugin name is required' };
|
|
38
|
+
const pluginVersion = await text({
|
|
39
|
+
message: 'Enter a version for your plugin:',
|
|
40
|
+
placeholder: `Provide a version or press Enter to use ${defaults.pluginVersion}.`,
|
|
41
|
+
defaultValue: defaults.pluginVersion,
|
|
42
|
+
validate: (value) => {
|
|
43
|
+
if (value && SemVersion.tryCreate(value).isErr())
|
|
44
|
+
return 'Please enter a valid version in the format major.minor.patch (e.g., 0.1.0).';
|
|
45
|
+
}
|
|
46
|
+
});
|
|
47
|
+
if (isCancel(pluginVersion))
|
|
48
|
+
return { cancelled: 'A plugin version is required' };
|
|
49
|
+
return { metadata: { pluginId, pluginName, pluginVersion } };
|
|
50
|
+
}
|
|
51
|
+
accountInfoUnavailable() {
|
|
52
|
+
log.warn(`Could not read your subscription info, so the author was left out of ${f.var(PLUGIN_CONFIG_FILE)}.`);
|
|
53
|
+
}
|
|
54
|
+
pluginConfigUnreadable() {
|
|
55
|
+
const message = `${f.var(PLUGIN_CONFIG_FILE)} could not be read, so its plugin details were not written. ` +
|
|
56
|
+
`Fix or delete it and try again.`;
|
|
57
|
+
log.error(message);
|
|
58
|
+
}
|
|
59
|
+
pluginConfigNotWritten() {
|
|
60
|
+
log.error(`${f.var(PLUGIN_CONFIG_FILE)} could not be written, so its plugin details were not saved.`);
|
|
61
|
+
}
|
|
62
|
+
metadataRecorded(metadata) {
|
|
63
|
+
const message = `Plugin ID: ${f.var(metadata.pluginId)}\n` +
|
|
64
|
+
`Plugin Name: ${f.var(metadata.pluginName)}\n` +
|
|
65
|
+
`Version: ${f.var(metadata.pluginVersion)}\n\n` +
|
|
66
|
+
`Configuration saved to: ${f.var(PLUGIN_CONFIG_FILE)}`;
|
|
67
|
+
noteWrapped(message, 'Plugin Configuration');
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
//# sourceMappingURL=record-metadata.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"record-metadata.js","sourceRoot":"","sources":["../../../src/prompts/plugin/record-metadata.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { CodeGenerationVersion, Language } from '../../types/sdk/generate.js';
|
|
2
|
+
export declare class PluginRecordSdkPrompts {
|
|
3
|
+
sdkRecorded(language: Language, configExists: boolean): void;
|
|
4
|
+
codegenVersionMismatch(language: Language, actual: CodeGenerationVersion, expected: CodeGenerationVersion): void;
|
|
5
|
+
confirmCodegenVersionOverwrite(): Promise<boolean>;
|
|
6
|
+
noSourceRepository(language: Language): void;
|
|
7
|
+
pluginConfigUnreadable(reason?: string): void;
|
|
8
|
+
pluginConfigNotWritten(): void;
|
|
9
|
+
}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { confirm, isCancel, log } from '@clack/prompts';
|
|
2
|
+
import { format as f } from '../format.js';
|
|
3
|
+
const PLUGIN_CONFIG_FILE = 'plugin-config.json';
|
|
4
|
+
export class PluginRecordSdkPrompts {
|
|
5
|
+
sdkRecorded(language, configExists) {
|
|
6
|
+
const message = (configExists
|
|
7
|
+
? `Updated ${f.var(PLUGIN_CONFIG_FILE)} for ${f.var(language)}. `
|
|
8
|
+
: `Created ${f.var(PLUGIN_CONFIG_FILE)} and added ${f.var(language)}. `) +
|
|
9
|
+
`Run '${f.cmdAlt('apimatic', 'plugin', 'generate')}' to build your context plugin.`;
|
|
10
|
+
log.info(message);
|
|
11
|
+
}
|
|
12
|
+
codegenVersionMismatch(language, actual, expected) {
|
|
13
|
+
const message = `${f.var(PLUGIN_CONFIG_FILE)} records ${f.var(language)} against ${f.var(actual)}, ` +
|
|
14
|
+
`but this SDK was generated with ${f.var(expected)}. ` +
|
|
15
|
+
`Recording it overwrites ${f.var(actual)} with ${f.var(expected)}.`;
|
|
16
|
+
log.warn(message);
|
|
17
|
+
}
|
|
18
|
+
async confirmCodegenVersionOverwrite() {
|
|
19
|
+
const overwrite = await confirm({ message: 'Do you want to proceed?', initialValue: true });
|
|
20
|
+
if (isCancel(overwrite)) {
|
|
21
|
+
return false;
|
|
22
|
+
}
|
|
23
|
+
return overwrite;
|
|
24
|
+
}
|
|
25
|
+
noSourceRepository(language) {
|
|
26
|
+
const message = `Context plugin generation needs a source repository, and none was published for ${f.var(language)}. ` +
|
|
27
|
+
`Publish the SDK's source code to complete its ${f.var(PLUGIN_CONFIG_FILE)} entry.`;
|
|
28
|
+
log.warn(message);
|
|
29
|
+
}
|
|
30
|
+
pluginConfigUnreadable(reason) {
|
|
31
|
+
const cause = reason ? `: ${reason}` : '';
|
|
32
|
+
const message = `${f.var(PLUGIN_CONFIG_FILE)} cannot be used${cause}, so this published SDK's details were not added to it. ` +
|
|
33
|
+
`Fix or delete it and try again.`;
|
|
34
|
+
log.warn(message);
|
|
35
|
+
}
|
|
36
|
+
pluginConfigNotWritten() {
|
|
37
|
+
log.warn(`${f.var(PLUGIN_CONFIG_FILE)} could not be written, so this published SDK's details were not added to it.`);
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
//# sourceMappingURL=record-sdk.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"record-sdk.js","sourceRoot":"","sources":["../../../src/prompts/plugin/record-sdk.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,EAAE,MAAM,gBAAgB,CAAC;AAExD,OAAO,EAAE,MAAM,IAAI,CAAC,EAAE,MAAM,cAAc,CAAC;AAE3C,MAAM,kBAAkB,GAAG,oBAAoB,CAAC;AAEhD,MAAM,OAAO,sBAAsB;IAC1B,WAAW,CAAC,QAAkB,EAAE,YAAqB;QAC1D,MAAM,OAAO,GAAG,CAAC,YAAY;YAC3B,CAAC,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI;YACjE,CAAC,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,kBAAkB,CAAC,cAAc,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC;YACxE,QAAQ,CAAC,CAAC,MAAM,CAAC,UAAU,EAAE,QAAQ,EAAE,UAAU,CAAC,iCAAiC,CAAC;QACtF,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACpB,CAAC;IAEM,sBAAsB,CAAC,QAAkB,EAAE,MAA6B,EAAE,QAA+B;QAC9G,MAAM,OAAO,GACX,GAAG,CAAC,CAAC,GAAG,CAAC,kBAAkB,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI;YACpF,mCAAmC,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI;YACtD,2BAA2B,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC;QACtE,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACpB,CAAC;IAEM,KAAK,CAAC,8BAA8B;QACzC,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC,EAAE,OAAO,EAAE,yBAAyB,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC;QAE5F,IAAI,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;YACxB,OAAO,KAAK,CAAC;QACf,CAAC;QAED,OAAO,SAAS,CAAC;IACnB,CAAC;IAEM,kBAAkB,CAAC,QAAkB;QAC1C,MAAM,OAAO,GACX,mFAAmF,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI;YACtG,iDAAiD,CAAC,CAAC,GAAG,CAAC,kBAAkB,CAAC,SAAS,CAAC;QACtF,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACpB,CAAC;IAEM,sBAAsB,CAAC,MAAe;QAC3C,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,KAAK,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC1C,MAAM,OAAO,GACX,GAAG,CAAC,CAAC,GAAG,CAAC,kBAAkB,CAAC,kBAAkB,KAAK,0DAA0D;YAC7G,iCAAiC,CAAC;QACpC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACpB,CAAC;IAEM,sBAAsB;QAC3B,GAAG,CAAC,IAAI,CACN,GAAG,CAAC,CAAC,GAAG,CAAC,kBAAkB,CAAC,8EAA8E,CAC3G,CAAC;IACJ,CAAC;CACF"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const SDK_PUBLISHING_OVERVIEW_URL = "https://docs.apimatic.io/generate-sdks/sdk-publishing/sdk-publishing-overview/";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"links.js","sourceRoot":"","sources":["../../../src/prompts/publishing/links.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,2BAA2B,GACtC,gFAAgF,CAAC"}
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import { log } from '@clack/prompts';
|
|
2
2
|
import { buildTableWithHeading, withSpinner } from '../../prompt.js';
|
|
3
|
+
import { format as f } from '../../format.js';
|
|
4
|
+
import { SDK_PUBLISHING_OVERVIEW_URL } from '../links.js';
|
|
3
5
|
export class PublishingProfileListPrompts {
|
|
4
6
|
fetchProfiles(fn) {
|
|
5
7
|
return withSpinner('Fetching publishing profiles', 'Publishing profiles fetched successfully.', 'Failed to fetch publishing profiles.', fn);
|
|
@@ -8,7 +10,7 @@ export class PublishingProfileListPrompts {
|
|
|
8
10
|
log.error(error.errorMessage);
|
|
9
11
|
}
|
|
10
12
|
noProfilesFound() {
|
|
11
|
-
log.info(
|
|
13
|
+
log.info(`No publishing profiles found. Please create a publishing profile on the APIMatic App to view it here.\n\nLearn more: ${f.link(SDK_PUBLISHING_OVERVIEW_URL)}`);
|
|
12
14
|
}
|
|
13
15
|
displayProfiles(groups) {
|
|
14
16
|
const count = groups.reduce((sum, g) => sum + g.profiles.length, 0);
|
|
@@ -18,8 +20,8 @@ export class PublishingProfileListPrompts {
|
|
|
18
20
|
rows: group.profiles.map((profile) => [
|
|
19
21
|
profile.name,
|
|
20
22
|
profile.id,
|
|
21
|
-
profile.enabledLanguages.length === 0 ? '—' : profile.enabledLanguages.join(', ')
|
|
22
|
-
])
|
|
23
|
+
profile.enabledLanguages.length === 0 ? '—' : profile.enabledLanguages.join(', ')
|
|
24
|
+
])
|
|
23
25
|
}));
|
|
24
26
|
log.info(`Publishing Profiles (${label})\n\n${buildTableWithHeading(tableGroups, ['Name', 'ID', 'Languages'], ['primary', 'secondary', 'item'])}`);
|
|
25
27
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"list.js","sourceRoot":"","sources":["../../../../src/prompts/publishing/profile/list.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"list.js","sourceRoot":"","sources":["../../../../src/prompts/publishing/profile/list.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,gBAAgB,CAAC;AAOrC,OAAO,EAAE,qBAAqB,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AACrE,OAAO,EAAE,MAAM,IAAI,CAAC,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAE,2BAA2B,EAAE,MAAM,aAAa,CAAC;AAE1D,MAAM,OAAO,4BAA4B;IAChC,aAAa,CAAC,EAA0D;QAC7E,OAAO,WAAW,CAChB,8BAA8B,EAC9B,2CAA2C,EAC3C,sCAAsC,EACtC,EAAE,CACH,CAAC;IACJ,CAAC;IAEM,UAAU,CAAC,KAAmB;QACnC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;IAChC,CAAC;IAEM,eAAe;QACpB,GAAG,CAAC,IAAI,CACN,wHAAwH,CAAC,CAAC,IAAI,CAC5H,2BAA2B,CAC5B,EAAE,CACJ,CAAC;IACJ,CAAC;IAEM,eAAe,CAAC,MAAuC;QAC5D,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QACpE,MAAM,KAAK,GAAG,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,KAAK,WAAW,CAAC;QAC9D,MAAM,WAAW,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;YACzC,OAAO,EAAE,KAAK,CAAC,YAAY;YAC3B,IAAI,EAAE,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC;gBACpC,OAAO,CAAC,IAAI;gBACZ,OAAO,CAAC,EAAE;gBACV,OAAO,CAAC,gBAAgB,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC;aAClF,CAAC;SACH,CAAC,CAAC,CAAC;QACJ,GAAG,CAAC,IAAI,CACN,wBAAwB,KAAK,QAAQ,qBAAqB,CACxD,WAAW,EACX,CAAC,MAAM,EAAE,IAAI,EAAE,WAAW,CAAC,EAC3B,CAAC,SAAS,EAAE,WAAW,EAAE,MAAM,CAAC,CACjC,EAAE,CACJ,CAAC;IACJ,CAAC;CACF"}
|
|
@@ -2,7 +2,9 @@ import { DirectoryPath } from "../../types/file/directoryPath.js";
|
|
|
2
2
|
import { Result } from "neverthrow";
|
|
3
3
|
import { ServiceError } from "../../infrastructure/service-error.js";
|
|
4
4
|
import { GeneratedSdkResult } from "../../infrastructure/services/portal-service.js";
|
|
5
|
+
import { CodegenOption } from "../../types/sdk/generate.js";
|
|
5
6
|
export declare class SdkGeneratePrompts {
|
|
7
|
+
warnIfStabilityIgnored(codegenOption: CodegenOption, stabilityWasProvided: boolean): void;
|
|
6
8
|
overwriteSdk(directory: DirectoryPath): Promise<boolean>;
|
|
7
9
|
sameBuildAndSdkDir(directory: DirectoryPath): void;
|
|
8
10
|
srcDirectoryEmpty(directory: DirectoryPath): void;
|
|
@@ -1,7 +1,14 @@
|
|
|
1
1
|
import { isCancel, confirm, log, select } from "@clack/prompts";
|
|
2
2
|
import { format as f } from "../format.js";
|
|
3
3
|
import { withSpinner } from "../prompt.js";
|
|
4
|
+
import { CodeGenerationVersion } from "../../types/sdk/generate.js";
|
|
4
5
|
export class SdkGeneratePrompts {
|
|
6
|
+
warnIfStabilityIgnored(codegenOption, stabilityWasProvided) {
|
|
7
|
+
if (stabilityWasProvided && codegenOption.isV3()) {
|
|
8
|
+
log.warn(`${f.flag("stability")} has no effect with ${f.flag("codegen-version", CodeGenerationVersion.V3)}. ` +
|
|
9
|
+
`The V3 code generator always produces a stable SDK.`);
|
|
10
|
+
}
|
|
11
|
+
}
|
|
5
12
|
async overwriteSdk(directory) {
|
|
6
13
|
const overwrite = await confirm({
|
|
7
14
|
message: `The destination ${f.path(directory)} is not empty, do you want to overwrite?`,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generate.js","sourceRoot":"","sources":["../../../src/prompts/sdk/generate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAEhE,OAAO,EAAE,MAAM,IAAI,CAAC,EAAE,MAAM,cAAc,CAAC;AAE3C,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"generate.js","sourceRoot":"","sources":["../../../src/prompts/sdk/generate.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { Result } from 'neverthrow';
|
|
2
2
|
import { DirectoryPath } from '../../../types/file/directoryPath.js';
|
|
3
3
|
import { ServiceError } from '../../../infrastructure/service-error.js';
|
|
4
|
-
import { PublishingProfileWithLanguagesGroup, PublishingProfileItem
|
|
4
|
+
import { PublishingProfileWithLanguagesGroup, PublishingProfileItem } from '../../../types/publish-api/publishing-profile-item.js';
|
|
5
5
|
import { PublishingProfile } from '../../../types/publish/publishing-profile.js';
|
|
6
|
-
import { Language } from '../../../types/sdk/generate.js';
|
|
6
|
+
import { CodegenOption, Language } from '../../../types/sdk/generate.js';
|
|
7
7
|
import { SemVersion } from '../../../types/publish/version.js';
|
|
8
8
|
export declare class SdkPublishInteractivePrompts {
|
|
9
9
|
inputWorkingDirectory(defaultDirectory: DirectoryPath, validator: (value: string | undefined) => string | Error | undefined): Promise<DirectoryPath | undefined>;
|
|
@@ -14,17 +14,19 @@ export declare class SdkPublishInteractivePrompts {
|
|
|
14
14
|
noSdkDirectoryProvided(): Promise<void>;
|
|
15
15
|
getPublishingProfiles(fn: Promise<Result<PublishingProfileItem[], ServiceError>>): Promise<Result<PublishingProfileItem[], ServiceError>>;
|
|
16
16
|
getPublishingProfilesServiceError(serviceError: ServiceError): void;
|
|
17
|
-
noPublishingProfilesFound(
|
|
17
|
+
noPublishingProfilesFound(): void;
|
|
18
18
|
noProfileWithEnabledLanguagesFound(): void;
|
|
19
19
|
selectPublishingProfile(groups: PublishingProfileWithLanguagesGroup[]): Promise<PublishingProfileItem | undefined>;
|
|
20
20
|
noPublishingProfileSelected(): void;
|
|
21
21
|
selectLanguage(publishingProfile: PublishingProfile): Promise<Language | undefined>;
|
|
22
22
|
noLanguageSelected(): void;
|
|
23
|
+
selectCodegenVersion(options: readonly CodegenOption[]): Promise<CodegenOption | undefined>;
|
|
24
|
+
noCodegenVersionSelected(): void;
|
|
23
25
|
inputVersion(): Promise<SemVersion | undefined>;
|
|
24
26
|
noVersionSpecified(): void;
|
|
25
|
-
publishingSummary(
|
|
27
|
+
publishingSummary(publishingSummary: string): void;
|
|
26
28
|
confirmPublishing(): Promise<boolean>;
|
|
29
|
+
confirmRecordSdk(): Promise<boolean>;
|
|
27
30
|
publishingCancelled(): void;
|
|
28
31
|
sourceCodeOnlyPublishingNotice(): void;
|
|
29
|
-
sdkPublishingInProgress(publishingLogUrl: string): void;
|
|
30
32
|
}
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
import { confirm, isCancel, log, select, text } from '@clack/prompts';
|
|
2
2
|
import { format as f } from '../../../prompts/format.js';
|
|
3
|
-
import {
|
|
3
|
+
import { withSpinner } from '../../prompt.js';
|
|
4
4
|
import { DirectoryPath } from '../../../types/file/directoryPath.js';
|
|
5
5
|
import { PublishType } from '../../../types/publish-api/publishing-profile-item.js';
|
|
6
6
|
import { SemVersion } from '../../../types/publish/version.js';
|
|
7
7
|
import { removeQuotes } from '../../../utils/string-utils.js';
|
|
8
|
+
import { SDK_PUBLISHING_OVERVIEW_URL } from '../../publishing/links.js';
|
|
8
9
|
export class SdkPublishInteractivePrompts {
|
|
9
10
|
async inputWorkingDirectory(defaultDirectory, validator) {
|
|
10
11
|
const value = await text({
|
|
@@ -48,11 +49,11 @@ export class SdkPublishInteractivePrompts {
|
|
|
48
49
|
getPublishingProfilesServiceError(serviceError) {
|
|
49
50
|
log.error(serviceError.errorMessage);
|
|
50
51
|
}
|
|
51
|
-
noPublishingProfilesFound(
|
|
52
|
-
log.error(
|
|
52
|
+
noPublishingProfilesFound() {
|
|
53
|
+
log.error(`No publishing profiles found. Please create a publishing profile on the APIMatic App before publishing an SDK.\n\nLearn more: ${f.link(SDK_PUBLISHING_OVERVIEW_URL)}`);
|
|
53
54
|
}
|
|
54
55
|
noProfileWithEnabledLanguagesFound() {
|
|
55
|
-
log.error(
|
|
56
|
+
log.error(`No publishing profiles found with languages enabled for Source Code Publishing or Package Publishing. Please enable at least one language in a publishing profile before publishing an SDK.\n\nLearn more: ${f.link(SDK_PUBLISHING_OVERVIEW_URL)}`);
|
|
56
57
|
}
|
|
57
58
|
async selectPublishingProfile(groups) {
|
|
58
59
|
const publishingProfile = await select({
|
|
@@ -91,6 +92,20 @@ export class SdkPublishInteractivePrompts {
|
|
|
91
92
|
noLanguageSelected() {
|
|
92
93
|
log.error('No language was selected for publishing.');
|
|
93
94
|
}
|
|
95
|
+
async selectCodegenVersion(options) {
|
|
96
|
+
const codegenOption = await select({
|
|
97
|
+
message: 'Select the Code Generator version:',
|
|
98
|
+
initialValue: options[0],
|
|
99
|
+
options: options.map((option) => ({ value: option, label: `${option}` }))
|
|
100
|
+
});
|
|
101
|
+
if (isCancel(codegenOption)) {
|
|
102
|
+
return undefined;
|
|
103
|
+
}
|
|
104
|
+
return codegenOption;
|
|
105
|
+
}
|
|
106
|
+
noCodegenVersionSelected() {
|
|
107
|
+
log.error('No Code Generator version was selected.');
|
|
108
|
+
}
|
|
94
109
|
async inputVersion() {
|
|
95
110
|
const version = await text({
|
|
96
111
|
message: 'Enter version to publish (e.g. 1.0.0):',
|
|
@@ -112,11 +127,8 @@ export class SdkPublishInteractivePrompts {
|
|
|
112
127
|
noVersionSpecified() {
|
|
113
128
|
log.error('No version was specified for publishing the SDK.');
|
|
114
129
|
}
|
|
115
|
-
publishingSummary(
|
|
116
|
-
|
|
117
|
-
.map((t) => (t === PublishType.PackagePublishing ? 'Package' : 'Source Code'))
|
|
118
|
-
.join(' + ');
|
|
119
|
-
log.info(`Ready to publish:\n\n Profile: ${profile}\n Language: ${language}\n Version: ${version}\n Targets: ${targets}`);
|
|
130
|
+
publishingSummary(publishingSummary) {
|
|
131
|
+
log.info(`Ready to publish:` + publishingSummary);
|
|
120
132
|
}
|
|
121
133
|
async confirmPublishing() {
|
|
122
134
|
const result = await confirm({ message: 'Do you want to proceed?' });
|
|
@@ -124,16 +136,19 @@ export class SdkPublishInteractivePrompts {
|
|
|
124
136
|
return false;
|
|
125
137
|
return result;
|
|
126
138
|
}
|
|
139
|
+
async confirmRecordSdk() {
|
|
140
|
+
const message = `Update configuration for context plugin generation?` +
|
|
141
|
+
f.continuation(`See '${f.cmdAlt('apimatic', 'plugin', 'generate')} ${f.flag('help')}' for more information.`);
|
|
142
|
+
const record = await confirm({ message, initialValue: true });
|
|
143
|
+
if (isCancel(record))
|
|
144
|
+
return false;
|
|
145
|
+
return record;
|
|
146
|
+
}
|
|
127
147
|
publishingCancelled() {
|
|
128
148
|
log.error('Publishing cancelled.');
|
|
129
149
|
}
|
|
130
150
|
sourceCodeOnlyPublishingNotice() {
|
|
131
151
|
log.info('Version tags will not be created in your Git repository because you have opted to publish Source Code only.');
|
|
132
152
|
}
|
|
133
|
-
sdkPublishingInProgress(publishingLogUrl) {
|
|
134
|
-
const message = `To view the status of publishing, please visit:
|
|
135
|
-
${f.link(publishingLogUrl)}`;
|
|
136
|
-
noteWrapped(message, 'Next Steps');
|
|
137
|
-
}
|
|
138
153
|
}
|
|
139
154
|
//# sourceMappingURL=interactive.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"interactive.js","sourceRoot":"","sources":["../../../../src/prompts/sdk/publish/interactive.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAEtE,OAAO,EAAE,MAAM,IAAI,CAAC,EAAE,MAAM,4BAA4B,CAAC;AACzD,OAAO,EAAE,WAAW,EAAE,
|
|
1
|
+
{"version":3,"file":"interactive.js","sourceRoot":"","sources":["../../../../src/prompts/sdk/publish/interactive.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,12 +1,9 @@
|
|
|
1
1
|
import { Result } from 'neverthrow';
|
|
2
2
|
import { PublishType } from '../../../types/publish-api/publishing-profile-item.js';
|
|
3
|
-
import { SemVersion } from '../../../types/publish/version.js';
|
|
4
3
|
import { DirectoryPath } from '../../../types/file/directoryPath.js';
|
|
5
4
|
import { ServiceError } from '../../../infrastructure/service-error.js';
|
|
6
5
|
import { PublishingProfileItem } from '../../../types/publish-api/publishing-profile-item.js';
|
|
7
|
-
import { PublishLogItem } from '../../../types/publish-api/publish-log.js';
|
|
8
6
|
import { ProfileId } from '../../../types/publish/profile-id.js';
|
|
9
|
-
import { PublishingProfile } from '../../../types/publish/publishing-profile.js';
|
|
10
7
|
import { Language } from '../../../types/sdk/generate.js';
|
|
11
8
|
export declare class SdkPublishNonInteractivePrompts {
|
|
12
9
|
directoryCannotBeSame(directory: DirectoryPath): void;
|
|
@@ -21,7 +18,5 @@ export declare class SdkPublishNonInteractivePrompts {
|
|
|
21
18
|
languageNotConfiguredForProfile(language: Language): void;
|
|
22
19
|
publishTypesNotAvailableForLanguage(publishTypes: PublishType[], language: Language): void;
|
|
23
20
|
sourceCodeOnlyPublishingNotice(): void;
|
|
24
|
-
|
|
25
|
-
postPublishingMessage(publishingLogUrl: string): void;
|
|
26
|
-
pollPublishingStatus(getSdkPublishingLogFn: () => Promise<Result<PublishLogItem, ServiceError>>): Promise<boolean>;
|
|
21
|
+
dryRunPluginConfigNotice(): void;
|
|
27
22
|
}
|
|
@@ -1,7 +1,9 @@
|
|
|
1
|
-
import { log
|
|
1
|
+
import { log } from '@clack/prompts';
|
|
2
2
|
import { PublishType } from '../../../types/publish-api/publishing-profile-item.js';
|
|
3
3
|
import { format as f } from '../../../prompts/format.js';
|
|
4
|
-
import {
|
|
4
|
+
import { withSpinner } from '../../prompt.js';
|
|
5
|
+
import { SDK_PUBLISHING_OVERVIEW_URL } from '../../publishing/links.js';
|
|
6
|
+
const PLUGIN_CONFIG_FILE = 'plugin-config.json';
|
|
5
7
|
export class SdkPublishNonInteractivePrompts {
|
|
6
8
|
directoryCannotBeSame(directory) {
|
|
7
9
|
const message = `The ${f.var('src')} and ${f.var('sdk')} directories must be different. Current value: ${f.path(directory)}`;
|
|
@@ -30,68 +32,25 @@ export class SdkPublishNonInteractivePrompts {
|
|
|
30
32
|
log.error(serviceError.errorMessage);
|
|
31
33
|
}
|
|
32
34
|
publishingProfileNotFound(profileId) {
|
|
33
|
-
log.error(`Publishing profile with id '${profileId}' not found. Please check if the provided profile id is correct or create a new publishing profile on the APIMatic App
|
|
35
|
+
log.error(`Publishing profile with id '${profileId}' not found. Please check if the provided profile id is correct or create a new publishing profile on the APIMatic App.\n\nLearn more: ${f.link(SDK_PUBLISHING_OVERVIEW_URL)}`);
|
|
34
36
|
}
|
|
35
37
|
languageNotConfiguredForProfile(language) {
|
|
36
|
-
log.error(`No configuration found for '${language}' in the selected publishing profile. Please check the provided profile's configuration on the APIMatic App and try again
|
|
38
|
+
log.error(`No configuration found for '${language}' in the selected publishing profile. Please check the provided profile's configuration on the APIMatic App and try again.\n\nLearn more: ${f.link(SDK_PUBLISHING_OVERVIEW_URL)}`);
|
|
37
39
|
}
|
|
38
40
|
publishTypesNotAvailableForLanguage(publishTypes, language) {
|
|
39
41
|
const types = [...publishTypes]
|
|
40
42
|
.sort((a, b) => (a === PublishType.SourceCodePublishing ? -1 : b === PublishType.SourceCodePublishing ? 1 : 0))
|
|
41
43
|
.join(' + ');
|
|
42
44
|
const noun = publishTypes.length === 1 ? 'type' : 'types';
|
|
43
|
-
log.error(`Publish ${noun} '${types}' not found or not enabled for '${language}' in the selected publishing profile. Please check your profile configuration on the APIMatic App and try again
|
|
45
|
+
log.error(`Publish ${noun} '${types}' not found or not enabled for '${language}' in the selected publishing profile. Please check your profile configuration on the APIMatic App and try again.\n\nLearn more: ${f.link(SDK_PUBLISHING_OVERVIEW_URL)}`);
|
|
44
46
|
}
|
|
45
47
|
sourceCodeOnlyPublishingNotice() {
|
|
46
48
|
log.info('Version tags will not be created in your Git repository because you have opted to publish Source Code only.');
|
|
47
49
|
}
|
|
48
|
-
|
|
49
|
-
const
|
|
50
|
-
.
|
|
51
|
-
|
|
52
|
-
.join(' + ');
|
|
53
|
-
log.info(`Publishing is running for the following:\n\n Profile: ${profile}\n Language: ${language}\n Version: ${version}\n Targets: ${targets}`);
|
|
54
|
-
}
|
|
55
|
-
postPublishingMessage(publishingLogUrl) {
|
|
56
|
-
const message = `To view publishing logs, please visit:
|
|
57
|
-
${f.link(publishingLogUrl)}`;
|
|
58
|
-
noteWrapped(message, 'Next Steps');
|
|
59
|
-
}
|
|
60
|
-
async pollPublishingStatus(getSdkPublishingLogFn) {
|
|
61
|
-
const TERMINAL_STATES = new Set(['Succeeded', 'Failed', 'Exception', 'InternalError']);
|
|
62
|
-
const POLL_INTERVAL_MS = 10000; // poll after every 10 seconds.
|
|
63
|
-
const spin = spinner();
|
|
64
|
-
spin.start('Waiting for publishing status...');
|
|
65
|
-
while (true) {
|
|
66
|
-
const publishingLogResult = await getSdkPublishingLogFn();
|
|
67
|
-
if (publishingLogResult.isErr()) {
|
|
68
|
-
spin.stop('Failed to fetch publishing status.', 1);
|
|
69
|
-
return false;
|
|
70
|
-
}
|
|
71
|
-
const { events } = publishingLogResult.value;
|
|
72
|
-
const executionCompleted = events.every((event) => TERMINAL_STATES.has(event.eventType));
|
|
73
|
-
const statusMessage = [...events]
|
|
74
|
-
.sort((a, b) => (a.publishType === 'SourceCode' ? -1 : b.publishType === 'SourceCode' ? 1 : 0))
|
|
75
|
-
.map((event) => {
|
|
76
|
-
var _a;
|
|
77
|
-
const target = event.publishType === 'SourceCode' ? 'Source Code' : 'Package';
|
|
78
|
-
const eventLabels = {
|
|
79
|
-
Queued: 'Queued',
|
|
80
|
-
InProgress: 'In Progress',
|
|
81
|
-
Succeeded: 'Published'
|
|
82
|
-
};
|
|
83
|
-
const label = (_a = eventLabels[event.eventType]) !== null && _a !== void 0 ? _a : 'Failed';
|
|
84
|
-
return `${target}: [${label}]`;
|
|
85
|
-
})
|
|
86
|
-
.join(' | ');
|
|
87
|
-
if (executionCompleted) {
|
|
88
|
-
const isExecutionSuccessful = events.every((event) => event.eventType === 'Succeeded');
|
|
89
|
-
spin.stop(statusMessage, isExecutionSuccessful ? 0 : 1);
|
|
90
|
-
return isExecutionSuccessful;
|
|
91
|
-
}
|
|
92
|
-
spin.message(statusMessage);
|
|
93
|
-
await new Promise((resolve) => setTimeout(resolve, POLL_INTERVAL_MS));
|
|
94
|
-
}
|
|
50
|
+
dryRunPluginConfigNotice() {
|
|
51
|
+
const message = `${f.flag('update-plugin-config')} was ignored because ${f.flag('dry-run')} does not publish the SDK. ` +
|
|
52
|
+
`Re-run without ${f.flag('dry-run')} to record it in ${f.var(PLUGIN_CONFIG_FILE)}.`;
|
|
53
|
+
log.info(message);
|
|
95
54
|
}
|
|
96
55
|
}
|
|
97
56
|
//# sourceMappingURL=non-interactive.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"non-interactive.js","sourceRoot":"","sources":["../../../../src/prompts/sdk/publish/non-interactive.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,
|
|
1
|
+
{"version":3,"file":"non-interactive.js","sourceRoot":"","sources":["../../../../src/prompts/sdk/publish/non-interactive.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,12 +1,25 @@
|
|
|
1
1
|
import { Result } from 'neverthrow';
|
|
2
2
|
import { ServiceError } from '../../infrastructure/service-error.js';
|
|
3
|
+
import { PublishLogItem } from '../../types/publish-api/publish-log.js';
|
|
3
4
|
import { PublishingInfo } from '../../types/publish-api/publishing-info.js';
|
|
4
5
|
import { PublishType } from '../../types/publish-api/publishing-profile-item.js';
|
|
5
6
|
import { SemVersion } from '../../types/publish/version.js';
|
|
6
|
-
import { Language } from '../../types/sdk/generate.js';
|
|
7
|
+
import { CodegenOption, Language } from '../../types/sdk/generate.js';
|
|
7
8
|
import { PublishingProfile } from '../../types/publish/publishing-profile.js';
|
|
9
|
+
export type PublishingOutcome = 'succeeded' | 'failed' | 'cancelled';
|
|
8
10
|
export declare class SdkPublishPrompts {
|
|
9
11
|
publishSdk(fn: Promise<Result<PublishingInfo, ServiceError>>): Promise<Result<PublishingInfo, ServiceError>>;
|
|
10
12
|
sdkPublishingServiceError(serviceError: ServiceError): void;
|
|
11
|
-
dryRunNotice(
|
|
13
|
+
dryRunNotice(publishingSummary: string): void;
|
|
14
|
+
publishingRunningNotice(publishingSummary: string): void;
|
|
15
|
+
publishingLogsMessage(publishingLogUrl: string): void;
|
|
16
|
+
pollPublishingStatus(getSdkPublishingLogFn: () => Promise<Result<PublishLogItem, ServiceError>>): Promise<PublishingOutcome>;
|
|
12
17
|
}
|
|
18
|
+
export interface PublishingDetails {
|
|
19
|
+
profile: PublishingProfile;
|
|
20
|
+
language: Language;
|
|
21
|
+
version: SemVersion;
|
|
22
|
+
publishType: PublishType[];
|
|
23
|
+
codegenOption?: CodegenOption;
|
|
24
|
+
}
|
|
25
|
+
export declare function formatPublishingDetails({ profile, language, version, publishType, codegenOption }: PublishingDetails): string;
|