@useparagon/cli 0.0.1-canary.1

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 (207) hide show
  1. package/dist/codegen/codegen.types.d.ts +9 -0
  2. package/dist/codegen/codegen.types.js +3 -0
  3. package/dist/codegen/codegen.types.js.map +1 -0
  4. package/dist/codegen/codegen.utils.d.ts +4 -0
  5. package/dist/codegen/codegen.utils.js +70 -0
  6. package/dist/codegen/codegen.utils.js.map +1 -0
  7. package/dist/codegen/codegens/condition.codegen.d.ts +2 -0
  8. package/dist/codegen/codegens/condition.codegen.js +28 -0
  9. package/dist/codegen/codegens/condition.codegen.js.map +1 -0
  10. package/dist/codegen/codegens/event.codegen.d.ts +2 -0
  11. package/dist/codegen/codegens/event.codegen.js +35 -0
  12. package/dist/codegen/codegens/event.codegen.js.map +1 -0
  13. package/dist/codegen/codegens/integration.codegen.d.ts +2 -0
  14. package/dist/codegen/codegens/integration.codegen.js +18 -0
  15. package/dist/codegen/codegens/integration.codegen.js.map +1 -0
  16. package/dist/codegen/codegens/source.codegen.d.ts +5 -0
  17. package/dist/codegen/codegens/source.codegen.js +104 -0
  18. package/dist/codegen/codegens/source.codegen.js.map +1 -0
  19. package/dist/codegen/codegens/workflow.codegen.d.ts +3 -0
  20. package/dist/codegen/codegens/workflow.codegen.js +278 -0
  21. package/dist/codegen/codegens/workflow.codegen.js.map +1 -0
  22. package/dist/commands/build/build.action.d.ts +8 -0
  23. package/dist/commands/build/build.action.js +49 -0
  24. package/dist/commands/build/build.action.js.map +1 -0
  25. package/dist/commands/build/build.command.d.ts +8 -0
  26. package/dist/commands/build/build.command.js +27 -0
  27. package/dist/commands/build/build.command.js.map +1 -0
  28. package/dist/commands/build/build.types.d.ts +6 -0
  29. package/dist/commands/build/build.types.js +3 -0
  30. package/dist/commands/build/build.types.js.map +1 -0
  31. package/dist/commands/build/build.utils.d.ts +1 -0
  32. package/dist/commands/build/build.utils.js +17 -0
  33. package/dist/commands/build/build.utils.js.map +1 -0
  34. package/dist/commands/build/index.d.ts +1 -0
  35. package/dist/commands/build/index.js +5 -0
  36. package/dist/commands/build/index.js.map +1 -0
  37. package/dist/commands/command.interface.d.ts +7 -0
  38. package/dist/commands/command.interface.js +3 -0
  39. package/dist/commands/command.interface.js.map +1 -0
  40. package/dist/commands/command.loader.d.ts +5 -0
  41. package/dist/commands/command.loader.js +27 -0
  42. package/dist/commands/command.loader.js.map +1 -0
  43. package/dist/commands/index.d.ts +2 -0
  44. package/dist/commands/index.js +6 -0
  45. package/dist/commands/index.js.map +1 -0
  46. package/dist/commands/init/index.d.ts +1 -0
  47. package/dist/commands/init/index.js +5 -0
  48. package/dist/commands/init/index.js.map +1 -0
  49. package/dist/commands/init/init.action.d.ts +11 -0
  50. package/dist/commands/init/init.action.js +92 -0
  51. package/dist/commands/init/init.action.js.map +1 -0
  52. package/dist/commands/init/init.command.d.ts +8 -0
  53. package/dist/commands/init/init.command.js +27 -0
  54. package/dist/commands/init/init.command.js.map +1 -0
  55. package/dist/commands/init/init.constants.d.ts +1 -0
  56. package/dist/commands/init/init.constants.js +21 -0
  57. package/dist/commands/init/init.constants.js.map +1 -0
  58. package/dist/commands/init/init.types.d.ts +7 -0
  59. package/dist/commands/init/init.types.js +3 -0
  60. package/dist/commands/init/init.types.js.map +1 -0
  61. package/dist/commands/init/init.utils.d.ts +11 -0
  62. package/dist/commands/init/init.utils.js +50 -0
  63. package/dist/commands/init/init.utils.js.map +1 -0
  64. package/dist/commands/login/index.d.ts +1 -0
  65. package/dist/commands/login/index.js +5 -0
  66. package/dist/commands/login/index.js.map +1 -0
  67. package/dist/commands/login/login.command.d.ts +5 -0
  68. package/dist/commands/login/login.command.js +26 -0
  69. package/dist/commands/login/login.command.js.map +1 -0
  70. package/dist/commands/login/login.types.d.ts +3 -0
  71. package/dist/commands/login/login.types.js +3 -0
  72. package/dist/commands/login/login.types.js.map +1 -0
  73. package/dist/commands/login/login.utils.d.ts +2 -0
  74. package/dist/commands/login/login.utils.js +47 -0
  75. package/dist/commands/login/login.utils.js.map +1 -0
  76. package/dist/compilers/compiler.interface.d.ts +3 -0
  77. package/dist/compilers/compiler.interface.js +3 -0
  78. package/dist/compilers/compiler.interface.js.map +1 -0
  79. package/dist/compilers/compiler.types.d.ts +23 -0
  80. package/dist/compilers/compiler.types.js +3 -0
  81. package/dist/compilers/compiler.types.js.map +1 -0
  82. package/dist/compilers/compiler.utils.d.ts +2 -0
  83. package/dist/compilers/compiler.utils.js +25 -0
  84. package/dist/compilers/compiler.utils.js.map +1 -0
  85. package/dist/compilers/event.compiler.d.ts +7 -0
  86. package/dist/compilers/event.compiler.js +25 -0
  87. package/dist/compilers/event.compiler.js.map +1 -0
  88. package/dist/compilers/integration.compiler.d.ts +9 -0
  89. package/dist/compilers/integration.compiler.js +55 -0
  90. package/dist/compilers/integration.compiler.js.map +1 -0
  91. package/dist/compilers/project.compiler.d.ts +10 -0
  92. package/dist/compilers/project.compiler.js +50 -0
  93. package/dist/compilers/project.compiler.js.map +1 -0
  94. package/dist/compilers/ts.compiler.d.ts +11 -0
  95. package/dist/compilers/ts.compiler.js +70 -0
  96. package/dist/compilers/ts.compiler.js.map +1 -0
  97. package/dist/compilers/workflow.compiler.d.ts +10 -0
  98. package/dist/compilers/workflow.compiler.js +36 -0
  99. package/dist/compilers/workflow.compiler.js.map +1 -0
  100. package/dist/config/config.constants.d.ts +4 -0
  101. package/dist/config/config.constants.js +12 -0
  102. package/dist/config/config.constants.js.map +1 -0
  103. package/dist/config/config.types.d.ts +31 -0
  104. package/dist/config/config.types.js +18 -0
  105. package/dist/config/config.types.js.map +1 -0
  106. package/dist/config/config.utils.d.ts +9 -0
  107. package/dist/config/config.utils.js +136 -0
  108. package/dist/config/config.utils.js.map +1 -0
  109. package/dist/config/index.d.ts +2 -0
  110. package/dist/config/index.js +6 -0
  111. package/dist/config/index.js.map +1 -0
  112. package/dist/helpers/constants.d.ts +2 -0
  113. package/dist/helpers/constants.js +6 -0
  114. package/dist/helpers/constants.js.map +1 -0
  115. package/dist/helpers/json.d.ts +1 -0
  116. package/dist/helpers/json.js +8 -0
  117. package/dist/helpers/json.js.map +1 -0
  118. package/dist/helpers/spinners.d.ts +3 -0
  119. package/dist/helpers/spinners.js +6 -0
  120. package/dist/helpers/spinners.js.map +1 -0
  121. package/dist/helpers/strings.d.ts +1 -0
  122. package/dist/helpers/strings.js +8 -0
  123. package/dist/helpers/strings.js.map +1 -0
  124. package/dist/index.d.ts +4 -0
  125. package/dist/index.js +16 -0
  126. package/dist/index.js.map +1 -0
  127. package/dist/logger/index.d.ts +1 -0
  128. package/dist/logger/index.js +9 -0
  129. package/dist/logger/index.js.map +1 -0
  130. package/dist/logger/logger.d.ts +3 -0
  131. package/dist/logger/logger.js +50 -0
  132. package/dist/logger/logger.js.map +1 -0
  133. package/dist/logger/logger.type.d.ts +8 -0
  134. package/dist/logger/logger.type.js +3 -0
  135. package/dist/logger/logger.type.js.map +1 -0
  136. package/dist/templates/configurations/javascript/.prettierignore +2 -0
  137. package/dist/templates/configurations/javascript/.prettierrc +11 -0
  138. package/dist/templates/configurations/typescript/.prettierignore +2 -0
  139. package/dist/templates/configurations/typescript/.prettierrc +19 -0
  140. package/dist/templates/javascript/src/events/hello-world.js +13 -0
  141. package/dist/templates/javascript/src/integrations/slack/config.js +11 -0
  142. package/dist/templates/javascript/src/integrations/slack/workflows/example-workflow.js +30 -0
  143. package/dist/templates/typescript/src/events/hello-world.ts +21 -0
  144. package/dist/templates/typescript/src/integrations/slack/config.ts +18 -0
  145. package/dist/templates/typescript/src/integrations/slack/workflows/example-workflow.ts +30 -0
  146. package/dist/templates/typescript/tsconfig.json +31 -0
  147. package/package.json +56 -0
  148. package/paragon.json +3 -0
  149. package/sample/sample.js +404 -0
  150. package/src/codegen/codegen.types.ts +14 -0
  151. package/src/codegen/codegen.utils.ts +145 -0
  152. package/src/codegen/codegens/condition.codegen.ts +49 -0
  153. package/src/codegen/codegens/event.codegen.ts +39 -0
  154. package/src/codegen/codegens/integration.codegen.ts +23 -0
  155. package/src/codegen/codegens/source.codegen.ts +193 -0
  156. package/src/codegen/codegens/workflow.codegen.ts +495 -0
  157. package/src/commands/build/build.action.ts +73 -0
  158. package/src/commands/build/build.command.ts +61 -0
  159. package/src/commands/build/build.types.ts +7 -0
  160. package/src/commands/build/build.utils.ts +21 -0
  161. package/src/commands/build/index.ts +1 -0
  162. package/src/commands/command.interface.ts +22 -0
  163. package/src/commands/command.loader.ts +33 -0
  164. package/src/commands/index.ts +2 -0
  165. package/src/commands/init/index.ts +1 -0
  166. package/src/commands/init/init.action.ts +166 -0
  167. package/src/commands/init/init.command.ts +71 -0
  168. package/src/commands/init/init.constants.ts +29 -0
  169. package/src/commands/init/init.types.ts +8 -0
  170. package/src/commands/init/init.utils.ts +91 -0
  171. package/src/commands/login/index.ts +1 -0
  172. package/src/commands/login/login.command.ts +48 -0
  173. package/src/commands/login/login.types.ts +9 -0
  174. package/src/commands/login/login.utils.ts +68 -0
  175. package/src/compilers/compiler.interface.ts +9 -0
  176. package/src/compilers/compiler.types.ts +52 -0
  177. package/src/compilers/compiler.utils.ts +32 -0
  178. package/src/compilers/event.compiler.ts +33 -0
  179. package/src/compilers/integration.compiler.ts +84 -0
  180. package/src/compilers/project.compiler.ts +86 -0
  181. package/src/compilers/ts.compiler.ts +116 -0
  182. package/src/compilers/workflow.compiler.ts +69 -0
  183. package/src/config/config.constants.ts +27 -0
  184. package/src/config/config.types.ts +112 -0
  185. package/src/config/config.utils.ts +251 -0
  186. package/src/config/index.ts +2 -0
  187. package/src/helpers/constants.ts +9 -0
  188. package/src/helpers/json.ts +8 -0
  189. package/src/helpers/spinners.ts +3 -0
  190. package/src/helpers/strings.ts +9 -0
  191. package/src/index.ts +26 -0
  192. package/src/logger/index.ts +1 -0
  193. package/src/logger/logger.ts +97 -0
  194. package/src/logger/logger.type.ts +8 -0
  195. package/templates/configurations/javascript/.prettierignore +2 -0
  196. package/templates/configurations/javascript/.prettierrc +11 -0
  197. package/templates/configurations/typescript/.prettierignore +2 -0
  198. package/templates/configurations/typescript/.prettierrc +19 -0
  199. package/templates/javascript/src/events/hello-world.js +13 -0
  200. package/templates/javascript/src/integrations/slack/config.js +11 -0
  201. package/templates/javascript/src/integrations/slack/workflows/example-workflow.js +30 -0
  202. package/templates/typescript/src/events/hello-world.ts +21 -0
  203. package/templates/typescript/src/integrations/slack/config.ts +18 -0
  204. package/templates/typescript/src/integrations/slack/workflows/example-workflow.ts +30 -0
  205. package/templates/typescript/tsconfig.json +31 -0
  206. package/tsconfig.json +13 -0
  207. package/tsconfig.release.json +13 -0
