@apimatic/cli 1.2.1 → 1.3.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.
Files changed (125) hide show
  1. package/README.md +65 -1
  2. package/lib/actions/action-result.d.ts +1 -0
  3. package/lib/actions/action-result.js +3 -0
  4. package/lib/actions/action-result.js.map +1 -1
  5. package/lib/actions/plugin/generate.d.ts +12 -0
  6. package/lib/actions/plugin/generate.js +71 -0
  7. package/lib/actions/plugin/generate.js.map +1 -0
  8. package/lib/actions/plugin/publish.d.ts +6 -0
  9. package/lib/actions/plugin/publish.js +43 -0
  10. package/lib/actions/plugin/publish.js.map +1 -0
  11. package/lib/actions/plugin/record-metadata.d.ts +18 -0
  12. package/lib/actions/plugin/record-metadata.js +57 -0
  13. package/lib/actions/plugin/record-metadata.js.map +1 -0
  14. package/lib/actions/plugin/record-sdk.d.ts +14 -0
  15. package/lib/actions/plugin/record-sdk.js +60 -0
  16. package/lib/actions/plugin/record-sdk.js.map +1 -0
  17. package/lib/actions/sdk/generate.d.ts +2 -2
  18. package/lib/actions/sdk/generate.js +4 -4
  19. package/lib/actions/sdk/generate.js.map +1 -1
  20. package/lib/actions/sdk/publish/interactive.js +22 -3
  21. package/lib/actions/sdk/publish/interactive.js.map +1 -1
  22. package/lib/actions/sdk/publish/non-interactive.d.ts +2 -2
  23. package/lib/actions/sdk/publish/non-interactive.js +19 -12
  24. package/lib/actions/sdk/publish/non-interactive.js.map +1 -1
  25. package/lib/actions/sdk/publish.d.ts +2 -3
  26. package/lib/actions/sdk/publish.js +26 -5
  27. package/lib/actions/sdk/publish.js.map +1 -1
  28. package/lib/actions/sdk/quickstart.js +2 -2
  29. package/lib/actions/sdk/quickstart.js.map +1 -1
  30. package/lib/commands/plugin/generate.d.ts +14 -0
  31. package/lib/commands/plugin/generate.js +37 -0
  32. package/lib/commands/plugin/generate.js.map +1 -0
  33. package/lib/commands/plugin/publish.d.ts +11 -0
  34. package/lib/commands/plugin/publish.js +29 -0
  35. package/lib/commands/plugin/publish.js.map +1 -0
  36. package/lib/commands/sdk/generate.js +4 -3
  37. package/lib/commands/sdk/generate.js.map +1 -1
  38. package/lib/commands/sdk/publish.d.ts +3 -0
  39. package/lib/commands/sdk/publish.js +18 -5
  40. package/lib/commands/sdk/publish.js.map +1 -1
  41. package/lib/config/axios-config.d.ts +6 -0
  42. package/lib/config/axios-config.js +8 -2
  43. package/lib/config/axios-config.js.map +1 -1
  44. package/lib/infrastructure/generation-status-poller.d.ts +31 -0
  45. package/lib/infrastructure/generation-status-poller.js +56 -0
  46. package/lib/infrastructure/generation-status-poller.js.map +1 -0
  47. package/lib/infrastructure/service-error.d.ts +10 -1
  48. package/lib/infrastructure/service-error.js +47 -0
  49. package/lib/infrastructure/service-error.js.map +1 -1
  50. package/lib/infrastructure/services/api-service.d.ts +0 -7
  51. package/lib/infrastructure/services/api-service.js +0 -42
  52. package/lib/infrastructure/services/api-service.js.map +1 -1
  53. package/lib/infrastructure/services/plugin-service.d.ts +24 -0
  54. package/lib/infrastructure/services/plugin-service.js +141 -0
  55. package/lib/infrastructure/services/plugin-service.js.map +1 -0
  56. package/lib/infrastructure/services/portal-service.d.ts +16 -8
  57. package/lib/infrastructure/services/portal-service.js +147 -39
  58. package/lib/infrastructure/services/portal-service.js.map +1 -1
  59. package/lib/prompts/format.d.ts +4 -3
  60. package/lib/prompts/format.js +14 -13
  61. package/lib/prompts/format.js.map +1 -1
  62. package/lib/prompts/plugin/generate.d.ts +19 -0
  63. package/lib/prompts/plugin/generate.js +64 -0
  64. package/lib/prompts/plugin/generate.js.map +1 -0
  65. package/lib/prompts/plugin/publish.d.ts +25 -0
  66. package/lib/prompts/plugin/publish.js +77 -0
  67. package/lib/prompts/plugin/publish.js.map +1 -0
  68. package/lib/prompts/plugin/record-metadata.d.ts +25 -0
  69. package/lib/prompts/plugin/record-metadata.js +70 -0
  70. package/lib/prompts/plugin/record-metadata.js.map +1 -0
  71. package/lib/prompts/plugin/record-sdk.d.ts +9 -0
  72. package/lib/prompts/plugin/record-sdk.js +40 -0
  73. package/lib/prompts/plugin/record-sdk.js.map +1 -0
  74. package/lib/prompts/publishing/profile/list.js +8 -3
  75. package/lib/prompts/publishing/profile/list.js.map +1 -1
  76. package/lib/prompts/sdk/generate.d.ts +2 -0
  77. package/lib/prompts/sdk/generate.js +7 -0
  78. package/lib/prompts/sdk/generate.js.map +1 -1
  79. package/lib/prompts/sdk/publish/interactive.d.ts +6 -4
  80. package/lib/prompts/sdk/publish/interactive.js +25 -11
  81. package/lib/prompts/sdk/publish/interactive.js.map +1 -1
  82. package/lib/prompts/sdk/publish/non-interactive.d.ts +1 -6
  83. package/lib/prompts/sdk/publish/non-interactive.js +7 -49
  84. package/lib/prompts/sdk/publish/non-interactive.js.map +1 -1
  85. package/lib/prompts/sdk/publish.d.ts +15 -2
  86. package/lib/prompts/sdk/publish.js +71 -5
  87. package/lib/prompts/sdk/publish.js.map +1 -1
  88. package/lib/types/file/directory.d.ts +3 -0
  89. package/lib/types/file/directory.js +13 -0
  90. package/lib/types/file/directory.js.map +1 -1
  91. package/lib/types/plugin/generation-status.d.ts +23 -0
  92. package/lib/types/plugin/generation-status.js +18 -0
  93. package/lib/types/plugin/generation-status.js.map +1 -0
  94. package/lib/types/plugin/language-entry.d.ts +9 -0
  95. package/lib/types/plugin/language-entry.js +64 -0
  96. package/lib/types/plugin/language-entry.js.map +1 -0
  97. package/lib/types/plugin/plugin-config.d.ts +72 -0
  98. package/lib/types/plugin/plugin-config.js +4 -0
  99. package/lib/types/plugin/plugin-config.js.map +1 -0
  100. package/lib/types/plugin/plugin-contents.d.ts +5 -0
  101. package/lib/types/plugin/plugin-contents.js +2 -0
  102. package/lib/types/plugin/plugin-contents.js.map +1 -0
  103. package/lib/types/plugin-config-context.d.ts +63 -0
  104. package/lib/types/plugin-config-context.js +179 -0
  105. package/lib/types/plugin-config-context.js.map +1 -0
  106. package/lib/types/plugin-context.d.ts +13 -0
  107. package/lib/types/plugin-context.js +28 -0
  108. package/lib/types/plugin-context.js.map +1 -0
  109. package/lib/types/publish/package-settings-configuration.d.ts +11 -1
  110. package/lib/types/publish/package-settings-configuration.js +1 -1
  111. package/lib/types/publish/package-settings-configuration.js.map +1 -1
  112. package/lib/types/publish/publishing-profile.d.ts +3 -2
  113. package/lib/types/publish/publishing-profile.js +24 -18
  114. package/lib/types/publish/publishing-profile.js.map +1 -1
  115. package/lib/types/publish/version.d.ts +6 -1
  116. package/lib/types/publish/version.js +2 -1
  117. package/lib/types/publish/version.js.map +1 -1
  118. package/lib/types/sdk/generate.d.ts +19 -0
  119. package/lib/types/sdk/generate.js +44 -0
  120. package/lib/types/sdk/generate.js.map +1 -1
  121. package/lib/types/utils.d.ts +1 -0
  122. package/package.json +6 -3
  123. package/lib/types/api/generation-status-endpoint.d.ts +0 -8
  124. package/lib/types/api/generation-status-endpoint.js +0 -12
  125. 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"}
