@apimatic/cli 1.1.0-alpha.7 → 1.1.0-alpha.9

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.
Files changed (59) hide show
  1. package/README.md +85 -47
  2. package/lib/actions/portal/generate.d.ts +7 -0
  3. package/lib/actions/portal/generate.js +58 -0
  4. package/lib/actions/portal/toc/new-toc.d.ts +17 -0
  5. package/lib/actions/portal/toc/new-toc.js +134 -0
  6. package/lib/application/portal/toc/sdl-parser.d.ts +13 -0
  7. package/lib/application/portal/toc/sdl-parser.js +53 -0
  8. package/lib/application/portal/toc/toc-content-parser.d.ts +5 -0
  9. package/lib/application/portal/toc/toc-content-parser.js +46 -0
  10. package/lib/application/portal/toc/toc-structure-generator.d.ts +6 -0
  11. package/lib/application/portal/toc/toc-structure-generator.js +88 -0
  12. package/lib/client-utils/sdk-client.js +7 -3
  13. package/lib/commands/api/transform.js +3 -3
  14. package/lib/commands/api/validate.js +1 -1
  15. package/lib/commands/portal/generate.d.ts +6 -1
  16. package/lib/commands/portal/generate.js +58 -75
  17. package/lib/commands/portal/quickstart.js +21 -25
  18. package/lib/commands/portal/serve.d.ts +0 -1
  19. package/lib/commands/portal/serve.js +4 -10
  20. package/lib/commands/portal/toc/new.d.ts +15 -0
  21. package/lib/commands/portal/toc/new.js +65 -0
  22. package/lib/commands/sdk/generate.js +4 -4
  23. package/lib/controllers/api/transform.js +9 -6
  24. package/lib/controllers/api/validate.d.ts +2 -2
  25. package/lib/controllers/api/validate.js +8 -16
  26. package/lib/controllers/portal/generate.d.ts +2 -2
  27. package/lib/controllers/portal/generate.js +101 -49
  28. package/lib/controllers/portal/quickstart.d.ts +3 -3
  29. package/lib/controllers/portal/quickstart.js +60 -8
  30. package/lib/controllers/portal/serve.d.ts +1 -2
  31. package/lib/controllers/portal/serve.js +13 -27
  32. package/lib/controllers/sdk/generate.d.ts +3 -3
  33. package/lib/controllers/sdk/generate.js +5 -6
  34. package/lib/infrastructure/services/portal-service.d.ts +16 -0
  35. package/lib/infrastructure/services/portal-service.js +133 -0
  36. package/lib/prompts/portal/generate.d.ts +10 -0
  37. package/lib/prompts/portal/generate.js +62 -0
  38. package/lib/prompts/portal/quickstart.d.ts +4 -5
  39. package/lib/prompts/portal/quickstart.js +16 -17
  40. package/lib/prompts/portal/toc/new-toc.d.ts +10 -0
  41. package/lib/prompts/portal/toc/new-toc.js +46 -0
  42. package/lib/services/portal/server.d.ts +5 -2
  43. package/lib/services/portal/server.js +57 -27
  44. package/lib/types/api/transform.d.ts +16 -0
  45. package/lib/types/api/transform.js +19 -2
  46. package/lib/types/common/result.d.ts +17 -0
  47. package/lib/types/common/result.js +36 -0
  48. package/lib/types/portal/generate.d.ts +26 -9
  49. package/lib/types/portal/generate.js +2 -1
  50. package/lib/types/sdk/generate.d.ts +3 -2
  51. package/lib/types/sdk/generate.js +3 -2
  52. package/lib/types/sdl/sdl.d.ts +11 -0
  53. package/lib/types/sdl/sdl.js +3 -0
  54. package/lib/types/toc/toc.d.ts +31 -0
  55. package/lib/types/toc/toc.js +10 -0
  56. package/lib/utils/utils.d.ts +2 -0
  57. package/lib/utils/utils.js +37 -14
  58. package/lib/validators/common/directoryValidator.js +4 -4
  59. package/package.json +12 -9
