@apimatic/cli 1.1.0-alpha.13 → 1.1.0-alpha.15
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 +96 -95
- package/lib/actions/action-result.d.ts +8 -0
- package/lib/actions/action-result.js +25 -0
- package/lib/actions/action-result.js.map +1 -0
- package/lib/actions/auth/login.d.ts +12 -0
- package/lib/actions/auth/login.js +63 -0
- package/lib/actions/auth/login.js.map +1 -0
- package/lib/actions/portal/copilot.d.ts +11 -0
- package/lib/actions/portal/copilot.js +46 -0
- package/lib/actions/portal/copilot.js.map +1 -0
- package/lib/actions/portal/generate.d.ts +11 -5
- package/lib/actions/portal/generate.js +54 -47
- package/lib/actions/portal/generate.js.map +1 -1
- package/lib/actions/portal/recipe/new-recipe.d.ts +3 -3
- package/lib/actions/portal/recipe/new-recipe.js +18 -31
- package/lib/actions/portal/recipe/new-recipe.js.map +1 -1
- package/lib/actions/portal/serve.d.ts +17 -0
- package/lib/actions/portal/serve.js +36 -0
- package/lib/actions/portal/serve.js.map +1 -0
- package/lib/actions/portal/toc/new-toc.d.ts +4 -1
- package/lib/actions/portal/toc/new-toc.js +37 -34
- package/lib/actions/portal/toc/new-toc.js.map +1 -1
- package/lib/actions/sdk/generate.d.ts +13 -0
- package/lib/actions/sdk/generate.js +49 -0
- package/lib/actions/sdk/generate.js.map +1 -0
- package/lib/application/portal/serve/portal-watcher.d.ts +11 -0
- package/lib/application/portal/serve/portal-watcher.js +67 -0
- package/lib/application/portal/serve/portal-watcher.js.map +1 -0
- package/lib/application/portal/serve/serve-handler.d.ts +16 -0
- package/lib/application/portal/serve/serve-handler.js +91 -0
- package/lib/application/portal/serve/serve-handler.js.map +1 -0
- package/lib/application/portal/serve/watcher-handler.d.ts +10 -0
- package/lib/application/portal/serve/watcher-handler.js +51 -0
- package/lib/application/portal/serve/watcher-handler.js.map +1 -0
- package/lib/application/portal/toc/sdl-parser.d.ts +2 -1
- package/lib/application/portal/toc/sdl-parser.js +4 -4
- package/lib/application/portal/toc/sdl-parser.js.map +1 -1
- package/lib/client-utils/auth-manager.d.ts +7 -2
- package/lib/client-utils/auth-manager.js +24 -7
- package/lib/client-utils/auth-manager.js.map +1 -1
- package/lib/client-utils/sdk-client.d.ts +0 -1
- package/lib/client-utils/sdk-client.js +7 -38
- package/lib/client-utils/sdk-client.js.map +1 -1
- package/lib/commands/api/transform.d.ts +2 -2
- package/lib/commands/api/transform.js +10 -19
- package/lib/commands/api/transform.js.map +1 -1
- package/lib/commands/api/validate.d.ts +1 -1
- package/lib/commands/api/validate.js +5 -13
- package/lib/commands/api/validate.js.map +1 -1
- package/lib/commands/auth/login.d.ts +2 -1
- package/lib/commands/auth/login.js +19 -65
- package/lib/commands/auth/login.js.map +1 -1
- package/lib/commands/auth/logout.js +2 -6
- package/lib/commands/auth/logout.js.map +1 -1
- package/lib/commands/auth/status.js +3 -6
- package/lib/commands/auth/status.js.map +1 -1
- package/lib/commands/portal/copilot.d.ts +12 -0
- package/lib/commands/portal/copilot.js +35 -0
- package/lib/commands/portal/copilot.js.map +1 -0
- package/lib/commands/portal/generate.d.ts +7 -10
- package/lib/commands/portal/generate.js +18 -83
- package/lib/commands/portal/generate.js.map +1 -1
- package/lib/commands/portal/quickstart.d.ts +2 -2
- package/lib/commands/portal/quickstart.js +58 -29
- package/lib/commands/portal/quickstart.js.map +1 -1
- package/lib/commands/portal/recipe/new.d.ts +1 -3
- package/lib/commands/portal/recipe/new.js +21 -27
- package/lib/commands/portal/recipe/new.js.map +1 -1
- package/lib/commands/portal/serve.d.ts +7 -6
- package/lib/commands/portal/serve.js +62 -112
- package/lib/commands/portal/serve.js.map +1 -1
- package/lib/commands/portal/toc/new.d.ts +4 -5
- package/lib/commands/portal/toc/new.js +26 -37
- package/lib/commands/portal/toc/new.js.map +1 -1
- package/lib/commands/sdk/generate.d.ts +8 -6
- package/lib/commands/sdk/generate.js +53 -124
- package/lib/commands/sdk/generate.js.map +1 -1
- package/lib/controllers/portal/quickstart.d.ts +0 -2
- package/lib/controllers/portal/quickstart.js +2 -60
- package/lib/controllers/portal/quickstart.js.map +1 -1
- package/lib/infrastructure/api-utils.d.ts +9 -0
- package/lib/infrastructure/api-utils.js +33 -0
- package/lib/infrastructure/api-utils.js.map +1 -0
- package/lib/infrastructure/env-info.d.ts +8 -0
- package/lib/infrastructure/env-info.js +37 -0
- package/lib/infrastructure/env-info.js.map +1 -0
- package/lib/infrastructure/file-service.d.ts +15 -0
- package/lib/infrastructure/file-service.js +61 -0
- package/lib/infrastructure/file-service.js.map +1 -0
- package/lib/infrastructure/services/api-service.d.ts +10 -0
- package/lib/infrastructure/services/api-service.js +52 -0
- package/lib/infrastructure/services/api-service.js.map +1 -0
- package/lib/infrastructure/services/auth-service.d.ts +11 -0
- package/lib/infrastructure/services/auth-service.js +33 -0
- package/lib/infrastructure/services/auth-service.js.map +1 -0
- package/lib/infrastructure/services/portal-service.d.ts +7 -4
- package/lib/infrastructure/services/portal-service.js +70 -49
- package/lib/infrastructure/services/portal-service.js.map +1 -1
- package/lib/infrastructure/services/telemetry-service.d.ts +8 -0
- package/lib/infrastructure/services/telemetry-service.js +40 -0
- package/lib/infrastructure/services/telemetry-service.js.map +1 -0
- package/lib/infrastructure/tmp-extensions.d.ts +2 -0
- package/lib/infrastructure/tmp-extensions.js +6 -0
- package/lib/infrastructure/tmp-extensions.js.map +1 -0
- package/lib/infrastructure/zip-service.d.ts +6 -0
- package/lib/infrastructure/zip-service.js +25 -0
- package/lib/infrastructure/zip-service.js.map +1 -0
- package/lib/prompts/auth/login.d.ts +5 -0
- package/lib/prompts/auth/login.js +13 -0
- package/lib/prompts/auth/login.js.map +1 -0
- package/lib/prompts/portal/common/base-prompts.d.ts +7 -0
- package/lib/prompts/portal/common/base-prompts.js +19 -0
- package/lib/prompts/portal/common/base-prompts.js.map +1 -0
- package/lib/prompts/portal/copilot.d.ts +6 -0
- package/lib/prompts/portal/copilot.js +35 -0
- package/lib/prompts/portal/copilot.js.map +1 -0
- package/lib/prompts/portal/generate.d.ts +3 -2
- package/lib/prompts/portal/generate.js +21 -36
- package/lib/prompts/portal/generate.js.map +1 -1
- package/lib/prompts/portal/quickstart.d.ts +8 -9
- package/lib/prompts/portal/quickstart.js +44 -32
- package/lib/prompts/portal/quickstart.js.map +1 -1
- package/lib/prompts/portal/recipe/new-recipe.d.ts +1 -0
- package/lib/prompts/portal/recipe/new-recipe.js +18 -8
- package/lib/prompts/portal/recipe/new-recipe.js.map +1 -1
- package/lib/prompts/portal/serve.d.ts +4 -6
- package/lib/prompts/portal/serve.js +24 -15
- package/lib/prompts/portal/serve.js.map +1 -1
- package/lib/prompts/portal/toc/new-toc.d.ts +3 -2
- package/lib/prompts/portal/toc/new-toc.js +11 -14
- package/lib/prompts/portal/toc/new-toc.js.map +1 -1
- package/lib/prompts/sdk/generate.d.ts +11 -0
- package/lib/prompts/sdk/generate.js +42 -0
- package/lib/prompts/sdk/generate.js.map +1 -0
- package/lib/types/api/account.d.ts +10 -0
- package/lib/types/api/account.js +2 -0
- package/lib/types/api/account.js.map +1 -0
- package/lib/types/build/build.d.ts +14 -0
- package/lib/types/build/build.js +4 -0
- package/lib/types/build/build.js.map +1 -0
- package/lib/types/build-context.d.ts +13 -0
- package/lib/types/build-context.js +30 -0
- package/lib/types/build-context.js.map +1 -0
- package/lib/types/events/domain-event.d.ts +8 -0
- package/lib/types/events/domain-event.js +11 -0
- package/lib/types/events/domain-event.js.map +1 -0
- package/lib/types/events/recipe-creation-failed.d.ts +5 -0
- package/lib/types/events/recipe-creation-failed.js +8 -0
- package/lib/types/events/recipe-creation-failed.js.map +1 -0
- package/lib/types/events/toc-creation-failed.d.ts +5 -0
- package/lib/types/events/toc-creation-failed.js +8 -0
- package/lib/types/events/toc-creation-failed.js.map +1 -0
- package/lib/types/file/directoryPath.d.ts +7 -0
- package/lib/types/file/directoryPath.js +16 -0
- package/lib/types/file/directoryPath.js.map +1 -0
- package/lib/types/file/fileName.d.ts +5 -0
- package/lib/types/file/fileName.js +9 -0
- package/lib/types/file/fileName.js.map +1 -0
- package/lib/types/file/filePath.d.ts +8 -0
- package/lib/types/file/filePath.js +11 -0
- package/lib/types/file/filePath.js.map +1 -0
- package/lib/types/flags-provider.d.ts +15 -0
- package/lib/types/flags-provider.js +34 -0
- package/lib/types/flags-provider.js.map +1 -0
- package/lib/types/portal/generate.d.ts +0 -13
- package/lib/types/portal/quickstart.d.ts +1 -1
- package/lib/types/portal/serve.d.ts +13 -0
- package/lib/types/portal/serve.js +2 -0
- package/lib/types/portal/serve.js.map +1 -0
- package/lib/types/portal-context.d.ts +11 -0
- package/lib/types/portal-context.js +28 -0
- package/lib/types/portal-context.js.map +1 -0
- package/lib/types/sdk/generate.d.ts +8 -8
- package/lib/types/sdk/generate.js +10 -10
- package/lib/types/sdk/generate.js.map +1 -1
- package/lib/types/sdk-context.d.ts +13 -0
- package/lib/types/sdk-context.js +28 -0
- package/lib/types/sdk-context.js.map +1 -0
- package/lib/types/spec-context.d.ts +7 -0
- package/lib/types/spec-context.js +12 -0
- package/lib/types/spec-context.js.map +1 -0
- package/lib/utils/utils.d.ts +1 -4
- package/lib/utils/utils.js +18 -32
- package/lib/utils/utils.js.map +1 -1
- package/lib/validators/common/directoryValidator.d.ts +3 -7
- package/lib/validators/common/directoryValidator.js +10 -37
- package/lib/validators/common/directoryValidator.js.map +1 -1
- package/lib/validators/portal/serve-validator.d.ts +6 -0
- package/lib/validators/portal/serve-validator.js +15 -0
- package/lib/validators/portal/serve-validator.js.map +1 -0
- package/package.json +6 -3
- package/lib/controllers/portal/generate.d.ts +0 -3
- package/lib/controllers/portal/generate.js +0 -106
- package/lib/controllers/portal/generate.js.map +0 -1
- package/lib/controllers/portal/serve.d.ts +0 -3
- package/lib/controllers/portal/serve.js +0 -136
- package/lib/controllers/portal/serve.js.map +0 -1
- package/lib/controllers/sdk/generate.d.ts +0 -4
- package/lib/controllers/sdk/generate.js +0 -61
- package/lib/controllers/sdk/generate.js.map +0 -1
- package/lib/services/portal/server.d.ts +0 -14
- package/lib/services/portal/server.js +0 -97
- package/lib/services/portal/server.js.map +0 -1
- package/lib/validators/common/portValidator.d.ts +0 -5
- package/lib/validators/common/portValidator.js +0 -16
- package/lib/validators/common/portValidator.js.map +0 -1
- package/lib/validators/portal/serveValidator.d.ts +0 -6
- package/lib/validators/portal/serveValidator.js +0 -17
- package/lib/validators/portal/serveValidator.js.map +0 -1
|
@@ -1,54 +1,61 @@
|
|
|
1
|
-
import * as path from "path";
|
|
2
|
-
import fsExtra from "fs-extra";
|
|
3
|
-
import { PortalService } from "../../infrastructure/services/portal-service.js";
|
|
4
|
-
import { Result } from "../../types/common/result.js";
|
|
5
|
-
import { getGeneratedFilesPaths, validateAndZipPortalSource, deleteFile, extractZipFile, getMessageInRedColor } from "../../utils/utils.js";
|
|
6
1
|
import { PortalGeneratePrompts } from "../../prompts/portal/generate.js";
|
|
7
|
-
|
|
8
|
-
|
|
2
|
+
import { ZipService } from "../../infrastructure/zip-service.js";
|
|
3
|
+
import { FileService } from "../../infrastructure/file-service.js";
|
|
4
|
+
import { PortalService } from "../../infrastructure/services/portal-service.js";
|
|
5
|
+
import { FilePath } from "../../types/file/filePath.js";
|
|
6
|
+
import { FileName } from "../../types/file/fileName.js";
|
|
7
|
+
import { ActionResult } from "../action-result.js";
|
|
8
|
+
import { BuildContext } from "../../types/build-context.js";
|
|
9
|
+
import { PortalContext } from "../../types/portal-context.js";
|
|
10
|
+
import { withDirPath } from "../../infrastructure/tmp-extensions.js";
|
|
11
|
+
export class GenerateAction {
|
|
12
|
+
constructor(configDir, authKey = null) {
|
|
9
13
|
this.prompts = new PortalGeneratePrompts();
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
this.
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
const sourceBuildInputZipFilePath = await validateAndZipPortalSource(paths.sourceFolderPath, path.join(paths.sourceFolderPath, ".portal_source.zip"), pathsToIgnore);
|
|
17
|
-
const generatePortalParams = {
|
|
18
|
-
sourceBuildInputZipFilePath: sourceBuildInputZipFilePath,
|
|
19
|
-
generatedPortalArtifactsFolderPath: paths.generatedPortalArtifactsFolderPath,
|
|
20
|
-
generatedPortalArtifactsZipFilePath: paths.generatedPortalArtifactsZipFilePath,
|
|
21
|
-
overrideAuthKey: (_a = flags["auth-key"]) !== null && _a !== void 0 ? _a : null,
|
|
22
|
-
generateZipFile: flags.zip
|
|
23
|
-
};
|
|
24
|
-
const docsPortalService = new PortalService();
|
|
25
|
-
const portalGenerationResult = await docsPortalService.generateOnPremPortal(generatePortalParams, configDir);
|
|
26
|
-
await deleteFile(sourceBuildInputZipFilePath);
|
|
27
|
-
if (portalGenerationResult.isSuccess()) {
|
|
28
|
-
await this.saveGeneratedPortalStreamToZipFile(portalGenerationResult.value, paths.generatedPortalArtifactsZipFilePath);
|
|
29
|
-
if (flags.zip) {
|
|
30
|
-
this.prompts.displayPortalGenerationSuccessMessage();
|
|
31
|
-
this.prompts.displayOutroMessage(paths.generatedPortalArtifactsZipFilePath);
|
|
32
|
-
return;
|
|
14
|
+
this.zipArchiver = new ZipService();
|
|
15
|
+
this.fileService = new FileService();
|
|
16
|
+
this.portalService = new PortalService();
|
|
17
|
+
this.execute = async (buildDirectory, portalDirectory, force, zipPortal) => {
|
|
18
|
+
if (buildDirectory.isEqual(portalDirectory)) {
|
|
19
|
+
return ActionResult.error(`The 'src' and 'portal' directory cannot be the same: "${portalDirectory}"`);
|
|
33
20
|
}
|
|
34
|
-
|
|
35
|
-
await
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
21
|
+
const buildContext = new BuildContext(buildDirectory);
|
|
22
|
+
if (!await buildContext.validate()) {
|
|
23
|
+
return ActionResult.error(`The 'src' directory is either empty or invalid: "${buildDirectory}"`);
|
|
24
|
+
}
|
|
25
|
+
const portalContext = new PortalContext(portalDirectory);
|
|
26
|
+
if (!force && (await portalContext.exists()) && !(await this.prompts.overwritePortal(portalDirectory))) {
|
|
27
|
+
return ActionResult.error("Please enter a different destination folder or remove the existing files and try again.");
|
|
28
|
+
}
|
|
29
|
+
return await withDirPath(async (tempDirectory) => {
|
|
30
|
+
this.prompts.displayPortalGenerationMessage();
|
|
31
|
+
const buildZipPath = new FilePath(tempDirectory, new FileName("build.zip"));
|
|
32
|
+
await this.zipArchiver.archive(buildDirectory, buildZipPath);
|
|
33
|
+
const response = await this.portalService.generatePortal(buildZipPath, this.configDir, this.authKey);
|
|
34
|
+
if (!response.isSuccess()) {
|
|
35
|
+
this.prompts.displayPortalGenerationErrorMessage();
|
|
36
|
+
return ActionResult.error(await this.parseError(response.error, portalDirectory, tempDirectory));
|
|
37
|
+
}
|
|
38
|
+
const tempPortalFilePath = new FilePath(tempDirectory, new FileName("portal.zip"));
|
|
39
|
+
await this.fileService.writeFile(tempPortalFilePath, response.value);
|
|
40
|
+
await portalContext.save(tempPortalFilePath, zipPortal);
|
|
41
|
+
this.prompts.displayPortalGenerationSuccessMessage();
|
|
42
|
+
return ActionResult.success();
|
|
43
|
+
});
|
|
44
|
+
};
|
|
45
|
+
this.configDir = configDir;
|
|
46
|
+
this.authKey = authKey;
|
|
43
47
|
}
|
|
44
|
-
async
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
48
|
+
async parseError(error, portalDirectory, tempDirectory) {
|
|
49
|
+
if (typeof error === 'string') {
|
|
50
|
+
return error;
|
|
51
|
+
}
|
|
52
|
+
const tempErrorFilePath = new FilePath(tempDirectory, new FileName("error.zip"));
|
|
53
|
+
await this.fileService.writeFile(tempErrorFilePath, error);
|
|
54
|
+
await this.fileService.cleanDirectory(portalDirectory);
|
|
55
|
+
await this.zipArchiver.unArchive(tempErrorFilePath, portalDirectory);
|
|
56
|
+
const errorReportPath = portalDirectory.join("apimatic-debug");
|
|
57
|
+
return "An error occurred during portal generation due to an issue with the input. An error report has been written at the destination path: " +
|
|
58
|
+
errorReportPath;
|
|
52
59
|
}
|
|
53
60
|
}
|
|
54
61
|
//# sourceMappingURL=generate.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generate.js","sourceRoot":"","sources":["../../../src/actions/portal/generate.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"generate.js","sourceRoot":"","sources":["../../../src/actions/portal/generate.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,20 +1,20 @@
|
|
|
1
1
|
import { Result } from "../../../types/common/result.js";
|
|
2
|
+
import { DirectoryPath } from "../../../types/file/directoryPath.js";
|
|
2
3
|
export declare class PortalRecipeAction {
|
|
3
4
|
private readonly prompts;
|
|
4
5
|
private readonly sdlParser;
|
|
5
6
|
private readonly BUILD_FILE_NAME;
|
|
6
7
|
constructor();
|
|
7
|
-
createRecipe(buildDirectoryPath:
|
|
8
|
+
createRecipe(buildDirectoryPath: DirectoryPath, configDir: string, name?: string): Promise<Result<string, string>>;
|
|
8
9
|
private createRecipeFileName;
|
|
9
10
|
private toPascalCase;
|
|
10
11
|
private validateBuildDirectoryPath;
|
|
11
|
-
private validateBuildConfigFilePath;
|
|
12
12
|
private promptUserAndBuildNewRecipe;
|
|
13
13
|
private promptUserAndAddContentStepToRecipe;
|
|
14
14
|
private promptUserAndAddEndpointStepToRecipe;
|
|
15
15
|
private parseTocFile;
|
|
16
16
|
private createPermalink;
|
|
17
|
-
private
|
|
17
|
+
private getBuildConfigFilePath;
|
|
18
18
|
private parseBuildConfig;
|
|
19
19
|
private checkRecipeAlreadyExists;
|
|
20
20
|
private getBuildDirectoryStructure;
|
|
@@ -17,7 +17,7 @@ export class PortalRecipeAction {
|
|
|
17
17
|
this.prompts = new PortalRecipePrompts();
|
|
18
18
|
this.sdlParser = new SdlParser(new PortalService());
|
|
19
19
|
}
|
|
20
|
-
async createRecipe(buildDirectoryPath, configDir,
|
|
20
|
+
async createRecipe(buildDirectoryPath, configDir, name) {
|
|
21
21
|
this.prompts.displayWelcomeMessage();
|
|
22
22
|
const recipeName = name !== null && name !== void 0 ? name : (await this.prompts.recipeNamePrompt());
|
|
23
23
|
const recipeFileName = this.createRecipeFileName(recipeName);
|
|
@@ -25,13 +25,9 @@ export class PortalRecipeAction {
|
|
|
25
25
|
if (validateBuildDirectoryPathResult.isFailed()) {
|
|
26
26
|
return Result.failure(`Unable to generate API Recipe: ${validateBuildDirectoryPathResult.error}`);
|
|
27
27
|
}
|
|
28
|
-
const validateBuildConfigFilePathResult = await this.validateBuildConfigFilePath(buildConfigFilePath);
|
|
29
|
-
if (validateBuildConfigFilePathResult.isFailed()) {
|
|
30
|
-
return Result.failure(`Unable to generate API Recipe: ${validateBuildConfigFilePathResult}`);
|
|
31
|
-
}
|
|
32
28
|
//TODO: Create a type for the build config and use that here instead of any.
|
|
33
|
-
const
|
|
34
|
-
const buildConfigResult = await this.parseBuildConfig(
|
|
29
|
+
const buildConfigFilePath = await this.getBuildConfigFilePath(buildDirectoryPath);
|
|
30
|
+
const buildConfigResult = await this.parseBuildConfig(buildConfigFilePath);
|
|
35
31
|
if (buildConfigResult.isFailed()) {
|
|
36
32
|
return Result.failure(`Unable to generate API Recipe: ${buildConfigResult.error}`);
|
|
37
33
|
}
|
|
@@ -51,7 +47,7 @@ export class PortalRecipeAction {
|
|
|
51
47
|
return Result.failure(`Unable to generate API Recipe: ${recipeResult.error}`);
|
|
52
48
|
}
|
|
53
49
|
const recipeGenerator = new PortalRecipeGenerator();
|
|
54
|
-
await recipeGenerator.createRecipe(recipeResult.value, buildConfigResult.value, tocFileResult.value, tocFilePath, recipeName, recipeFileName,
|
|
50
|
+
await recipeGenerator.createRecipe(recipeResult.value, buildConfigResult.value, tocFileResult.value, tocFilePath, recipeName, recipeFileName, buildConfigFilePath, contentFolderPath);
|
|
55
51
|
const buildDirectoryStructure = await this.getBuildDirectoryStructure(recipeFileName);
|
|
56
52
|
this.prompts.displayBuildDirectoryStructureAsTree(buildDirectoryStructure);
|
|
57
53
|
this.prompts.displayRecipeGenerationSuccessMessage(contentFolderPath);
|
|
@@ -67,17 +63,11 @@ export class PortalRecipeAction {
|
|
|
67
63
|
.join("");
|
|
68
64
|
}
|
|
69
65
|
async validateBuildDirectoryPath(buildDirectoryPath) {
|
|
70
|
-
if (!(await fsExtra.pathExists(buildDirectoryPath))) {
|
|
71
|
-
return Result.failure(`Portal build input folder ${buildDirectoryPath} does not exist.`);
|
|
66
|
+
if (!(await fsExtra.pathExists(buildDirectoryPath.toString()))) {
|
|
67
|
+
return Result.failure(`Portal build input folder ${buildDirectoryPath.toString()} does not exist.`);
|
|
72
68
|
}
|
|
73
69
|
return Result.success("Portal build input folder path validated successfully.");
|
|
74
70
|
}
|
|
75
|
-
async validateBuildConfigFilePath(buildConfigFilePath) {
|
|
76
|
-
if (buildConfigFilePath && !(await fsExtra.pathExists(buildConfigFilePath))) {
|
|
77
|
-
return Result.failure(`Portal build config file ${buildConfigFilePath} does not exist.`);
|
|
78
|
-
}
|
|
79
|
-
return Result.success("Portal build config file path validated successfully.");
|
|
80
|
-
}
|
|
81
71
|
//TODO: Figure out a better way to do this without the while loop.
|
|
82
72
|
async promptUserAndBuildNewRecipe(buildConfig, contentFolderPath, recipeName, configDir) {
|
|
83
73
|
const recipe = new PortalRecipe(recipeName);
|
|
@@ -130,8 +120,8 @@ export class PortalRecipeAction {
|
|
|
130
120
|
try {
|
|
131
121
|
await execa(editor, [tempFilePath], { stdio: "inherit" });
|
|
132
122
|
}
|
|
133
|
-
catch (
|
|
134
|
-
// User exiting vim can throw a non-zero exit code leading to exception, ignore it.
|
|
123
|
+
catch (_a) {
|
|
124
|
+
// User exiting vim can throw a non-zero exit code leading to exception, ignore it.
|
|
135
125
|
}
|
|
136
126
|
}
|
|
137
127
|
}
|
|
@@ -166,29 +156,26 @@ export class PortalRecipeAction {
|
|
|
166
156
|
async parseTocFile(tocFilePath) {
|
|
167
157
|
// Check if the file exists
|
|
168
158
|
if (!fs.existsSync(tocFilePath)) {
|
|
169
|
-
return Result.failure(`
|
|
159
|
+
return Result.failure(`toc.yml file not found at ${tocFilePath}. Please run 'apimatic:toc:new' to create your toc.yml file first.`);
|
|
170
160
|
}
|
|
171
161
|
try {
|
|
172
162
|
const tocContent = await fs.promises.readFile(tocFilePath, "utf-8");
|
|
173
163
|
return Result.success(parse(tocContent));
|
|
174
164
|
}
|
|
175
165
|
catch (_a) {
|
|
176
|
-
return Result.failure(`Unable to parse the
|
|
166
|
+
return Result.failure(`Unable to parse the toc.yml file located at ${tocFilePath}. Please make sure that the toc.yml is a valid YAML file.`);
|
|
177
167
|
}
|
|
178
168
|
}
|
|
179
169
|
async createPermalink(pathPieces) {
|
|
180
170
|
return `$e/${pathPieces.map(encodeURIComponent).join("/")}`;
|
|
181
171
|
}
|
|
182
|
-
async
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
return await this.prompts.buildConfigFilePathPrompt(buildDirectoryPath);
|
|
188
|
-
}
|
|
189
|
-
return path.join(buildDirectoryPath, this.BUILD_FILE_NAME);
|
|
172
|
+
async getBuildConfigFilePath(buildDirectoryPath) {
|
|
173
|
+
const files = await fs.promises.readdir(buildDirectoryPath.toString());
|
|
174
|
+
const buildFileExists = files.find((file) => file === this.BUILD_FILE_NAME);
|
|
175
|
+
if (!buildFileExists) {
|
|
176
|
+
return await this.prompts.buildConfigFilePathPrompt(buildDirectoryPath.toString());
|
|
190
177
|
}
|
|
191
|
-
return
|
|
178
|
+
return path.join(buildDirectoryPath.toString(), this.BUILD_FILE_NAME);
|
|
192
179
|
}
|
|
193
180
|
//TODO: Create a type for the build config and use that here instead of any.
|
|
194
181
|
async parseBuildConfig(buildConfigFilePath) {
|
|
@@ -255,9 +242,9 @@ export class PortalRecipeAction {
|
|
|
255
242
|
var _a;
|
|
256
243
|
const contentFolder = (_a = buildConfig.generatePortal) === null || _a === void 0 ? void 0 : _a.contentFolder;
|
|
257
244
|
if (contentFolder) {
|
|
258
|
-
return path.join(buildDirectoryPath, contentFolder);
|
|
245
|
+
return path.join(buildDirectoryPath.toString(), contentFolder);
|
|
259
246
|
}
|
|
260
|
-
return buildDirectoryPath;
|
|
247
|
+
return buildDirectoryPath.toString();
|
|
261
248
|
}
|
|
262
249
|
}
|
|
263
250
|
//# sourceMappingURL=new-recipe.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"new-recipe.js","sourceRoot":"","sources":["../../../../src/actions/portal/recipe/new-recipe.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"new-recipe.js","sourceRoot":"","sources":["../../../../src/actions/portal/recipe/new-recipe.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { PortalServePrompts } from "../../prompts/portal/serve.js";
|
|
2
|
+
import { ServeFlags, ServePaths } from "../../types/portal/serve.js";
|
|
3
|
+
import { ServeHandler } from "../../application/portal/serve/serve-handler.js";
|
|
4
|
+
import { Result } from "../../types/common/result.js";
|
|
5
|
+
import { PortalService } from "../../infrastructure/services/portal-service.js";
|
|
6
|
+
import { DirectoryPath } from "../../types/file/directoryPath.js";
|
|
7
|
+
import { ActionResult } from "../action-result.js";
|
|
8
|
+
export declare class PortalServeAction {
|
|
9
|
+
protected readonly prompts: PortalServePrompts;
|
|
10
|
+
protected readonly serveHandler: ServeHandler;
|
|
11
|
+
protected readonly docsPortalService: PortalService;
|
|
12
|
+
private readonly GENERATED_PORTAL_ARTIFACTS_ZIP_FILENAME;
|
|
13
|
+
private readonly GENERATED_BUILD_INPUT_ZIP_FILENAME;
|
|
14
|
+
constructor(prompts: PortalServePrompts, serveHandler: ServeHandler, docsPortalService: PortalService);
|
|
15
|
+
servePortal(flags: ServeFlags, paths: ServePaths, generatePortal: (buildDirectory: DirectoryPath, portalDirectory: DirectoryPath, force: boolean, zipPortal: boolean) => Promise<ActionResult>): Promise<Result<string, string>>;
|
|
16
|
+
private getGeneratedFilesPaths;
|
|
17
|
+
}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import path from "path";
|
|
2
|
+
import { Result } from "../../types/common/result.js";
|
|
3
|
+
import { DirectoryPath } from "../../types/file/directoryPath.js";
|
|
4
|
+
export class PortalServeAction {
|
|
5
|
+
constructor(prompts, serveHandler, docsPortalService) {
|
|
6
|
+
this.GENERATED_PORTAL_ARTIFACTS_ZIP_FILENAME = ".generated_portal.zip";
|
|
7
|
+
this.GENERATED_BUILD_INPUT_ZIP_FILENAME = ".portal_source.zip";
|
|
8
|
+
this.prompts = prompts;
|
|
9
|
+
this.serveHandler = serveHandler;
|
|
10
|
+
this.docsPortalService = docsPortalService;
|
|
11
|
+
}
|
|
12
|
+
async servePortal(flags, paths, generatePortal) {
|
|
13
|
+
const ignoredPaths = [
|
|
14
|
+
...flags.ignore.split(",").map((path) => path.trim()),
|
|
15
|
+
...this.getGeneratedFilesPaths(paths.sourceDirectoryPath, paths.destinationDirectoryPath)
|
|
16
|
+
];
|
|
17
|
+
const result = await generatePortal(new DirectoryPath(paths.sourceDirectoryPath), new DirectoryPath(paths.destinationDirectoryPath), true, false);
|
|
18
|
+
return result.mapAll(async () => {
|
|
19
|
+
const setupServerResult = await this.serveHandler.setupServer(paths.destinationDirectoryPath);
|
|
20
|
+
if (setupServerResult.isFailed()) {
|
|
21
|
+
return Result.failure(setupServerResult.error);
|
|
22
|
+
}
|
|
23
|
+
const startServerResult = await this.serveHandler.startServer(paths, flags, ignoredPaths, generatePortal);
|
|
24
|
+
if (startServerResult.isFailed()) {
|
|
25
|
+
return Result.failure(startServerResult.error);
|
|
26
|
+
}
|
|
27
|
+
return Result.success(`Portal was successfully served.`);
|
|
28
|
+
}, async (message) => Result.failure(message));
|
|
29
|
+
}
|
|
30
|
+
getGeneratedFilesPaths(sourceDirectoryPath, generatedPortalArtifactsDirectoryPath) {
|
|
31
|
+
const generatedBuildInputZipPath = path.join(sourceDirectoryPath, this.GENERATED_BUILD_INPUT_ZIP_FILENAME);
|
|
32
|
+
const generatedPortalArtifactsZipFilePath = path.join(sourceDirectoryPath, this.GENERATED_PORTAL_ARTIFACTS_ZIP_FILENAME);
|
|
33
|
+
return [generatedBuildInputZipPath, generatedPortalArtifactsZipFilePath, generatedPortalArtifactsDirectoryPath];
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
//# sourceMappingURL=serve.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"serve.js","sourceRoot":"","sources":["../../../src/actions/portal/serve.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAC;AAIxB,OAAO,EAAE,MAAM,EAAE,MAAM,8BAA8B,CAAC;AAEtD,OAAO,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAC;AAGlE,MAAM,OAAO,iBAAiB;IAO5B,YAAmB,OAA2B,EAAE,YAA0B,EAAE,iBAAgC;QAH3F,4CAAuC,GAAG,uBAAuB,CAAC;QAClE,uCAAkC,GAAG,oBAAoB,CAAC;QAGzE,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;QACjC,IAAI,CAAC,iBAAiB,GAAG,iBAAiB,CAAC;IAC7C,CAAC;IAEM,KAAK,CAAC,WAAW,CACtB,KAAiB,EACjB,KAAiB,EACjB,cAK0B;QAE1B,MAAM,YAAY,GAAG;YACnB,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;YACrD,GAAG,IAAI,CAAC,sBAAsB,CAAC,KAAK,CAAC,mBAAmB,EAAE,KAAK,CAAC,wBAAwB,CAAC;SAC1F,CAAC;QAEF,MAAM,MAAM,GAAG,MAAM,cAAc,CACjC,IAAI,aAAa,CAAC,KAAK,CAAC,mBAAmB,CAAC,EAC5C,IAAI,aAAa,CAAC,KAAK,CAAC,wBAAwB,CAAC,EACjD,IAAI,EACJ,KAAK,CACN,CAAC;QAEF,OAAO,MAAM,CAAC,MAAM,CAClB,KAAK,IAAI,EAAE;YACT,MAAM,iBAAiB,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAC;YAC9F,IAAI,iBAAiB,CAAC,QAAQ,EAAE,EAAE,CAAC;gBACjC,OAAO,MAAM,CAAC,OAAO,CAAC,iBAAiB,CAAC,KAAM,CAAC,CAAC;YAClD,CAAC;YAED,MAAM,iBAAiB,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,KAAK,EAAE,KAAK,EAAE,YAAY,EAAE,cAAc,CAAC,CAAC;YAC1G,IAAI,iBAAiB,CAAC,QAAQ,EAAE,EAAE,CAAC;gBACjC,OAAO,MAAM,CAAC,OAAO,CAAC,iBAAiB,CAAC,KAAM,CAAC,CAAC;YAClD,CAAC;YAED,OAAO,MAAM,CAAC,OAAO,CAAC,iCAAiC,CAAC,CAAC;QAC3D,CAAC,EACD,KAAK,EAAE,OAAO,EAAE,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAC3C,CAAC;IACJ,CAAC;IAEO,sBAAsB,CAAC,mBAA2B,EAAE,qCAA6C;QACvG,MAAM,0BAA0B,GAAG,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE,IAAI,CAAC,kCAAkC,CAAC,CAAC;QAC3G,MAAM,mCAAmC,GAAG,IAAI,CAAC,IAAI,CACnD,mBAAmB,EACnB,IAAI,CAAC,uCAAuC,CAC7C,CAAC;QAEF,OAAO,CAAC,0BAA0B,EAAE,mCAAmC,EAAE,qCAAqC,CAAC,CAAC;IAClH,CAAC;CACF"}
|
|
@@ -1,11 +1,14 @@
|
|
|
1
1
|
import { Result } from "../../../types/common/result.js";
|
|
2
|
+
import { DirectoryPath } from "../../../types/file/directoryPath.js";
|
|
2
3
|
export declare class PortalNewTocAction {
|
|
3
4
|
private readonly prompts;
|
|
4
5
|
private readonly sdlParser;
|
|
5
6
|
private readonly tocGenerator;
|
|
6
7
|
private readonly contentParser;
|
|
8
|
+
private readonly DEFAULT_TOC_FILENAME;
|
|
9
|
+
private readonly APIMATIC_BUILD_FILENAME;
|
|
7
10
|
constructor();
|
|
8
|
-
createToc(
|
|
11
|
+
createToc(buildDirectory: DirectoryPath, configDir: string, tocDirectory?: DirectoryPath, force?: boolean, expandEndpoints?: boolean, expandModels?: boolean): Promise<Result<string, string>>;
|
|
9
12
|
private writeToc;
|
|
10
13
|
private handleExistingToc;
|
|
11
14
|
private extractSdlComponents;
|
|
@@ -7,33 +7,36 @@ import { SdlParser } from "../../../application/portal/toc/sdl-parser.js";
|
|
|
7
7
|
import { TocStructureGenerator } from "../../../application/portal/toc/toc-structure-generator.js";
|
|
8
8
|
import { TocContentParser } from "../../../application/portal/toc/toc-content-parser.js";
|
|
9
9
|
import { PortalService } from "../../../infrastructure/services/portal-service.js";
|
|
10
|
-
|
|
11
|
-
|
|
10
|
+
import { FilePath } from "../../../types/file/filePath.js";
|
|
11
|
+
import { FileName } from "../../../types/file/fileName.js";
|
|
12
|
+
import { BuildContext } from "../../../types/build-context.js";
|
|
12
13
|
export class PortalNewTocAction {
|
|
13
14
|
constructor() {
|
|
15
|
+
this.DEFAULT_TOC_FILENAME = "toc.yml";
|
|
16
|
+
this.APIMATIC_BUILD_FILENAME = "APIMATIC-BUILD.json";
|
|
14
17
|
this.prompts = new PortalNewTocPrompts();
|
|
15
18
|
this.sdlParser = new SdlParser(new PortalService());
|
|
16
19
|
this.tocGenerator = new TocStructureGenerator();
|
|
17
20
|
this.contentParser = new TocContentParser();
|
|
18
21
|
}
|
|
19
|
-
async createToc(
|
|
22
|
+
async createToc(buildDirectory, configDir, tocDirectory, force = false, expandEndpoints = false, expandModels = false) {
|
|
20
23
|
try {
|
|
21
|
-
const tocDir = await this.getDestinationPath(
|
|
22
|
-
const tocPath =
|
|
24
|
+
const tocDir = await this.getDestinationPath(buildDirectory, tocDirectory);
|
|
25
|
+
const tocPath = new FilePath(tocDir, new FileName(this.DEFAULT_TOC_FILENAME));
|
|
23
26
|
const tocCheckResult = await this.handleExistingToc(tocPath, force);
|
|
24
27
|
if (!tocCheckResult.isSuccess()) {
|
|
25
|
-
return tocCheckResult;
|
|
28
|
+
return Result.cancelled(tocCheckResult.value);
|
|
26
29
|
}
|
|
27
|
-
const { endpointGroups, models } = await this.extractSdlComponents(
|
|
28
|
-
const contentGroups = await this.extractContentGroups(
|
|
30
|
+
const { endpointGroups, models } = await this.extractSdlComponents(buildDirectory, configDir, expandEndpoints, expandModels);
|
|
31
|
+
const contentGroups = await this.extractContentGroups(buildDirectory);
|
|
29
32
|
const toc = this.tocGenerator.createTocStructure(endpointGroups, models, expandEndpoints, expandModels, contentGroups);
|
|
30
33
|
const yamlString = this.tocGenerator.transformToYaml(toc);
|
|
31
|
-
await this.writeToc(tocPath, yamlString, "utf8");
|
|
34
|
+
await this.writeToc(tocPath.toString(), yamlString, "utf8");
|
|
32
35
|
this.prompts.displayOutroMessage(tocPath);
|
|
33
|
-
return Result.success(tocPath);
|
|
36
|
+
return Result.success(tocPath.toString());
|
|
34
37
|
}
|
|
35
38
|
catch (error) {
|
|
36
|
-
this.prompts.logError(getMessageInRedColor(`${error}`));
|
|
39
|
+
this.prompts.logError(getMessageInRedColor(`${error.message}`));
|
|
37
40
|
return Result.failure(`❌ An unexpected error occurred while generating the TOC file.`);
|
|
38
41
|
}
|
|
39
42
|
}
|
|
@@ -48,18 +51,18 @@ export class PortalNewTocAction {
|
|
|
48
51
|
}
|
|
49
52
|
return Result.success("TOC check passed.");
|
|
50
53
|
}
|
|
51
|
-
async extractSdlComponents(
|
|
54
|
+
async extractSdlComponents(buildDirectory, configDir, expandEndpoints, expandModels) {
|
|
52
55
|
if (!expandEndpoints && !expandModels) {
|
|
53
56
|
return { endpointGroups: new Map(), models: [] };
|
|
54
57
|
}
|
|
55
58
|
this.prompts.startProgressIndicatorWithMessage("Extracting endpoints and/or models from the API specification...");
|
|
56
|
-
const specFolderPath = await this.getSpecFolderPath(
|
|
59
|
+
const specFolderPath = await this.getSpecFolderPath(buildDirectory);
|
|
57
60
|
if (!(await fsExtra.pathExists(specFolderPath))) {
|
|
58
61
|
this.prompts.stopProgressIndicatorWithMessage(`⚠️ Could not find the specification folder at: ${specFolderPath}`);
|
|
59
62
|
this.prompts.displayInfo("Falling back to default TOC structure without expanded endpoints or models...");
|
|
60
63
|
return { endpointGroups: new Map(), models: [] };
|
|
61
64
|
}
|
|
62
|
-
const sdlResult = await this.sdlParser.getTocComponentsFromSdl(specFolderPath,
|
|
65
|
+
const sdlResult = await this.sdlParser.getTocComponentsFromSdl(specFolderPath, buildDirectory, configDir);
|
|
63
66
|
if (!sdlResult.isSuccess()) {
|
|
64
67
|
this.prompts.stopProgressIndicatorWithMessage(`⚠️ ${sdlResult.error}`);
|
|
65
68
|
this.prompts.displayInfo("Falling back to default TOC structure without expanded endpoints or models...");
|
|
@@ -68,50 +71,50 @@ export class PortalNewTocAction {
|
|
|
68
71
|
this.prompts.stopProgressIndicatorWithMessage("✅ Successfully extracted endpoints and/or models from the specification.");
|
|
69
72
|
return sdlResult.value;
|
|
70
73
|
}
|
|
71
|
-
async extractContentGroups(
|
|
72
|
-
const contentFolderPath = await this.getContentFolderPath(
|
|
73
|
-
if (!(await fsExtra.pathExists(contentFolderPath))) {
|
|
74
|
+
async extractContentGroups(buildDirectory) {
|
|
75
|
+
const contentFolderPath = await this.getContentFolderPath(buildDirectory);
|
|
76
|
+
if (!(await fsExtra.pathExists(contentFolderPath.toString()))) {
|
|
74
77
|
this.prompts.displayInfo(`⚠️ Could not locate the content folder at: ${contentFolderPath}`);
|
|
75
78
|
this.prompts.displayInfo("Skipping custom content addition in TOC...");
|
|
76
79
|
return [];
|
|
77
80
|
}
|
|
78
|
-
return await this.contentParser.parseContentFolder(contentFolderPath, contentFolderPath);
|
|
81
|
+
return await this.contentParser.parseContentFolder(contentFolderPath.toString(), contentFolderPath.toString());
|
|
79
82
|
}
|
|
80
|
-
async getDestinationPath(
|
|
81
|
-
if (
|
|
82
|
-
const inferredDestination = await this.getContentFolderPath(
|
|
83
|
+
async getDestinationPath(buildDirectory, providedTocDirectory) {
|
|
84
|
+
if (providedTocDirectory === undefined) {
|
|
85
|
+
const inferredDestination = await this.getContentFolderPath(buildDirectory);
|
|
83
86
|
return inferredDestination;
|
|
84
87
|
}
|
|
85
|
-
return
|
|
88
|
+
return providedTocDirectory;
|
|
86
89
|
}
|
|
87
90
|
async checkExistingToc(tocPath, force) {
|
|
88
|
-
if ((await fsExtra.pathExists(tocPath)) && !force) {
|
|
89
|
-
return await this.prompts.overwriteExistingTocPrompt();
|
|
91
|
+
if ((await fsExtra.pathExists(tocPath.toString())) && !force) {
|
|
92
|
+
return await this.prompts.overwriteExistingTocPrompt(tocPath);
|
|
90
93
|
}
|
|
91
94
|
return true;
|
|
92
95
|
}
|
|
93
|
-
async getContentFolderPath(
|
|
96
|
+
async getContentFolderPath(buildDirectory) {
|
|
94
97
|
var _a;
|
|
95
|
-
const
|
|
96
|
-
const defaultContentFolder =
|
|
97
|
-
if (!(await
|
|
98
|
+
const buildContext = new BuildContext(buildDirectory);
|
|
99
|
+
const defaultContentFolder = buildDirectory.join("content");
|
|
100
|
+
if (!(await buildContext.validate())) {
|
|
98
101
|
return defaultContentFolder;
|
|
99
102
|
}
|
|
100
103
|
try {
|
|
101
|
-
const buildConfig = await
|
|
104
|
+
const buildConfig = await buildContext.getBuildFileContents();
|
|
102
105
|
if (((_a = buildConfig.generatePortal) === null || _a === void 0 ? void 0 : _a.contentFolder) == null) {
|
|
103
106
|
return defaultContentFolder;
|
|
104
107
|
}
|
|
105
|
-
return
|
|
108
|
+
return buildDirectory.join(buildConfig.generatePortal.contentFolder).join("content");
|
|
106
109
|
}
|
|
107
110
|
catch (_b) {
|
|
108
111
|
return defaultContentFolder;
|
|
109
112
|
}
|
|
110
113
|
}
|
|
111
|
-
async getSpecFolderPath(
|
|
114
|
+
async getSpecFolderPath(buildDirectory) {
|
|
112
115
|
var _a;
|
|
113
|
-
const buildFilePath = path.join(
|
|
114
|
-
const defaultSpecFolder = path.join(
|
|
116
|
+
const buildFilePath = path.join(buildDirectory.toString(), this.APIMATIC_BUILD_FILENAME);
|
|
117
|
+
const defaultSpecFolder = path.join(buildDirectory.toString(), "spec");
|
|
115
118
|
if (!(await fsExtra.pathExists(buildFilePath))) {
|
|
116
119
|
return defaultSpecFolder;
|
|
117
120
|
}
|
|
@@ -120,7 +123,7 @@ export class PortalNewTocAction {
|
|
|
120
123
|
if (((_a = buildConfig.generatePortal) === null || _a === void 0 ? void 0 : _a.apiSpecPath) == null) {
|
|
121
124
|
return defaultSpecFolder;
|
|
122
125
|
}
|
|
123
|
-
return path.join(
|
|
126
|
+
return path.join(buildDirectory.toString(), buildConfig.generatePortal.apiSpecPath);
|
|
124
127
|
}
|
|
125
128
|
catch (_b) {
|
|
126
129
|
return defaultSpecFolder;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"new-toc.js","sourceRoot":"","sources":["../../../../src/actions/portal/toc/new-toc.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,OAAO,MAAM,UAAU,CAAC;AAC/B,OAAO,EAAE,mBAAmB,EAAE,MAAM,wCAAwC,CAAC;AAC7E,OAAO,EAAE,MAAM,EAAE,MAAM,iCAAiC,CAAC;AACzD,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAC/D,OAAO,EAAE,SAAS,EAAE,MAAM,+CAA+C,CAAC;AAC1E,OAAO,EAAE,qBAAqB,EAAE,MAAM,4DAA4D,CAAC;AACnG,OAAO,EAAE,gBAAgB,EAAE,MAAM,uDAAuD,CAAC;AAEzF,OAAO,EAAE,aAAa,EAAE,MAAM,oDAAoD,CAAC;AAEnF,
|
|
1
|
+
{"version":3,"file":"new-toc.js","sourceRoot":"","sources":["../../../../src/actions/portal/toc/new-toc.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { DirectoryPath } from "../../types/file/directoryPath.js";
|
|
2
|
+
import { ActionResult } from "../action-result.js";
|
|
3
|
+
import { Platforms } from "@apimatic/sdk";
|
|
4
|
+
export declare class GenerateAction {
|
|
5
|
+
private readonly prompts;
|
|
6
|
+
private readonly zipArchiver;
|
|
7
|
+
private readonly fileService;
|
|
8
|
+
private readonly portalService;
|
|
9
|
+
private readonly configDir;
|
|
10
|
+
private readonly authKey;
|
|
11
|
+
constructor(configDir: DirectoryPath, authKey?: string | null);
|
|
12
|
+
readonly execute: (specDirectory: DirectoryPath, sdkDirectory: DirectoryPath, platform: Platforms, force: boolean, zipSdk: boolean) => Promise<ActionResult>;
|
|
13
|
+
}
|