@@ -1,5 +1,8 @@
1
1
  import { log } from '@clack/prompts';
2
2
  import { buildTableWithHeading, withSpinner } from '../../prompt.js';
3
+ import { format as f } from '../../format.js';
4
+ const sourceCodePublishingUrl = 'https://docs.apimatic.io/generate-sdks/publish-sdk-to-github/';
5
+ const packagePublishingUrl = 'https://docs.apimatic.io/generate-sdks/sdk-publishing/configure-sdk-publishing/';
3
6
  export class PublishingProfileListPrompts {
4
7
  fetchProfiles(fn) {
5
8
  return withSpinner('Fetching publishing profiles', 'Publishing profiles fetched successfully.', 'Failed to fetch publishing profiles.', fn);
@@ -8,7 +11,9 @@ export class PublishingProfileListPrompts {
8
11
  log.error(error.errorMessage);
9
12
  }
10
13
  noProfilesFound() {
11
- log.info('No publishing profiles found. Please create a publishing profile on the APIMatic App to view it here.');
14
+ log.info('No publishing profiles found. Please create a publishing profile on the APIMatic App to view it here.' +
15
+ `\n\nSource Code publishing: ${f.link(sourceCodePublishingUrl)}` +
16
+ `\nPackage publishing: ${f.link(packagePublishingUrl)}`);
12
17
  }
13
18
  displayProfiles(groups) {
14
19
  const count = groups.reduce((sum, g) => sum + g.profiles.length, 0);
@@ -18,8 +23,8 @@ export class PublishingProfileListPrompts {
18
23
  rows: group.profiles.map((profile) => [
19
24
  profile.name,
20
25
  profile.id,
21
- profile.enabledLanguages.length === 0 ? '—' : profile.enabledLanguages.join(', '),
22
- ]),
26
+ profile.enabledLanguages.length === 0 ? '—' : profile.enabledLanguages.join(', ')
27
+ ])
23
28
  }));
