@apimatic/cli 2.0.0-beta.3 → 2.0.0-beta.5
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 +18 -67
- package/apimatic.schema.json +2 -2
- package/lib/actions/action-result.d.ts +4 -2
- package/lib/actions/action-result.js +8 -3
- package/lib/actions/action-result.js.map +1 -1
- package/lib/actions/api/transform.d.ts +7 -6
- package/lib/actions/api/transform.js +12 -13
- package/lib/actions/api/transform.js.map +1 -1
- package/lib/actions/api/validate.d.ts +4 -5
- package/lib/actions/api/validate.js +30 -32
- package/lib/actions/api/validate.js.map +1 -1
- package/lib/actions/plugin/record-metadata.js +1 -1
- package/lib/actions/plugin/record-metadata.js.map +1 -1
- package/lib/actions/portal/generate.js +3 -3
- package/lib/actions/portal/generate.js.map +1 -1
- package/lib/actions/quickstart.d.ts +1 -9
- package/lib/actions/quickstart.js +122 -102
- package/lib/actions/quickstart.js.map +1 -1
- package/lib/commands/api/transform.d.ts +1 -1
- package/lib/commands/api/transform.js +2 -2
- package/lib/commands/api/transform.js.map +1 -1
- package/lib/commands/api/validate.d.ts +3 -3
- package/lib/commands/api/validate.js +28 -17
- package/lib/commands/api/validate.js.map +1 -1
- package/lib/commands/plugin/generate.d.ts +1 -1
- package/lib/commands/portal/generate.d.ts +2 -2
- package/lib/commands/portal/generate.js +1 -1
- package/lib/commands/portal/generate.js.map +1 -1
- package/lib/commands/portal/serve.d.ts +2 -2
- package/lib/commands/portal/serve.js +1 -1
- package/lib/commands/quickstart.d.ts +1 -1
- package/lib/commands/quickstart.js +1 -1
- package/lib/commands/quickstart.js.map +1 -1
- package/lib/commands/sdk/generate.d.ts +2 -2
- package/lib/commands/sdk/generate.js +4 -2
- package/lib/commands/sdk/generate.js.map +1 -1
- package/lib/infrastructure/file-service.d.ts +3 -0
- package/lib/infrastructure/file-service.js +24 -0
- package/lib/infrastructure/file-service.js.map +1 -1
- package/lib/infrastructure/portal-dev-server-service.js +2 -1
- package/lib/infrastructure/portal-dev-server-service.js.map +1 -1
- package/lib/infrastructure/portal-project-service.d.ts +1 -0
- package/lib/infrastructure/portal-project-service.js +7 -3
- package/lib/infrastructure/portal-project-service.js.map +1 -1
- package/lib/infrastructure/service-error.js +15 -15
- package/lib/infrastructure/service-error.js.map +1 -1
- package/lib/infrastructure/services/file-download-service.d.ts +4 -4
- package/lib/infrastructure/services/file-download-service.js +14 -14
- package/lib/infrastructure/services/file-download-service.js.map +1 -1
- package/lib/prompts/api/transform.d.ts +0 -2
- package/lib/prompts/api/transform.js +0 -3
- package/lib/prompts/api/transform.js.map +1 -1
- package/lib/prompts/api/validate.d.ts +2 -2
- package/lib/prompts/api/validate.js +35 -3
- 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/plugin/record-metadata.d.ts +1 -1
- package/lib/prompts/plugin/record-metadata.js +2 -2
- package/lib/prompts/portal/generate.d.ts +2 -1
- package/lib/prompts/portal/generate.js +22 -6
- package/lib/prompts/portal/generate.js.map +1 -1
- package/lib/prompts/portal/prepare-project.js +5 -0
- package/lib/prompts/portal/prepare-project.js.map +1 -1
- package/lib/prompts/portal/serve.js +4 -3
- package/lib/prompts/portal/serve.js.map +1 -1
- package/lib/prompts/portal/source.d.ts +2 -5
- package/lib/prompts/portal/source.js +7 -17
- package/lib/prompts/portal/source.js.map +1 -1
- package/lib/prompts/publishing/links.d.ts +1 -1
- package/lib/prompts/publishing/links.js +1 -1
- package/lib/prompts/publishing/links.js.map +1 -1
- package/lib/prompts/quickstart.d.ts +14 -13
- package/lib/prompts/quickstart.js +44 -29
- package/lib/prompts/quickstart.js.map +1 -1
- package/lib/types/apimatic-config/document.d.ts +2 -0
- package/lib/types/apimatic-config/document.js +4 -0
- package/lib/types/apimatic-config/document.js.map +1 -1
- package/lib/types/apimatic-config-context.d.ts +1 -1
- package/lib/types/apimatic-config-context.js +1 -1
- package/lib/types/apimatic-config-context.js.map +1 -1
- package/lib/types/file/resource-input.d.ts +7 -5
- package/lib/types/file/resource-input.js +16 -15
- package/lib/types/file/resource-input.js.map +1 -1
- package/lib/types/flags-provider.d.ts +6 -1
- package/lib/types/flags-provider.js +22 -12
- package/lib/types/flags-provider.js.map +1 -1
- package/lib/types/plugin-config-context.d.ts +3 -0
- package/lib/types/plugin-config-context.js +33 -12
- package/lib/types/plugin-config-context.js.map +1 -1
- package/lib/types/portal/config/site-address.d.ts +16 -0
- package/lib/types/portal/config/site-address.js +67 -0
- package/lib/types/portal/config/site-address.js.map +1 -0
- package/lib/types/portal/config/site-config.d.ts +3 -5
- package/lib/types/portal/config/site-config.js +10 -33
- package/lib/types/portal/config/site-config.js.map +1 -1
- package/lib/types/portal/config/static-asset.d.ts +2 -2
- package/lib/types/portal/config/static-asset.js +2 -2
- package/lib/types/portal/config/static-asset.js.map +1 -1
- package/lib/types/portal/content-tree.d.ts +11 -4
- package/lib/types/portal/content-tree.js +19 -4
- package/lib/types/portal/content-tree.js.map +1 -1
- package/lib/types/portal/page.js +16 -1
- package/lib/types/portal/page.js.map +1 -1
- package/lib/types/portal/portal-config.d.ts +6 -3
- package/lib/types/portal/portal-config.js +8 -4
- package/lib/types/portal/portal-config.js.map +1 -1
- package/lib/types/portal/portal-languages.d.ts +2 -0
- package/lib/types/portal/portal-languages.js +5 -1
- package/lib/types/portal/portal-languages.js.map +1 -1
- package/lib/types/portal/portal-source.d.ts +9 -3
- package/lib/types/portal-source-context.d.ts +7 -8
- package/lib/types/portal-source-context.js +51 -26
- package/lib/types/portal-source-context.js.map +1 -1
- package/lib/types/project-context.d.ts +18 -0
- package/lib/types/project-context.js +18 -1
- package/lib/types/project-context.js.map +1 -1
- package/lib/types/resource-context.d.ts +25 -10
- package/lib/types/resource-context.js +40 -23
- package/lib/types/resource-context.js.map +1 -1
- package/lib/types/sdk/generate.d.ts +1 -4
- package/lib/types/sdk/generate.js +6 -6
- package/lib/types/sdk/generate.js.map +1 -1
- package/oclif.manifest.json +90 -72
- package/package.json +2 -2
- package/portal-template/dependency-directories.ts +45 -0
- package/portal-template/downloads.ts +6 -3
- package/portal-template/portal-config.ts +2 -0
- package/portal-template/prerender-pages.ts +8 -2
- package/portal-template/src/components/api-markdown.tsx +32 -0
- package/portal-template/src/components/api-page.tsx +8 -1
- package/portal-template/src/components/authorization-failure.tsx +63 -0
- package/portal-template/src/components/markdown-copy-button.tsx +60 -0
- package/portal-template/src/components/plugin-install.tsx +6 -5
- package/portal-template/src/components/sdk-actions.tsx +3 -2
- package/portal-template/src/components/sdk-cards.tsx +2 -1
- package/portal-template/src/components/search.tsx +9 -2
- package/portal-template/src/lib/base-path.ts +14 -0
- package/portal-template/src/lib/code-titles.ts +8 -0
- package/portal-template/src/lib/copy-markdown.ts +14 -0
- package/portal-template/src/lib/install-command.ts +5 -5
- package/portal-template/src/lib/layout.shared.tsx +5 -3
- package/portal-template/src/lib/llms.server.ts +29 -5
- package/portal-template/src/lib/oauth-callback.ts +63 -0
- package/portal-template/src/lib/portal-types.ts +3 -3
- package/portal-template/src/lib/rehype-code-titles.ts +3 -5
- package/portal-template/src/lib/remark-image-references.ts +35 -0
- package/portal-template/src/lib/search-content.ts +28 -0
- package/portal-template/src/lib/search-options.ts +7 -0
- package/portal-template/src/lib/source.server.ts +2 -0
- package/portal-template/src/router.tsx +3 -1
- package/portal-template/src/routes/$.tsx +6 -10
- package/portal-template/src/routes/__root.tsx +8 -1
- package/portal-template/src/routes/api/search[.]json.ts +23 -2
- package/portal-template/src/routes/oauth.callback.tsx +54 -0
- package/portal-template/static-functions-base.ts +41 -0
- package/portal-template/vite.config.ts +22 -2
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { err, ok } from 'neverthrow';
|
|
2
1
|
import { getAuthInfo } from '../client-utils/auth-manager.js';
|
|
3
2
|
import { FileService } from '../infrastructure/file-service.js';
|
|
4
3
|
import { withDirPath } from '../infrastructure/tmp-extensions.js';
|
|
@@ -7,19 +6,17 @@ import { UrlPath } from '../types/file/urlPath.js';
|
|
|
7
6
|
import { LoginAction } from './auth/login.js';
|
|
8
7
|
import { ActionResult } from './action-result.js';
|
|
9
8
|
import { ValidateAction } from './api/validate.js';
|
|
10
|
-
import { SpecContext } from '../types/spec-context.js';
|
|
11
9
|
import { OpenApiDocument } from '../types/portal/openapi-document.js';
|
|
12
10
|
import { PortalAuthorizationService } from '../infrastructure/services/portal-authorization-service.js';
|
|
13
|
-
import { FileDownloadService } from '../infrastructure/services/file-download-service.js';
|
|
14
11
|
import { PortalProjectService } from '../infrastructure/portal-project-service.js';
|
|
15
12
|
import { APIMATIC_SCHEMA_URL } from '../types/apimatic-config/document.js';
|
|
16
13
|
import { PLACEHOLDER_METADATA } from '../types/plugin/plugin-config.js';
|
|
17
14
|
import { ProjectContext } from '../types/project-context.js';
|
|
15
|
+
import { ResourceContext } from '../types/resource-context.js';
|
|
18
16
|
import { DEFAULT_PORTAL_PORT, PortalServeAction } from './portal/serve.js';
|
|
19
17
|
export class QuickstartAction {
|
|
20
18
|
prompts = new QuickstartPrompts();
|
|
21
19
|
fileService = new FileService();
|
|
22
|
-
fileDownloadService = new FileDownloadService();
|
|
23
20
|
authorizationService = new PortalAuthorizationService();
|
|
24
21
|
projectService = new PortalProjectService();
|
|
25
22
|
configDir;
|
|
@@ -53,35 +50,126 @@ export class QuickstartAction {
|
|
|
53
50
|
this.prompts.authorizationFailed(authorization.error);
|
|
54
51
|
return ActionResult.failed();
|
|
55
52
|
}
|
|
56
|
-
return await withDirPath((tempDirectory) =>
|
|
53
|
+
return await withDirPath(async (tempDirectory) => {
|
|
54
|
+
const here = ProjectContext.in(workingDirectory);
|
|
55
|
+
return (await here.specsExist())
|
|
56
|
+
? await this.adoptProject(here, workingDirectory)
|
|
57
|
+
: await this.startProject(tempDirectory);
|
|
58
|
+
});
|
|
57
59
|
};
|
|
58
|
-
async runWizard(workingDirectory, tempDirectory) {
|
|
59
|
-
const here = ProjectContext.in(workingDirectory);
|
|
60
|
-
const adoptedSpec = await here.portalSource().primarySpec();
|
|
61
|
-
return adoptedSpec === null
|
|
62
|
-
? await this.startProject(tempDirectory)
|
|
63
|
-
: await this.adoptProject(here, workingDirectory, adoptedSpec, tempDirectory);
|
|
64
|
-
}
|
|
65
60
|
// A build downloaded from the platform arrives with its specification in `src/spec/`, so it is not asked for again.
|
|
66
|
-
async adoptProject(project, projectDirectory
|
|
67
|
-
|
|
68
|
-
const
|
|
69
|
-
if (
|
|
70
|
-
|
|
61
|
+
async adoptProject(project, projectDirectory) {
|
|
62
|
+
const sourceDirectory = project.sourceDirectory();
|
|
63
|
+
const config = await project.config().read();
|
|
64
|
+
if (config.state === 'missing') {
|
|
65
|
+
this.prompts.configMissing(sourceDirectory);
|
|
66
|
+
return ActionResult.failed();
|
|
67
|
+
}
|
|
68
|
+
const unsupported = config.state === 'parsed' ? config.document.findingsFor('root') : config.findings;
|
|
69
|
+
if (unsupported.length > 0) {
|
|
70
|
+
this.prompts.configUnsupported(unsupported, sourceDirectory);
|
|
71
|
+
return ActionResult.failed();
|
|
72
|
+
}
|
|
73
|
+
this.prompts.importSpecStepAdopted(sourceDirectory);
|
|
74
|
+
this.prompts.validateSpecStep();
|
|
75
|
+
const failure = await this.validationFailure(project);
|
|
76
|
+
if (failure === 'unchecked') {
|
|
77
|
+
return ActionResult.failed();
|
|
78
|
+
}
|
|
79
|
+
// No sample is offered: nothing here moves it into a `spec/` the project already fills.
|
|
80
|
+
if (failure === 'invalid') {
|
|
81
|
+
this.prompts.specValidationFailed('project');
|
|
82
|
+
this.prompts.fixYourSpec();
|
|
83
|
+
return ActionResult.cancelled();
|
|
84
|
+
}
|
|
85
|
+
const portalSource = project.portalSource();
|
|
86
|
+
const specs = await portalSource.resolveSpecs();
|
|
87
|
+
if (specs.isErr()) {
|
|
88
|
+
this.prompts.specsUnsupported(specs.error, sourceDirectory);
|
|
89
|
+
return ActionResult.failed();
|
|
71
90
|
}
|
|
72
91
|
this.prompts.createPortalStep();
|
|
73
|
-
const
|
|
74
|
-
|
|
92
|
+
const [namedAfter] = specs.value;
|
|
93
|
+
const adopted = await portalSource.adopt(namedAfter);
|
|
94
|
+
if (adopted.isErr()) {
|
|
95
|
+
this.prompts.scaffoldFailed(adopted.error, sourceDirectory);
|
|
96
|
+
return ActionResult.failed();
|
|
97
|
+
}
|
|
98
|
+
const pluginConfig = project.pluginConfig();
|
|
99
|
+
const pluginAdded = await pluginConfig.addMetadataIfMissing(PLACEHOLDER_METADATA);
|
|
100
|
+
if (pluginAdded.isErr()) {
|
|
101
|
+
this.prompts.configNotWritten(pluginAdded.error, sourceDirectory);
|
|
102
|
+
return ActionResult.failed();
|
|
103
|
+
}
|
|
104
|
+
if (await pluginConfig.languagesMissing()) {
|
|
105
|
+
const languages = await this.prompts.selectLanguages();
|
|
106
|
+
if (!languages?.length) {
|
|
107
|
+
this.prompts.noLanguagesSelected();
|
|
108
|
+
return ActionResult.cancelled();
|
|
109
|
+
}
|
|
110
|
+
const languagesAdded = await pluginConfig.addLanguagesIfMissing(languages);
|
|
111
|
+
if (languagesAdded.isErr()) {
|
|
112
|
+
this.prompts.configNotWritten(languagesAdded.error, sourceDirectory);
|
|
113
|
+
return ActionResult.failed();
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
return await this.completeProject(project, projectDirectory, adopted.value);
|
|
75
117
|
}
|
|
76
118
|
async startProject(tempDirectory) {
|
|
77
119
|
this.prompts.importSpecStep();
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
120
|
+
// Dropped once the CLI's own sample has failed: re-offering the address the user just
|
|
121
|
+
// watched fail, pre-filled, is the one suggestion that cannot work.
|
|
122
|
+
let sampleUrl = this.defaultSpecUrl;
|
|
123
|
+
let spec;
|
|
124
|
+
for (;;) {
|
|
125
|
+
const input = await this.prompts.specPathPrompt(sampleUrl);
|
|
126
|
+
if (!input) {
|
|
127
|
+
this.prompts.noSpecSpecified();
|
|
128
|
+
return ActionResult.cancelled();
|
|
129
|
+
}
|
|
130
|
+
const resolving = ResourceContext.resolveTo(input, tempDirectory.join('user-spec'));
|
|
131
|
+
const resolved = input instanceof UrlPath ? await this.prompts.downloadSpecFile(resolving) : await resolving;
|
|
132
|
+
if (resolved.isOk()) {
|
|
133
|
+
spec = resolved.value;
|
|
134
|
+
break;
|
|
135
|
+
}
|
|
136
|
+
this.prompts.specUnavailable(resolved.error);
|
|
137
|
+
if (resolved.error.kind === 'downloadFailed' && sampleUrl?.isEqual(resolved.error.url)) {
|
|
138
|
+
sampleUrl = null;
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
this.prompts.validateSpecStep();
|
|
142
|
+
const failure = await this.validationFailure(spec);
|
|
143
|
+
// The service's own error is already on screen; the spec may be valid, so there is nothing to fix.
|
|
144
|
+
if (failure === 'unchecked') {
|
|
145
|
+
return ActionResult.failed();
|
|
81
146
|
}
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
147
|
+
if (failure === 'invalid') {
|
|
148
|
+
this.prompts.specValidationFailed(spec.kind());
|
|
149
|
+
if (!(await this.prompts.useDefaultSpecPrompt())) {
|
|
150
|
+
this.prompts.fixYourSpec();
|
|
151
|
+
return ActionResult.cancelled();
|
|
152
|
+
}
|
|
153
|
+
const sample = await this.prompts.downloadSpecFile(ResourceContext.resolveTo(this.defaultSpecUrl, tempDirectory.join('sample')));
|
|
154
|
+
if (sample.isErr()) {
|
|
155
|
+
this.prompts.specUnavailable(sample.error);
|
|
156
|
+
return ActionResult.failed();
|
|
157
|
+
}
|
|
158
|
+
spec = sample.value;
|
|
159
|
+
}
|
|
160
|
+
const specFile = spec.file();
|
|
161
|
+
// The validation above accepts Swagger 2.0, which a portal cannot be built from. Asked
|
|
162
|
+
// here rather than left to `portal serve`, which refuses only once the project is
|
|
163
|
+
// written -- and running the wizard again then rejects the non-empty tree it created.
|
|
164
|
+
const format = await this.specFormat(specFile);
|
|
165
|
+
if (!format.supported) {
|
|
166
|
+
if (format.format === null) {
|
|
167
|
+
this.prompts.specNotRecognised(specFile);
|
|
168
|
+
}
|
|
169
|
+
else {
|
|
170
|
+
this.prompts.specFormatUnsupported(specFile, format.format);
|
|
171
|
+
}
|
|
172
|
+
return ActionResult.failed();
|
|
85
173
|
}
|
|
86
174
|
this.prompts.createPortalStep();
|
|
87
175
|
const projectDirectory = await this.chooseProjectDirectory();
|
|
@@ -89,11 +177,8 @@ export class QuickstartAction {
|
|
|
89
177
|
return ActionResult.cancelled();
|
|
90
178
|
}
|
|
91
179
|
const project = ProjectContext.in(projectDirectory);
|
|
92
|
-
const scaffolded = await project.portalSource().scaffold(validated.value, APIMATIC_SCHEMA_URL);
|
|
93
|
-
return await this.completeProject(project, projectDirectory, scaffolded);
|
|
94
|
-
}
|
|
95
|
-
async completeProject(project, projectDirectory, scaffolded) {
|
|
96
180
|
const sourceDirectory = project.sourceDirectory();
|
|
181
|
+
const scaffolded = await project.portalSource().scaffold(specFile, APIMATIC_SCHEMA_URL);
|
|
97
182
|
if (scaffolded.isErr()) {
|
|
98
183
|
this.prompts.scaffoldFailed(scaffolded.error, sourceDirectory);
|
|
99
184
|
return ActionResult.failed();
|
|
@@ -112,87 +197,22 @@ export class QuickstartAction {
|
|
|
112
197
|
this.prompts.configNotWritten(pluginConfigRecorded.error, sourceDirectory);
|
|
113
198
|
return ActionResult.failed();
|
|
114
199
|
}
|
|
200
|
+
return await this.completeProject(project, projectDirectory, scaffolded.value);
|
|
201
|
+
}
|
|
202
|
+
async completeProject(project, projectDirectory, configFile) {
|
|
115
203
|
// Reported rather than fatal: what Git tracks does not decide whether a portal can be built.
|
|
116
204
|
const ignored = await project.upsertGitignore();
|
|
117
205
|
if (ignored.isErr()) {
|
|
118
206
|
this.prompts.gitignoreNotUpdated(ignored.error, projectDirectory);
|
|
119
207
|
}
|
|
120
|
-
const structure = await this.fileService.getDirectory(sourceDirectory);
|
|
208
|
+
const structure = await this.fileService.getDirectory(project.sourceDirectory());
|
|
121
209
|
this.prompts.printDirectoryStructure(projectDirectory, structure);
|
|
122
|
-
const result = await new PortalServeAction(this.configDir, this.commandMetadata, null).execute(project, DEFAULT_PORTAL_PORT, true, () => this.prompts.nextSteps(
|
|
210
|
+
const result = await new PortalServeAction(this.configDir, this.commandMetadata, null).execute(project, DEFAULT_PORTAL_PORT, true, () => this.prompts.nextSteps(configFile));
|
|
123
211
|
return result.isFailed() ? ActionResult.failed() : ActionResult.success();
|
|
124
212
|
}
|
|
125
|
-
async
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
let sampleUrl = this.defaultSpecUrl;
|
|
129
|
-
for (;;) {
|
|
130
|
-
const inputPath = await this.prompts.specPathPrompt(sampleUrl);
|
|
131
|
-
if (!inputPath) {
|
|
132
|
-
this.prompts.noSpecSpecified();
|
|
133
|
-
return undefined;
|
|
134
|
-
}
|
|
135
|
-
if (inputPath instanceof UrlPath) {
|
|
136
|
-
const downloaded = await this.prompts.downloadSpecFile(this.fileDownloadService.downloadFile(inputPath));
|
|
137
|
-
if (downloaded.isErr()) {
|
|
138
|
-
this.prompts.specDownloadFailed(inputPath, downloaded.error);
|
|
139
|
-
if (sampleUrl !== null && inputPath.isEqual(sampleUrl)) {
|
|
140
|
-
sampleUrl = null;
|
|
141
|
-
}
|
|
142
|
-
continue;
|
|
143
|
-
}
|
|
144
|
-
const file = await new SpecContext(tempDirectory).save(downloaded.value.stream, downloaded.value.filename);
|
|
145
|
-
return { file, source: inputPath };
|
|
146
|
-
}
|
|
147
|
-
if (await this.fileService.fileExists(inputPath)) {
|
|
148
|
-
return { file: inputPath, source: inputPath };
|
|
149
|
-
}
|
|
150
|
-
this.prompts.specFileDoesNotExist();
|
|
151
|
-
}
|
|
152
|
-
}
|
|
153
|
-
/**
|
|
154
|
-
* `adopted` decides what a failure offers. The sample can replace a specification the user
|
|
155
|
-
* named, but not one their project carries: an adopted `spec/` already holds the document the
|
|
156
|
-
* portal would be built from, and nothing here moves the sample into it.
|
|
157
|
-
*/
|
|
158
|
-
async validate(spec, tempDirectory, adopted) {
|
|
159
|
-
this.prompts.validateSpecStep();
|
|
160
|
-
let validation = 'unchecked';
|
|
161
|
-
await new ValidateAction(this.configDir, this.commandMetadata).execute(spec.file, false, (check) => {
|
|
162
|
-
validation = check;
|
|
163
|
-
});
|
|
164
|
-
// The service's own error is already on screen; the spec may be valid, so there is nothing to fix.
|
|
165
|
-
if (validation === 'unchecked') {
|
|
166
|
-
return err(ActionResult.failed());
|
|
167
|
-
}
|
|
168
|
-
let checked = spec.file;
|
|
169
|
-
if (validation === 'invalid') {
|
|
170
|
-
this.prompts.specValidationFailed(spec.source);
|
|
171
|
-
if (adopted || !(await this.prompts.useDefaultSpecPrompt())) {
|
|
172
|
-
this.prompts.fixYourSpec();
|
|
173
|
-
return err(ActionResult.cancelled());
|
|
174
|
-
}
|
|
175
|
-
const downloaded = await this.prompts.downloadSpecFile(this.fileDownloadService.downloadFile(this.defaultSpecUrl));
|
|
176
|
-
if (downloaded.isErr()) {
|
|
177
|
-
this.prompts.serviceError(downloaded.error);
|
|
178
|
-
return err(ActionResult.failed());
|
|
179
|
-
}
|
|
180
|
-
checked = await new SpecContext(tempDirectory).save(downloaded.value.stream, downloaded.value.filename);
|
|
181
|
-
}
|
|
182
|
-
// The validation above accepts Swagger 2.0, which a portal cannot be built from. Asked
|
|
183
|
-
// here rather than left to `portal serve`, which refuses only once the project is
|
|
184
|
-
// written -- and running the wizard again then rejects the non-empty tree it created.
|
|
185
|
-
const format = await this.specFormat(checked);
|
|
186
|
-
if (!format.supported) {
|
|
187
|
-
if (format.format === null) {
|
|
188
|
-
this.prompts.specNotRecognised(checked);
|
|
189
|
-
}
|
|
190
|
-
else {
|
|
191
|
-
this.prompts.specFormatUnsupported(checked, format.format);
|
|
192
|
-
}
|
|
193
|
-
return err(ActionResult.failed());
|
|
194
|
-
}
|
|
195
|
-
return ok(checked);
|
|
213
|
+
async validationFailure(spec) {
|
|
214
|
+
const validated = await new ValidateAction(this.configDir, this.commandMetadata).execute(spec, false);
|
|
215
|
+
return validated.isFailed() ? validated.getError() ?? 'unchecked' : undefined;
|
|
196
216
|
}
|
|
197
217
|
async chooseProjectDirectory() {
|
|
198
218
|
for (;;) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"quickstart.js","sourceRoot":"","sources":["../../src/actions/quickstart.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"quickstart.js","sourceRoot":"","sources":["../../src/actions/quickstart.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,7 +5,7 @@ export default class Transform extends Command {
|
|
|
5
5
|
static readonly cmdTxt: string;
|
|
6
6
|
static examples: string[];
|
|
7
7
|
static flags: {
|
|
8
|
-
|
|
8
|
+
'auth-key': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
9
9
|
force: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
10
10
|
format: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
|
|
11
11
|
file: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
@@ -3,7 +3,7 @@ import { DirectoryPath } from '../../types/file/directoryPath.js';
|
|
|
3
3
|
import { FlagsProvider } from '../../types/flags-provider.js';
|
|
4
4
|
import { TransformAction } from '../../actions/api/transform.js';
|
|
5
5
|
import { format, intro, outro } from '../../prompts/format.js';
|
|
6
|
-
import {
|
|
6
|
+
import { createFileOrUrlInput } from '../../types/file/resource-input.js';
|
|
7
7
|
import { TransformationFormats } from '../../types/api/transform.js';
|
|
8
8
|
import { TRANSFORMATIONS_DIRECTORY_NAME } from '../../types/transform-context.js';
|
|
9
9
|
import { ExportFormats } from '@apimatic/sdk';
|
|
@@ -40,7 +40,7 @@ Supports multiple formats including OpenAPI/Swagger, RAML, WSDL, and Postman Col
|
|
|
40
40
|
const { flags: { format, file, url, destination, force, 'auth-key': authKey } } = await this.parse(Transform);
|
|
41
41
|
const workingDirectory = DirectoryPath.createInput(destination);
|
|
42
42
|
const transformedApiDirectory = workingDirectory.join(TRANSFORMATIONS_DIRECTORY_NAME);
|
|
43
|
-
const specFile =
|
|
43
|
+
const specFile = createFileOrUrlInput(file, url);
|
|
44
44
|
// Directly map the format flag to ExportFormats using TransformationFormats
|
|
45
45
|
const key = format;
|
|
46
46
|
const transformationFormat = TransformationFormats[key];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transform.js","sourceRoot":"","sources":["../../../src/commands/api/transform.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAC;AAClE,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAC9D,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AAEjE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,yBAAyB,CAAC;AAC/D,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"transform.js","sourceRoot":"","sources":["../../../src/commands/api/transform.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import { Command } from
|
|
1
|
+
import { Command } from '@oclif/core';
|
|
2
2
|
export default class Validate extends Command {
|
|
3
3
|
static readonly summary = "Validate API specification for syntactic and semantic correctness";
|
|
4
|
-
static readonly description = "Validate
|
|
4
|
+
static readonly description = "Validate the API specification in your 'src/spec' directory, or the one --file or --url points to, to ensure it adheres to syntactic and semantic standards.";
|
|
5
5
|
static readonly cmdTxt: string;
|
|
6
6
|
static examples: string[];
|
|
7
7
|
static flags: {
|
|
8
|
-
|
|
8
|
+
'auth-key': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
9
9
|
file: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
10
10
|
url: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
11
11
|
};
|
|
@@ -1,32 +1,43 @@
|
|
|
1
|
-
import { Command, Flags } from
|
|
2
|
-
import { DirectoryPath } from
|
|
3
|
-
import { FlagsProvider } from
|
|
4
|
-
import { ValidateAction } from
|
|
5
|
-
import { format, intro, outro } from
|
|
6
|
-
import { createResourceInput } from
|
|
1
|
+
import { Command, Flags } from '@oclif/core';
|
|
2
|
+
import { DirectoryPath } from '../../types/file/directoryPath.js';
|
|
3
|
+
import { FlagsProvider } from '../../types/flags-provider.js';
|
|
4
|
+
import { ValidateAction } from '../../actions/api/validate.js';
|
|
5
|
+
import { format, intro, outro } from '../../prompts/format.js';
|
|
6
|
+
import { createResourceInput } from '../../types/file/resource-input.js';
|
|
7
7
|
export default class Validate extends Command {
|
|
8
|
-
static summary =
|
|
9
|
-
static description = `Validate
|
|
10
|
-
static cmdTxt = format.cmd(
|
|
8
|
+
static summary = 'Validate API specification for syntactic and semantic correctness';
|
|
9
|
+
static description = `Validate the API specification in your 'src/spec' directory, or the one --file or --url points to, to ensure it adheres to syntactic and semantic standards.`;
|
|
10
|
+
static cmdTxt = format.cmd('apimatic', 'api', 'validate');
|
|
11
11
|
static examples = [
|
|
12
|
-
|
|
13
|
-
`${Validate.cmdTxt} ${format.flag(
|
|
12
|
+
Validate.cmdTxt,
|
|
13
|
+
`${Validate.cmdTxt} ${format.flag('input', './')}`,
|
|
14
|
+
`${Validate.cmdTxt} ${format.flag('file', './specs/sample.json')}`,
|
|
15
|
+
`${Validate.cmdTxt} ${format.flag('url', '"https://petstore.swagger.io/v2/swagger.json"')}`
|
|
14
16
|
];
|
|
15
17
|
static flags = {
|
|
16
|
-
file: Flags.string({
|
|
17
|
-
|
|
18
|
+
file: Flags.string({
|
|
19
|
+
description: 'Path to the API specification file to validate',
|
|
20
|
+
exclusive: ['url', 'input'],
|
|
21
|
+
parse: FlagsProvider.nonEmpty
|
|
22
|
+
}),
|
|
23
|
+
url: Flags.string({
|
|
24
|
+
description: 'URL to the API specification file to validate (publicly accessible)',
|
|
25
|
+
exclusive: ['file', 'input'],
|
|
26
|
+
parse: FlagsProvider.nonEmpty
|
|
27
|
+
}),
|
|
28
|
+
...FlagsProvider.nonEmptyInput,
|
|
18
29
|
...FlagsProvider.authKey
|
|
19
30
|
};
|
|
20
31
|
async run() {
|
|
21
|
-
const { flags: { file, url,
|
|
32
|
+
const { flags: { file, url, input, 'auth-key': authKey } } = await this.parse(Validate);
|
|
33
|
+
const spec = createResourceInput(file, url, input);
|
|
22
34
|
const commandMetadata = {
|
|
23
35
|
commandName: Validate.id,
|
|
24
36
|
shell: this.config.shell
|
|
25
37
|
};
|
|
26
38
|
const action = new ValidateAction(this.getConfigDir(), commandMetadata, authKey);
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
const result = await action.execute(resourceInput);
|
|
39
|
+
intro('Validate API');
|
|
40
|
+
const result = await action.execute(spec);
|
|
30
41
|
outro(result);
|
|
31
42
|
}
|
|
32
43
|
getConfigDir = () => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validate.js","sourceRoot":"","sources":["../../../src/commands/api/validate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAC;AAClE,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAC9D,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAE/D,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,yBAAyB,CAAC;AAC/D,OAAO,EAAE,mBAAmB,EAAE,MAAM,oCAAoC,CAAC;AAEzE,MAAM,CAAC,OAAO,OAAO,QAAS,SAAQ,OAAO;IAC3C,MAAM,CAAU,OAAO,GAAG,mEAAmE,CAAC;IAE9F,MAAM,CAAU,WAAW,GAAG,
|
|
1
|
+
{"version":3,"file":"validate.js","sourceRoot":"","sources":["../../../src/commands/api/validate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAC;AAClE,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAC9D,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAE/D,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,yBAAyB,CAAC;AAC/D,OAAO,EAAE,mBAAmB,EAAE,MAAM,oCAAoC,CAAC;AAEzE,MAAM,CAAC,OAAO,OAAO,QAAS,SAAQ,OAAO;IAC3C,MAAM,CAAU,OAAO,GAAG,mEAAmE,CAAC;IAE9F,MAAM,CAAU,WAAW,GAAG,8JAA8J,CAAC;IAE7L,MAAM,CAAU,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,UAAU,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC;IAEnE,MAAM,CAAC,QAAQ,GAAG;QAChB,QAAQ,CAAC,MAAM;QACf,GAAG,QAAQ,CAAC,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,EAAE;QAClD,GAAG,QAAQ,CAAC,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,qBAAqB,CAAC,EAAE;QAClE,GAAG,QAAQ,CAAC,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,+CAA+C,CAAC,EAAE;KAC5F,CAAC;IAEF,MAAM,CAAC,KAAK,GAAG;QACb,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC;YACjB,WAAW,EAAE,gDAAgD;YAC7D,SAAS,EAAE,CAAC,KAAK,EAAE,OAAO,CAAC;YAC3B,KAAK,EAAE,aAAa,CAAC,QAAQ;SAC9B,CAAC;QACF,GAAG,EAAE,KAAK,CAAC,MAAM,CAAC;YAChB,WAAW,EAAE,qEAAqE;YAClF,SAAS,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC;YAC5B,KAAK,EAAE,aAAa,CAAC,QAAQ;SAC9B,CAAC;QACF,GAAG,aAAa,CAAC,aAAa;QAC9B,GAAG,aAAa,CAAC,OAAO;KACzB,CAAC;IAEF,KAAK,CAAC,GAAG;QACP,MAAM,EACJ,KAAK,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,EACjD,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QAE/B,MAAM,IAAI,GAAG,mBAAmB,CAAC,IAAI,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;QAEnD,MAAM,eAAe,GAAoB;YACvC,WAAW,EAAE,QAAQ,CAAC,EAAE;YACxB,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK;SACzB,CAAC;QAEF,MAAM,MAAM,GAAG,IAAI,cAAc,CAAC,IAAI,CAAC,YAAY,EAAE,EAAE,eAAe,EAAE,OAAO,CAAC,CAAC;QAEjF,KAAK,CAAC,cAAc,CAAC,CAAC;QACtB,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAC1C,KAAK,CAAC,MAAM,CAAC,CAAC;IAChB,CAAC;IAEgB,YAAY,GAAG,GAAG,EAAE;QACnC,OAAO,IAAI,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IAClD,CAAC,CAAC;CACH"}
|
|
@@ -6,7 +6,7 @@ export default class PluginGenerate extends Command {
|
|
|
6
6
|
static readonly examples: string[];
|
|
7
7
|
static readonly flags: {
|
|
8
8
|
destination: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
9
|
-
|
|
9
|
+
'auth-key': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
10
10
|
force: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
11
11
|
};
|
|
12
12
|
run(): Promise<void>;
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { Command } from '@oclif/core';
|
|
2
2
|
export default class PortalGenerate extends Command {
|
|
3
3
|
static readonly summary = "Generate a static API Documentation Portal.";
|
|
4
|
-
static readonly description = "Builds a documentation portal from the OpenAPI documents and Markdown pages in your 'src' directory.\n\nThe portal is built on your machine and written as static files
|
|
4
|
+
static readonly description = "Builds a documentation portal from the OpenAPI documents and Markdown pages in your 'src' directory.\n\nThe portal is built on your machine and written as static files for any static host, served at its root or, when 'portal.site.url' has a path such as 'https://example.com/docs', at that path. Configure it with 'src/apimatic.json', whose 'languages' block gives the portal a page for each SDK language, and whose 'plugin' block, or a 'pluginUrl' in its 'portal' block for a plugin hosted elsewhere, a page for the context plugin.";
|
|
5
5
|
static readonly cmdTxt: string;
|
|
6
6
|
static readonly examples: string[];
|
|
7
7
|
static flags: {
|
|
8
8
|
destination: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
9
|
-
|
|
9
|
+
'auth-key': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
10
10
|
force: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
11
11
|
zip: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
12
12
|
};
|
|
@@ -8,7 +8,7 @@ export default class PortalGenerate extends Command {
|
|
|
8
8
|
static summary = 'Generate a static API Documentation Portal.';
|
|
9
9
|
static description = `Builds a documentation portal from the OpenAPI documents and Markdown pages in your 'src' directory.
|
|
10
10
|
|
|
11
|
-
The portal is built on your machine and written as static files
|
|
11
|
+
The portal is built on your machine and written as static files for any static host, served at its root or, when 'portal.site.url' has a path such as 'https://example.com/docs', at that path. Configure it with 'src/apimatic.json', whose 'languages' block gives the portal a page for each SDK language, and whose 'plugin' block, or a 'pluginUrl' in its 'portal' block for a plugin hosted elsewhere, a page for the context plugin.`;
|
|
12
12
|
static cmdTxt = format.cmd('apimatic', 'portal', 'generate');
|
|
13
13
|
static examples = [
|
|
14
14
|
PortalGenerate.cmdTxt,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generate.js","sourceRoot":"","sources":["../../../src/commands/portal/generate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAC;AAClE,OAAO,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAC;AAClE,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAC9D,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,yBAAyB,CAAC;AAE/D,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAEhE,MAAM,CAAC,OAAO,OAAO,cAAe,SAAQ,OAAO;IACjD,MAAM,CAAU,OAAO,GAAG,6CAA6C,CAAC;IAExE,MAAM,CAAU,WAAW,GAAG;;
|
|
1
|
+
{"version":3,"file":"generate.js","sourceRoot":"","sources":["../../../src/commands/portal/generate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAC;AAClE,OAAO,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAC;AAClE,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAC9D,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,yBAAyB,CAAC;AAE/D,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAEhE,MAAM,CAAC,OAAO,OAAO,cAAe,SAAQ,OAAO;IACjD,MAAM,CAAU,OAAO,GAAG,6CAA6C,CAAC;IAExE,MAAM,CAAU,WAAW,GAAG;;6aAE6Y,CAAC;IAE5a,MAAM,CAAU,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,UAAU,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC;IAEtE,MAAM,CAAU,QAAQ,GAAG;QACzB,cAAc,CAAC,MAAM;QACrB,GAAG,cAAc,CAAC,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,aAAa,EAAE,UAAU,CAAC,EAAE;QAClG,GAAG,cAAc,CAAC,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;KACjD,CAAC;IAEF,MAAM,CAAC,KAAK,GAAG;QACb,GAAG,EAAE,KAAK,CAAC,OAAO,CAAC;YACjB,OAAO,EAAE,KAAK;YACd,WAAW,EAAE,+CAA+C;SAC7D,CAAC;QACF,GAAG,aAAa,CAAC,KAAK;QACtB,GAAG,aAAa,CAAC,WAAW,CAAC,QAAQ,EAAE,QAAQ,CAAC;QAChD,GAAG,aAAa,CAAC,KAAK;QACtB,GAAG,aAAa,CAAC,OAAO;KACzB,CAAC;IAEF,KAAK,CAAC,GAAG;QACP,MAAM,EACJ,KAAK,EAAE,EAAE,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,GAAG,EAAE,SAAS,EAAE,UAAU,EAAE,OAAO,EAAE,EAC1E,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;QAErC,MAAM,OAAO,GAAG,cAAc,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC;QACzC,MAAM,eAAe,GAAoB;YACvC,WAAW,EAAE,cAAc,CAAC,EAAE;YAC9B,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK;SACzB,CAAC;QAEF,KAAK,CAAC,iBAAiB,CAAC,CAAC;QACzB,MAAM,MAAM,GAAG,IAAI,cAAc,CAAC,IAAI,CAAC,YAAY,EAAE,EAAE,eAAe,EAAE,OAAO,CAAC,CAAC;QACjF,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,eAAe,CAAC,WAAW,CAAC,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC;QACrG,KAAK,CAAC,MAAM,CAAC,CAAC;IAChB,CAAC;IAEgB,YAAY,GAAG,GAAG,EAAE;QACnC,OAAO,IAAI,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IAClD,CAAC,CAAC;CACH"}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { Command } from '@oclif/core';
|
|
2
2
|
export default class PortalServe extends Command {
|
|
3
3
|
static readonly summary = "Preview your API Documentation Portal with live reload.";
|
|
4
|
-
static readonly description = "Serves the portal described by 'src/apimatic.json' from your machine, reloading the browser as you edit the Markdown pages in 'src/content', reorder them in a 'nav.json', or change the 'portal', 'languages' or 'plugin' block of 'apimatic.json'.\n\nAdding a language or a 'plugin' block, adding or removing a page in 'src/content', creating 'src/static',
|
|
4
|
+
static readonly description = "Serves the portal described by 'src/apimatic.json' from your machine, reloading the browser as you edit the Markdown pages in 'src/content', reorder them in a 'nav.json', or change the 'portal', 'languages' or 'plugin' block of 'apimatic.json'.\n\nAdding a language or a 'plugin' block, adding or removing a page in 'src/content', creating 'src/static', changing which documents are in 'src/spec', or changing the path in 'portal.site.url', needs the preview restarted.\n\nNothing is written to disk; run 'apimatic portal generate' to produce the static files.";
|
|
5
5
|
static readonly cmdTxt: string;
|
|
6
6
|
static readonly examples: string[];
|
|
7
7
|
static flags: {
|
|
8
|
-
|
|
8
|
+
'auth-key': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
9
9
|
port: import("@oclif/core/interfaces").OptionFlag<number, import("@oclif/core/interfaces").CustomOptions>;
|
|
10
10
|
open: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
11
11
|
};
|
|
@@ -9,7 +9,7 @@ export default class PortalServe extends Command {
|
|
|
9
9
|
static summary = 'Preview your API Documentation Portal with live reload.';
|
|
10
10
|
static description = `Serves the portal described by 'src/apimatic.json' from your machine, reloading the browser as you edit the Markdown pages in 'src/content', reorder them in a 'nav.json', or change the 'portal', 'languages' or 'plugin' block of 'apimatic.json'.
|
|
11
11
|
|
|
12
|
-
Adding a language or a 'plugin' block, adding or removing a page in 'src/content', creating 'src/static',
|
|
12
|
+
Adding a language or a 'plugin' block, adding or removing a page in 'src/content', creating 'src/static', changing which documents are in 'src/spec', or changing the path in 'portal.site.url', needs the preview restarted.
|
|
13
13
|
|
|
14
14
|
Nothing is written to disk; run 'apimatic portal generate' to produce the static files.`;
|
|
15
15
|
static cmdTxt = format.cmd('apimatic', 'portal', 'serve');
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { Command } from '@oclif/core';
|
|
2
2
|
export default class Quickstart extends Command {
|
|
3
3
|
static readonly description = "Point the CLI at your API specification and it builds a documentation portal, SDKs, and a context plugin that teaches an AI coding assistant to use them.";
|
|
4
|
-
static readonly summary = "Create your
|
|
4
|
+
static readonly summary = "Create your API Documentation Portal, SDKs and Context Plugins.";
|
|
5
5
|
static readonly cmdTxt: string;
|
|
6
6
|
static readonly examples: string[];
|
|
7
7
|
run(): Promise<void>;
|
|
@@ -7,7 +7,7 @@ import { QuickstartAction } from '../actions/quickstart.js';
|
|
|
7
7
|
import { QuickstartCompletedEvent } from '../types/events/quickstart-completed.js';
|
|
8
8
|
export default class Quickstart extends Command {
|
|
9
9
|
static description = 'Point the CLI at your API specification and it builds a documentation portal, SDKs, and a context plugin that teaches an AI coding assistant to use them.';
|
|
10
|
-
static summary = 'Create your
|
|
10
|
+
static summary = 'Create your API Documentation Portal, SDKs and Context Plugins.';
|
|
11
11
|
static cmdTxt = format.cmd('apimatic', 'quickstart');
|
|
12
12
|
static examples = [Quickstart.cmdTxt];
|
|
13
13
|
async run() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"quickstart.js","sourceRoot":"","sources":["../../src/commands/quickstart.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AACtC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,EAAE,gBAAgB,EAAE,MAAM,iDAAiD,CAAC;AACnF,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAE/D,OAAO,EAAE,wBAAwB,EAAE,MAAM,yCAAyC,CAAC;AACnF,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,EAAE,wBAAwB,EAAE,MAAM,yCAAyC,CAAC;AAEnF,MAAM,CAAC,OAAO,OAAO,UAAW,SAAQ,OAAO;IAC7C,MAAM,CAAU,WAAW,GACzB,2JAA2J,CAAC;IAE9J,MAAM,CAAU,OAAO,GAAG,
|
|
1
|
+
{"version":3,"file":"quickstart.js","sourceRoot":"","sources":["../../src/commands/quickstart.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AACtC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,EAAE,gBAAgB,EAAE,MAAM,iDAAiD,CAAC;AACnF,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAE/D,OAAO,EAAE,wBAAwB,EAAE,MAAM,yCAAyC,CAAC;AACnF,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,EAAE,wBAAwB,EAAE,MAAM,yCAAyC,CAAC;AAEnF,MAAM,CAAC,OAAO,OAAO,UAAW,SAAQ,OAAO;IAC7C,MAAM,CAAU,WAAW,GACzB,2JAA2J,CAAC;IAE9J,MAAM,CAAU,OAAO,GAAG,iEAAiE,CAAC;IAE5F,MAAM,CAAU,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;IAE9D,MAAM,CAAU,QAAQ,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;IAE/C,KAAK,CAAC,GAAG;QACP,MAAM,gBAAgB,GAAG,IAAI,gBAAgB,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC;QACnE,MAAM,eAAe,GAAoB;YACvC,WAAW,EAAE,UAAU,CAAC,EAAE;YAC1B,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK;SACzB,CAAC;QAEF,MAAM,gBAAgB,CAAC,UAAU,CAAC,IAAI,wBAAwB,EAAE,EAAE,eAAe,CAAC,KAAK,CAAC,CAAC;QAEzF,KAAK,CAAC,YAAY,CAAC,CAAC;QACpB,MAAM,MAAM,GAAG,IAAI,gBAAgB,CAAC,IAAI,CAAC,YAAY,EAAE,EAAE,eAAe,CAAC,CAAC;QAC1E,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;QAC3D,KAAK,CAAC,MAAM,CAAC,CAAC;QAEd,mDAAmD;QACnD,MAAM,MAAM,CAAC,MAAM,CACjB,KAAK,IAAI,EAAE,CAAC,MAAM,gBAAgB,CAAC,UAAU,CAAC,IAAI,wBAAwB,EAAE,EAAE,eAAe,CAAC,KAAK,CAAC,EACpG,KAAK,IAAI,EAAE,GAAE,CAAC,EACd,KAAK,IAAI,EAAE,GAAE,CAAC,CACf,CAAC;IACJ,CAAC;IAEgB,YAAY,GAAG,GAAG,EAAE;QACnC,OAAO,IAAI,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IAClD,CAAC,CAAC;CACH"}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { Command } from '@oclif/core';
|
|
2
2
|
export default class SdkGenerate extends Command {
|
|
3
3
|
static readonly summary = "Generate an SDK for your API";
|
|
4
|
-
static readonly description
|
|
4
|
+
static readonly description: string;
|
|
5
5
|
static readonly cmdTxt: string;
|
|
6
6
|
static flags: {
|
|
7
|
-
|
|
7
|
+
'auth-key': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
8
8
|
force: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
9
9
|
language: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
|
|
10
10
|
destination: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
@@ -2,14 +2,16 @@ import { Command, Flags } from '@oclif/core';
|
|
|
2
2
|
import { DirectoryPath } from '../../types/file/directoryPath.js';
|
|
3
3
|
import { FlagsProvider } from '../../types/flags-provider.js';
|
|
4
4
|
import { GenerateAction } from '../../actions/sdk/generate.js';
|
|
5
|
-
import { CodeGenerationVersion, Language, Stability } from '../../types/sdk/generate.js';
|
|
5
|
+
import { AVAILABLE_LANGUAGES, CodeGenerationVersion, Language, languageLabel, Stability, UPCOMING_LANGUAGES } from '../../types/sdk/generate.js';
|
|
6
6
|
import { StabilityChoice } from '../../types/sdk/stability-choice.js';
|
|
7
7
|
import { ProjectContext } from '../../types/project-context.js';
|
|
8
8
|
import { format, intro, outro } from '../../prompts/format.js';
|
|
9
|
+
import { listedInProse } from '../../utils/string-utils.js';
|
|
10
|
+
const inProse = (languages) => listedInProse(languages.map(languageLabel));
|
|
9
11
|
export default class SdkGenerate extends Command {
|
|
10
12
|
static summary = 'Generate an SDK for your API';
|
|
11
13
|
static description = `Generate a Software Development Kit (SDK) from an API specification.
|
|
12
|
-
|
|
14
|
+
${inProse(AVAILABLE_LANGUAGES)} are available; ${inProse(UPCOMING_LANGUAGES)} are coming soon.`;
|
|
13
15
|
static cmdTxt = format.cmd('apimatic', 'sdk', 'generate');
|
|
14
16
|
static flags = {
|
|
15
17
|
// Every language stays here so one that is coming back is answered by the command rather than
|