@apimatic/cli 1.1.0-alpha.19 → 1.1.0-alpha.20
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/lib/config/env.d.ts +0 -1
- package/lib/config/env.js +0 -1
- package/lib/config/env.js.map +1 -1
- package/lib/controllers/portal/quickstart.d.ts +2 -0
- package/lib/controllers/portal/quickstart.js +21 -9
- package/lib/controllers/portal/quickstart.js.map +1 -1
- package/lib/infrastructure/file-service.d.ts +3 -0
- package/lib/infrastructure/file-service.js +15 -0
- package/lib/infrastructure/file-service.js.map +1 -1
- package/package.json +1 -2
package/lib/config/env.d.ts
CHANGED
package/lib/config/env.js
CHANGED
package/lib/config/env.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"env.js","sourceRoot":"","sources":["../../src/config/env.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,OAAO,GAAG,yBAAyB,CAAC;AACjD,MAAM,CAAC,MAAM,mBAAmB,GAAG
|
|
1
|
+
{"version":3,"file":"env.js","sourceRoot":"","sources":["../../src/config/env.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,OAAO,GAAG,yBAAyB,CAAC;AACjD,MAAM,CAAC,MAAM,mBAAmB,GAAG;IACjC,cAAc,EAAE;QACd,qBAAqB,EAAE,KAAK;QAC5B,sBAAsB,EAAE,KAAK;QAC7B,oCAAoC,EAAE,KAAK;QAC3C,oCAAoC,EAAE,KAAK;KAC5C;IACD,eAAe,EAAE;QACf,OAAO,EAAE,EAAE;QACX,0BAA0B,EAAE,IAAI;QAChC,2BAA2B,EAAE,KAAK;QAClC,qBAAqB,EAAE,IAAI;QAC3B,SAAS,EAAE,6EAA6E;QACxF,aAAa,EAAE,IAAI;QACnB,4BAA4B,EAAE,IAAI;QAClC,uBAAuB,EAAE,IAAI;QAC7B,0BAA0B,EAAE,IAAI;QAChC,uBAAuB,EAAE,IAAI;QAC7B,aAAa,EAAE,KAAK;QACpB,mCAAmC,EAAE,IAAI;QACzC,yBAAyB,EAAE,IAAI;QAC/B,iBAAiB,EAAE,KAAK;QACxB,eAAe,EAAE,CAAC,OAAO,CAAC;KAC3B;CACF,CAAC"}
|
|
@@ -4,10 +4,12 @@ import { SDKClient } from "../../client-utils/sdk-client.js";
|
|
|
4
4
|
import { PortalQuickstartPrompts } from "../../prompts/portal/quickstart.js";
|
|
5
5
|
export declare class PortalQuickstartController {
|
|
6
6
|
private readonly zipService;
|
|
7
|
+
private readonly fileService;
|
|
7
8
|
private readonly specUrl;
|
|
8
9
|
isUserAuthenticated(configDir: string): Promise<boolean>;
|
|
9
10
|
userLogin(credentials: LoginCredentials, client: SDKClient, configDir: string): Promise<void>;
|
|
10
11
|
getSpecFile(spec: string): Promise<SpecFile>;
|
|
11
12
|
getSpecValidationSummary(prompts: PortalQuickstartPrompts, specFile: SpecFile, apiValidationController: ApiValidationExternalApisController): Promise<ApiValidationSummary>;
|
|
13
|
+
private downloadRepositoryFromGitHub;
|
|
12
14
|
setupBuildDirectory(prompts: PortalQuickstartPrompts, targetFolder: string, specFile: SpecFile, validationSummary: ApiValidationSummary, languages: string[]): Promise<void>;
|
|
13
15
|
}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { simpleGit } from "simple-git";
|
|
2
1
|
import axios from "axios";
|
|
3
2
|
import * as path from "path";
|
|
4
3
|
import filetype from "file-type";
|
|
@@ -8,14 +7,17 @@ import { readdir } from "fs/promises";
|
|
|
8
7
|
import { getAuthInfo } from "../../client-utils/auth-manager.js";
|
|
9
8
|
import { createTempDirectory, isValidUrl, getMessageInRedColor, clearDirectory, deleteFile } from "../../utils/utils.js";
|
|
10
9
|
import { getValidationSummary } from "../api/validate.js";
|
|
11
|
-
import { metadataFileContent
|
|
10
|
+
import { metadataFileContent } from "../../config/env.js";
|
|
12
11
|
import { ZipService } from "../../infrastructure/zip-service.js";
|
|
13
12
|
import { FilePath } from "../../types/file/filePath.js";
|
|
14
13
|
import { DirectoryPath } from "../../types/file/directoryPath.js";
|
|
15
14
|
import { FileName } from "../../types/file/fileName.js";
|
|
15
|
+
import { withDirPath } from "../../infrastructure/tmp-extensions.js";
|
|
16
|
+
import { FileService } from "../../infrastructure/file-service.js";
|
|
16
17
|
export class PortalQuickstartController {
|
|
17
18
|
constructor() {
|
|
18
19
|
this.zipService = new ZipService();
|
|
20
|
+
this.fileService = new FileService();
|
|
19
21
|
this.specUrl = "https://github.com/apimatic/static-portal-workflow/blob/master/spec/openapi.json";
|
|
20
22
|
}
|
|
21
23
|
async isUserAuthenticated(configDir) {
|
|
@@ -147,20 +149,31 @@ export class PortalQuickstartController {
|
|
|
147
149
|
}
|
|
148
150
|
}
|
|
149
151
|
}
|
|
150
|
-
async
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
152
|
+
async downloadRepositoryFromGitHub(targetFolder) {
|
|
153
|
+
return await withDirPath(async (tempDirectory) => {
|
|
154
|
+
const zipUrl = `https://github.com/apimatic/static-portal-workflow/archive/refs/heads/master.zip`;
|
|
155
|
+
const response = await fetch(zipUrl);
|
|
156
|
+
const repositoryFolderName = "static-portal-workflow-master";
|
|
157
|
+
if (!response.ok) {
|
|
158
|
+
throw new Error(`Unable to setup your portal, please try again later.`);
|
|
154
159
|
}
|
|
160
|
+
const arrayBuffer = await response.arrayBuffer();
|
|
161
|
+
const tempZipPath = new FilePath(tempDirectory, new FileName("static-repo.zip"));
|
|
162
|
+
await this.fileService.writeBuffer(tempZipPath, Buffer.from(arrayBuffer));
|
|
163
|
+
await this.zipService.unArchive(tempZipPath, tempDirectory);
|
|
164
|
+
const extractedFolderPath = new DirectoryPath(tempDirectory.toString(), repositoryFolderName);
|
|
165
|
+
await this.fileService.copyDirectoryContents(extractedFolderPath, new DirectoryPath(targetFolder));
|
|
155
166
|
});
|
|
167
|
+
}
|
|
168
|
+
async setupBuildDirectory(prompts, targetFolder, specFile, validationSummary, languages) {
|
|
156
169
|
fsExtra.emptyDirSync(targetFolder);
|
|
157
170
|
try {
|
|
158
|
-
await
|
|
171
|
+
await this.downloadRepositoryFromGitHub(targetFolder);
|
|
159
172
|
}
|
|
160
173
|
catch (error) {
|
|
161
174
|
prompts.displayBuildDirectoryGenerationErrorMessage();
|
|
162
175
|
if (error instanceof Error) {
|
|
163
|
-
if (error.message.includes("timed out")) {
|
|
176
|
+
if (error.message.includes("timed out") || error.message.includes("timeout")) {
|
|
164
177
|
throw new Error(getMessageInRedColor("The operation timed out while setting up the build directory. Please check your internet connection and try again."));
|
|
165
178
|
}
|
|
166
179
|
else if (error.message.includes("Could not resolve host")) {
|
|
@@ -174,7 +187,6 @@ export class PortalQuickstartController {
|
|
|
174
187
|
throw new Error(getMessageInRedColor(`Failed to set up the build directory. ${error}`));
|
|
175
188
|
}
|
|
176
189
|
}
|
|
177
|
-
await clearDirectory(path.join(targetFolder, ".git"));
|
|
178
190
|
await clearDirectory(path.join(targetFolder, ".github"));
|
|
179
191
|
if (specFile.localPath && validationSummary.success) {
|
|
180
192
|
const specFolder = path.join(targetFolder, "spec");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"quickstart.js","sourceRoot":"","sources":["../../../src/controllers/portal/quickstart.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"quickstart.js","sourceRoot":"","sources":["../../../src/controllers/portal/quickstart.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,10 +6,13 @@ export declare class FileService {
|
|
|
6
6
|
directoryExists(dir: DirectoryPath): Promise<boolean>;
|
|
7
7
|
directoryEmpty(dir: DirectoryPath): Promise<boolean>;
|
|
8
8
|
cleanDirectory(dir: DirectoryPath): Promise<void>;
|
|
9
|
+
copyDirectory(source: DirectoryPath, destination: DirectoryPath): Promise<void>;
|
|
10
|
+
copyDirectoryContents(source: DirectoryPath, destination: DirectoryPath): Promise<void>;
|
|
9
11
|
deleteFile(filePath: FilePath): Promise<void>;
|
|
10
12
|
getStream(filePath: FilePath): Promise<fs.ReadStream>;
|
|
11
13
|
getContents(filePath: FilePath): Promise<string>;
|
|
12
14
|
writeFile(filePath: FilePath, stream: NodeJS.ReadableStream): Promise<void>;
|
|
13
15
|
writeContents(filePath: FilePath, contents: string): Promise<void>;
|
|
16
|
+
writeBuffer(filePath: FilePath, buffer: Buffer): Promise<void>;
|
|
14
17
|
copy(source: FilePath, destination: FilePath): Promise<void>;
|
|
15
18
|
}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import fs from "fs";
|
|
2
2
|
import fsExtra from "fs-extra";
|
|
3
|
+
import * as path from "path";
|
|
3
4
|
import { pipeline } from "stream";
|
|
4
5
|
import { promisify } from "util";
|
|
5
6
|
export class FileService {
|
|
@@ -34,6 +35,17 @@ export class FileService {
|
|
|
34
35
|
await fsExtra.ensureDir(dir.toString());
|
|
35
36
|
await fsExtra.emptyDir(dir.toString()); // removes everything inside, keeps the dir
|
|
36
37
|
}
|
|
38
|
+
async copyDirectory(source, destination) {
|
|
39
|
+
await fsExtra.copy(source.toString(), destination.toString());
|
|
40
|
+
}
|
|
41
|
+
async copyDirectoryContents(source, destination) {
|
|
42
|
+
const entries = await fsExtra.readdir(source.toString());
|
|
43
|
+
await Promise.all(entries.map(async (entry) => {
|
|
44
|
+
const srcEntry = path.join(source.toString(), entry);
|
|
45
|
+
const destEntry = path.join(destination.toString(), entry);
|
|
46
|
+
await fsExtra.copy(srcEntry, destEntry);
|
|
47
|
+
}));
|
|
48
|
+
}
|
|
37
49
|
async deleteFile(filePath) {
|
|
38
50
|
const exists = await this.fileExists(filePath);
|
|
39
51
|
if (exists) {
|
|
@@ -53,6 +65,9 @@ export class FileService {
|
|
|
53
65
|
async writeContents(filePath, contents) {
|
|
54
66
|
await fsExtra.writeFile(filePath.toString(), contents, 'utf-8');
|
|
55
67
|
}
|
|
68
|
+
async writeBuffer(filePath, buffer) {
|
|
69
|
+
await fsExtra.writeFile(filePath.toString(), buffer);
|
|
70
|
+
}
|
|
56
71
|
async copy(source, destination) {
|
|
57
72
|
await fsExtra.copyFile(source.toString(), destination.toString());
|
|
58
73
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"file-service.js","sourceRoot":"","sources":["../../src/infrastructure/file-service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,OAAO,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"file-service.js","sourceRoot":"","sources":["../../src/infrastructure/file-service.ts"],"names":[],"mappings":"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"}
|
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-alpha.
|
|
4
|
+
"version": "1.1.0-alpha.20",
|
|
5
5
|
"author": "APIMatic",
|
|
6
6
|
"bin": {
|
|
7
7
|
"apimatic": "./bin/run.js"
|
|
@@ -70,7 +70,6 @@
|
|
|
70
70
|
"neverthrow": "^8.2.0",
|
|
71
71
|
"open": "^8.4.0",
|
|
72
72
|
"prettier": "^2.8.8",
|
|
73
|
-
"simple-git": "^3.27.0",
|
|
74
73
|
"striptags": "^3.2.0",
|
|
75
74
|
"tmp-promise": "^3.0.3",
|
|
76
75
|
"treeify": "^1.1.0",
|