@apimatic/cli 1.1.0-beta.1 → 1.1.0-beta.10
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 +14 -7
- package/lib/actions/action-result.d.ts +12 -6
- package/lib/actions/action-result.js +36 -10
- package/lib/actions/action-result.js.map +1 -1
- package/lib/actions/api/validate.d.ts +3 -1
- package/lib/actions/api/validate.js +14 -3
- package/lib/actions/api/validate.js.map +1 -1
- package/lib/actions/portal/copilot.js +2 -2
- package/lib/actions/portal/quickstart.d.ts +4 -3
- package/lib/actions/portal/quickstart.js +42 -19
- package/lib/actions/portal/quickstart.js.map +1 -1
- package/lib/actions/portal/serve.js +0 -14
- package/lib/actions/portal/serve.js.map +1 -1
- package/lib/actions/portal/toc/new-toc.d.ts +5 -5
- package/lib/actions/portal/toc/new-toc.js +39 -40
- package/lib/actions/portal/toc/new-toc.js.map +1 -1
- package/lib/actions/sdk/generate.d.ts +1 -1
- package/lib/actions/sdk/generate.js +38 -8
- package/lib/actions/sdk/generate.js.map +1 -1
- package/lib/actions/sdk/quickstart.d.ts +6 -3
- package/lib/actions/sdk/quickstart.js +48 -26
- package/lib/actions/sdk/quickstart.js.map +1 -1
- package/lib/application/portal/toc/toc-structure-generator.d.ts +23 -2
- package/lib/application/portal/toc/toc-structure-generator.js +131 -60
- package/lib/application/portal/toc/toc-structure-generator.js.map +1 -1
- package/lib/commands/portal/toc/new.d.ts +5 -3
- package/lib/commands/portal/toc/new.js +32 -24
- package/lib/commands/portal/toc/new.js.map +1 -1
- package/lib/commands/sdk/generate.d.ts +2 -2
- package/lib/commands/sdk/generate.js +10 -10
- package/lib/commands/sdk/generate.js.map +1 -1
- package/lib/infrastructure/debounce-service.js +3 -0
- package/lib/infrastructure/debounce-service.js.map +1 -1
- package/lib/infrastructure/file-service.d.ts +1 -0
- package/lib/infrastructure/file-service.js +11 -0
- package/lib/infrastructure/file-service.js.map +1 -1
- package/lib/infrastructure/services/api-service.d.ts +2 -1
- package/lib/infrastructure/services/api-service.js +24 -0
- package/lib/infrastructure/services/api-service.js.map +1 -1
- package/lib/infrastructure/services/portal-service.d.ts +2 -4
- package/lib/infrastructure/services/portal-service.js +75 -57
- package/lib/infrastructure/services/portal-service.js.map +1 -1
- package/lib/infrastructure/services/validation-service.d.ts +28 -2
- package/lib/infrastructure/services/validation-service.js +108 -15
- package/lib/infrastructure/services/validation-service.js.map +1 -1
- package/lib/prompts/api/validate.d.ts +5 -2
- package/lib/prompts/api/validate.js +36 -0
- package/lib/prompts/api/validate.js.map +1 -1
- package/lib/prompts/format.d.ts +1 -1
- package/lib/prompts/format.js.map +1 -1
- package/lib/prompts/portal/quickstart.d.ts +3 -0
- package/lib/prompts/portal/quickstart.js +39 -2
- package/lib/prompts/portal/quickstart.js.map +1 -1
- package/lib/prompts/portal/toc/new-toc.d.ts +1 -1
- package/lib/prompts/portal/toc/new-toc.js +10 -2
- package/lib/prompts/portal/toc/new-toc.js.map +1 -1
- package/lib/prompts/sdk/generate.d.ts +8 -3
- package/lib/prompts/sdk/generate.js +25 -5
- package/lib/prompts/sdk/generate.js.map +1 -1
- package/lib/prompts/sdk/quickstart.d.ts +4 -1
- package/lib/prompts/sdk/quickstart.js +41 -4
- package/lib/prompts/sdk/quickstart.js.map +1 -1
- package/lib/types/sdl/sdl.d.ts +20 -3
- package/lib/types/sdl/sdl.js +120 -22
- package/lib/types/sdl/sdl.js.map +1 -1
- package/lib/types/toc/toc.d.ts +31 -6
- package/lib/types/versioned-build-context.d.ts +15 -0
- package/lib/types/versioned-build-context.js +28 -0
- package/lib/types/versioned-build-context.js.map +1 -0
- package/lib/utils/string-utils.d.ts +1 -0
- package/lib/utils/string-utils.js +42 -0
- package/lib/utils/string-utils.js.map +1 -1
- package/package.json +2 -2
|
@@ -7,7 +7,6 @@ import { removeQuotes } from "../../utils/string-utils.js";
|
|
|
7
7
|
import { Language } from "../../types/sdk/generate.js";
|
|
8
8
|
const vscodeExtensionUrl = "https://marketplace.visualstudio.com/items?itemName=apimatic-developers.apimatic-for-vscode";
|
|
9
9
|
const sdkCustomizationUrl = "https://docs.apimatic.io/generate-sdks/codegen-settings/codegen-settings-overview/";
|
|
10
|
-
const defaultSrcDirectoryPath = process.cwd();
|
|
11
10
|
export class SdkQuickstartPrompts {
|
|
12
11
|
importSpecStep() {
|
|
13
12
|
log.info(`Step 1 of 4: Import your OpenAPI Definition`);
|
|
@@ -28,6 +27,42 @@ export class SdkQuickstartPrompts {
|
|
|
28
27
|
}
|
|
29
28
|
return createResourceInputFromInput(spec);
|
|
30
29
|
}
|
|
30
|
+
splitSpecDetected(unallowed) {
|
|
31
|
+
const featuresList = unallowed.Features.map((f) => ` • ${f}`).join("\n");
|
|
32
|
+
let endpointMessage = "";
|
|
33
|
+
if (unallowed.EndpointLimit < unallowed.EndpointCount) {
|
|
34
|
+
endpointMessage = `\nEndpoint limit exceeded: ${unallowed.EndpointCount} endpoints found, but your plan allows ${unallowed.EndpointLimit}\n`;
|
|
35
|
+
}
|
|
36
|
+
const message = [
|
|
37
|
+
"Your API Specification includes components not available on your current subscription plan:",
|
|
38
|
+
"",
|
|
39
|
+
featuresList,
|
|
40
|
+
endpointMessage,
|
|
41
|
+
"To continue:",
|
|
42
|
+
"- Remove these components from your API Specification and re-run this command.",
|
|
43
|
+
"- Combine your split API Specification files into a single file. We can automatically remove unsupported components from single-file specs.",
|
|
44
|
+
"- Upgrade your subscription to unlock additional features: https://www.apimatic.io/pricing"
|
|
45
|
+
].join("\n");
|
|
46
|
+
log.info(message);
|
|
47
|
+
}
|
|
48
|
+
stripUnallowedFeaturesStep(unallowed) {
|
|
49
|
+
const featuresList = unallowed.Features.map((f) => ` • ${f}`).join("\n");
|
|
50
|
+
let endpointMessage = "";
|
|
51
|
+
if (unallowed.EndpointLimit < unallowed.EndpointCount) {
|
|
52
|
+
const endpointsToRemove = unallowed.EndpointCount - unallowed.EndpointLimit;
|
|
53
|
+
endpointMessage = `\n${endpointsToRemove} endpoint(s) will be removed from your spec\n`;
|
|
54
|
+
}
|
|
55
|
+
const message = [
|
|
56
|
+
"Your API Specification includes components not available on your current subscription plan.",
|
|
57
|
+
"We'll automatically remove these components before proceeding:",
|
|
58
|
+
featuresList,
|
|
59
|
+
endpointMessage,
|
|
60
|
+
"",
|
|
61
|
+
"You won't see these components in the generated SDKs or documentation.",
|
|
62
|
+
"Want to keep them? Upgrade your subscription to unlock additional features: https://www.apimatic.io/pricing"
|
|
63
|
+
].join("\n");
|
|
64
|
+
log.info(message);
|
|
65
|
+
}
|
|
31
66
|
specFileDoesNotExist() {
|
|
32
67
|
log.error("The specified file does not exist or is not a valid file. Please enter a valid file path.");
|
|
33
68
|
}
|
|
@@ -126,10 +161,12 @@ export class SdkQuickstartPrompts {
|
|
|
126
161
|
sdkOpenedInEditor() {
|
|
127
162
|
log.info("Opened the SDK directory in VS Code. To get started with your SDK, review the README file.");
|
|
128
163
|
}
|
|
129
|
-
nextSteps(language,
|
|
130
|
-
const
|
|
164
|
+
nextSteps(language, inputDirectory) {
|
|
165
|
+
const inputDirectoryFlag = !inputDirectory.isEqual(DirectoryPath.default)
|
|
166
|
+
? `${f.flag("input", inputDirectory.toString())} `
|
|
167
|
+
: "";
|
|
131
168
|
const message = `Run the command
|
|
132
|
-
'${f.cmdAlt("apimatic", "sdk", "generate")} ${
|
|
169
|
+
'${f.cmdAlt("apimatic", "sdk", "generate")} ${inputDirectoryFlag}${f.flag("language", language)}'
|
|
133
170
|
to regenerate your SDK.
|
|
134
171
|
|
|
135
172
|
To learn more about customizing your SDK, visit:
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"quickstart.js","sourceRoot":"","sources":["../../../src/prompts/sdk/quickstart.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAE7D,OAAO,EAAE,MAAM,IAAI,CAAC,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAExD,OAAO,EAAE,4BAA4B,EAAiB,MAAM,oCAAoC,CAAC;AAGjG,OAAO,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAC;AAClE,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAE3D,OAAO,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;
|
|
1
|
+
{"version":3,"file":"quickstart.js","sourceRoot":"","sources":["../../../src/prompts/sdk/quickstart.ts"],"names":[],"mappings":"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"}
|
package/lib/types/sdl/sdl.d.ts
CHANGED
|
@@ -1,21 +1,38 @@
|
|
|
1
|
-
import { TocEndpoint,
|
|
1
|
+
import { TocEndpoint, TocModelPage, TocWebhookPage, TocCallbackPage } from '../toc/toc.js';
|
|
2
2
|
export type EndpointGroup = Map<string, TocEndpoint[]>;
|
|
3
|
+
export type WebhookGroup = Map<string, TocWebhookPage[]>;
|
|
4
|
+
export type CallbackGroup = Map<string, TocCallbackPage[]>;
|
|
3
5
|
export type SdlTocComponents = {
|
|
4
6
|
endpointGroups: EndpointGroup;
|
|
5
|
-
models:
|
|
7
|
+
models: TocModelPage[];
|
|
8
|
+
webhookGroups: WebhookGroup;
|
|
9
|
+
callbackGroups: CallbackGroup;
|
|
6
10
|
};
|
|
7
11
|
export interface Sdl {
|
|
8
12
|
readonly Endpoints: SdlEndpoint[];
|
|
9
13
|
readonly CustomTypes: SdlModel[];
|
|
14
|
+
readonly Webhooks: SdlWebhook[];
|
|
10
15
|
}
|
|
11
16
|
export interface SdlEndpoint {
|
|
12
17
|
readonly Name: string;
|
|
13
18
|
readonly Description: string;
|
|
14
19
|
readonly Group: string;
|
|
20
|
+
readonly Callbacks: SdlCallback[];
|
|
15
21
|
}
|
|
16
22
|
export interface SdlModel {
|
|
17
23
|
readonly Name: string;
|
|
18
24
|
}
|
|
19
|
-
export
|
|
25
|
+
export interface SdlCallback {
|
|
26
|
+
readonly Id: string;
|
|
27
|
+
readonly CallbackGroupName?: string;
|
|
28
|
+
}
|
|
29
|
+
export interface SdlWebhook {
|
|
30
|
+
readonly Id: string;
|
|
31
|
+
readonly WebhookGroupName?: string;
|
|
32
|
+
}
|
|
20
33
|
export declare function getEndpointDescription(endpointGroups: Map<string, SdlEndpoint[]>, endpointGroupName: string, endpointName: string): string;
|
|
21
34
|
export declare function getEndpointGroupsFromSdl(sdl: Sdl): Map<string, SdlEndpoint[]>;
|
|
35
|
+
export declare function extractEndpointGroupsForToc(sdl: Sdl): Map<string, TocEndpoint[]>;
|
|
36
|
+
export declare function extractModelsForToc(sdl: Sdl): TocModelPage[];
|
|
37
|
+
export declare function extractWebhooksForToc(sdl: Sdl): Map<string, TocWebhookPage[]>;
|
|
38
|
+
export declare function extractCallbacksForToc(sdl: Sdl): Map<string, TocCallbackPage[]>;
|
package/lib/types/sdl/sdl.js
CHANGED
|
@@ -1,8 +1,27 @@
|
|
|
1
|
-
|
|
1
|
+
import { toTitleCase } from '../../utils/string-utils.js';
|
|
2
|
+
export function getEndpointDescription(endpointGroups, endpointGroupName, endpointName) {
|
|
3
|
+
return endpointGroups.get(endpointGroupName).find((e) => e.Name === endpointName).Description;
|
|
4
|
+
}
|
|
5
|
+
export function getEndpointGroupsFromSdl(sdl) {
|
|
6
|
+
const endpointGroups = new Map();
|
|
7
|
+
for (const endpoint of sdl.Endpoints) {
|
|
8
|
+
if (!endpointGroups.has(endpoint.Group)) {
|
|
9
|
+
endpointGroups.set(endpoint.Group, []);
|
|
10
|
+
}
|
|
11
|
+
endpointGroups.get(endpoint.Group).push({
|
|
12
|
+
Name: endpoint.Name,
|
|
13
|
+
Description: endpoint.Description,
|
|
14
|
+
Group: endpoint.Group,
|
|
15
|
+
Callbacks: endpoint.Callbacks
|
|
16
|
+
});
|
|
17
|
+
}
|
|
18
|
+
return endpointGroups;
|
|
19
|
+
}
|
|
20
|
+
export function extractEndpointGroupsForToc(sdl) {
|
|
2
21
|
const endpointGroups = new Map();
|
|
3
22
|
const endpoints = sdl.Endpoints.map((e) => ({
|
|
4
23
|
generate: null,
|
|
5
|
-
from:
|
|
24
|
+
from: 'endpoint',
|
|
6
25
|
endpointName: e.Name,
|
|
7
26
|
endpointGroup: e.Group
|
|
8
27
|
}));
|
|
@@ -15,33 +34,112 @@ function extractEndpointGroupsForToc(sdl) {
|
|
|
15
34
|
});
|
|
16
35
|
return endpointGroups;
|
|
17
36
|
}
|
|
18
|
-
function extractModelsForToc(sdl) {
|
|
37
|
+
export function extractModelsForToc(sdl) {
|
|
19
38
|
return sdl.CustomTypes.map((e) => ({
|
|
20
39
|
generate: null,
|
|
21
|
-
from:
|
|
40
|
+
from: 'model',
|
|
22
41
|
modelName: e.Name
|
|
23
42
|
}));
|
|
24
43
|
}
|
|
25
|
-
export function
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
|
|
44
|
+
export function extractWebhooksForToc(sdl) {
|
|
45
|
+
var _a;
|
|
46
|
+
if (sdl.Webhooks.length === 0) {
|
|
47
|
+
return new Map();
|
|
48
|
+
}
|
|
49
|
+
let groupedWebhooks = new Map();
|
|
50
|
+
const ungrouped = [];
|
|
51
|
+
for (const webhook of sdl.Webhooks) {
|
|
52
|
+
const event = {
|
|
53
|
+
generate: null,
|
|
54
|
+
from: 'webhook',
|
|
55
|
+
webhookName: webhook.Id,
|
|
56
|
+
webhookGroup: (_a = webhook.WebhookGroupName) !== null && _a !== void 0 ? _a : null
|
|
57
|
+
};
|
|
58
|
+
if (webhook.WebhookGroupName) {
|
|
59
|
+
const groupTitle = toTitleCase(webhook.WebhookGroupName);
|
|
60
|
+
if (!groupedWebhooks.has(groupTitle)) {
|
|
61
|
+
groupedWebhooks.set(groupTitle, [
|
|
62
|
+
{
|
|
63
|
+
generate: null,
|
|
64
|
+
from: 'webhook-group-overview',
|
|
65
|
+
webhookGroup: webhook.WebhookGroupName
|
|
66
|
+
}
|
|
67
|
+
]);
|
|
68
|
+
}
|
|
69
|
+
groupedWebhooks.get(groupTitle).push(event);
|
|
70
|
+
}
|
|
71
|
+
else {
|
|
72
|
+
ungrouped.push(event);
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
let ungroupedWebhooks = new Map();
|
|
76
|
+
if (ungrouped.length > 0) {
|
|
77
|
+
const uniqueGroupName = getUniqueGroupName('Webhooks', new Set(groupedWebhooks.keys()));
|
|
78
|
+
const uniqueGroupTitle = toTitleCase(uniqueGroupName);
|
|
79
|
+
ungroupedWebhooks.set(uniqueGroupTitle, [
|
|
80
|
+
{
|
|
81
|
+
generate: null,
|
|
82
|
+
from: 'webhook-group-overview',
|
|
83
|
+
webhookGroup: uniqueGroupName
|
|
84
|
+
},
|
|
85
|
+
...ungrouped.map((event) => (Object.assign(Object.assign({}, event), { webhookGroup: uniqueGroupName })))
|
|
86
|
+
]);
|
|
87
|
+
}
|
|
88
|
+
return new Map([...[...groupedWebhooks].sort((a, b) => a[0].localeCompare(b[0])), ...ungroupedWebhooks]);
|
|
32
89
|
}
|
|
33
|
-
export function
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
90
|
+
export function extractCallbacksForToc(sdl) {
|
|
91
|
+
var _a;
|
|
92
|
+
if (sdl.Endpoints.length === 0) {
|
|
93
|
+
return new Map();
|
|
94
|
+
}
|
|
95
|
+
let groupedCallbacks = new Map();
|
|
96
|
+
const ungrouped = [];
|
|
97
|
+
for (const callback of sdl.Endpoints.flatMap((e) => e.Callbacks)) {
|
|
98
|
+
const event = {
|
|
99
|
+
generate: null,
|
|
100
|
+
from: 'callback',
|
|
101
|
+
callbackName: callback.Id,
|
|
102
|
+
callbackGroup: (_a = callback.CallbackGroupName) !== null && _a !== void 0 ? _a : null
|
|
103
|
+
};
|
|
104
|
+
if (callback.CallbackGroupName) {
|
|
105
|
+
const groupTitle = toTitleCase(callback.CallbackGroupName);
|
|
106
|
+
if (!groupedCallbacks.has(groupTitle)) {
|
|
107
|
+
groupedCallbacks.set(groupTitle, [
|
|
108
|
+
{
|
|
109
|
+
generate: null,
|
|
110
|
+
from: 'callback-group-overview',
|
|
111
|
+
callbackGroup: callback.CallbackGroupName
|
|
112
|
+
}
|
|
113
|
+
]);
|
|
114
|
+
}
|
|
115
|
+
groupedCallbacks.get(groupTitle).push(event);
|
|
116
|
+
}
|
|
117
|
+
else {
|
|
118
|
+
ungrouped.push(event);
|
|
38
119
|
}
|
|
39
|
-
endpointGroups.get(endpoint.Group).push({
|
|
40
|
-
Name: endpoint.Name,
|
|
41
|
-
Description: endpoint.Description,
|
|
42
|
-
Group: endpoint.Group
|
|
43
|
-
});
|
|
44
120
|
}
|
|
45
|
-
|
|
121
|
+
let ungroupedCallbacks = new Map();
|
|
122
|
+
if (ungrouped.length > 0) {
|
|
123
|
+
const uniqueGroupName = getUniqueGroupName('Callbacks', new Set(groupedCallbacks.keys()));
|
|
124
|
+
const uniqueGroupTitle = toTitleCase(uniqueGroupName);
|
|
125
|
+
ungroupedCallbacks.set(uniqueGroupTitle, [
|
|
126
|
+
{
|
|
127
|
+
generate: null,
|
|
128
|
+
from: 'callback-group-overview',
|
|
129
|
+
callbackGroup: uniqueGroupName
|
|
130
|
+
},
|
|
131
|
+
...ungrouped.map((event) => (Object.assign(Object.assign({}, event), { callbackGroup: uniqueGroupName })))
|
|
132
|
+
]);
|
|
133
|
+
}
|
|
134
|
+
return new Map([...[...groupedCallbacks].sort((a, b) => a[0].localeCompare(b[0])), ...ungroupedCallbacks]);
|
|
135
|
+
}
|
|
136
|
+
function getUniqueGroupName(baseName, existingGroups) {
|
|
137
|
+
let counter = 1;
|
|
138
|
+
let name = baseName;
|
|
139
|
+
while (existingGroups.has(toTitleCase(name))) {
|
|
140
|
+
name = `${baseName}${counter}`;
|
|
141
|
+
counter++;
|
|
142
|
+
}
|
|
143
|
+
return name;
|
|
46
144
|
}
|
|
47
145
|
//# sourceMappingURL=sdl.js.map
|
package/lib/types/sdl/sdl.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sdl.js","sourceRoot":"","sources":["../../../src/types/sdl/sdl.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"sdl.js","sourceRoot":"","sources":["../../../src/types/sdl/sdl.ts"],"names":[],"mappings":"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"}
|
package/lib/types/toc/toc.d.ts
CHANGED
|
@@ -3,28 +3,53 @@ export interface Toc {
|
|
|
3
3
|
}
|
|
4
4
|
export interface TocGroup {
|
|
5
5
|
readonly group: string;
|
|
6
|
-
readonly items: Array<TocGroup | TocGenerated |
|
|
6
|
+
readonly items: Array<TocGroup | TocGenerated | TocEndpointPage | TocWebhookPage | TocCallbackPage | TocModelPage | TocCustomPage>;
|
|
7
7
|
}
|
|
8
8
|
export interface TocGenerated {
|
|
9
|
-
readonly generate: string;
|
|
9
|
+
readonly generate: string | null;
|
|
10
10
|
readonly from: string;
|
|
11
11
|
}
|
|
12
|
+
export type TocEndpointPage = TocEndpoint | TocEndpointGroupOverview;
|
|
13
|
+
export type TocWebhookPage = TocWebhook | TocWebhookOverview;
|
|
14
|
+
export type TocCallbackPage = TocCallback | TocCallbackOverview;
|
|
12
15
|
export interface TocEndpointGroupOverview {
|
|
13
16
|
readonly generate: null;
|
|
14
|
-
readonly from:
|
|
17
|
+
readonly from: 'endpoint-group-overview';
|
|
15
18
|
readonly endpointGroup: string;
|
|
16
19
|
}
|
|
17
20
|
export interface TocEndpoint {
|
|
18
21
|
readonly generate: null;
|
|
19
|
-
readonly from:
|
|
22
|
+
readonly from: 'endpoint';
|
|
20
23
|
readonly endpointName: string;
|
|
21
24
|
readonly endpointGroup: string;
|
|
22
25
|
}
|
|
23
|
-
export interface
|
|
26
|
+
export interface TocModelPage {
|
|
24
27
|
readonly generate: null;
|
|
25
|
-
readonly from:
|
|
28
|
+
readonly from: 'model';
|
|
26
29
|
readonly modelName: string;
|
|
27
30
|
}
|
|
31
|
+
export interface TocWebhookOverview {
|
|
32
|
+
readonly generate: null;
|
|
33
|
+
readonly from: 'webhook-group-overview';
|
|
34
|
+
readonly webhookGroup: string | null;
|
|
35
|
+
}
|
|
36
|
+
export interface TocWebhook {
|
|
37
|
+
readonly generate: null;
|
|
38
|
+
readonly from: 'webhook';
|
|
39
|
+
readonly webhookName: string;
|
|
40
|
+
readonly webhookGroup: string | null;
|
|
41
|
+
}
|
|
42
|
+
export interface TocCallbackOverview {
|
|
43
|
+
readonly generate: null;
|
|
44
|
+
readonly from: 'callback-group-overview';
|
|
45
|
+
readonly callbackGroup: string | null;
|
|
46
|
+
}
|
|
47
|
+
export interface TocCallback {
|
|
48
|
+
readonly generate: null;
|
|
49
|
+
readonly from: 'callback';
|
|
50
|
+
readonly callbackName: string;
|
|
51
|
+
readonly callbackGroup: string | null;
|
|
52
|
+
}
|
|
28
53
|
export interface TocCustomPage {
|
|
29
54
|
readonly page: string;
|
|
30
55
|
readonly file: string;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { DirectoryPath } from "./file/directoryPath.js";
|
|
2
|
+
type VersionedBuildValidateResult = {
|
|
3
|
+
isValid: false;
|
|
4
|
+
} | {
|
|
5
|
+
isValid: true;
|
|
6
|
+
versionsDirectory: DirectoryPath;
|
|
7
|
+
versions: string[];
|
|
8
|
+
};
|
|
9
|
+
export declare class VersionedBuildContext {
|
|
10
|
+
private readonly fileService;
|
|
11
|
+
private readonly buildDirectory;
|
|
12
|
+
constructor(buildDirectory: DirectoryPath);
|
|
13
|
+
validate(): Promise<VersionedBuildValidateResult>;
|
|
14
|
+
}
|
|
15
|
+
export {};
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { FileService } from "../infrastructure/file-service.js";
|
|
2
|
+
import { BuildContext } from "./build-context.js";
|
|
3
|
+
export class VersionedBuildContext {
|
|
4
|
+
constructor(buildDirectory) {
|
|
5
|
+
this.fileService = new FileService();
|
|
6
|
+
this.buildDirectory = buildDirectory;
|
|
7
|
+
}
|
|
8
|
+
async validate() {
|
|
9
|
+
var _a;
|
|
10
|
+
const buildContext = new BuildContext(this.buildDirectory);
|
|
11
|
+
if (!(await buildContext.validate())) {
|
|
12
|
+
return { isValid: false };
|
|
13
|
+
}
|
|
14
|
+
const config = await buildContext.getBuildFileContents();
|
|
15
|
+
if (!("generateVersionedPortal" in config)) {
|
|
16
|
+
return { isValid: false };
|
|
17
|
+
}
|
|
18
|
+
const versionsPath = (_a = config.versionsPath) !== null && _a !== void 0 ? _a : "versioned_docs";
|
|
19
|
+
const versionsDirectory = this.buildDirectory.join(versionsPath);
|
|
20
|
+
if (!(await this.fileService.directoryExists(versionsDirectory))) {
|
|
21
|
+
return { isValid: false };
|
|
22
|
+
}
|
|
23
|
+
const versionsDirs = await this.fileService.getSubDirectoriesPaths(versionsDirectory);
|
|
24
|
+
const versions = versionsDirs.map((dir) => dir.leafName());
|
|
25
|
+
return { isValid: true, versionsDirectory, versions };
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
//# sourceMappingURL=versioned-build-context.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"versioned-build-context.js","sourceRoot":"","sources":["../../src/types/versioned-build-context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,mCAAmC,CAAC;AAEhE,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAQlD,MAAM,OAAO,qBAAqB;IAIhC,YAAY,cAA6B;QAHxB,gBAAW,GAAG,IAAI,WAAW,EAAE,CAAC;QAI/C,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;IACvC,CAAC;IAEM,KAAK,CAAC,QAAQ;;QACnB,MAAM,YAAY,GAAG,IAAI,YAAY,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAC3D,IAAI,CAAC,CAAC,MAAM,YAAY,CAAC,QAAQ,EAAE,CAAC,EAAE,CAAC;YACrC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;QAC5B,CAAC;QACD,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,oBAAoB,EAAE,CAAC;QACzD,IAAI,CAAC,CAAC,yBAAyB,IAAI,MAAM,CAAC,EAAE,CAAC;YAC3C,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;QAC5B,CAAC;QACD,MAAM,YAAY,GAAG,MAAC,MAAM,CAAC,YAAuB,mCAAI,gBAAgB,CAAC;QACzE,MAAM,iBAAiB,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QACjE,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC,iBAAiB,CAAC,CAAC,EAAE,CAAC;YACjE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;QAC5B,CAAC;QACD,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,sBAAsB,CAAC,iBAAiB,CAAC,CAAC;QACtF,MAAM,QAAQ,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC3D,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,iBAAiB,EAAE,QAAQ,EAAE,CAAC;IACxD,CAAC;CACF"}
|
|
@@ -34,4 +34,46 @@ export function stripAnsi(str) {
|
|
|
34
34
|
}
|
|
35
35
|
return result;
|
|
36
36
|
}
|
|
37
|
+
export function toTitleCase(str) {
|
|
38
|
+
if (str === '') {
|
|
39
|
+
return '';
|
|
40
|
+
}
|
|
41
|
+
let result = '';
|
|
42
|
+
let shouldCapitalizeNext = true;
|
|
43
|
+
for (let i = 0; i < str.length; i++) {
|
|
44
|
+
const char = str[i];
|
|
45
|
+
const prevChar = i > 0 ? str[i - 1] : '';
|
|
46
|
+
if (isLowercase(char)) {
|
|
47
|
+
result += shouldCapitalizeNext ? ' ' + char.toUpperCase() : char;
|
|
48
|
+
shouldCapitalizeNext = false;
|
|
49
|
+
}
|
|
50
|
+
else if (isUppercase(char)) {
|
|
51
|
+
if (prevChar && !isUppercase(prevChar)) {
|
|
52
|
+
result += ' ';
|
|
53
|
+
}
|
|
54
|
+
result += char;
|
|
55
|
+
shouldCapitalizeNext = false;
|
|
56
|
+
}
|
|
57
|
+
else if (isDigit(char)) {
|
|
58
|
+
if (prevChar && !isDigit(prevChar)) {
|
|
59
|
+
result += ' ';
|
|
60
|
+
}
|
|
61
|
+
result += char;
|
|
62
|
+
shouldCapitalizeNext = true;
|
|
63
|
+
}
|
|
64
|
+
else {
|
|
65
|
+
shouldCapitalizeNext = true;
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
return result.trim();
|
|
69
|
+
}
|
|
70
|
+
function isLowercase(char) {
|
|
71
|
+
return char >= 'a' && char <= 'z';
|
|
72
|
+
}
|
|
73
|
+
function isUppercase(char) {
|
|
74
|
+
return char >= 'A' && char <= 'Z';
|
|
75
|
+
}
|
|
76
|
+
function isDigit(char) {
|
|
77
|
+
return char.length === 1 && char >= '0' && char <= '9';
|
|
78
|
+
}
|
|
37
79
|
//# sourceMappingURL=string-utils.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"string-utils.js","sourceRoot":"","sources":["../../src/utils/string-utils.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,KAAa,EAAU,EAAE;IACpD,MAAM,MAAM,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IAE1B,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,IAAI,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACzE,OAAO,YAAY,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,iBAAiB;QAC5D,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"string-utils.js","sourceRoot":"","sources":["../../src/utils/string-utils.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,KAAa,EAAU,EAAE;IACpD,MAAM,MAAM,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IAE1B,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,IAAI,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACzE,OAAO,YAAY,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,iBAAiB;QAC5D,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC,CAAC;AAEF,MAAM,UAAU,SAAS,CAAC,GAAW;IACnC,IAAI,MAAM,GAAG,EAAE,CAAC;IAChB,IAAI,CAAC,GAAG,CAAC,CAAC;IAEV,OAAO,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC;QACtB,MAAM,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;QACpB,oBAAoB;QACpB,IAAI,IAAI,KAAK,MAAM,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;YAC1C,iEAAiE;YACjE,CAAC,IAAI,CAAC,CAAC,CAAC,YAAY;YACpB,OAAO,CAAC,GAAG,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;gBACxC,CAAC,EAAE,CAAC;YACN,CAAC;YACD,sBAAsB;YACtB,CAAC,EAAE,CAAC;QACN,CAAC;aAAM,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,EAAE,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;YACjE,sCAAsC;YACtC,CAAC,EAAE,CAAC;QACN,CAAC;aAAM,CAAC;YACN,kCAAkC;YAClC,MAAM,IAAI,IAAI,CAAC;YACf,CAAC,EAAE,CAAC;QACN,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,GAAW;IACrC,IAAI,GAAG,KAAK,EAAE,EAAE,CAAC;QACf,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,IAAI,MAAM,GAAG,EAAE,CAAC;IAChB,IAAI,oBAAoB,GAAG,IAAI,CAAC;IAEhC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACpC,MAAM,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;QACpB,MAAM,QAAQ,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAEzC,IAAI,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC;YACtB,MAAM,IAAI,oBAAoB,CAAC,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;YACjE,oBAAoB,GAAG,KAAK,CAAC;QAC/B,CAAC;aAAM,IAAI,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC;YAC7B,IAAI,QAAQ,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACvC,MAAM,IAAI,GAAG,CAAC;YAChB,CAAC;YACD,MAAM,IAAI,IAAI,CAAC;YACf,oBAAoB,GAAG,KAAK,CAAC;QAC/B,CAAC;aAAM,IAAI,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;YACzB,IAAI,QAAQ,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACnC,MAAM,IAAI,GAAG,CAAC;YAChB,CAAC;YACD,MAAM,IAAI,IAAI,CAAC;YACf,oBAAoB,GAAG,IAAI,CAAC;QAC9B,CAAC;aAAM,CAAC;YACN,oBAAoB,GAAG,IAAI,CAAC;QAC9B,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC,IAAI,EAAE,CAAC;AACvB,CAAC;AAED,SAAS,WAAW,CAAC,IAAY;IAC/B,OAAO,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,CAAC;AACpC,CAAC;AAED,SAAS,WAAW,CAAC,IAAY;IAC/B,OAAO,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,CAAC;AACpC,CAAC;AAED,SAAS,OAAO,CAAC,IAAY;IAC3B,OAAO,IAAI,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,CAAC;AACzD,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@apimatic/cli",
|
|
3
3
|
"description": "The official CLI for APIMatic.",
|
|
4
|
-
"version": "1.1.0-beta.
|
|
4
|
+
"version": "1.1.0-beta.10",
|
|
5
5
|
"author": "APIMatic",
|
|
6
6
|
"bin": {
|
|
7
7
|
"apimatic": "./bin/run.js"
|
|
@@ -47,7 +47,7 @@
|
|
|
47
47
|
"test": "tsx node_modules/mocha/bin/_mocha --forbid-only \"test/**/*.test.ts\" --timeout 99999"
|
|
48
48
|
},
|
|
49
49
|
"dependencies": {
|
|
50
|
-
"@apimatic/sdk": "^0.2.0-alpha.
|
|
50
|
+
"@apimatic/sdk": "^0.2.0-alpha.7",
|
|
51
51
|
"@clack/prompts": "1.0.0-alpha.1",
|
|
52
52
|
"@oclif/core": "^4.2.8",
|
|
53
53
|
"@oclif/plugin-autocomplete": "^3.2.24",
|