24
29
  log.info(`Publishing Profiles (${label})\n\n${buildTableWithHeading(tableGroups, ['Name', 'ID', 'Languages'], ['primary', 'secondary', 'item'])}`);
25
30
  }
@@ -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;AAIrC,OAAO,EAAE,qBAAqB,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAErE,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,CAAC,uGAAuG,CAAC,CAAC;IACpH,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,CAAC,wBAAwB,KAAK,QAAQ,qBAAqB,CAAC,WAAW,EAAE,CAAC,MAAM,EAAE,IAAI,EAAE,WAAW,CAAC,EAAE,CAAC,SAAS,EAAE,WAAW,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC;IACrJ,CAAC;CACF"}
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;AAE9C,MAAM,uBAAuB,GAAG,+DAA+D,CAAC;AAChG,MAAM,oBAAoB,GAAG,iFAAiF,CAAC;AAE/G,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,uGAAuG;YACrG,+BAA+B,CAAC,CAAC,IAAI,CAAC,uBAAuB,CAAC,EAAE;YAChE,yBAAyB,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC,EAAE,CAC1D,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;AAI3C,MAAM,OAAO,kBAAkB;IACtB,KAAK,CAAC,YAAY,CAAC,SAAwB;QAChD,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC;YAC9B,OAAO,EAAE,mBAAmB,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,0CAA0C;YACvF,YAAY,EAAE,KAAK;SACpB,CAAC,CAAC;QAEH,IAAI,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;YACxB,OAAO,KAAK,CAAC;QACf,CAAC;QAED,OAAO,SAAS,CAAC;IACnB,CAAC;IAEM,kBAAkB,CAAC,SAAwB;QAChD,MAAM,OAAO,GACX,OAAO,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,kCAAkC;YACzE,kBAAkB,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;QACxC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IACrB,CAAC;IAEM,iBAAiB,CAAC,SAAwB;QAC/C,MAAM,OAAO,GAAG,OAAO,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,0CAA0C,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;QACjG,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IACrB,CAAC;IAEM,kBAAkB,CAAC,SAAwB;QAChD,MAAM,OAAO,GAAG,OAAO,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,0CAA0C,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;QAClG,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IACrB,CAAC;IAEM,sBAAsB;QAC3B,MAAM,OAAO,GAAG,yFAAyF,CAAC;QAC1G,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IACrB,CAAC;IAEM,WAAW,CAAC,EAAqD;QACtE,OAAO,WAAW,CAAC,gBAAgB,EAAE,6BAA6B,EAAE,wBAAwB,EAAE,EAAE,CAAC,CAAC;IACpG,CAAC;IAEM,aAAa,CAAC,EAAwD;QAC3E,OAAO,WAAW,CAAC,gBAAgB,EAAE,6BAA6B,EAAE,wBAAwB,EAAE,EAAE,CAAC,CAAC;IACpG,CAAC;IAEM,yBAAyB,CAAC,YAA0B;QACzD,GAAG,CAAC,KAAK,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC;IACvC,CAAC;IAEM,6BAA6B,CAAC,SAAwB;QAC3D,MAAM,OAAO,GAAG,OAAO,CAAC,CAAC,GAAG,CAAC,gBAAgB,CAAC,0CAA0C,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;QAC5G,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IACrB,CAAC;IAEM,0CAA0C;QAC/C,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,6CAA6C,CAAC,CAAC;IACtF,CAAC;IAEM,eAAe;QACpB,MAAM,OAAO,GAAG,sCAAsC,CAAC;QACvD,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IACrB,CAAC;IAEM,KAAK,CAAC,aAAa,CAAC,QAAkB;QAC3C,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC;YAC3B,OAAO,EAAE,2CAA2C;YACpD,OAAO,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;SACvD,CAAC,CAAC;QAEH,IAAI,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;YACtB,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,OAAO,OAAO,CAAC;IACjB,CAAC;IAEM,YAAY,CAAC,GAAkB;QACpC,GAAG,CAAC,IAAI,CAAC,qCAAqC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAChE,CAAC;IAEM,kCAAkC;QACvC,GAAG,CAAC,IAAI,CAAC,sEAAsE,CAAC,CAAC;IACnF,CAAC;CACF"}
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, PublishType } from '../../../types/publish-api/publishing-profile-item.js';
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>;
@@ -20,11 +20,13 @@ export declare class SdkPublishInteractivePrompts {
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(profile: PublishingProfile, language: Language, version: SemVersion, publishType: PublishType[]): void;
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,6 +1,6 @@
1
1
  import { confirm, isCancel, log, select, text } from '@clack/prompts';
2
2
  import { format as f } from '../../../prompts/format.js';
3
- import { noteWrapped, withSpinner } from '../../prompt.js';
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';
@@ -91,6 +91,20 @@ export class SdkPublishInteractivePrompts {
91
91
  noLanguageSelected() {
92
92
  log.error('No language was selected for publishing.');
93
93
  }
94
+ async selectCodegenVersion(options) {
95
+ const codegenOption = await select({
96
+ message: 'Select the Code Generator version:',
97
+ initialValue: options[0],
98
+ options: options.map((option) => ({ value: option, label: `${option}` }))
99
+ });
100
+ if (isCancel(codegenOption)) {
101
+ return undefined;
102
+ }
103
+ return codegenOption;
104
+ }
105
+ noCodegenVersionSelected() {
106
+ log.error('No Code Generator version was selected.');
107
+ }
94
108
  async inputVersion() {
95
109
  const version = await text({
96
110
  message: 'Enter version to publish (e.g. 1.0.0):',
@@ -112,11 +126,8 @@ export class SdkPublishInteractivePrompts {
112
126
  noVersionSpecified() {
113
127
  log.error('No version was specified for publishing the SDK.');
114
128
  }
115
- publishingSummary(profile, language, version, publishType) {
116
- const targets = publishType
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}`);
129
+ publishingSummary(publishingSummary) {
130
+ log.info(`Ready to publish:` + publishingSummary);
120
131
  }
121
132
  async confirmPublishing() {
122
133
  const result = await confirm({ message: 'Do you want to proceed?' });
@@ -124,16 +135,19 @@ export class SdkPublishInteractivePrompts {
124
135
  return false;
125
136
  return result;
126
137
  }
138
+ async confirmRecordSdk() {
139
+ const message = `Update configuration for context plugin generation?` +
140
+ f.continuation(`See '${f.cmdAlt('apimatic', 'plugin', 'generate')} ${f.flag('help')}' for more information.`);
141
+ const record = await confirm({ message, initialValue: true });
142
+ if (isCancel(record))
143
+ return false;
144
+ return record;
145
+ }
127
146
  publishingCancelled() {
128
147
  log.error('Publishing cancelled.');
129
148
  }
130
149
  sourceCodeOnlyPublishingNotice() {
131
150
  log.info('Version tags will not be created in your Git repository because you have opted to publish Source Code only.');
132
151
  }
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
152
  }
139
153
  //# sourceMappingURL=interactive.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"interactive.js","sourceRoot":"","sources":["../../../../src/prompts/sdk/publish/interactive.ts"],"names":[],"mappings":"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"}
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
- publishingRunningNotice(profile: PublishingProfile, language: Language, version: SemVersion, publishType: PublishType[]): void;
25
- postPublishingMessage(publishingLogUrl: string): void;
26
- pollPublishingStatus(getSdkPublishingLogFn: () => Promise<Result<PublishLogItem, ServiceError>>): Promise<boolean>;
21
+ dryRunPluginConfigNotice(): void;
27
22
  }
@@ -1,7 +1,8 @@
1
- import { log, spinner } from '@clack/prompts';
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 { noteWrapped, withSpinner } from '../../prompt.js';
4
+ import { withSpinner } from '../../prompt.js';
5
+ const PLUGIN_CONFIG_FILE = 'plugin-config.json';
5
6
  export class SdkPublishNonInteractivePrompts {
6
7
  directoryCannotBeSame(directory) {
7
8
  const message = `The ${f.var('src')} and ${f.var('sdk')} directories must be different. Current value: ${f.path(directory)}`;
@@ -45,53 +46,10 @@ export class SdkPublishNonInteractivePrompts {
45
46
  sourceCodeOnlyPublishingNotice() {
46
47
  log.info('Version tags will not be created in your Git repository because you have opted to publish Source Code only.');
47
48
  }
48
- publishingRunningNotice(profile, language, version, publishType) {
49
- const targets = [...publishType]
50
- .sort((a, b) => (a === PublishType.SourceCodePublishing ? -1 : b === PublishType.SourceCodePublishing ? 1 : 0))
51
- .map((t) => (t === PublishType.PackagePublishing ? 'Package' : 'Source Code'))
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
- }
49
+ dryRunPluginConfigNotice() {
50
+ const message = `${f.flag('update-plugin-config')} was ignored because ${f.flag('dry-run')} does not publish the SDK. ` +
51
+ `Re-run without ${f.flag('dry-run')} to record it in ${f.var(PLUGIN_CONFIG_FILE)}.`;
52
+ log.info(message);
95
53
  }
96
54
  }
97
55
  //# 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":"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"}
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(publishingProfile: PublishingProfile, language: Language, version: SemVersion, publishType: PublishType[]): void;
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;
@@ -1,6 +1,7 @@
1
- import { log } from '@clack/prompts';
1
+ import { log, spinner } from '@clack/prompts';
2
2
  import { PublishType } from '../../types/publish-api/publishing-profile-item.js';
3
- import { withSpinner } from '../prompt.js';
3
+ import { noteWrapped, withSpinner } from '../prompt.js';
4
+ import { format as f } from '../format.js';
4
5
  export class SdkPublishPrompts {
5
6
  publishSdk(fn) {
6
7
  return withSpinner('Publishing SDK', 'Publishing initiated.', 'SDK Publishing failed.', fn);
@@ -8,9 +9,74 @@ export class SdkPublishPrompts {
8
9
  sdkPublishingServiceError(serviceError) {
9
10
  log.error(serviceError.errorMessage);
10
11
  }
11
- dryRunNotice(publishingProfile, language, version, publishType) {
12
- const targets = publishType.map((t) => (t === PublishType.PackagePublishing ? 'Package' : 'Source Code')).join(' + ');
13
- log.info(`You can publish this SDK by removing the --dry-run flag. It will be published for the following:\n\n Profile: ${publishingProfile}\n Language: ${language}\n Version: ${version}\n Targets: ${targets}`);
12
+ dryRunNotice(publishingSummary) {
13
+ log.info(`You can publish this SDK by removing the --dry-run flag. It will be published for the following:` +
14
+ publishingSummary);
14
15
  }
16
+ publishingRunningNotice(publishingSummary) {
17
+ log.info(`Publishing is running for the following:` + publishingSummary);
18
+ }
19
+ publishingLogsMessage(publishingLogUrl) {
20
+ const message = `To track progress and view publishing logs, please visit:
21
+ ${f.link(publishingLogUrl)}`;
22
+ noteWrapped(message, 'Publishing Logs');
23
+ }
24
+ async pollPublishingStatus(getSdkPublishingLogFn) {
25
+ const TERMINAL_STATES = new Set(['Succeeded', 'Failed', 'Exception', 'InternalError']);
26
+ const POLL_INTERVAL_MS = 10000; // poll after every 10 seconds.
27
+ let abortWait;
28
+ const spin = spinner({
29
+ onCancel: () => {
30
+ abortWait === null || abortWait === void 0 ? void 0 : abortWait();
31
+ },
32
+ cancelMessage: 'Publishing is still running on APIMatic and will continue without the CLI.'
33
+ });
34
+ spin.start('Waiting for publishing status...');
35
+ while (!spin.isCancelled) {
36
+ const publishingLogResult = await getSdkPublishingLogFn();
37
+ if (publishingLogResult.isErr()) {
38
+ spin.stop('Failed to fetch publishing status.', 1);
39
+ return 'failed';
40
+ }
41
+ const { events } = publishingLogResult.value;
42
+ const executionCompleted = events.every((event) => TERMINAL_STATES.has(event.eventType));
43
+ const statusMessage = [...events]
44
+ .sort((a, b) => (a.publishType === 'SourceCode' ? -1 : b.publishType === 'SourceCode' ? 1 : 0))
45
+ .map((event) => {
46
+ var _a;
47
+ const target = event.publishType === 'SourceCode' ? 'Source Code' : 'Package';
48
+ const eventLabels = {
49
+ Queued: 'Queued',
50
+ InProgress: 'In Progress',
51
+ Succeeded: 'Published'
52
+ };
53
+ const label = (_a = eventLabels[event.eventType]) !== null && _a !== void 0 ? _a : 'Failed';
54
+ return `${target}: [${label}]`;
55
+ })
56
+ .join(' | ');
57
+ if (executionCompleted) {
58
+ const isExecutionSuccessful = events.every((event) => event.eventType === 'Succeeded');
59
+ spin.stop(statusMessage, isExecutionSuccessful ? 0 : 1);
60
+ return isExecutionSuccessful ? 'succeeded' : 'failed';
61
+ }
62
+ spin.message(statusMessage);
63
+ await new Promise((resolve) => {
64
+ const timer = setTimeout(resolve, POLL_INTERVAL_MS);
65
+ abortWait = () => {
66
+ clearTimeout(timer);
67
+ resolve();
68
+ };
69
+ });
70
+ abortWait = undefined;
71
+ }
72
+ return 'cancelled';
73
+ }
74
+ }
75
+ export function formatPublishingDetails({ profile, language, version, publishType, codegenOption }) {
76
+ const targets = [...publishType]
77
+ .map((t) => (t === PublishType.PackagePublishing ? "Package" : "Source Code"))
78
+ .join(" + ");
79
+ const generator = codegenOption ? `\n Generator: ${codegenOption}` : "";
80
+ return `\n\n Profile: ${profile}\n Language: ${language}\n Version: ${version}\n Targets: ${targets}${generator}`;
15
81
  }
16
82
  //# sourceMappingURL=publish.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"publish.js","sourceRoot":"","sources":["../../../src/prompts/sdk/publish.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,gBAAgB,CAAC;AAIrC,OAAO,EAAE,WAAW,EAAE,MAAM,oDAAoD,CAAC;AAGjF,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAG3C,MAAM,OAAO,iBAAiB;IACrB,UAAU,CAAC,EAAiD;QACjE,OAAO,WAAW,CAAC,gBAAgB,EAAE,uBAAuB,EAAE,wBAAwB,EAAE,EAAE,CAAC,CAAC;IAC9F,CAAC;IAEM,yBAAyB,CAAC,YAA0B;QACzD,GAAG,CAAC,KAAK,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC;IACvC,CAAC;IAEM,YAAY,CAAC,iBAAoC,EAAE,QAAkB,EAAE,OAAmB,EAAE,WAA0B;QAC3H,MAAM,OAAO,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,WAAW,CAAC,iBAAiB,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACtH,GAAG,CAAC,IAAI,CACN,oHAAoH,iBAAiB,kBAAkB,QAAQ,kBAAkB,OAAO,kBAAkB,OAAO,EAAE,CACpN,CAAC;IACJ,CAAC;CACF"}
1
+ {"version":3,"file":"publish.js","sourceRoot":"","sources":["../../../src/prompts/sdk/publish.ts"],"names":[],"mappings":"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"}
@@ -18,6 +18,9 @@ export declare class Directory {
18
18
  toTreeNode(): TreeNode;
19
19
  mapFilesInDirectory(map: (rootDir: DirectoryPath, fileItem: FileItem) => Promise<FileItem | undefined>): Promise<Directory>;
20
20
  isEmpty(): boolean;
21
+ excluding(names: FileName[]): Directory;
22
+ countFiles(): number;
23
+ countDirectories(): number;
21
24
  getAllFiles(): FilePath[];
22
25
  parseContentFolder(baseContentPath: DirectoryPath): Promise<TocGroup[]>;
23
26
  private getPageName;
@@ -48,6 +48,19 @@ export class Directory {
48
48
  isEmpty() {
49
49
  return this.items.length === 0;
50
50
  }
51
+ excluding(names) {
52
+ const excluded = names.map((name) => name.toString());
53
+ const kept = this.items.filter((item) => item instanceof Directory
54
+ ? !excluded.includes(item.directoryPath.leafName())
55
+ : !excluded.includes(item.fileName.toString()));
56
+ return new Directory(this.directoryPath, kept);
57
+ }
58
+ countFiles() {
59
+ return this.items.reduce((total, item) => total + (item instanceof Directory ? item.countFiles() : 1), 0);
60
+ }
61
+ countDirectories() {
62
+ return this.items.reduce((total, item) => total + (item instanceof Directory ? 1 + item.countDirectories() : 0), 0);
63
+ }
51
64
  getAllFiles() {
52
65
  const files = [];
53
66
  for (const item of this.items) {