@@ -0,0 +1,46 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.PortalNewTocPrompts = void 0;
4
+ const prompts_1 = require("@clack/prompts");
5
+ class PortalNewTocPrompts {
6
+ constructor() {
7
+ this.spin = (0, prompts_1.spinner)();
8
+ }
9
+ async overwriteExistingTocPrompt() {
10
+ const useExistingFile = await (0, prompts_1.select)({
11
+ message: `A toc file already exists at the specified destination path, do you want to overwrite it?`,
12
+ options: [
13
+ { value: "yes", label: "Yes" },
14
+ { value: "no", label: "No" }
15
+ ]
16
+ });
17
+ if ((0, prompts_1.isCancel)(useExistingFile)) {
18
+ (0, prompts_1.cancel)("Operation cancelled.");
19
+ return process.exit(1);
20
+ }
21
+ if (useExistingFile === "no") {
22
+ (0, prompts_1.outro)("Please enter a different destination path or delete the existing toc file and try again.");
23
+ }
24
+ return useExistingFile === "yes";
25
+ }
26
+ startProgressIndicatorWithMessage(message) {
27
+ this.spin.start(message);
28
+ }
29
+ stopProgressIndicatorWithMessage(message) {
30
+ this.spin.stop(message);
31
+ }
32
+ displayOutroMessage(tocPath) {
33
+ (0, prompts_1.outro)(`✅ TOC file successfully created at: ${tocPath}`);
34
+ }
35
+ logError(error) {
36
+ (0, prompts_1.outro)(error);
37
+ }
38
+ displayWarning(message) {
39
+ prompts_1.log.warning(message);
40
+ }
41
+ displayInfo(message) {
42
+ prompts_1.log.step(message);
43
+ }
44
+ }
45
+ exports.PortalNewTocPrompts = PortalNewTocPrompts;
46
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmV3LXRvYy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9wcm9tcHRzL3BvcnRhbC90b2MvbmV3LXRvYy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSw0Q0FBK0U7QUFFL0UsTUFBYSxtQkFBbUI7SUFBaEM7UUFDbUIsU0FBSSxHQUFHLElBQUEsaUJBQU8sR0FBRSxDQUFDO0lBOENwQyxDQUFDO0lBNUNDLEtBQUssQ0FBQywwQkFBMEI7UUFDOUIsTUFBTSxlQUFlLEdBQUcsTUFBTSxJQUFBLGdCQUFNLEVBQUM7WUFDbkMsT0FBTyxFQUFFLDJGQUEyRjtZQUNwRyxPQUFPLEVBQUU7Z0JBQ1AsRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUU7Z0JBQzlCLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFO2FBQzdCO1NBQ0YsQ0FBQyxDQUFDO1FBRUgsSUFBSSxJQUFBLGtCQUFRLEVBQUMsZUFBZSxDQUFDLEVBQUUsQ0FBQztZQUM5QixJQUFBLGdCQUFNLEVBQUMsc0JBQXNCLENBQUMsQ0FBQztZQUMvQixPQUFPLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDekIsQ0FBQztRQUVELElBQUksZUFBZSxLQUFLLElBQUksRUFBRSxDQUFDO1lBQzdCLElBQUEsZUFBSyxFQUFDLDBGQUEwRixDQUFDLENBQUM7UUFDcEcsQ0FBQztRQUVELE9BQU8sZUFBZSxLQUFLLEtBQUssQ0FBQztJQUNuQyxDQUFDO0lBRUQsaUNBQWlDLENBQUMsT0FBZTtRQUMvQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUMzQixDQUFDO0lBRUQsZ0NBQWdDLENBQUMsT0FBZTtRQUM5QyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUMxQixDQUFDO0lBRUQsbUJBQW1CLENBQUMsT0FBZTtRQUNqQyxJQUFBLGVBQUssRUFBQyx1Q0FBdUMsT0FBTyxFQUFFLENBQUMsQ0FBQztJQUMxRCxDQUFDO0lBRUQsUUFBUSxDQUFDLEtBQWE7UUFDcEIsSUFBQSxlQUFLLEVBQUMsS0FBSyxDQUFDLENBQUM7SUFDZixDQUFDO0lBRUQsY0FBYyxDQUFDLE9BQWU7UUFDNUIsYUFBRyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUN2QixDQUFDO0lBRUQsV0FBVyxDQUFDLE9BQWU7UUFDekIsYUFBRyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNwQixDQUFDO0NBQ0Y7QUEvQ0Qsa0RBK0NDIn0=
@@ -4,8 +4,11 @@ export declare class PortalServerService {
4
4
  private liveReloadServer;
5
5
  private readonly app;
6
6
  private readonly port;
7
+ private readonly liveReloadPort;
7
8
  constructor();
8
- setupServer(generatedPortalPath: string): void;
9
- startServer(config: PortalServerConfig, noReload?: boolean, displayShutdownMessages?: boolean): Promise<void>;
9
+ private findAvailablePort;
10
+ private createLiveReloadServer;
11
+ setupServer(generatedPortalPath: string): Promise<void>;
12
+ startServer(config: PortalServerConfig, noReload?: boolean, displayShutdownMessages?: boolean): Promise<boolean>;
10
13
  stopServer(): Promise<void>;
11
14
  }
@@ -10,37 +10,67 @@ const utils_1 = require("../../utils/utils");
10
10
  class PortalServerService {
11
11
  constructor() {
12
12
  this.port = 3000;
13
+ this.liveReloadPort = 35729;
13
14
  this.app = express();
14
15
  }
15
- setupServer(generatedPortalPath) {
16
- this.liveReloadServer = livereload.createServer();
17
- this.liveReloadServer.watch(generatedPortalPath);
18
- this.app.use(connectLivereload());
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
+ }
19
45
  this.app.use(express.static(generatedPortalPath));
20
46
  }