@@ -0,0 +1,9 @@
1
+ import { IEvent } from '@useparagon/core/event';
2
+ export type ProjectDependencies = {
3
+ events: Record<string, IEvent>;
4
+ };
5
+ export type WorkflowDependencies = ProjectDependencies & {
6
+ integration: {
7
+ name: string;
8
+ };
9
+ };
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=codegen.types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"codegen.types.js","sourceRoot":"","sources":["../../src/codegen/codegen.types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,4 @@
1
+ import { BuildOutput, IntegrationOutput, ProjectDependencies } from '../compilers/compiler.types';
2
+ export declare const wrapMultilineString: (value: string) => string;
3
+ export declare const generateIntegrationFiles: (integrationName: string, integrationOutput: IntegrationOutput, projectDependencies: ProjectDependencies, projectRoot: string) => Promise<void>;
4
+ export declare const generateProjectFiles: (projectBuild: BuildOutput, projectRoot: string) => Promise<void>;
@@ -0,0 +1,70 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.generateProjectFiles = exports.generateIntegrationFiles = exports.wrapMultilineString = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const importSortOrderPlugin = tslib_1.__importStar(require("@trivago/prettier-plugin-sort-imports"));
6
+ const fs_extra_1 = tslib_1.__importDefault(require("fs-extra"));
7
+ const path_1 = tslib_1.__importDefault(require("path"));
8
+ const prettier_1 = tslib_1.__importDefault(require("prettier"));
9
+ const organiseImportPlugin = tslib_1.__importStar(require("prettier-plugin-organize-imports"));
10
+ const event_codegen_1 = require("./codegens/event.codegen");
11
+ const integration_codegen_1 = require("./codegens/integration.codegen");
12
+ const workflow_codegen_1 = require("./codegens/workflow.codegen");
13
+ const writeSourceToFile = (filePath, fileName, sourceCode) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
14
+ const sanitizeFileName = fileName;
15
+ const formattedCode = prettier_1.default.format(sourceCode, {
16
+ parser: 'typescript',
17
+ semi: true,
18
+ trailingComma: 'all',
19
+ singleQuote: true,
20
+ plugins: [organiseImportPlugin, importSortOrderPlugin],
21
+ importOrder: ['^@useparagon/(.*)$', '^[./]'],
22
+ importOrderSeparation: true,
23
+ importOrderCaseInsensitive: true,
24
+ });
25
+ yield fs_extra_1.default.promises.writeFile(path_1.default.join(filePath, `${sanitizeFileName}.ts`), formattedCode);
26
+ });
27
+ const wrapMultilineString = (value) => {
28
+ return '`' + value + '`';
29
+ };
30
+ exports.wrapMultilineString = wrapMultilineString;
31
+ const generateIntegrationFiles = (integrationName, integrationOutput, projectDependencies, projectRoot) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
32
+ const integrationPath = path_1.default.join(projectRoot, 'integrations', integrationName);
33
+ yield fs_extra_1.default.promises.mkdir(integrationPath, {
34
+ recursive: true,
35
+ });
36
+ const configCode = (0, integration_codegen_1.integrationConfigToCode)(integrationOutput.config, integrationName);
37
+ yield writeSourceToFile(integrationPath, 'config', configCode);
38
+ const workflowOutputs = Object.values(integrationOutput.workflows);
39
+ const workflowPath = path_1.default.join(integrationPath, 'workflows');
40
+ if (workflowOutputs.length) {
41
+ fs_extra_1.default.promises.mkdir(workflowPath, {
42
+ recursive: true,
43
+ });
44
+ }
45
+ for (const workflowOutput of workflowOutputs) {
46
+ const workflowCode = (0, workflow_codegen_1.workflowToCode)(workflowOutput, Object.assign(Object.assign({}, projectDependencies), { integration: { name: integrationName } }));
47
+ yield writeSourceToFile(workflowPath, workflowOutput.name, workflowCode);
48
+ }
49
+ });
50
+ exports.generateIntegrationFiles = generateIntegrationFiles;
51
+ const generateProjectFiles = (projectBuild, projectRoot) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
52
+ yield fs_extra_1.default.promises.mkdir(projectRoot, { recursive: true });
53
+ const events = Object.values(projectBuild.events);
54
+ const eventPath = path_1.default.join(projectRoot, 'events');
55
+ if (events.length) {
56
+ yield fs_extra_1.default.promises.mkdir(eventPath, {
57
+ recursive: true,
58
+ });
59
+ }
60
+ for (const event of events) {
61
+ const eventSourceCode = (0, event_codegen_1.eventToCode)(event);
62
+ yield writeSourceToFile(eventPath, event.name, eventSourceCode);
63
+ }
64
+ const integrationOutputs = Object.entries(projectBuild.integrations);
65
+ for (const [integrationName, integrationOutput] of integrationOutputs) {
66
+ yield (0, exports.generateIntegrationFiles)(integrationName, integrationOutput, { events: projectBuild.events }, projectRoot);
67
+ }
68
+ });
69
+ exports.generateProjectFiles = generateProjectFiles;
70
+ //# sourceMappingURL=codegen.utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"codegen.utils.js","sourceRoot":"","sources":["../../src/codegen/codegen.utils.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ import { OperatorCondition } from '@useparagon/core/resolvers';
2
+ export declare const conditionToCode: (operatorCondition: OperatorCondition, stepIdToVariableMap: Record<string, string>) => string;
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.conditionToCode = void 0;
4
+ const resolvers_1 = require("@useparagon/core/resolvers");
5
+ const source_codegen_1 = require("./source.codegen");
6
+ const conditionToCode = (operatorCondition, stepIdToVariableMap) => {
7
+ let code = '';
8
+ const condition = operatorCondition.condition;
9
+ switch (condition.operator) {
10
+ case resolvers_1.Operator.BooleanTrue: {
11
+ const variable = (0, source_codegen_1.convertSourceToCode)(condition.variable, stepIdToVariableMap);
12
+ code = `Operators.BooleanTrue(${variable})`;
13
+ break;
14
+ }
15
+ case resolvers_1.Operator.StringContains: {
16
+ const variable = (0, source_codegen_1.convertSourceToCode)(condition.variable, stepIdToVariableMap);
17
+ const argument = (0, source_codegen_1.convertSourceToCode)(condition.argument, stepIdToVariableMap);
18
+ code = `Operators.StringContains(${variable},${argument})`;
19
+ break;
20
+ }
21
+ default:
22
+ code = 'undefined';
23
+ break;
24
+ }
25
+ return code;
26
+ };
27
+ exports.conditionToCode = conditionToCode;
28
+ //# sourceMappingURL=condition.codegen.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"condition.codegen.js","sourceRoot":"","sources":["../../../src/codegen/codegens/condition.codegen.ts"],"names":[],"mappings":";;;AAAA,0DAIoC;AAEpC,qDAAuD;AAOhD,MAAM,eAAe,GAAG,CAC7B,iBAAoC,EACpC,mBAA2C,EACnC,EAAE;IACV,IAAI,IAAI,GAAW,EAAE,CAAC;IAEtB,MAAM,SAAS,GAAc,iBAAiB,CAAC,SAAS,CAAC;IAEzD,QAAQ,SAAS,CAAC,QAAQ,EAAE;QAC1B,KAAK,oBAAQ,CAAC,WAAW,CAAC,CAAC;YACzB,MAAM,QAAQ,GAAW,IAAA,oCAAmB,EAC1C,SAAS,CAAC,QAAQ,EAClB,mBAAmB,CACpB,CAAC;YACF,IAAI,GAAG,yBAAyB,QAAQ,GAAG,CAAC;YAC5C,MAAM;SACP;QAED,KAAK,oBAAQ,CAAC,cAAc,CAAC,CAAC;YAC5B,MAAM,QAAQ,GAAW,IAAA,oCAAmB,EAC1C,SAAS,CAAC,QAAQ,EAClB,mBAAmB,CACpB,CAAC;YACF,MAAM,QAAQ,GAAW,IAAA,oCAAmB,EAC1C,SAAS,CAAC,QAAQ,EAClB,mBAAmB,CACpB,CAAC;YACF,IAAI,GAAG,4BAA4B,QAAQ,IAAI,QAAQ,GAAG,CAAC;YAC3D,MAAM;SACP;QACD;YACE,IAAI,GAAG,WAAW,CAAC;YACnB,MAAM;KACT;IACD,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAnCW,QAAA,eAAe,mBAmC1B"}
@@ -0,0 +1,2 @@
1
+ import { IEvent } from '@useparagon/core/event';
2
+ export declare const eventToCode: (event: IEvent) => string;
@@ -0,0 +1,35 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.eventToCode = void 0;
4
+ const json_1 = require("../../helpers/json");
5
+ const eventToCode = (event) => {
6
+ const sourceCode = `
7
+ import { IEvent } from '@useparagon/core/event';
8
+
9
+ export type EventSchema = {
10
+
11
+ };
12
+
13
+ const event: IEvent<EventSchema> = {
14
+ /**
15
+ * This property is maintained by Paragon. Do not edit this property.
16
+ */
17
+ id: '${event.id}',
18
+
19
+ /**
20
+ * name of event
21
+ */
22
+ name : '${event.name}',
23
+
24
+ /**
25
+ * schema of event payload
26
+ */
27
+ schema:${(0, json_1.stringifyObject)(event.schema)}
28
+ }
29
+
30
+ export default event;
31
+ `;
32
+ return sourceCode;
33
+ };
34
+ exports.eventToCode = eventToCode;
35
+ //# sourceMappingURL=event.codegen.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"event.codegen.js","sourceRoot":"","sources":["../../../src/codegen/codegens/event.codegen.ts"],"names":[],"mappings":";;;AAEA,6CAAqD;AAO9C,MAAM,WAAW,GAAG,CAAC,KAAa,EAAU,EAAE;IACnD,MAAM,UAAU,GAAW;;;;;;;;;;;UAWnB,KAAK,CAAC,EAAE;;;;;aAKL,KAAK,CAAC,IAAI;;;;;YAKX,IAAA,sBAAe,EAAC,KAAK,CAAC,MAAM,CAAC;;;;EAIvC,CAAC;IAED,OAAO,UAAU,CAAC;AACpB,CAAC,CAAC;AA7BW,QAAA,WAAW,eA6BtB"}
@@ -0,0 +1,2 @@
1
+ import { IntegrationOutput } from '../../compilers/compiler.types';
2
+ export declare const integrationConfigToCode: (config: IntegrationOutput['config'], integrationName: string) => string;
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.integrationConfigToCode = void 0;
4
+ const json_1 = require("../../helpers/json");
5
+ const integrationConfigToCode = (config, integrationName) => {
6
+ const sourceCode = `
7
+ import { IIntegrationConfig } from '@useparagon/core';
8
+
9
+ /**
10
+ * configuration for a ${integrationName}
11
+ */
12
+ const config: IIntegrationConfig = ${(0, json_1.stringifyObject)(config || {})}
13
+
14
+ export default config;`;
15
+ return sourceCode;
16
+ };
17
+ exports.integrationConfigToCode = integrationConfigToCode;
18
+ //# sourceMappingURL=integration.codegen.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"integration.codegen.js","sourceRoot":"","sources":["../../../src/codegen/codegens/integration.codegen.ts"],"names":[],"mappings":";;;AACA,6CAAqD;AAM9C,MAAM,uBAAuB,GAAG,CACrC,MAAmC,EACnC,eAAuB,EACf,EAAE;IACV,MAAM,UAAU,GAAW;;;;6BAIA,eAAe;;yCAEH,IAAA,sBAAe,EAAC,MAAM,IAAI,EAAE,CAAC;;2BAE3C,CAAC;IAE1B,OAAO,UAAU,CAAC;AACpB,CAAC,CAAC;AAfW,QAAA,uBAAuB,2BAelC"}
@@ -0,0 +1,5 @@
1
+ import { DataType, KeyedSource, Source, TokenizedSource } from '@useparagon/core/resolvers';
2
+ export declare const EMPTY_TOKENIZED_SOURCE: TokenizedSource<DataType.STRING>;
3
+ export declare const convertSourceToCode: (source: Source, stepIdToVariableMap: Record<string, string>, isTokenizedPart?: boolean) => string;
4
+ export declare const convertKeyedSourceToCode: (source: KeyedSource, stepIdToVariableMap: Record<string, string>) => [string, string];
5
+ export declare const covertKeyedSourceParamsToCode: (parameters: KeyedSource<DataType>[], stepIdToVariableMap: Record<string, string>) => string;
@@ -0,0 +1,104 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.covertKeyedSourceParamsToCode = exports.convertKeyedSourceToCode = exports.convertSourceToCode = exports.EMPTY_TOKENIZED_SOURCE = void 0;
4
+ const resolvers_1 = require("@useparagon/core/resolvers");
5
+ const condition_codegen_1 = require("./condition.codegen");
6
+ exports.EMPTY_TOKENIZED_SOURCE = {
7
+ type: 'TOKENIZED',
8
+ parts: [
9
+ {
10
+ dataType: resolvers_1.DataType.STRING,
11
+ type: 'VALUE',
12
+ value: '',
13
+ },
14
+ ],
15
+ };
16
+ const convertSourceToCode = (source, stepIdToVariableMap, isTokenizedPart = false) => {
17
+ let value = '';
18
+ switch (source.type) {
19
+ case 'VALUE':
20
+ value = '"' + source.value + '"';
21
+ break;
22
+ case 'TOKENIZED':
23
+ value = source.parts.reduce((acc, currentSource) => {
24
+ return `${acc}${(0, exports.convertSourceToCode)(currentSource, stepIdToVariableMap, true)}`;
25
+ }, '');
26
+ value = '`' + value + '`';
27
+ break;
28
+ case 'VARIABLE':
29
+ const sanitizedPaths = source.path.filter((path) => Boolean(path));
30
+ value = `context.getOutput(${stepIdToVariableMap[source.stepId]})${sanitizedPaths.length ? `?.${sanitizedPaths.join('?.')}` : ''}`;
31
+ if (isTokenizedPart) {
32
+ value = '${' + value + '}';
33
+ }
34
+ break;
35
+ case 'CONDITION':
36
+ const conditionWrapper = source.condition;
37
+ if (conditionWrapper.type !== 'JOIN' || conditionWrapper.join !== 'OR') {
38
+ return 'undefined';
39
+ }
40
+ const conditions = conditionWrapper.conditions
41
+ .map((condition) => {
42
+ if (condition.type === 'JOIN' && condition.join === 'AND') {
43
+ const andConditions = condition.conditions;
44
+ return andConditions;
45
+ }
46
+ return [];
47
+ })
48
+ .filter((conditions) => conditions.length);
49
+ const convertAndConditionsToCode = (conditions, stepIdToVariableMap) => {
50
+ return conditions.reduce((accumulator, condition, index) => {
51
+ const conditionCode = (0, condition_codegen_1.conditionToCode)(condition, stepIdToVariableMap);
52
+ if (index === conditions.length - 1) {
53
+ return `${accumulator}${conditionCode}]`;
54
+ }
55
+ return `${accumulator}${conditionCode},`;
56
+ }, '[');
57
+ };
58
+ if (conditions.length === 1 && conditions[0].length === 1) {
59
+ const condition = conditions[0][0];
60
+ value = (0, condition_codegen_1.conditionToCode)(condition, stepIdToVariableMap);
61
+ }
62
+ else if (conditions.length === 1) {
63
+ const andConditions = conditions[0];
64
+ value = convertAndConditionsToCode(andConditions, stepIdToVariableMap);
65
+ }
66
+ else {
67
+ const orConditions = conditions;
68
+ value = orConditions.reduce((accumulator, andConditions, index) => {
69
+ const andConditionCode = convertAndConditionsToCode(andConditions, stepIdToVariableMap);
70
+ if (index === orConditions.length - 1) {
71
+ return `${accumulator}${andConditionCode}]`;
72
+ }
73
+ return `${accumulator}${andConditionCode},`;
74
+ }, '[');
75
+ }
76
+ break;
77
+ default:
78
+ throw new Error(`source type ${source.type} not implemented.`);
79
+ }
80
+ return value;
81
+ };
82
+ exports.convertSourceToCode = convertSourceToCode;
83
+ const convertKeyedSourceToCode = (source, stepIdToVariableMap) => {
84
+ return [source.key, (0, exports.convertSourceToCode)(source.source, stepIdToVariableMap)];
85
+ };
86
+ exports.convertKeyedSourceToCode = convertKeyedSourceToCode;
87
+ const covertKeyedSourceParamsToCode = (parameters, stepIdToVariableMap) => {
88
+ if (!parameters.length) {
89
+ return '{}';
90
+ }
91
+ const value = parameters.reduce((accumulator, keyedSource, index) => {
92
+ const [key, value] = (0, exports.convertKeyedSourceToCode)(keyedSource, stepIdToVariableMap);
93
+ if (index > 0) {
94
+ accumulator += ',';
95
+ }
96
+ if (index === parameters.length - 1) {
97
+ return `${accumulator}${key} : ${value}}`;
98
+ }
99
+ return `${accumulator}${key} : ${value}`;
100
+ }, '{');
101
+ return value;
102
+ };
103
+ exports.covertKeyedSourceParamsToCode = covertKeyedSourceParamsToCode;
104
+ //# sourceMappingURL=source.codegen.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"source.codegen.js","sourceRoot":"","sources":["../../../src/codegen/codegens/source.codegen.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { WorkflowOutput } from '../../compilers/compiler.types';
2
+ import { WorkflowDependencies } from '../codegen.types';
3
+ export declare const workflowToCode: (workflowBuild: WorkflowOutput, dependencies: WorkflowDependencies) => string;
@@ -0,0 +1,278 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.workflowToCode = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const core_1 = require("@useparagon/core");
6
+ const cron_1 = require("@useparagon/core/triggers/cron");
7
+ const json_1 = require("../../helpers/json");
8
+ const logger_1 = tslib_1.__importDefault(require("../../logger"));
9
+ const source_codegen_1 = require("./source.codegen");
10
+ const workflowToCode = (workflowBuild, dependencies) => {
11
+ const { id: workflowId, name: workflowName, stateMachine } = workflowBuild;
12
+ const startStepId = stateMachine.sequenceMap[stateMachine.start].start;
13
+ if (!startStepId) {
14
+ logger_1.default.fatal(`Workflow ${workflowName} with no start step id.`);
15
+ return '';
16
+ }
17
+ const stepIdToVariableMap = {};
18
+ const imports = [
19
+ 'import { IContext} from "@useparagon/core/execution";',
20
+ 'import { Workflow, ActionStep, CronStep, DelayStep, EventStep, FunctionStep, ConditionalStep, FanOutStep, ResponseStep, RequestStep, IntegrationEnabledStep} from "@useparagon/core";',
21
+ 'import * as Operators from "@useparagon/core/operator";',
22
+ ];
23
+ const statements = [];
24
+ const stepCode = getStepCodeParts(startStepId, stateMachine.stepMap, stepIdToVariableMap, dependencies);
25
+ imports.push(...new Set(stepCode.imports));
26
+ statements.push(...stepCode.varDeclarations);
27
+ const sourceCode = `
28
+ ${imports.join('\n')}
29
+
30
+ /**
31
+ * ${workflowName} Workflow impolementation
32
+ */
33
+ export default class extends Workflow<any> {
34
+ /**
35
+ * This property is maintained by Paragon. Do not edit this property.
36
+ */
37
+ readonly id: '${workflowId}'
38
+
39
+ /**
40
+ * defines the workflow
41
+ * @param integration
42
+ * @param context
43
+ * @param user
44
+ */
45
+ define(_integration: any, context: IContext) {
46
+
47
+ /**
48
+ * declare all steps here
49
+ */
50
+ ${statements.join('\n')}
51
+
52
+ /**
53
+ * chain steps correctly here
54
+ */
55
+ ${stepCode.stepChains}
56
+
57
+ /**
58
+ * pass all steps here so that paragon can keep track of changes
59
+ */
60
+ return this.register({ ${Object.values(stepIdToVariableMap).join(', ')} });
61
+ }
62
+ }
63
+ `;
64
+ return sourceCode;
65
+ };
66
+ exports.workflowToCode = workflowToCode;
67
+ const getStepCodeParts = (startStepId, stepMap, stepIdToVariableMap, dependencies) => {
68
+ var _a;
69
+ const imports = [];
70
+ const varDeclarations = [];
71
+ let stepChains = '';
72
+ let currentStep = stepMap[startStepId];
73
+ let stepCount = 1;
74
+ const totalKeys = Object.values(stepIdToVariableMap).length;
75
+ const prefix = totalKeys ? `${totalKeys}_` : '';
76
+ const variableChains = [];
77
+ while (currentStep != undefined) {
78
+ const variableName = (((_a = currentStep._migrations) === null || _a === void 0 ? void 0 : _a['name']) ||
79
+ `step${prefix}${stepCount}`);
80
+ stepIdToVariableMap[currentStep.id] = variableName;
81
+ const stepCode = getStepCodePart(currentStep, stepIdToVariableMap, stepMap, dependencies);
82
+ imports.push(...stepCode.imports);
83
+ varDeclarations.push(...stepCode.varDeclarations);
84
+ if (stepCode.stepChains.trim()) {
85
+ variableChains.push(`
86
+ ${variableName}.${stepCode.stepChains}
87
+ `);
88
+ }
89
+ else {
90
+ variableChains.push(variableName);
91
+ }
92
+ const nextStepId = currentStep.next;
93
+ currentStep = undefined;
94
+ if (nextStepId) {
95
+ currentStep = stepMap[nextStepId];
96
+ }
97
+ stepCount += 1;
98
+ }
99
+ if (variableChains.length) {
100
+ stepChains = `
101
+ ${variableChains
102
+ .map((currentName, index) => {
103
+ if (index > 0) {
104
+ return `${currentName})`;
105
+ }
106
+ return currentName;
107
+ })
108
+ .join('.nextStep(')}
109
+
110
+ `;
111
+ }
112
+ return {
113
+ imports,
114
+ varDeclarations,
115
+ stepChains,
116
+ };
117
+ };
118
+ const getStepCodePart = (step, stepIdToVariableMap, stepMap, dependencies) => {
119
+ var _a, _b, _c, _d, _e, _f;
120
+ const varDeclarations = [];
121
+ const imports = [];
122
+ let stepChains = '';
123
+ switch (step.type) {
124
+ case core_1.StepType.ACTION:
125
+ varDeclarations.push(`
126
+ const ${stepIdToVariableMap[step.id]}:ActionStep = new ActionStep({
127
+ actionType : ${step.parameters.actionType},
128
+ intent : ${step.parameters.intent},
129
+ parameters : ${(0, source_codegen_1.covertKeyedSourceParamsToCode)(step.parameters.actionParameters, stepIdToVariableMap)}
130
+ });
131
+ `);
132
+ break;
133
+ case core_1.StepType.CRON:
134
+ varDeclarations.push(`
135
+ const ${stepIdToVariableMap[step.id]}:CronStep = new CronStep(${(0, json_1.stringifyObject)((0, cron_1.getCronOptions)(step.parameters.schedule))});
136
+ `);
137
+ break;
138
+ case core_1.StepType.CUSTOM_INTEGRATION_REQUEST:
139
+ const requestBodyType = (_a = step.parameters.bodyType) !== null && _a !== void 0 ? _a : 'json';
140
+ varDeclarations.push(`
141
+ const ${stepIdToVariableMap[step.id]}: RequestStep = new RequestStep({
142
+ path: ${(0, source_codegen_1.convertSourceToCode)(step.parameters.url, stepIdToVariableMap)},
143
+ params:${(0, source_codegen_1.covertKeyedSourceParamsToCode)(step.parameters.params, stepIdToVariableMap)},
144
+ headers:${(0, source_codegen_1.covertKeyedSourceParamsToCode)(step.parameters.params, stepIdToVariableMap)},
145
+ body:${['xml', 'raw'].includes(requestBodyType)
146
+ ? (0, source_codegen_1.convertSourceToCode)(step.parameters.rawBody || source_codegen_1.EMPTY_TOKENIZED_SOURCE, stepIdToVariableMap)
147
+ : (0, source_codegen_1.covertKeyedSourceParamsToCode)(step.parameters.body, stepIdToVariableMap)},
148
+ ${step.parameters.pagination ? '' : ''}
149
+ });
150
+ `);
151
+ break;
152
+ case core_1.StepType.DELAY:
153
+ varDeclarations.push(`
154
+ const ${stepIdToVariableMap[step.id]}:DelayStep = new DelayStep({
155
+ unit: '${step.parameters.unit}',
156
+ value: ${(0, source_codegen_1.convertSourceToCode)(step.parameters.value, stepIdToVariableMap)},
157
+ });
158
+ `);
159
+ break;
160
+ case core_1.StepType.ENDPOINT:
161
+ varDeclarations.push(`
162
+ const ${stepIdToVariableMap[step.id]}:EndpointStep = new EndpointStep({
163
+ allowArbitraryPayload : ${step.parameters.allowArbitraryPayload},
164
+ ${step.parameters.allowArbitraryPayload
165
+ ? ''
166
+ : `
167
+ paramValidations:${(0, json_1.stringifyObject)(step.parameters.paramValidations)},
168
+ headerValidations:${(0, json_1.stringifyObject)(step.parameters.headerValidations)},
169
+ bodyValidations:${(0, json_1.stringifyObject)(step.parameters.bodyValidations)}
170
+ `}
171
+ });
172
+ `);
173
+ break;
174
+ case core_1.StepType.EVENT:
175
+ const eventName = dependencies.events[step.parameters.eventId].name;
176
+ imports.push(...[`import event from '../../../events/${eventName}';`]);
177
+ varDeclarations.push(`
178
+ const ${stepIdToVariableMap[step.id]}:EventStep = new EventStep(event);
179
+ `);
180
+ break;
181
+ case core_1.StepType.FUNCTION:
182
+ const paramsCode = (0, source_codegen_1.covertKeyedSourceParamsToCode)(step.parameters.parameters, stepIdToVariableMap);
183
+ varDeclarations.push(`
184
+ const ${stepIdToVariableMap[step.id]}:FunctionStep = new FunctionStep({
185
+ code: ${step.parameters.code},
186
+ parameters: ${paramsCode}
187
+ });
188
+ `);
189
+ break;
190
+ case core_1.StepType.IFELSE:
191
+ const ifStepId = (_b = step.parameters.choices.find((choice) => choice.label === 'Yes')) === null || _b === void 0 ? void 0 : _b.next;
192
+ const elseStepId = (_c = step.parameters.choices.find((choice) => choice.label === 'No')) === null || _c === void 0 ? void 0 : _c.next;
193
+ if (ifStepId) {
194
+ const { imports: nextIterateImports, varDeclarations: nextIterateVarDeclartions, stepChains: nextIterationStepChains, } = getStepCodeParts(ifStepId, stepMap, stepIdToVariableMap, dependencies);
195
+ imports.push(...nextIterateImports);
196
+ varDeclarations.push(...nextIterateVarDeclartions);
197
+ stepChains += `whenTrue(${nextIterationStepChains})`;
198
+ }
199
+ if (elseStepId) {
200
+ const { imports: nextIterateImports, varDeclarations: nextIterateVarDeclartions, stepChains: nextIterationStepChains, } = getStepCodeParts(elseStepId, stepMap, stepIdToVariableMap, dependencies);
201
+ imports.push(...nextIterateImports);
202
+ varDeclarations.push(...nextIterateVarDeclartions);
203
+ stepChains += ifStepId
204
+ ? `.whenFalse(${nextIterationStepChains})`
205
+ : `whenFalse(${nextIterationStepChains})`;
206
+ }
207
+ const ifCondition = (_d = step.parameters.choices.find((choice) => choice.label === 'Yes')) === null || _d === void 0 ? void 0 : _d.conditionWrapper;
208
+ varDeclarations.push(`
209
+ const ${stepIdToVariableMap[step.id]}:ConditionalStep = new ConditionalStep({
210
+ if : ${!ifCondition
211
+ ? 'undefined'
212
+ : (0, source_codegen_1.convertSourceToCode)({
213
+ type: 'CONDITION',
214
+ condition: ifCondition,
215
+ }, stepIdToVariableMap)}
216
+ });
217
+ `);
218
+ break;
219
+ case core_1.StepType.INTEGRATION_ENABLED:
220
+ varDeclarations.push(`
221
+ const ${stepIdToVariableMap[step.id]}:IntegrationEnabledStep = new IntegrationEnabledStep({});
222
+ `);
223
+ break;
224
+ case core_1.StepType.MAP:
225
+ let nextStepId = step.parameters.nextToIterate;
226
+ if (nextStepId) {
227
+ const { imports: nextIterateImports, varDeclarations: nextIterateVarDeclartions, stepChains: nextIterationStepChains, } = getStepCodeParts(nextStepId, stepMap, stepIdToVariableMap, dependencies);
228
+ imports.push(...nextIterateImports);
229
+ varDeclarations.push(...nextIterateVarDeclartions);
230
+ stepChains = `branch(${nextIterationStepChains})`;
231
+ }
232
+ varDeclarations.push(`
233
+ const ${stepIdToVariableMap[step.id]}:FanOutStep = new FanOutStep({
234
+ iterator : ${(0, source_codegen_1.convertSourceToCode)(step.parameters.iterator, stepIdToVariableMap)},
235
+ });
236
+ `);
237
+ break;
238
+ case core_1.StepType.RESPONSE:
239
+ const responseType = (_e = step.parameters.responseType) !== null && _e !== void 0 ? _e : 'JSON';
240
+ varDeclarations.push(`
241
+ const ${stepIdToVariableMap[step.id]}: ResponseStep = new ResponseStep({
242
+ statusCode:${step.parameters.statusCode},
243
+ responseType:"${responseType}",
244
+ body: ${responseType === 'FILE'
245
+ ? step.parameters.bodyFile
246
+ ? (0, source_codegen_1.convertSourceToCode)(step.parameters.bodyFile || source_codegen_1.EMPTY_TOKENIZED_SOURCE, stepIdToVariableMap)
247
+ : '""'
248
+ : (0, source_codegen_1.covertKeyedSourceParamsToCode)(step.parameters.bodyData, stepIdToVariableMap)}
249
+ });
250
+ `);
251
+ break;
252
+ case core_1.StepType.REQUEST:
253
+ const bodyType = (_f = step.parameters.bodyType) !== null && _f !== void 0 ? _f : 'json';
254
+ varDeclarations.push(`
255
+ const ${stepIdToVariableMap[step.id]}: RequestStep = new RequestStep({
256
+ url: ${(0, source_codegen_1.convertSourceToCode)(step.parameters.url, stepIdToVariableMap)},
257
+ method:"${step.parameters.httpMethod}",
258
+ params:${(0, source_codegen_1.covertKeyedSourceParamsToCode)(step.parameters.params, stepIdToVariableMap)},
259
+ headers:${(0, source_codegen_1.covertKeyedSourceParamsToCode)(step.parameters.params, stepIdToVariableMap)},
260
+ ${step.parameters.httpMethod === 'GET'
261
+ ? ''
262
+ : `
263
+ body:${['xml', 'raw'].includes(bodyType)
264
+ ? (0, source_codegen_1.convertSourceToCode)(step.parameters.rawBody || source_codegen_1.EMPTY_TOKENIZED_SOURCE, stepIdToVariableMap)
265
+ : (0, source_codegen_1.covertKeyedSourceParamsToCode)(step.parameters.body, stepIdToVariableMap)}`}
266
+ });
267
+ `);
268
+ break;
269
+ default:
270
+ logger_1.default.fatal(`Invalid step type "${step['type']}`);
271
+ }
272
+ return {
273
+ imports,
274
+ varDeclarations,
275
+ stepChains,
276
+ };
277
+ };
278
+ //# sourceMappingURL=workflow.codegen.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workflow.codegen.js","sourceRoot":"","sources":["../../../src/codegen/codegens/workflow.codegen.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ import { IAction } from '../command.interface';
2
+ import { ProjectCompiler } from '../../compilers/project.compiler';
3
+ import { BuildCommandOptions } from './build.types';
4
+ export declare class BuildAction implements IAction<BuildCommandOptions, void> {
5
+ projectCompiler: ProjectCompiler;
6
+ constructor();
7
+ handle(options: BuildCommandOptions): Promise<void>;
8
+ }