@apimatic/cli 1.1.0-alpha.9 → 1.1.0-beta.2
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 +436 -374
- package/bin/run.js +5 -0
- package/lib/actions/action-result.d.ts +13 -0
- package/lib/actions/action-result.js +44 -0
- package/lib/actions/action-result.js.map +1 -0
- package/lib/actions/api/transform.d.ts +15 -0
- package/lib/actions/api/transform.js +48 -0
- package/lib/actions/api/transform.js.map +1 -0
- package/lib/actions/api/validate.d.ts +12 -0
- package/lib/actions/api/validate.js +41 -0
- package/lib/actions/api/validate.js.map +1 -0
- package/lib/actions/auth/login.d.ts +13 -0
- package/lib/actions/auth/login.js +55 -0
- package/lib/actions/auth/login.js.map +1 -0
- package/lib/actions/auth/logout.d.ts +8 -0
- package/lib/actions/auth/logout.js +15 -0
- package/lib/actions/auth/logout.js.map +1 -0
- package/lib/actions/auth/status.d.ts +11 -0
- package/lib/actions/auth/status.js +26 -0
- package/lib/actions/auth/status.js.map +1 -0
- package/lib/actions/portal/copilot.d.ts +16 -0
- package/lib/actions/portal/copilot.js +89 -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 +60 -55
- package/lib/actions/portal/generate.js.map +1 -0
- package/lib/actions/portal/quickstart.d.ts +16 -0
- package/lib/actions/portal/quickstart.js +146 -0
- package/lib/actions/portal/quickstart.js.map +1 -0
- package/lib/actions/portal/recipe/new-recipe.d.ts +15 -0
- package/lib/actions/portal/recipe/new-recipe.js +177 -0
- package/lib/actions/portal/recipe/new-recipe.js.map +1 -0
- package/lib/actions/portal/serve.d.ts +15 -0
- package/lib/actions/portal/serve.js +118 -0
- package/lib/actions/portal/serve.js.map +1 -0
- package/lib/actions/portal/toc/new-toc.d.ts +17 -13
- package/lib/actions/portal/toc/new-toc.js +85 -122
- package/lib/actions/portal/toc/new-toc.js.map +1 -0
- package/lib/actions/quickstart.d.ts +10 -0
- package/lib/actions/quickstart.js +30 -0
- package/lib/actions/quickstart.js.map +1 -0
- package/lib/actions/sdk/generate.d.ts +13 -0
- package/lib/actions/sdk/generate.js +47 -0
- package/lib/actions/sdk/generate.js.map +1 -0
- package/lib/actions/sdk/quickstart.d.ts +14 -0
- package/lib/actions/sdk/quickstart.js +149 -0
- package/lib/actions/sdk/quickstart.js.map +1 -0
- package/lib/application/portal/recipe/portal-recipe.d.ts +8 -0
- package/lib/application/portal/recipe/portal-recipe.js +33 -0
- package/lib/application/portal/recipe/portal-recipe.js.map +1 -0
- package/lib/application/portal/recipe/recipe-generator.d.ts +21 -0
- package/lib/application/portal/recipe/recipe-generator.js +145 -0
- package/lib/application/portal/recipe/recipe-generator.js.map +1 -0
- package/lib/application/portal/toc/toc-content-parser.d.ts +1 -1
- package/lib/application/portal/toc/toc-content-parser.js +9 -11
- package/lib/application/portal/toc/toc-content-parser.js.map +1 -0
- package/lib/application/portal/toc/toc-structure-generator.d.ts +1 -1
- package/lib/application/portal/toc/toc-structure-generator.js +4 -8
- package/lib/application/portal/toc/toc-structure-generator.js.map +1 -0
- package/lib/client-utils/auth-manager.d.ts +7 -2
- package/lib/client-utils/auth-manager.js +26 -14
- package/lib/client-utils/auth-manager.js.map +1 -0
- package/lib/commands/api/transform.d.ts +10 -7
- package/lib/commands/api/transform.js +51 -111
- package/lib/commands/api/transform.js.map +1 -0
- package/lib/commands/api/validate.d.ts +7 -4
- package/lib/commands/api/validate.js +31 -74
- package/lib/commands/api/validate.js.map +1 -0
- package/lib/commands/auth/login.d.ts +3 -1
- package/lib/commands/auth/login.js +26 -68
- package/lib/commands/auth/login.js.map +1 -0
- package/lib/commands/auth/logout.d.ts +3 -1
- package/lib/commands/auth/logout.js +14 -21
- package/lib/commands/auth/logout.js.map +1 -0
- package/lib/commands/auth/status.d.ts +1 -0
- package/lib/commands/auth/status.js +18 -21
- package/lib/commands/auth/status.js.map +1 -0
- package/lib/commands/portal/copilot.d.ts +13 -0
- package/lib/commands/portal/copilot.js +34 -0
- package/lib/commands/portal/copilot.js.map +1 -0
- package/lib/commands/portal/generate.d.ts +7 -11
- package/lib/commands/portal/generate.js +26 -89
- package/lib/commands/portal/generate.js.map +1 -0
- package/lib/commands/portal/recipe/new.d.ts +12 -0
- package/lib/commands/portal/recipe/new.js +45 -0
- package/lib/commands/portal/recipe/new.js.map +1 -0
- package/lib/commands/portal/serve.d.ts +8 -8
- package/lib/commands/portal/serve.js +41 -125
- package/lib/commands/portal/serve.js.map +1 -0
- package/lib/commands/portal/toc/new.d.ts +5 -6
- package/lib/commands/portal/toc/new.js +45 -50
- package/lib/commands/portal/toc/new.js.map +1 -0
- package/lib/commands/quickstart.d.ts +9 -0
- package/lib/commands/quickstart.js +37 -0
- package/lib/commands/quickstart.js.map +1 -0
- package/lib/commands/sdk/generate.d.ts +10 -8
- package/lib/commands/sdk/generate.js +46 -131
- package/lib/commands/sdk/generate.js.map +1 -0
- package/lib/config/axios-config.js +4 -6
- package/lib/config/axios-config.js.map +1 -0
- package/lib/hooks/not-found.d.ts +3 -0
- package/lib/hooks/not-found.js +52 -0
- package/lib/hooks/not-found.js.map +1 -0
- package/lib/hooks/utils.d.ts +5 -0
- package/lib/hooks/utils.js +51 -0
- package/lib/hooks/utils.js.map +1 -0
- package/lib/index.js +2 -5
- package/lib/index.js.map +1 -0
- package/lib/infrastructure/debounce-service.d.ts +10 -0
- package/lib/infrastructure/debounce-service.js +52 -0
- package/lib/infrastructure/debounce-service.js.map +1 -0
- package/lib/infrastructure/env-info.d.ts +12 -0
- package/lib/infrastructure/env-info.js +58 -0
- package/lib/infrastructure/env-info.js.map +1 -0
- package/lib/infrastructure/file-service.d.ts +24 -0
- package/lib/infrastructure/file-service.js +120 -0
- package/lib/infrastructure/file-service.js.map +1 -0
- package/lib/infrastructure/launcher-service.d.ts +9 -0
- package/lib/infrastructure/launcher-service.js +72 -0
- package/lib/infrastructure/launcher-service.js.map +1 -0
- package/lib/infrastructure/network-service.d.ts +3 -0
- package/lib/infrastructure/network-service.js +7 -0
- package/lib/infrastructure/network-service.js.map +1 -0
- package/lib/infrastructure/service-error.d.ts +16 -0
- package/lib/infrastructure/service-error.js +49 -0
- package/lib/infrastructure/service-error.js.map +1 -0
- package/lib/infrastructure/services/api-client-factory.d.ts +6 -0
- package/lib/infrastructure/services/api-client-factory.js +20 -0
- package/lib/infrastructure/services/api-client-factory.js.map +1 -0
- package/lib/infrastructure/services/api-service.d.ts +12 -0
- package/lib/infrastructure/services/api-service.js +79 -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 +37 -0
- package/lib/infrastructure/services/auth-service.js.map +1 -0
- package/lib/infrastructure/services/file-download-service.d.ts +15 -0
- package/lib/infrastructure/services/file-download-service.js +104 -0
- package/lib/infrastructure/services/file-download-service.js.map +1 -0
- package/lib/infrastructure/services/portal-service.d.ts +17 -12
- package/lib/infrastructure/services/portal-service.js +134 -99
- package/lib/infrastructure/services/portal-service.js.map +1 -0
- package/lib/infrastructure/services/telemetry-service.d.ts +9 -0
- package/lib/infrastructure/services/telemetry-service.js +38 -0
- package/lib/infrastructure/services/telemetry-service.js.map +1 -0
- package/lib/infrastructure/services/transformation-service.d.ts +23 -0
- package/lib/infrastructure/services/transformation-service.js +56 -0
- package/lib/infrastructure/services/transformation-service.js.map +1 -0
- package/lib/infrastructure/services/validation-service.d.ts +17 -0
- package/lib/infrastructure/services/validation-service.js +49 -0
- package/lib/infrastructure/services/validation-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 +39 -0
- package/lib/infrastructure/zip-service.js.map +1 -0
- package/lib/prompts/api/transform.d.ts +11 -0
- package/lib/prompts/api/transform.js +29 -0
- package/lib/prompts/api/transform.js.map +1 -0
- package/lib/prompts/api/validate.d.ts +12 -0
- package/lib/prompts/api/validate.js +40 -0
- package/lib/prompts/api/validate.js.map +1 -0
- package/lib/prompts/auth/login.d.ts +10 -0
- package/lib/prompts/auth/login.js +22 -0
- package/lib/prompts/auth/login.js.map +1 -0
- package/lib/prompts/auth/logout.d.ts +3 -0
- package/lib/prompts/auth/logout.js +7 -0
- package/lib/prompts/auth/logout.js.map +1 -0
- package/lib/prompts/auth/status.d.ts +8 -0
- package/lib/prompts/auth/status.js +22 -0
- package/lib/prompts/auth/status.js.map +1 -0
- package/lib/prompts/format.d.ts +31 -0
- package/lib/prompts/format.js +89 -0
- package/lib/prompts/format.js.map +1 -0
- package/lib/prompts/portal/copilot.d.ts +18 -0
- package/lib/prompts/portal/copilot.js +82 -0
- package/lib/prompts/portal/copilot.js.map +1 -0
- package/lib/prompts/portal/generate.d.ts +13 -8
- package/lib/prompts/portal/generate.js +36 -53
- package/lib/prompts/portal/generate.js.map +1 -0
- package/lib/prompts/portal/quickstart.d.ts +28 -29
- package/lib/prompts/portal/quickstart.js +102 -185
- package/lib/prompts/portal/quickstart.js.map +1 -0
- package/lib/prompts/portal/recipe/new-recipe.d.ts +29 -0
- package/lib/prompts/portal/recipe/new-recipe.js +165 -0
- package/lib/prompts/portal/recipe/new-recipe.js.map +1 -0
- package/lib/prompts/portal/serve.d.ts +9 -5
- package/lib/prompts/portal/serve.js +29 -19
- package/lib/prompts/portal/serve.js.map +1 -0
- package/lib/prompts/portal/toc/new-toc.d.ts +13 -8
- package/lib/prompts/portal/toc/new-toc.js +28 -36
- package/lib/prompts/portal/toc/new-toc.js.map +1 -0
- package/lib/prompts/prompt.d.ts +3 -0
- package/lib/prompts/prompt.js +37 -0
- package/lib/prompts/prompt.js.map +1 -0
- package/lib/prompts/quickstart.d.ts +6 -0
- package/lib/prompts/quickstart.js +25 -0
- package/lib/prompts/quickstart.js.map +1 -0
- package/lib/prompts/sdk/generate.d.ts +11 -0
- package/lib/prompts/sdk/generate.js +37 -0
- package/lib/prompts/sdk/generate.js.map +1 -0
- package/lib/prompts/sdk/quickstart.d.ts +32 -0
- package/lib/prompts/sdk/quickstart.js +140 -0
- package/lib/prompts/sdk/quickstart.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/api/transform.d.ts +14 -25
- package/lib/types/api/transform.js +20 -23
- package/lib/types/api/transform.js.map +1 -0
- package/lib/types/build/build.d.ts +22 -0
- package/lib/types/build/build.js +7 -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 +33 -0
- package/lib/types/build-context.js.map +1 -0
- package/lib/types/common/command-metadata.d.ts +4 -0
- package/lib/types/common/command-metadata.js +2 -0
- package/lib/types/common/command-metadata.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/quickstart-completed.d.ts +7 -0
- package/lib/types/events/quickstart-completed.js +10 -0
- package/lib/types/events/quickstart-completed.js.map +1 -0
- package/lib/types/events/quickstart-initiated.d.ts +7 -0
- package/lib/types/events/quickstart-initiated.js +10 -0
- package/lib/types/events/quickstart-initiated.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/directory.d.ts +17 -0
- package/lib/types/file/directory.js +87 -0
- package/lib/types/file/directory.js.map +1 -0
- package/lib/types/file/directoryPath.d.ts +10 -0
- package/lib/types/file/directoryPath.js +26 -0
- package/lib/types/file/directoryPath.js.map +1 -0
- package/lib/types/file/fileName.d.ts +7 -0
- package/lib/types/file/fileName.js +21 -0
- package/lib/types/file/fileName.js.map +1 -0
- package/lib/types/file/filePath.d.ts +10 -0
- package/lib/types/file/filePath.js +32 -0
- package/lib/types/file/filePath.js.map +1 -0
- package/lib/types/file/resource-input.d.ts +5 -0
- package/lib/types/file/resource-input.js +42 -0
- package/lib/types/file/resource-input.js.map +1 -0
- package/lib/types/file/urlPath.d.ts +6 -0
- package/lib/types/file/urlPath.js +22 -0
- package/lib/types/file/urlPath.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-context.d.ts +13 -0
- package/lib/types/portal-context.js +38 -0
- package/lib/types/portal-context.js.map +1 -0
- package/lib/types/recipe/recipe.d.ts +22 -0
- package/lib/types/recipe/recipe.js +6 -0
- package/lib/types/recipe/recipe.js.map +1 -0
- package/lib/types/recipe-context.d.ts +9 -0
- package/lib/types/recipe-context.js +26 -0
- package/lib/types/recipe-context.js.map +1 -0
- package/lib/types/resource-context.d.ts +12 -0
- package/lib/types/resource-context.js +30 -0
- package/lib/types/resource-context.js.map +1 -0
- package/lib/types/sdk/generate.d.ts +9 -22
- package/lib/types/sdk/generate.js +25 -14
- package/lib/types/sdk/generate.js.map +1 -0
- package/lib/types/sdk-context.d.ts +14 -0
- package/lib/types/sdk-context.js +32 -0
- package/lib/types/sdk-context.js.map +1 -0
- package/lib/types/sdl/sdl.d.ts +10 -0
- package/lib/types/sdl/sdl.js +47 -3
- package/lib/types/sdl/sdl.js.map +1 -0
- package/lib/types/spec-context.d.ts +12 -0
- package/lib/types/spec-context.js +29 -0
- package/lib/types/spec-context.js.map +1 -0
- package/lib/types/temp-context.d.ts +11 -0
- package/lib/types/temp-context.js +27 -0
- package/lib/types/temp-context.js.map +1 -0
- package/lib/types/toc/toc.js +2 -10
- package/lib/types/toc/toc.js.map +1 -0
- package/lib/types/toc-context.d.ts +12 -0
- package/lib/types/toc-context.js +26 -0
- package/lib/types/toc-context.js.map +1 -0
- package/lib/types/transform-context.d.ts +13 -0
- package/lib/types/transform-context.js +30 -0
- package/lib/types/transform-context.js.map +1 -0
- package/lib/types/utils.d.ts +0 -9
- package/lib/types/utils.js +2 -3
- package/lib/types/utils.js.map +1 -0
- package/lib/utils/string-utils.d.ts +2 -0
- package/lib/utils/string-utils.js +37 -0
- package/lib/utils/string-utils.js.map +1 -0
- package/lib/utils/utils.d.ts +2 -44
- package/lib/utils/utils.js +14 -366
- package/lib/utils/utils.js.map +1 -0
- package/package.json +50 -31
- package/bin/run +0 -9
- package/lib/application/portal/toc/sdl-parser.d.ts +0 -13
- package/lib/application/portal/toc/sdl-parser.js +0 -53
- package/lib/client-utils/sdk-client.d.ts +0 -23
- package/lib/client-utils/sdk-client.js +0 -124
- package/lib/commands/portal/quickstart.d.ts +0 -10
- package/lib/commands/portal/quickstart.js +0 -79
- package/lib/config/env.d.ts +0 -27
- package/lib/config/env.js +0 -31
- package/lib/controllers/api/transform.d.ts +0 -5
- package/lib/controllers/api/transform.js +0 -56
- package/lib/controllers/api/validate.d.ts +0 -3
- package/lib/controllers/api/validate.js +0 -33
- package/lib/controllers/portal/generate.d.ts +0 -3
- package/lib/controllers/portal/generate.js +0 -110
- package/lib/controllers/portal/quickstart.d.ts +0 -14
- package/lib/controllers/portal/quickstart.js +0 -258
- package/lib/controllers/portal/serve.d.ts +0 -3
- package/lib/controllers/portal/serve.js +0 -138
- package/lib/controllers/sdk/generate.d.ts +0 -4
- package/lib/controllers/sdk/generate.js +0 -66
- package/lib/services/portal/server.d.ts +0 -14
- package/lib/services/portal/server.js +0 -101
- package/lib/types/api/validate.d.ts +0 -12
- package/lib/types/api/validate.js +0 -3
- package/lib/types/common/result.d.ts +0 -17
- package/lib/types/common/result.js +0 -36
- package/lib/types/portal/generate.d.ts +0 -26
- package/lib/types/portal/generate.js +0 -4
- package/lib/types/portal/quickstart.d.ts +0 -17
- package/lib/types/portal/quickstart.js +0 -3
- package/lib/validators/common/directoryValidator.d.ts +0 -9
- package/lib/validators/common/directoryValidator.js +0 -53
- package/lib/validators/common/portValidator.d.ts +0 -5
- package/lib/validators/common/portValidator.js +0 -20
- package/lib/validators/portal/serveValidator.d.ts +0 -6
- package/lib/validators/portal/serveValidator.js +0 -21
|
@@ -1,66 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.downloadGeneratedSDK = exports.getSDKGenerationId = void 0;
|
|
4
|
-
const fs = require("fs-extra");
|
|
5
|
-
const core_1 = require("@oclif/core");
|
|
6
|
-
const sdk_1 = require("@apimatic/sdk");
|
|
7
|
-
const generate_1 = require("../../types/sdk/generate");
|
|
8
|
-
const utils_1 = require("../../utils/utils");
|
|
9
|
-
const getSDKGenerationId = async ({ file, url, platform }, sdkGenerationController) => {
|
|
10
|
-
core_1.ux.action.start("Generating SDK");
|
|
11
|
-
let generation;
|
|
12
|
-
const sdkPlatform = getSDKPlatform(platform);
|
|
13
|
-
if (file) {
|
|
14
|
-
const fileDescriptor = new sdk_1.FileWrapper(fs.createReadStream(file));
|
|
15
|
-
generation = await sdkGenerationController.generateSdkViaFile(fileDescriptor, sdkPlatform);
|
|
16
|
-
}
|
|
17
|
-
else if (url) {
|
|
18
|
-
// If url to spec file is provided
|
|
19
|
-
const body = {
|
|
20
|
-
url: url,
|
|
21
|
-
template: sdkPlatform
|
|
22
|
-
};
|
|
23
|
-
generation = await sdkGenerationController.generateSdkViaUrl(body);
|
|
24
|
-
}
|
|
25
|
-
else {
|
|
26
|
-
throw new Error("Please provide a specification file");
|
|
27
|
-
}
|
|
28
|
-
core_1.ux.action.stop();
|
|
29
|
-
return generation.result.id;
|
|
30
|
-
};
|
|
31
|
-
exports.getSDKGenerationId = getSDKGenerationId;
|
|
32
|
-
// Get valid platform from user's input, convert simple platform to valid Platforms enum value
|
|
33
|
-
const getSDKPlatform = (platform) => {
|
|
34
|
-
if (Object.keys(generate_1.SimplePlatforms).includes(platform)) {
|
|
35
|
-
return generate_1.SimplePlatforms[platform];
|
|
36
|
-
}
|
|
37
|
-
else if (Object.values(sdk_1.Platforms).includes(platform)) {
|
|
38
|
-
return platform;
|
|
39
|
-
}
|
|
40
|
-
else {
|
|
41
|
-
const platforms = Object.keys(generate_1.SimplePlatforms).concat(Object.values(sdk_1.Platforms)).join("|");
|
|
42
|
-
throw new Error(`Please provide a valid platform i.e. ${platforms}`);
|
|
43
|
-
}
|
|
44
|
-
};
|
|
45
|
-
// Download Platform
|
|
46
|
-
const downloadGeneratedSDK = async ({ codeGenId, zippedSDKPath, sdkFolderPath, zip }, sdkGenerationController) => {
|
|
47
|
-
core_1.ux.action.start("Downloading SDK");
|
|
48
|
-
const { result } = await sdkGenerationController.downloadSdk(codeGenId);
|
|
49
|
-
if (result.readable) {
|
|
50
|
-
if (!zip) {
|
|
51
|
-
await (0, utils_1.unzipFile)(result, sdkFolderPath);
|
|
52
|
-
core_1.ux.action.stop();
|
|
53
|
-
return sdkFolderPath;
|
|
54
|
-
}
|
|
55
|
-
else {
|
|
56
|
-
await (0, utils_1.writeFileUsingReadableStream)(result, zippedSDKPath);
|
|
57
|
-
core_1.ux.action.stop();
|
|
58
|
-
return zippedSDKPath;
|
|
59
|
-
}
|
|
60
|
-
}
|
|
61
|
-
else {
|
|
62
|
-
throw new Error("Couldn't download the SDK");
|
|
63
|
-
}
|
|
64
|
-
};
|
|
65
|
-
exports.downloadGeneratedSDK = downloadGeneratedSDK;
|
|
66
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VuZXJhdGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29udHJvbGxlcnMvc2RrL2dlbmVyYXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLCtCQUErQjtBQUMvQixzQ0FBaUM7QUFFakMsdUNBS3FDO0FBQ3JDLHVEQUFrRztBQUNsRyw2Q0FBNEU7QUFFckUsTUFBTSxrQkFBa0IsR0FBRyxLQUFLLEVBQ3JDLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxRQUFRLEVBQXNCLEVBQzNDLHVCQUE2RCxFQUM1QyxFQUFFO0lBQ25CLFNBQUUsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLGdCQUFnQixDQUFDLENBQUM7SUFFbEMsSUFBSSxVQUEyQyxDQUFDO0lBQ2hELE1BQU0sV0FBVyxHQUFHLGNBQWMsQ0FBQyxRQUFRLENBQWMsQ0FBQztJQUMxRCxJQUFJLElBQUksRUFBRSxDQUFDO1FBQ1QsTUFBTSxjQUFjLEdBQUcsSUFBSSxpQkFBVyxDQUFDLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO1FBQ2xFLFVBQVUsR0FBRyxNQUFNLHVCQUF1QixDQUFDLGtCQUFrQixDQUFDLGNBQWMsRUFBRSxXQUFXLENBQUMsQ0FBQztJQUM3RixDQUFDO1NBQU0sSUFBSSxHQUFHLEVBQUUsQ0FBQztRQUNmLGtDQUFrQztRQUNsQyxNQUFNLElBQUksR0FBNkI7WUFDckMsR0FBRyxFQUFFLEdBQUc7WUFDUixRQUFRLEVBQUUsV0FBVztTQUN0QixDQUFDO1FBQ0YsVUFBVSxHQUFHLE1BQU0sdUJBQXVCLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDckUsQ0FBQztTQUFNLENBQUM7UUFDTixNQUFNLElBQUksS0FBSyxDQUFDLHFDQUFxQyxDQUFDLENBQUM7SUFDekQsQ0FBQztJQUNELFNBQUUsQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDakIsT0FBTyxVQUFVLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztBQUM5QixDQUFDLENBQUM7QUF2QlcsUUFBQSxrQkFBa0Isc0JBdUI3QjtBQUVGLDhGQUE4RjtBQUM5RixNQUFNLGNBQWMsR0FBRyxDQUFDLFFBQWdCLEVBQStCLEVBQUU7SUFDdkUsSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLDBCQUFlLENBQUMsQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQztRQUNwRCxPQUFPLDBCQUFlLENBQUMsUUFBd0MsQ0FBQyxDQUFDO0lBQ25FLENBQUM7U0FBTSxJQUFJLE1BQU0sQ0FBQyxNQUFNLENBQUMsZUFBUyxDQUFDLENBQUMsUUFBUSxDQUFDLFFBQXFCLENBQUMsRUFBRSxDQUFDO1FBQ3BFLE9BQU8sUUFBcUIsQ0FBQztJQUMvQixDQUFDO1NBQU0sQ0FBQztRQUNOLE1BQU0sU0FBUyxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsMEJBQWUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLGVBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQzFGLE1BQU0sSUFBSSxLQUFLLENBQUMsd0NBQXdDLFNBQVMsRUFBRSxDQUFDLENBQUM7SUFDdkUsQ0FBQztBQUNILENBQUMsQ0FBQztBQUVGLG9CQUFvQjtBQUNiLE1BQU0sb0JBQW9CLEdBQUcsS0FBSyxFQUN2QyxFQUFFLFNBQVMsRUFBRSxhQUFhLEVBQUUsYUFBYSxFQUFFLEdBQUcsRUFBcUIsRUFDbkUsdUJBQTZELEVBQzVDLEVBQUU7SUFDbkIsU0FBRSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsaUJBQWlCLENBQUMsQ0FBQztJQUNuQyxNQUFNLEVBQUUsTUFBTSxFQUFFLEdBQThDLE1BQU0sdUJBQXVCLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ25ILElBQUssTUFBZ0MsQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUMvQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUM7WUFDVCxNQUFNLElBQUEsaUJBQVMsRUFBQyxNQUErQixFQUFFLGFBQWEsQ0FBQyxDQUFDO1lBQ2hFLFNBQUUsQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDakIsT0FBTyxhQUFhLENBQUM7UUFDdkIsQ0FBQzthQUFNLENBQUM7WUFDTixNQUFNLElBQUEsb0NBQTRCLEVBQUMsTUFBK0IsRUFBRSxhQUFhLENBQUMsQ0FBQztZQUNuRixTQUFFLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ2pCLE9BQU8sYUFBYSxDQUFDO1FBQ3ZCLENBQUM7SUFDSCxDQUFDO1NBQU0sQ0FBQztRQUNOLE1BQU0sSUFBSSxLQUFLLENBQUMsMkJBQTJCLENBQUMsQ0FBQztJQUMvQyxDQUFDO0FBQ0gsQ0FBQyxDQUFDO0FBbkJXLFFBQUEsb0JBQW9CLHdCQW1CL0IifQ==
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import { PortalServerConfig } from "../../types/portal/quickstart";
|
|
2
|
-
export declare class PortalServerService {
|
|
3
|
-
private server;
|
|
4
|
-
private liveReloadServer;
|
|
5
|
-
private readonly app;
|
|
6
|
-
private readonly port;
|
|
7
|
-
private readonly liveReloadPort;
|
|
8
|
-
constructor();
|
|
9
|
-
private findAvailablePort;
|
|
10
|
-
private createLiveReloadServer;
|
|
11
|
-
setupServer(generatedPortalPath: string): Promise<void>;
|
|
12
|
-
startServer(config: PortalServerConfig, noReload?: boolean, displayShutdownMessages?: boolean): Promise<boolean>;
|
|
13
|
-
stopServer(): Promise<void>;
|
|
14
|
-
}
|
|
@@ -1,101 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.PortalServerService = void 0;
|
|
4
|
-
const express = require("express");
|
|
5
|
-
const livereload = require("livereload");
|
|
6
|
-
const connectLivereload = require("connect-livereload");
|
|
7
|
-
const open = require("open");
|
|
8
|
-
const serve_1 = require("../../controllers/portal/serve");
|
|
9
|
-
const utils_1 = require("../../utils/utils");
|
|
10
|
-
class PortalServerService {
|
|
11
|
-
constructor() {
|
|
12
|
-
this.port = 3000;
|
|
13
|
-
this.liveReloadPort = 35729;
|
|
14
|
-
this.app = express();
|
|
15
|
-
}
|
|
16
|
-
async findAvailablePort(startPort) {
|
|
17
|
-
let port = startPort;
|
|
18
|
-
const maxPort = startPort + 10; // Limit the port search range
|
|
19
|
-
while (port < maxPort) {
|
|
20
|
-
if (!(await (0, utils_1.isPortInUse)(port))) {
|
|
21
|
-
return port;
|
|
22
|
-
}
|
|
23
|
-
port++;
|
|
24
|
-
}
|
|
25
|
-
// If no port is found in the range, return the original port
|
|
26
|
-
return startPort;
|
|
27
|
-
}
|
|
28
|
-
async createLiveReloadServer(generatedPortalPath) {
|
|
29
|
-
try {
|
|
30
|
-
const availablePort = await this.findAvailablePort(this.liveReloadPort);
|
|
31
|
-
this.liveReloadServer = livereload.createServer({
|
|
32
|
-
port: availablePort
|
|
33
|
-
});
|
|
34
|
-
this.liveReloadServer.watch(generatedPortalPath);
|
|
35
|
-
}
|
|
36
|
-
catch (error) {
|
|
37
|
-
console.log((0, utils_1.getMessageInRedColor)(`Unable to serve the portal: ${error.message}`));
|
|
38
|
-
}
|
|
39
|
-
}
|
|
40
|
-
async setupServer(generatedPortalPath) {
|
|
41
|
-
await this.createLiveReloadServer(generatedPortalPath);
|
|
42
|
-
if (this.liveReloadServer) {
|
|
43
|
-
this.app.use(connectLivereload());
|
|
44
|
-
}
|
|
45
|
-
this.app.use(express.static(generatedPortalPath));
|
|
46
|
-
}
|
|
47
|
-
async startServer(config, noReload = false, displayShutdownMessages = true) {
|
|
48
|
-
const { generatedPortalPath, targetFolder, configDir, authKey, ignoredPaths, port, openInBrowser } = config;
|
|
49
|
-
const requestedPort = port !== null && port !== void 0 ? port : this.port;
|
|
50
|
-
return new Promise((resolve, reject) => {
|
|
51
|
-
this.server = this.app.listen(requestedPort, () => {
|
|
52
|
-
if (openInBrowser) {
|
|
53
|
-
open(`http://localhost:${requestedPort}`);
|
|
54
|
-
}
|
|
55
|
-
if (!noReload) {
|
|
56
|
-
(0, serve_1.watchAndRegeneratePortal)(targetFolder, generatedPortalPath, configDir, authKey, ignoredPaths);
|
|
57
|
-
}
|
|
58
|
-
if (process.platform !== "darwin") {
|
|
59
|
-
//For non-macOS users.
|
|
60
|
-
if (process.stdin.setRawMode) {
|
|
61
|
-
process.stdin.setRawMode(false);
|
|
62
|
-
}
|
|
63
|
-
}
|
|
64
|
-
resolve(true);
|
|
65
|
-
}).on('error', (err) => {
|
|
66
|
-
if (err.code === 'EADDRINUSE') {
|
|
67
|
-
console.error((0, utils_1.getMessageInRedColor)(`Port ${requestedPort} is not available. Unable to serve your portal.`));
|
|
68
|
-
}
|
|
69
|
-
else {
|
|
70
|
-
console.error((0, utils_1.getMessageInRedColor)(`Unable to serve the portal: ${err.message}`));
|
|
71
|
-
}
|
|
72
|
-
reject(err);
|
|
73
|
-
});
|
|
74
|
-
const shutdown = async () => {
|
|
75
|
-
if (displayShutdownMessages) {
|
|
76
|
-
console.log("Shutting down server...");
|
|
77
|
-
}
|
|
78
|
-
await this.stopServer();
|
|
79
|
-
if (displayShutdownMessages) {
|
|
80
|
-
console.log("Server shut down successfully.");
|
|
81
|
-
}
|
|
82
|
-
resolve(true);
|
|
83
|
-
process.exit(0);
|
|
84
|
-
};
|
|
85
|
-
process.on("SIGINT", shutdown);
|
|
86
|
-
process.on("SIGTERM", shutdown);
|
|
87
|
-
});
|
|
88
|
-
}
|
|
89
|
-
async stopServer() {
|
|
90
|
-
if (this.liveReloadServer) {
|
|
91
|
-
this.liveReloadServer.close();
|
|
92
|
-
}
|
|
93
|
-
if (this.server) {
|
|
94
|
-
await new Promise((resolve) => {
|
|
95
|
-
this.server.close(() => resolve());
|
|
96
|
-
});
|
|
97
|
-
}
|
|
98
|
-
}
|
|
99
|
-
}
|
|
100
|
-
exports.PortalServerService = PortalServerService;
|
|
101
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VydmVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3NlcnZpY2VzL3BvcnRhbC9zZXJ2ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsbUNBQW1DO0FBQ25DLHlDQUF5QztBQUN6Qyx3REFBd0Q7QUFDeEQsNkJBQTZCO0FBQzdCLDBEQUEwRTtBQUcxRSw2Q0FBc0U7QUFFdEUsTUFBYSxtQkFBbUI7SUFPOUI7UUFIaUIsU0FBSSxHQUFHLElBQUksQ0FBQztRQUNaLG1CQUFjLEdBQUcsS0FBSyxDQUFDO1FBR3RDLElBQUksQ0FBQyxHQUFHLEdBQUcsT0FBTyxFQUFFLENBQUM7SUFDdkIsQ0FBQztJQUVPLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxTQUFpQjtRQUMvQyxJQUFJLElBQUksR0FBRyxTQUFTLENBQUM7UUFDckIsTUFBTSxPQUFPLEdBQUcsU0FBUyxHQUFHLEVBQUUsQ0FBQyxDQUFDLDhCQUE4QjtRQUU5RCxPQUFPLElBQUksR0FBRyxPQUFPLEVBQUUsQ0FBQztZQUN0QixJQUFJLENBQUMsQ0FBQyxNQUFNLElBQUEsbUJBQVcsRUFBQyxJQUFJLENBQUMsQ0FBQyxFQUFFLENBQUM7Z0JBQy9CLE9BQU8sSUFBSSxDQUFDO1lBQ2QsQ0FBQztZQUNELElBQUksRUFBRSxDQUFDO1FBQ1QsQ0FBQztRQUVELDZEQUE2RDtRQUM3RCxPQUFPLFNBQVMsQ0FBQztJQUNuQixDQUFDO0lBRU8sS0FBSyxDQUFDLHNCQUFzQixDQUFDLG1CQUEyQjtRQUM5RCxJQUFJLENBQUM7WUFDSCxNQUFNLGFBQWEsR0FBRyxNQUFNLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7WUFFeEUsSUFBSSxDQUFDLGdCQUFnQixHQUFHLFVBQVUsQ0FBQyxZQUFZLENBQUM7Z0JBQzlDLElBQUksRUFBRSxhQUFhO2FBQ3BCLENBQUMsQ0FBQztZQUVILElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLENB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
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdHlwZXMvYXBpL3ZhbGlkYXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIifQ==
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
export declare class Result<T, TError> {
|
|
2
|
-
private readonly Status;
|
|
3
|
-
readonly value?: T | undefined;
|
|
4
|
-
readonly error?: TError | undefined;
|
|
5
|
-
private constructor();
|
|
6
|
-
static success<T, TError>(value: T): Result<T, TError>;
|
|
7
|
-
static failure<T, TError>(error: TError): Result<T, TError>;
|
|
8
|
-
static cancelled<T, TError>(value: T): Result<T, TError>;
|
|
9
|
-
isFailed(): boolean;
|
|
10
|
-
isCancelled(): boolean;
|
|
11
|
-
isSuccess(): boolean;
|
|
12
|
-
}
|
|
13
|
-
export declare enum ResultStatus {
|
|
14
|
-
Success = 0,
|
|
15
|
-
Failed = 1,
|
|
16
|
-
Cancelled = 2
|
|
17
|
-
}
|
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.ResultStatus = exports.Result = void 0;
|
|
4
|
-
class Result {
|
|
5
|
-
constructor(Status, value, error) {
|
|
6
|
-
this.Status = Status;
|
|
7
|
-
this.value = value;
|
|
8
|
-
this.error = error;
|
|
9
|
-
}
|
|
10
|
-
static success(value) {
|
|
11
|
-
return new Result(ResultStatus.Success, value, undefined);
|
|
12
|
-
}
|
|
13
|
-
static failure(error) {
|
|
14
|
-
return new Result(ResultStatus.Failed, undefined, error);
|
|
15
|
-
}
|
|
16
|
-
static cancelled(value) {
|
|
17
|
-
return new Result(ResultStatus.Cancelled, value, undefined);
|
|
18
|
-
}
|
|
19
|
-
isFailed() {
|
|
20
|
-
return this.Status == ResultStatus.Failed;
|
|
21
|
-
}
|
|
22
|
-
isCancelled() {
|
|
23
|
-
return this.Status == ResultStatus.Cancelled;
|
|
24
|
-
}
|
|
25
|
-
isSuccess() {
|
|
26
|
-
return this.Status == ResultStatus.Success;
|
|
27
|
-
}
|
|
28
|
-
}
|
|
29
|
-
exports.Result = Result;
|
|
30
|
-
var ResultStatus;
|
|
31
|
-
(function (ResultStatus) {
|
|
32
|
-
ResultStatus[ResultStatus["Success"] = 0] = "Success";
|
|
33
|
-
ResultStatus[ResultStatus["Failed"] = 1] = "Failed";
|
|
34
|
-
ResultStatus[ResultStatus["Cancelled"] = 2] = "Cancelled";
|
|
35
|
-
})(ResultStatus || (exports.ResultStatus = ResultStatus = {}));
|
|
36
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzdWx0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3R5cGVzL2NvbW1vbi9yZXN1bHQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsTUFBYSxNQUFNO0lBQ2pCLFlBQ21CLE1BQW9CLEVBQ3JCLEtBQVMsRUFDVCxLQUFjO1FBRmIsV0FBTSxHQUFOLE1BQU0sQ0FBYztRQUNyQixVQUFLLEdBQUwsS0FBSyxDQUFJO1FBQ1QsVUFBSyxHQUFMLEtBQUssQ0FBUztJQUM3QixDQUFDO0lBRUcsTUFBTSxDQUFDLE9BQU8sQ0FBWSxLQUFRO1FBQ3ZDLE9BQU8sSUFBSSxNQUFNLENBQVksWUFBWSxDQUFDLE9BQU8sRUFBRSxLQUFLLEVBQUUsU0FBUyxDQUFDLENBQUM7SUFDdkUsQ0FBQztJQUVNLE1BQU0sQ0FBQyxPQUFPLENBQVksS0FBYTtRQUM1QyxPQUFPLElBQUksTUFBTSxDQUFZLFlBQVksQ0FBQyxNQUFNLEVBQUUsU0FBUyxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQ3RFLENBQUM7SUFFTSxNQUFNLENBQUMsU0FBUyxDQUFZLEtBQVE7UUFDekMsT0FBTyxJQUFJLE1BQU0sQ0FBWSxZQUFZLENBQUMsU0FBUyxFQUFFLEtBQUssRUFBRSxTQUFTLENBQUMsQ0FBQztJQUN6RSxDQUFDO0lBRU0sUUFBUTtRQUNiLE9BQU8sSUFBSSxDQUFDLE1BQU0sSUFBSSxZQUFZLENBQUMsTUFBTSxDQUFDO0lBQzVDLENBQUM7SUFFTSxXQUFXO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLE1BQU0sSUFBSSxZQUFZLENBQUMsU0FBUyxDQUFDO0lBQy9DLENBQUM7SUFFTSxTQUFTO1FBQ2QsT0FBTyxJQUFJLENBQUMsTUFBTSxJQUFJLFlBQVksQ0FBQyxPQUFPLENBQUM7SUFDN0MsQ0FBQztDQUNGO0FBOUJELHdCQThCQztBQUVELElBQVksWUFJWDtBQUpELFdBQVksWUFBWTtJQUN0QixxREFBTyxDQUFBO0lBQ1AsbURBQU0sQ0FBQTtJQUNOLHlEQUFTLENBQUE7QUFDWCxDQUFDLEVBSlcsWUFBWSw0QkFBWixZQUFZLFFBSXZCIn0=
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
export interface GeneratePortalParams {
|
|
2
|
-
readonly sourceBuildInputZipFilePath: string;
|
|
3
|
-
readonly generatedPortalArtifactsFolderPath: string;
|
|
4
|
-
readonly generatedPortalArtifactsZipFilePath: string;
|
|
5
|
-
readonly overrideAuthKey: string | null;
|
|
6
|
-
readonly generateZipFile: boolean;
|
|
7
|
-
}
|
|
8
|
-
export interface PortalPaths {
|
|
9
|
-
readonly sourceFolderPath: string;
|
|
10
|
-
readonly destinationFolderPath: string;
|
|
11
|
-
readonly generatedPortalArtifactsFolderPath: string;
|
|
12
|
-
readonly generatedPortalArtifactsZipFilePath: string;
|
|
13
|
-
}
|
|
14
|
-
export interface ErrorResponse {
|
|
15
|
-
readonly title: string;
|
|
16
|
-
readonly detail?: string;
|
|
17
|
-
readonly errors: Record<string, string[]>;
|
|
18
|
-
readonly message?: string;
|
|
19
|
-
}
|
|
20
|
-
export interface GenerateFlags {
|
|
21
|
-
readonly folder: string;
|
|
22
|
-
readonly destination: string;
|
|
23
|
-
readonly force: boolean;
|
|
24
|
-
readonly zip: boolean;
|
|
25
|
-
readonly "auth-key": string;
|
|
26
|
-
}
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
;
|
|
4
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VuZXJhdGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdHlwZXMvcG9ydGFsL2dlbmVyYXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBTUMsQ0FBQyJ9
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
export type LoginCredentials = {
|
|
2
|
-
email: string;
|
|
3
|
-
password: string;
|
|
4
|
-
};
|
|
5
|
-
export type SpecFile = {
|
|
6
|
-
filePath: string;
|
|
7
|
-
url: string;
|
|
8
|
-
};
|
|
9
|
-
export type PortalServerConfig = {
|
|
10
|
-
generatedPortalPath: string;
|
|
11
|
-
targetFolder: string;
|
|
12
|
-
configDir: string;
|
|
13
|
-
authKey: string | null;
|
|
14
|
-
ignoredPaths?: string[];
|
|
15
|
-
port?: number;
|
|
16
|
-
openInBrowser?: boolean;
|
|
17
|
-
};
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVpY2tzdGFydC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy90eXBlcy9wb3J0YWwvcXVpY2tzdGFydC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIn0=
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
export declare class DirectoryValidator {
|
|
2
|
-
private readonly error;
|
|
3
|
-
constructor(error: (message: string) => void);
|
|
4
|
-
validateSourceDirectory(sourceDir: string): void;
|
|
5
|
-
validateGeneratedPortalDestinationDirectory(destinationDir: string, portalDir: string): Promise<void>;
|
|
6
|
-
validatePortalSourceDirectory(sourceDir: string): void;
|
|
7
|
-
validatePortalSourceSpecDirectory(sourceDir: string): void;
|
|
8
|
-
validateGeneratedPortalDestinationDirectoryIsEmpty(destinationDir: string): void;
|
|
9
|
-
}
|
|
@@ -1,53 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.DirectoryValidator = void 0;
|
|
4
|
-
const fs = require("fs-extra");
|
|
5
|
-
const path = require("path");
|
|
6
|
-
const utils_1 = require("../../utils/utils");
|
|
7
|
-
class DirectoryValidator {
|
|
8
|
-
constructor(error) {
|
|
9
|
-
this.error = error;
|
|
10
|
-
}
|
|
11
|
-
validateSourceDirectory(sourceDir) {
|
|
12
|
-
if (!fs.pathExistsSync(sourceDir)) {
|
|
13
|
-
this.error((0, utils_1.getMessageInRedColor)(`The specified source directory does not exist: ${sourceDir}. Please provide a valid source directory to continue.`));
|
|
14
|
-
}
|
|
15
|
-
}
|
|
16
|
-
async validateGeneratedPortalDestinationDirectory(destinationDir, portalDir) {
|
|
17
|
-
if (!fs.pathExistsSync(destinationDir) && destinationDir != "./generated_portal") {
|
|
18
|
-
this.error((0, utils_1.getMessageInRedColor)(`The specified destination directory does not exist: ${destinationDir}. Please provide a valid destination directory to continue.`));
|
|
19
|
-
}
|
|
20
|
-
if (destinationDir == "./generated_portal") {
|
|
21
|
-
await fs.ensureDir(portalDir);
|
|
22
|
-
}
|
|
23
|
-
}
|
|
24
|
-
validatePortalSourceDirectory(sourceDir) {
|
|
25
|
-
const sourceDirItems = (0, utils_1.getNonHiddenItemsFromDirectory)(sourceDir);
|
|
26
|
-
if (sourceDirItems.length == 0) {
|
|
27
|
-
this.error((0, utils_1.getMessageInRedColor)("The source directory is empty. Please ensure that the provided path points to a directory containing a valid build input."));
|
|
28
|
-
}
|
|
29
|
-
if (!sourceDirItems.includes("spec")) {
|
|
30
|
-
this.error((0, utils_1.getMessageInRedColor)("The provided build directory is missing a ‘spec’ directory. Please create a ‘spec’ directory containing a valid API Definition file to continue."));
|
|
31
|
-
}
|
|
32
|
-
if (!sourceDirItems.some((item) => item.startsWith("APIMATIC-BUILD"))) {
|
|
33
|
-
this.error((0, utils_1.getMessageInRedColor)("The provided directory is missing an APIMATIC-BUILD.json file. Please add a valid build file to continue."));
|
|
34
|
-
}
|
|
35
|
-
}
|
|
36
|
-
validatePortalSourceSpecDirectory(sourceDir) {
|
|
37
|
-
const specFolderItems = (0, utils_1.getNonHiddenItemsFromDirectory)(path.join(sourceDir, "spec"));
|
|
38
|
-
if (specFolderItems.length == 0) {
|
|
39
|
-
this.error((0, utils_1.getMessageInRedColor)("The provided build directory is missing an API Definition file. Please add a valid API Definition file to the ‘spec’ directory to continue."));
|
|
40
|
-
}
|
|
41
|
-
if (specFolderItems.length == 1 && specFolderItems.some((item) => item.toLowerCase().startsWith("apimatic-meta"))) {
|
|
42
|
-
this.error((0, utils_1.getMessageInRedColor)("The provided build directory is missing an API Definition file. Please add a valid API Definition file to the ‘spec’ directory to continue."));
|
|
43
|
-
}
|
|
44
|
-
}
|
|
45
|
-
validateGeneratedPortalDestinationDirectoryIsEmpty(destinationDir) {
|
|
46
|
-
const portalDirItems = (0, utils_1.getNonHiddenItemsFromDirectory)(destinationDir);
|
|
47
|
-
if (portalDirItems.length > 0 && destinationDir != "./generated_portal") {
|
|
48
|
-
this.error((0, utils_1.getMessageInRedColor)("The destination directory is not empty. Please specify an empty destination directory or empty the provided directory."));
|
|
49
|
-
}
|
|
50
|
-
}
|
|
51
|
-
}
|
|
52
|
-
exports.DirectoryValidator = DirectoryValidator;
|
|
53
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlyZWN0b3J5VmFsaWRhdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3ZhbGlkYXRvcnMvY29tbW9uL2RpcmVjdG9yeVZhbGlkYXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSwrQkFBK0I7QUFDL0IsNkJBQTZCO0FBQzdCLDZDQUF5RjtBQUV6RixNQUFhLGtCQUFrQjtJQUM3QixZQUE2QixLQUFnQztRQUFoQyxVQUFLLEdBQUwsS0FBSyxDQUEyQjtJQUFHLENBQUM7SUFFakUsdUJBQXVCLENBQUMsU0FBaUI7UUFDdkMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxjQUFjLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQztZQUNsQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUEsNEJBQW9CLEVBQUMsa0RBQWtELFNBQVMsd0RBQXdELENBQUMsQ0FBQyxDQUFDO1FBQ3hKLENBQUM7SUFDSCxDQUFDO0lBRUQsS0FBSyxDQUFDLDJDQUEyQyxDQUFDLGNBQXNCLEVBQUUsU0FBaUI7UUFDekYsSUFBSSxDQUFDLEVBQUUsQ0FBQyxjQUFjLENBQUMsY0FBYyxDQUFDLElBQUksY0FBYyxJQUFJLG9CQUFvQixFQUFFLENBQUM7WUFDakYsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFBLDRCQUFvQixFQUFDLHVEQUF1RCxjQUFjLDZEQUE2RCxDQUFDLENBQUMsQ0FBQztRQUN2SyxDQUFDO1FBRUQsSUFBSSxjQUFjLElBQUksb0JBQW9CLEVBQUUsQ0FBQztZQUMzQyxNQUFNLEVBQUUsQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDaEMsQ0FBQztJQUNILENBQUM7SUFFRCw2QkFBNkIsQ0FBQyxTQUFpQjtRQUM3QyxNQUFNLGNBQWMsR0FBRyxJQUFBLHNDQUE4QixFQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ2pFLElBQUksY0FBYyxDQUFDLE1BQU0sSUFBSSxDQUFDLEVBQUUsQ0FBQztZQUMvQixJQUFJLENBQUMsS0FBSyxDQUFDLElBQUEsNEJBQW9CLEVBQUMsMkhBQTJILENBQUMsQ0FBQyxDQUFDO1FBQ2hLLENBQUM7UUFDRCxJQUFJLENBQUMsY0FBYyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO1lBQ3JDLElBQUksQ0FBQyxLQUFLLENBQ1IsSUFBQSw0QkFBb0IsRUFBQyxrSkFBa0osQ0FBQyxDQUN6SyxDQUFDO1FBQ0osQ0FBQztRQUNELElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLGdCQUFnQixDQUFDLENBQUMsRUFBRSxDQUFDO1lBQ3RFLElBQUksQ0FBQyxLQUFLLENBQ1IsSUFBQSw0QkFBb0IsRUFDbEIsMkdBQTJHLENBQzVHLENBQ0YsQ0FBQztRQUNKLENBQUM7SUFDSCxDQUFDO0lBRUQsaUNBQWlDLENBQUMsU0FBaUI7UUFDakQsTUFBTSxlQUFlLEdBQUcsSUFBQSxzQ0FBOEIsRUFBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFDO1FBQ3JGLElBQUksZUFBZSxDQUFDLE1BQU0sSUFBSSxDQUFDLEVBQUUsQ0FBQztZQUNoQyxJQUFJLENBQUMsS0FBSyxDQUNSLElBQUEsNEJBQW9CLEVBQUMsNklBQTZJLENBQUMsQ0FDcEssQ0FBQztRQUNKLENBQUM7UUFDRCxJQUFJLGVBQWUsQ0FBQyxNQUFNLElBQUksQ0FBQyxJQUFJLGVBQWUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQyxVQUFVLENBQUMsZUFBZSxDQUFDLENBQUMsRUFBRSxDQUFDO1lBQ2xILElBQUksQ0FBQyxLQUFLLENBQ1IsSUFBQSw0QkFBb0IsRUFDbEIsNklBQTZJLENBQzlJLENBQ0YsQ0FBQztRQUNKLENBQUM7SUFDSCxDQUFDO0lBRUQsa0RBQWtELENBQUMsY0FBc0I7UUFDdkUsTUFBTSxjQUFjLEdBQUcsSUFBQSxzQ0FBOEIsRUFBQyxjQUFjLENBQUMsQ0FBQztRQUN0RSxJQUFJLGNBQWMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxJQUFJLGNBQWMsSUFBSSxvQkFBb0IsRUFBRSxDQUFDO1lBQ3hFLElBQUksQ0FBQyxLQUFLLENBQ1IsSUFBQSw0QkFBb0IsRUFDbEIsd0hBQXdILENBQ3pILENBQ0YsQ0FBQztRQUNKLENBQUM7SUFDSCxDQUFDO0NBQ0Y7QUFoRUQsZ0RBZ0VDIn0=
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.PortValidator = void 0;
|
|
4
|
-
const utils_1 = require("../../utils/utils");
|
|
5
|
-
class PortValidator {
|
|
6
|
-
constructor(error) {
|
|
7
|
-
this.error = error;
|
|
8
|
-
}
|
|
9
|
-
async validate(port) {
|
|
10
|
-
if (isNaN(port) || port < 1 || port > 65535) {
|
|
11
|
-
this.error((0, utils_1.getMessageInRedColor)("The specified port number is invalid. Please enter a valid port."));
|
|
12
|
-
}
|
|
13
|
-
const portInUse = await (0, utils_1.isPortInUse)(port);
|
|
14
|
-
if (portInUse) {
|
|
15
|
-
this.error((0, utils_1.getMessageInRedColor)(`Port ${port} is already in use. Please provide an alternative port number to continue.`));
|
|
16
|
-
}
|
|
17
|
-
}
|
|
18
|
-
}
|
|
19
|
-
exports.PortValidator = PortValidator;
|
|
20
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9ydFZhbGlkYXRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy92YWxpZGF0b3JzL2NvbW1vbi9wb3J0VmFsaWRhdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDZDQUFzRTtBQUV0RSxNQUFhLGFBQWE7SUFDeEIsWUFBNkIsS0FBZ0M7UUFBaEMsVUFBSyxHQUFMLEtBQUssQ0FBMkI7SUFBRyxDQUFDO0lBRWpFLEtBQUssQ0FBQyxRQUFRLENBQUMsSUFBWTtRQUN6QixJQUFJLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxJQUFJLEdBQUcsQ0FBQyxJQUFJLElBQUksR0FBRyxLQUFLLEVBQUUsQ0FBQztZQUM1QyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUEsNEJBQW9CLEVBQUMsa0VBQWtFLENBQUMsQ0FBQyxDQUFDO1FBQ3ZHLENBQUM7UUFFRCxNQUFNLFNBQVMsR0FBRyxNQUFNLElBQUEsbUJBQVcsRUFBQyxJQUFJLENBQUMsQ0FBQztRQUMxQyxJQUFJLFNBQVMsRUFBRSxDQUFDO1lBQ2QsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFBLDRCQUFvQixFQUFDLFFBQVEsSUFBSSw0RUFBNEUsQ0FBQyxDQUFDLENBQUM7UUFDN0gsQ0FBQztJQUNILENBQUM7Q0FDRjtBQWJELHNDQWFDIn0=
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.PortalServeValidator = void 0;
|
|
4
|
-
const directoryValidator_1 = require("../common/directoryValidator");
|
|
5
|
-
const portValidator_1 = require("../common/portValidator");
|
|
6
|
-
class PortalServeValidator {
|
|
7
|
-
constructor(error) {
|
|
8
|
-
this.portValidator = new portValidator_1.PortValidator(error);
|
|
9
|
-
this.directoryValidator = new directoryValidator_1.DirectoryValidator(error);
|
|
10
|
-
}
|
|
11
|
-
async validate(port, destination, sourceDir, portalDir) {
|
|
12
|
-
await this.portValidator.validate(port);
|
|
13
|
-
this.directoryValidator.validateSourceDirectory(sourceDir);
|
|
14
|
-
await this.directoryValidator.validateGeneratedPortalDestinationDirectory(destination, portalDir);
|
|
15
|
-
this.directoryValidator.validatePortalSourceDirectory(sourceDir);
|
|
16
|
-
this.directoryValidator.validatePortalSourceSpecDirectory(sourceDir);
|
|
17
|
-
this.directoryValidator.validateGeneratedPortalDestinationDirectoryIsEmpty(destination);
|
|
18
|
-
}
|
|
19
|
-
}
|
|
20
|
-
exports.PortalServeValidator = PortalServeValidator;
|
|
21
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VydmVWYWxpZGF0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdmFsaWRhdG9ycy9wb3J0YWwvc2VydmVWYWxpZGF0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEscUVBQWtFO0FBQ2xFLDJEQUF3RDtBQUV4RCxNQUFhLG9CQUFvQjtJQUkvQixZQUFZLEtBQWdDO1FBQzFDLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSw2QkFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzlDLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxJQUFJLHVDQUFrQixDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzFELENBQUM7SUFFRCxLQUFLLENBQUMsUUFBUSxDQUFDLElBQVksRUFBRSxXQUFtQixFQUFFLFNBQWlCLEVBQUUsU0FBaUI7UUFDcEYsTUFBTSxJQUFJLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN4QyxJQUFJLENBQUMsa0JBQWtCLENBQUMsdUJBQXVCLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDM0QsTUFBTSxJQUFJLENBQUMsa0JBQWtCLENBQUMsMkNBQTJDLENBQUMsV0FBVyxFQUFFLFNBQVMsQ0FBQyxDQUFDO1FBQ2xHLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyw2QkFBNkIsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUNqRSxJQUFJLENBQUMsa0JBQWtCLENBQUMsaUNBQWlDLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDckUsSUFBSSxDQUFDLGtCQUFrQixDQUFDLGtEQUFrRCxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQzFGLENBQUM7Q0FDRjtBQWpCRCxvREFpQkMifQ==
|