21
- startServer(config, noReload = false, displayShutdownMessages = true) {
47
+ async startServer(config, noReload = false, displayShutdownMessages = true) {
22
48
  const { generatedPortalPath, targetFolder, configDir, authKey, ignoredPaths, port, openInBrowser } = config;
23
- const serverPort = port !== null && port !== void 0 ? port : this.port;
24
- return new Promise((resolve) => {
25
- try {
26
- this.server = this.app.listen(serverPort, () => {
27
- if (openInBrowser) {
28
- open(`http://localhost:${serverPort}`);
29
- }
30
- if (!noReload) {
31
- (0, serve_1.watchAndRegeneratePortal)(targetFolder, generatedPortalPath, configDir, authKey, ignoredPaths);
32
- }
33
- if (process.platform !== "darwin") {
34
- //For non-macOS users.
35
- if (process.stdin.setRawMode) {
36
- process.stdin.setRawMode(false);
37
- }
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);
38
62
  }
39
- });
40
- }
41
- catch (error) {
42
- throw new Error((0, utils_1.getMessageInRedColor)(`There was an error starting the server: ${error}`));
43
- }
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
+ });
44
74
  const shutdown = async () => {
45
75
  if (displayShutdownMessages) {
46
76
  console.log("Shutting down server...");
@@ -49,7 +79,7 @@ class PortalServerService {
49
79
  if (displayShutdownMessages) {
50
80
  console.log("Server shut down successfully.");
51
81
  }
52
- resolve();
82
+ resolve(true);
53
83
  process.exit(0);
54
84
  };
55
85
  process.on("SIGINT", shutdown);
@@ -68,4 +98,4 @@ class PortalServerService {
68
98
  }
69
99
  }
70
100
  exports.PortalServerService = PortalServerService;
71
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VydmVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3NlcnZpY2VzL3BvcnRhbC9zZXJ2ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsbUNBQW1DO0FBQ25DLHlDQUF5QztBQUN6Qyx3REFBd0Q7QUFDeEQsNkJBQTZCO0FBQzdCLDBEQUEwRTtBQUcxRSw2Q0FBeUQ7QUFFekQsTUFBYSxtQkFBbUI7SUFNOUI7UUFGaUIsU0FBSSxHQUFHLElBQUksQ0FBQztRQUczQixJQUFJLENBQUMsR0FBRyxHQUFHLE9BQU8sRUFBRSxDQUFDO0lBQ3ZCLENBQUM7SUFFRCxXQUFXLENBQUMsbUJBQTJCO1FBQ3JDLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxVQUFVLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDbEQsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEtBQUssQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO1FBRWpELElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLGlCQUFpQixFQUFFLENBQUMsQ0FBQztRQUNsQyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLG1CQUFtQixDQUFDLENBQUMsQ0FBQztJQUNwRCxDQUFDO0lBRUQsV0FBVyxDQUFDLE1BQTBCLEVBQUUsUUFBUSxHQUFHLEtBQUssRUFBRSx1QkFBdUIsR0FBRyxJQUFJO1FBQ3RGLE1BQU0sRUFBRSxtQkFBbUIsRUFBRSxZQUFZLEVBQUUsU0FBUyxFQUFFLE9BQU8sRUFBRSxZQUFZLEVBQUUsSUFBSSxFQUFFLGFBQWEsRUFBRSxHQUFHLE1BQU0sQ0FBQztRQUM1RyxNQUFNLFVBQVUsR0FBRyxJQUFJLGFBQUosSUFBSSxjQUFKLElBQUksR0FBSSxJQUFJLENBQUMsSUFBSSxDQUFDO1FBRXJDLE9BQU8sSUFBSSxPQUFPLENBQU8sQ0FBQyxPQUFPLEVBQUUsRUFBRTtZQUNuQyxJQUFJLENBQUM7Z0JBQ0gsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxVQUFVLEVBQUUsR0FBRyxFQUFFO29CQUM3QyxJQUFJLGFBQWEsRUFBRSxDQUFDO3dCQUNsQixJQUFJLENBQUMsb0JBQW9CLFVBQVUsRUFBRSxDQUFDLENBQUM7b0JBQ3pDLENBQUM7b0JBRUQsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO3dCQUNkLElBQUEsZ0NBQXdCLEVBQUMsWUFBWSxFQUFFLG1CQUFtQixFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsWUFBWSxDQUFDLENBQUM7b0JBQ2hHLENBQUM7b0JBRUQsSUFBSSxPQUFPLENBQUMsUUFBUSxLQUFLLFFBQVEsRUFBRSxDQUFDO3dCQUNsQyxzQkFBc0I7d0JBQ3RCLElBQUksT0FBTyxDQUFDLEtBQUssQ0FBQyxVQUFVLEVBQUUsQ0FBQzs0QkFDN0IsT0FBTyxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUM7d0JBQ2xDLENBQUM7b0JBQ0gsQ0FBQztnQkFDSCxDQUFDLENBQUMsQ0FBQztZQUNMLENBQUM7WUFBQyxPQUFPLEtBQUssRUFBRSxDQUFDO2dCQUNmLE1BQU0sSUFBSSxLQUFLLENBQUMsSUFBQSw0QkFBb0IsRUFBQywyQ0FBMkMsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDO1lBQzVGLENBQUM7WUFFRCxNQUFNLFFBQVEsR0FBRyxLQUFLLElBQUksRUFBRTtnQkFDMUIsSUFBSSx1QkFBdUIsRUFBRSxDQUFDO29CQUM1QixPQUFPLENBQUMsR0FBRyxDQUFDLHlCQUF5QixDQUFDLENBQUM7Z0JBQ3pDLENBQUM7Z0JBQ0QsTUFBTSxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7Z0JBQ3hCLElBQUksdUJBQXVCLEVBQUUsQ0FBQztvQkFDNUIsT0FBTyxDQUFDLEdBQUcsQ0FBQyxnQ0FBZ0MsQ0FBQyxDQUFDO2dCQUNoRCxDQUFDO2dCQUNELE9BQU8sRUFBRSxDQUFDO2dCQUNWLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDbEIsQ0FBQyxDQUFDO1lBRUYsT0FBTyxDQUFDLEVBQUUsQ0FBQyxRQUFRLEVBQUUsUUFBUSxDQUFDLENBQUM7WUFDL0IsT0FBTyxDQUFDLEVBQUUsQ0FBQyxTQUFTLEVBQUUsUUFBUSxDQUFDLENBQUM7UUFDbEMsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsS0FBSyxDQUFDLFVBQVU7UUFDZCxJQUFJLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1lBQzFCLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUNoQyxDQUFDO1FBRUQsSUFBSSxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDaEIsTUFBTSxJQUFJLE9BQU8sQ0FBTyxDQUFDLE9BQU8sRUFBRSxFQUFFO2dCQUNsQyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxHQUFHLEVBQUUsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDO1lBQ3JDLENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQztJQUNILENBQUM7Q0FDRjtBQXhFRCxrREF3RUMifQ==
101
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VydmVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3NlcnZpY2VzL3BvcnRhbC9zZXJ2ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsbUNBQW1DO0FBQ25DLHlDQUF5QztBQUN6Qyx3REFBd0Q7QUFDeEQsNkJBQTZCO0FBQzdCLDBEQUEwRTtBQUcxRSw2Q0FBc0U7QUFFdEUsTUFBYSxtQkFBbUI7SUFPOUI7UUFIaUIsU0FBSSxHQUFHLElBQUksQ0FBQztRQUNaLG1CQUFjLEdBQUcsS0FBSyxDQUFDO1FBR3RDLElBQUksQ0FBQyxHQUFHLEdBQUcsT0FBTyxFQUFFLENBQUM7SUFDdkIsQ0FBQztJQUVPLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxTQUFpQjtRQUMvQyxJQUFJLElBQUksR0FBRyxTQUFTLENBQUM7UUFDckIsTUFBTSxPQUFPLEdBQUcsU0FBUyxHQUFHLEVBQUUsQ0FBQyxDQUFDLDhCQUE4QjtRQUU5RCxPQUFPLElBQUksR0FBRyxPQUFPLEVBQUUsQ0FBQztZQUN0QixJQUFJLENBQUMsQ0FBQyxNQUFNLElBQUEsbUJBQVcsRUFBQyxJQUFJLENBQUMsQ0FBQyxFQUFFLENBQUM7Z0JBQy9CLE9BQU8sSUFBSSxDQUFDO1lBQ2QsQ0FBQztZQUNELElBQUksRUFBRSxDQUFDO1FBQ1QsQ0FBQztRQUVELDZEQUE2RDtRQUM3RCxPQUFPLFNBQVMsQ0FBQztJQUNuQixDQUFDO0lBRU8sS0FBSyxDQUFDLHNCQUFzQixDQUFDLG1CQUEyQjtRQUM5RCxJQUFJLENBQUM7WUFDSCxNQUFNLGFBQWEsR0FBRyxNQUFNLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7WUFFeEUsSUFBSSxDQUFDLGdCQUFnQixHQUFHLFVBQVUsQ0FBQyxZQUFZLENBQUM7Z0JBQzlDLElBQUksRUFBRSxhQUFhO2FBQ3BCLENBQUMsQ0FBQztZQUVILElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLENB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
@@ -27,3 +27,19 @@ export declare const DestinationFormats: {
27
27
  Postman20: string;
28
28
  GraphQlSchema: string;
29
29
  };
30
+ export declare enum TransformationFormats {
31
+ APIMATIC = "Apimatic",
32
+ WADL2009 = "Wadl2009",
33
+ WSDL = "Wsdl",
34
+ SWAGGER10 = "Swagger10",
35
+ SWAGGER20 = "Swagger20",
36
+ SWAGGERYAML = "Swaggeryaml",
37
+ OAS3 = "Oas3",
38
+ OPENAPI3YAML = "Openapi3Yaml",
39
+ APIBLUEPRINT = "Apiblueprint",
40
+ RAML = "Raml",
41
+ RAML10 = "Raml10",
42
+ POSTMAN10 = "Postman10",
43
+ POSTMAN20 = "Postman20",
44
+ GRAPHQLSCHEMA = "Graphqlschema"
45
+ }
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.DestinationFormats = void 0;
3
+ exports.TransformationFormats = exports.DestinationFormats = void 0;
4
4
  exports.DestinationFormats = {
5
5
  OpenApi3Json: "json",
6
6
  OpenApi3Yaml: "yaml",
@@ -16,4 +16,21 @@ exports.DestinationFormats = {
16
16
  Postman20: "json",
17
17
  GraphQlSchema: "json"
18
18
  };
19
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNmb3JtLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3R5cGVzL2FwaS90cmFuc2Zvcm0udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBa0JhLFFBQUEsa0JBQWtCLEdBQUc7SUFDaEMsWUFBWSxFQUFFLE1BQU07SUFDcEIsWUFBWSxFQUFFLE1BQU07SUFDcEIsUUFBUSxFQUFFLE1BQU07SUFDaEIsUUFBUSxFQUFFLEtBQUs7SUFDZixJQUFJLEVBQUUsS0FBSztJQUNYLFNBQVMsRUFBRSxNQUFNO0lBQ2pCLFNBQVMsRUFBRSxNQUFNO0lBQ2pCLFdBQVcsRUFBRSxNQUFNO0lBQ25CLElBQUksRUFBRSxNQUFNO0lBQ1osTUFBTSxFQUFFLE1BQU07SUFDZCxTQUFTLEVBQUUsTUFBTTtJQUNqQixTQUFTLEVBQUUsTUFBTTtJQUNqQixhQUFhLEVBQUUsTUFBTTtDQUN0QixDQUFDIn0=
19
+ var TransformationFormats;
20
+ (function (TransformationFormats) {
21
+ TransformationFormats["APIMATIC"] = "Apimatic";
22
+ TransformationFormats["WADL2009"] = "Wadl2009";
23
+ TransformationFormats["WSDL"] = "Wsdl";
24
+ TransformationFormats["SWAGGER10"] = "Swagger10";
25
+ TransformationFormats["SWAGGER20"] = "Swagger20";
26
+ TransformationFormats["SWAGGERYAML"] = "Swaggeryaml";
27
+ TransformationFormats["OAS3"] = "Oas3";
28
+ TransformationFormats["OPENAPI3YAML"] = "Openapi3Yaml";
29
+ TransformationFormats["APIBLUEPRINT"] = "Apiblueprint";
30
+ TransformationFormats["RAML"] = "Raml";
31
+ TransformationFormats["RAML10"] = "Raml10";
32
+ TransformationFormats["POSTMAN10"] = "Postman10";
33
+ TransformationFormats["POSTMAN20"] = "Postman20";
34
+ TransformationFormats["GRAPHQLSCHEMA"] = "Graphqlschema";
35
+ })(TransformationFormats || (exports.TransformationFormats = TransformationFormats = {}));
36
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNmb3JtLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3R5cGVzL2FwaS90cmFuc2Zvcm0udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBa0JhLFFBQUEsa0JBQWtCLEdBQUc7SUFDaEMsWUFBWSxFQUFFLE1BQU07SUFDcEIsWUFBWSxFQUFFLE1BQU07SUFDcEIsUUFBUSxFQUFFLE1BQU07SUFDaEIsUUFBUSxFQUFFLEtBQUs7SUFDZixJQUFJLEVBQUUsS0FBSztJQUNYLFNBQVMsRUFBRSxNQUFNO0lBQ2pCLFNBQVMsRUFBRSxNQUFNO0lBQ2pCLFdBQVcsRUFBRSxNQUFNO0lBQ25CLElBQUksRUFBRSxNQUFNO0lBQ1osTUFBTSxFQUFFLE1BQU07SUFDZCxTQUFTLEVBQUUsTUFBTTtJQUNqQixTQUFTLEVBQUUsTUFBTTtJQUNqQixhQUFhLEVBQUUsTUFBTTtDQUN0QixDQUFDO0FBRUYsSUFBWSxxQkFlWDtBQWZELFdBQVkscUJBQXFCO0lBQy9CLDhDQUFxQixDQUFBO0lBQ3JCLDhDQUFxQixDQUFBO0lBQ3JCLHNDQUFhLENBQUE7SUFDYixnREFBdUIsQ0FBQTtJQUN2QixnREFBdUIsQ0FBQTtJQUN2QixvREFBMkIsQ0FBQTtJQUMzQixzQ0FBYSxDQUFBO0lBQ2Isc0RBQTZCLENBQUE7SUFDN0Isc0RBQTZCLENBQUE7SUFDN0Isc0NBQWEsQ0FBQTtJQUNiLDBDQUFpQixDQUFBO0lBQ2pCLGdEQUF1QixDQUFBO0lBQ3ZCLGdEQUF1QixDQUFBO0lBQ3ZCLHdEQUErQixDQUFBO0FBQ2pDLENBQUMsRUFmVyxxQkFBcUIscUNBQXJCLHFCQUFxQixRQWVoQyJ9
@@ -0,0 +1,17 @@
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
+ }
@@ -0,0 +1,36 @@
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,9 +1,26 @@
1
- import { DocsPortalManagementController } from "@apimatic/sdk";
2
- export type GeneratePortalParams = {
3
- zippedBuildFilePath: string;
4
- portalFolderPath: string;
5
- zippedPortalPath: string;
6
- docsPortalController: DocsPortalManagementController;
7
- overrideAuthKey: string | null;
8
- zip: boolean;
9
- };
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,3 +1,4 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VuZXJhdGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdHlwZXMvcG9ydGFsL2dlbmVyYXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIifQ==
3
+ ;
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VuZXJhdGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdHlwZXMvcG9ydGFsL2dlbmVyYXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBTUMsQ0FBQyJ9
@@ -15,8 +15,9 @@ export type SDKGenerateUnprocessableError = {
15
15
  export declare enum SimplePlatforms {
16
16
  CSHARP = "CS_NET_STANDARD_LIB",
17
17
  JAVA = "JAVA_ECLIPSE_JRE_LIB",
18
- PHP = "PHP_GENERIC_LIB",
18
+ PHP = "PHP_GENERIC_LIB_V2",
19
19
  PYTHON = "PYTHON_GENERIC_LIB",
20
20
  RUBY = "RUBY_GENERIC_LIB",
21
- TYPESCRIPT = "TS_GENERIC_LIB"
21
+ TYPESCRIPT = "TS_GENERIC_LIB",
22
+ GO = "GO_GENERIC_LIB"
22
23
  }
@@ -5,9 +5,10 @@ var SimplePlatforms;
5
5
  (function (SimplePlatforms) {
6
6
  SimplePlatforms["CSHARP"] = "CS_NET_STANDARD_LIB";
7
7
  SimplePlatforms["JAVA"] = "JAVA_ECLIPSE_JRE_LIB";
8
- SimplePlatforms["PHP"] = "PHP_GENERIC_LIB";
8
+ SimplePlatforms["PHP"] = "PHP_GENERIC_LIB_V2";
9
9
  SimplePlatforms["PYTHON"] = "PYTHON_GENERIC_LIB";
10
10
  SimplePlatforms["RUBY"] = "RUBY_GENERIC_LIB";
11
11
  SimplePlatforms["TYPESCRIPT"] = "TS_GENERIC_LIB";
12
+ SimplePlatforms["GO"] = "GO_GENERIC_LIB";
12
13
  })(SimplePlatforms || (exports.SimplePlatforms = SimplePlatforms = {}));
13
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VuZXJhdGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdHlwZXMvc2RrL2dlbmVyYXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQWlCQSxJQUFZLGVBT1g7QUFQRCxXQUFZLGVBQWU7SUFDekIsaURBQThCLENBQUE7SUFDOUIsZ0RBQTZCLENBQUE7SUFDN0IsMENBQXVCLENBQUE7SUFDdkIsZ0RBQTZCLENBQUE7SUFDN0IsNENBQXlCLENBQUE7SUFDekIsZ0RBQTZCLENBQUE7QUFDL0IsQ0FBQyxFQVBXLGVBQWUsK0JBQWYsZUFBZSxRQU8xQiJ9
14
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VuZXJhdGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdHlwZXMvc2RrL2dlbmVyYXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQWlCQSxJQUFZLGVBUVg7QUFSRCxXQUFZLGVBQWU7SUFDekIsaURBQThCLENBQUE7SUFDOUIsZ0RBQTZCLENBQUE7SUFDN0IsNkNBQTBCLENBQUE7SUFDMUIsZ0RBQTZCLENBQUE7SUFDN0IsNENBQXlCLENBQUE7SUFDekIsZ0RBQTZCLENBQUE7SUFDN0Isd0NBQXFCLENBQUE7QUFDdkIsQ0FBQyxFQVJXLGVBQWUsK0JBQWYsZUFBZSxRQVExQiJ9
@@ -0,0 +1,11 @@
1
+ export interface Sdl {
2
+ readonly Endpoints: SdlEndpoint[];
3
+ readonly CustomTypes: SdlModel[];
4
+ }
5
+ export interface SdlEndpoint {
6
+ readonly Name: string;
7
+ readonly Group: string;
8
+ }
9
+ export interface SdlModel {
10
+ readonly Name: string;
11
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2RsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3R5cGVzL3NkbC9zZGwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiJ9
@@ -0,0 +1,31 @@
1
+ export interface Toc {
2
+ toc: Array<TocGroup | TocGenerated>;
3
+ }
4
+ export interface TocGroup {
5
+ readonly group: string;
6
+ readonly items: Array<TocGroup | TocGenerated | TocEndpoint | TocEndpointGroupOverview | TocModel | TocCustomPage>;
7
+ }
8
+ export interface TocGenerated {
9
+ readonly generate: string;
10
+ readonly from: string;
11
+ }
12
+ export interface TocEndpointGroupOverview {
13
+ readonly generate: null;
14
+ readonly from: "endpoint-group-overview";
15
+ readonly endpointGroup: string;
16
+ }
17
+ export interface TocEndpoint {
18
+ readonly generate: null;
19
+ readonly from: "endpoint";
20
+ readonly endpointName: string;
21
+ readonly endpointGroup: string;
22
+ }
23
+ export interface TocModel {
24
+ readonly generate: null;
25
+ readonly from: "model";
26
+ readonly modelName: string;
27
+ }
28
+ export interface TocCustomPage {
29
+ readonly page: string;
30
+ readonly file: string;
31
+ }
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ ;
4
+ ;
5
+ ;
6
+ ;
7
+ ;
8
+ ;
9
+ ;
10
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9jLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3R5cGVzL3RvYy90b2MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFFQyxDQUFDO0FBS0QsQ0FBQztBQUtELENBQUM7QUFNRCxDQUFDO0FBT0QsQ0FBQztBQU1ELENBQUM7QUFLRCxDQUFDIn0=
@@ -22,6 +22,7 @@ export declare const zipDirectoryToStream: (sourcePath: string) => Promise<NodeJ
22
22
  export declare const zipDirectory: (sourcePath: string, destinationPath: string) => Promise<string>;
23
23
  export declare const replaceHTML: (string: string) => string;
24
24
  export declare const isJSONParsable: (json: string) => boolean;
25
+ export declare const getGeneratedFilesPaths: (sourceDirectoryPath: string, generatedPortalArtifactsDirectoryPath: string) => string[];
25
26
  export declare const getFileNameFromPath: (filePath: string) => string;
26
27
  export declare const printValidationMessages: ({ warnings, errors, messages }: ValidationMessages, { log, warn, error }: loggers) => void;
27
28
  /**
@@ -34,6 +35,7 @@ export declare function extractZipFile(zipFilePath: string, destinationDir: stri
34
35
  export declare function validateAndZipPortalSource(sourceDir: string, outputPath: string, ignoredPaths?: string[]): Promise<string>;
35
36
  export declare function cleanUpGeneratedPortalFiles(sourceDir: string): Promise<void>;
36
37
  export declare function isPortInUse(port: number): Promise<boolean>;
38
+ export declare function parseStreamBodyToJson(body: NodeJS.ReadableStream): Promise<any>;
37
39
  export declare const getNonHiddenItemsFromDirectory: (directoryPath: string) => string[];
38
40
  export declare const getMessageInOrangeColor: (message: string) => string;
39
41
  export declare const getMessageInBlueColor: (message: string) => string;
@@ -1,10 +1,12 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getMessageInRedColor = exports.getMessageInMagentaColor = exports.getMessageInGreenColor = exports.getMessageInCyanColor = exports.getMessageInBlueColor = exports.getMessageInOrangeColor = exports.getNonHiddenItemsFromDirectory = exports.printValidationMessages = exports.getFileNameFromPath = exports.isJSONParsable = exports.replaceHTML = exports.zipDirectory = exports.zipDirectoryToStream = exports.writeFileUsingReadableStream = exports.deleteFile = exports.isValidUrl = exports.directoryToJson = exports.validationMessagesToJson = exports.clearDirectory = exports.createTempDirectory = exports.unzipFile = void 0;
3
+ exports.getMessageInRedColor = exports.getMessageInMagentaColor = exports.getMessageInGreenColor = exports.getMessageInCyanColor = exports.getMessageInBlueColor = exports.getMessageInOrangeColor = exports.getNonHiddenItemsFromDirectory = exports.printValidationMessages = exports.getFileNameFromPath = exports.getGeneratedFilesPaths = exports.isJSONParsable = exports.replaceHTML = exports.zipDirectory = exports.zipDirectoryToStream = exports.writeFileUsingReadableStream = exports.deleteFile = exports.isValidUrl = exports.directoryToJson = exports.validationMessagesToJson = exports.clearDirectory = exports.createTempDirectory = exports.unzipFile = void 0;
4
4
  exports.extractZipFile = extractZipFile;
5
5
  exports.validateAndZipPortalSource = validateAndZipPortalSource;
6
6
  exports.cleanUpGeneratedPortalFiles = cleanUpGeneratedPortalFiles;
7
7
  exports.isPortInUse = isPortInUse;
8
+ exports.parseStreamBodyToJson = parseStreamBodyToJson;
9
+ const tslib_1 = require("tslib");
8
10
  const net = require("net");
9
11
  const path = require("path");
10
12
  const fs = require("fs-extra");
@@ -127,13 +129,10 @@ const deleteFile = async (filePath) => {
127
129
  };
128
130
  exports.deleteFile = deleteFile;
129
131
  const writeFileUsingReadableStream = (stream, destinationPath) => {
130
- return new Promise((resolve, reject) => {
132
+ return new Promise((resolve) => {
131
133
  const writeStream = fs.createWriteStream(destinationPath);
132
134
  stream.pipe(writeStream);
133
- writeStream.on("close", (error) => {
134
- if (error) {
135
- return reject(new Error("Couldn't zip the stream"));
136
- }
135
+ writeStream.on("close", () => {
137
136
  resolve("Zipped");
138
137
  });
139
138
  });
@@ -165,7 +164,7 @@ exports.zipDirectoryToStream = zipDirectoryToStream;
165
164
  const zipDirectory = async (sourcePath, destinationPath) => {
166
165
  // Check if the directory exists for the user or not
167
166
  await fs.ensureDir(sourcePath);
168
- const zipPath = path.join(destinationPath, "target.zip");
167
+ const zipPath = path.join(destinationPath, ".target.zip");
169
168
  const output = fs.createWriteStream(zipPath);
170
169
  const archive = archiver("zip");
171
170
  return new Promise((resolve, reject) => {
@@ -198,6 +197,13 @@ const isJSONParsable = (json) => {
198
197
  }
199
198
  };
200
199
  exports.isJSONParsable = isJSONParsable;
200
+ const getGeneratedFilesPaths = (sourceDirectoryPath, generatedPortalArtifactsDirectoryPath) => {
201
+ const generatedBuildInputZipPath = path.join(sourceDirectoryPath, ".portal_source.zip");
202
+ const generatedPortalArtifactsZipFilePath = path.join(sourceDirectoryPath, ".generated_portal.zip");
203
+ const generatedPortalArtifactsFolderPath = path.join(path.dirname(generatedPortalArtifactsDirectoryPath), "generated_portal");
204
+ return [generatedBuildInputZipPath, generatedPortalArtifactsFolderPath, generatedPortalArtifactsZipFilePath];
205
+ };
206
+ exports.getGeneratedFilesPaths = getGeneratedFilesPaths;
201
207
  const getFileNameFromPath = (filePath) => {
202
208
  return path.basename(filePath).split(".")[0];
203
209
  };
@@ -262,10 +268,6 @@ async function validateAndZipPortalSource(sourceDir, outputPath, ignoredPaths =
262
268
  const archive = archiver("zip", {
263
269
  zlib: { level: 9 }
264
270
  });
265
- const items = await fs.readdir(sourceDir);
266
- if (!items.some((item) => item.startsWith("APIMATIC-BUILD"))) {
267
- throw new Error("APIMatic Build file is missing, portal cannot be generated. Please specify a valid APIMatic build file and try again.");
268
- }
269
271
  return new Promise((resolve, reject) => {
270
272
  output.on("close", () => resolve(outputPath));
271
273
  output.on("error", (err) => {
@@ -309,8 +311,8 @@ async function validateAndZipPortalSource(sourceDir, outputPath, ignoredPaths =
309
311
  });
310
312
  }
311
313
  async function cleanUpGeneratedPortalFiles(sourceDir) {
312
- const generatedPortalZipFilePath = path.join(sourceDir, "generated_portal.zip");
313
- const generatedPortalSourceZipFilePath = path.join(sourceDir, "portal_source.zip");
314
+ const generatedPortalZipFilePath = path.join(sourceDir, ".generated_portal.zip");
315
+ const generatedPortalSourceZipFilePath = path.join(sourceDir, ".portal_source.zip");
314
316
  if (fs.existsSync(generatedPortalZipFilePath)) {
315
317
  await (0, exports.deleteFile)(generatedPortalZipFilePath);
316
318
  }
@@ -336,6 +338,27 @@ function isPortInUse(port) {
336
338
  server.listen(port);
337
339
  });
338
340
  }
341
+ async function parseStreamBodyToJson(body) {
342
+ var _a, e_1, _b, _c;
343
+ const chunks = [];
344
+ try {
345
+ for (var _d = true, body_1 = tslib_1.__asyncValues(body), body_1_1; body_1_1 = await body_1.next(), _a = body_1_1.done, !_a; _d = true) {
346
+ _c = body_1_1.value;
347
+ _d = false;
348
+ const chunk = _c;
349
+ chunks.push(Buffer.isBuffer(chunk) ? chunk : Buffer.from(chunk));
350
+ }
351
+ }
352
+ catch (e_1_1) { e_1 = { error: e_1_1 }; }
353
+ finally {
354
+ try {
355
+ if (!_d && !_a && (_b = body_1.return)) await _b.call(body_1);
356
+ }
357
+ finally { if (e_1) throw e_1.error; }
358
+ }
359
+ const text = Buffer.concat(chunks).toString("utf-8");
360
+ return JSON.parse(text);
361
+ }
339
362
  const getNonHiddenItemsFromDirectory = (directoryPath) => {
340
363
  return fs.readdirSync(directoryPath).filter((item) => !item.startsWith("."));
341
364
  };
@@ -364,4 +387,4 @@ const getMessageInRedColor = (message) => {
364
387
  return `\u001b[31m${message}\u001b[0m`;
365
388
  };
366
389
  exports.getMessageInRedColor = getMessageInRedColor;
367
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdXRpbHMvdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBbVFBLHdDQXdDQztBQUVELGdFQW1FQztBQUVELGtFQVNDO0FBRUQsa0NBbUJDO0FBaFpELDJCQUEyQjtBQUMzQiw2QkFBNkI7QUFDN0IsK0JBQStCO0FBQy9CLHlCQUF5QjtBQUN6QixxQ0FBcUM7QUFDckMscUNBQXFDO0FBQ3JDLHVDQUF1QztBQUN2QyxtQ0FBcUM7QUFDckMsa0NBQW1DO0FBSzVCLE1BQU0sU0FBUyxHQUFHLENBQUMsTUFBNkIsRUFBRSxXQUFtQixFQUFFLEVBQUU7SUFDOUUsT0FBTyxJQUFJLE9BQU8sQ0FBQyxDQUFDLE9BQU8sRUFBRSxNQUFNLEVBQUUsRUFBRTtRQUNyQyxNQUFNLGFBQWEsR0FBRyxRQUFRLENBQUMsT0FBTyxDQUFDLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRSxDQUFDLENBQUM7UUFFOUQsTUFBTTthQUNILElBQUksQ0FBQyxhQUFhLENBQUM7YUFDbkIsRUFBRSxDQUFDLE9BQU8sRUFBRSxDQUFDLEtBQVksRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLElBQUksS0FBSyxDQUFDLDJCQUEyQixHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFFakcsYUFBYSxDQUFDLEVBQUUsQ0FBQyxPQUFPLEVBQUUsR0FBRyxFQUFFLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUM7UUFDdEQsYUFBYSxDQUFDLEVBQUUsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxLQUFZLEVBQUUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEtBQUssQ0FBQywyQkFBMkIsR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzlHLENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUFDO0FBWFcsUUFBQSxTQUFTLGFBV3BCO0FBRUssTUFB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
390
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdXRpbHMvdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBd1FBLHdDQXdDQztBQUVELGdFQTJEQztBQUVELGtFQVNDO0FBRUQsa0NBbUJDO0FBRUQsc0RBT0M7O0FBdFpELDJCQUEyQjtBQUMzQiw2QkFBNkI7QUFDN0IsK0JBQStCO0FBQy9CLHlCQUF5QjtBQUN6QixxQ0FBcUM7QUFDckMscUNBQXFDO0FBQ3JDLHVDQUF1QztBQUN2QyxtQ0FBcUM7QUFDckMsa0NBQW1DO0FBSzVCLE1BQU0sU0FBUyxHQUFHLENBQUMsTUFBNkIsRUFBRSxXQUFtQixFQUFFLEVBQUU7SUFDOUUsT0FBTyxJQUFJLE9BQU8sQ0FBQyxDQUFDLE9BQU8sRUFBRSxNQUFNLEVBQUUsRUFBRTtRQUNyQyxNQUFNLGFBQWEsR0FBRyxRQUFRLENBQUMsT0FBTyxDQUFDLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRSxDQUFDLENBQUM7UUFFOUQsTUFBTTthQUNILElBQUksQ0FBQyxhQUFhLENBQUM7YUFDbkIsRUFBRSxDQUFDLE9BQU8sRUFBRSxDQUFDLEtBQVksRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLElBQUksS0FBSyxDQUFDLDJCQUEyQixHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFFakcsYUFBYSxDQUFDLEVBQUUsQ0FBQyxPQUFPLEVBQUUsR0FBRyxFQUFFLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUM7UUFDdEQsYUFBYSxDQUFDLEVBQUUsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxLQUFZLEVBQUUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEtBQUssQ0FBQywyQkFBMkIsR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzlHLENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUFDO0FBWFcsUUFBQSxTQUFTLGFB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