@openhi/platform 0.0.0

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 (38) hide show
  1. package/README.md +3 -0
  2. package/lib/index.d.ts +2 -0
  3. package/lib/index.js +19 -0
  4. package/lib/openhi.d.ts +88 -0
  5. package/lib/openhi.js +108 -0
  6. package/lib/service.d.ts +36 -0
  7. package/lib/service.js +203 -0
  8. package/lib/templates/generate-templates.d.ts +5 -0
  9. package/lib/templates/generate-templates.js +45 -0
  10. package/lib/templates/service-template.d.ts +33 -0
  11. package/lib/templates/service-template.js +42 -0
  12. package/lib/templates/src/README.md.d.ts +5 -0
  13. package/lib/templates/src/README.md.js +19 -0
  14. package/lib/templates/src/app-test.d.ts +5 -0
  15. package/lib/templates/src/app-test.js +61 -0
  16. package/lib/templates/src/app.d.ts +5 -0
  17. package/lib/templates/src/app.js +27 -0
  18. package/lib/templates/src/config.d.ts +5 -0
  19. package/lib/templates/src/config.js +23 -0
  20. package/lib/templates/src/data/README.md.d.ts +5 -0
  21. package/lib/templates/src/data/README.md.js +19 -0
  22. package/lib/templates/src/data/models/README.md.d.ts +5 -0
  23. package/lib/templates/src/data/models/README.md.js +19 -0
  24. package/lib/templates/src/infrastructure/README.md.d.ts +5 -0
  25. package/lib/templates/src/infrastructure/README.md.js +19 -0
  26. package/lib/templates/src/integrations/README.md.d.ts +5 -0
  27. package/lib/templates/src/integrations/README.md.js +19 -0
  28. package/lib/templates/src/main.d.ts +5 -0
  29. package/lib/templates/src/main.js +15 -0
  30. package/lib/templates/src/workflows/README.md.d.ts +5 -0
  31. package/lib/templates/src/workflows/README.md.js +19 -0
  32. package/lib/workflows/aws-teardown-workflow.d.ts +13 -0
  33. package/lib/workflows/aws-teardown-workflow.js +222 -0
  34. package/lib/workflows/build-dev-workflow.d.ts +12 -0
  35. package/lib/workflows/build-dev-workflow.js +48 -0
  36. package/lib/workflows/build-stage-workflow.d.ts +12 -0
  37. package/lib/workflows/build-stage-workflow.js +60 -0
  38. package/package.json +51 -0
@@ -0,0 +1,42 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ServiceTemplate = void 0;
4
+ const node_fs_1 = require("node:fs");
5
+ const node_path_1 = require("node:path");
6
+ const projen_1 = require("projen");
7
+ class ServiceTemplate {
8
+ constructor(service, options) {
9
+ this.service = service;
10
+ this.options = options;
11
+ /**
12
+ * Determine the full file path for this file.
13
+ */
14
+ this.fullFilePath = [
15
+ this.service.project.outdir,
16
+ this.options.filePath,
17
+ ].join(node_path_1.sep);
18
+ /**
19
+ * Build the template file.
20
+ */
21
+ this.createTemplate();
22
+ }
23
+ createTemplate() {
24
+ if (this.options.overwrite) {
25
+ this.overwriteTemplate();
26
+ }
27
+ this.file = new projen_1.SampleFile(this.service.project, this.options.filePath, {
28
+ contents: this.options.contents.join("\n"),
29
+ });
30
+ }
31
+ overwriteTemplate() {
32
+ /**
33
+ * Delete file, if it exists.
34
+ */
35
+ if ((0, node_fs_1.existsSync)(this.fullFilePath)) {
36
+ (0, node_fs_1.unlinkSync)(this.fullFilePath);
37
+ }
38
+ this.file = undefined;
39
+ }
40
+ }
41
+ exports.ServiceTemplate = ServiceTemplate;
42
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VydmljZS10ZW1wbGF0ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90ZW1wbGF0ZXMvc2VydmljZS10ZW1wbGF0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxxQ0FBaUQ7QUFDakQseUNBQWdDO0FBQ2hDLG1DQUFvQztBQXNCcEMsTUFBYSxlQUFlO0lBVzFCLFlBQ1MsT0FBc0IsRUFDdEIsT0FBK0I7UUFEL0IsWUFBTyxHQUFQLE9BQU8sQ0FBZTtRQUN0QixZQUFPLEdBQVAsT0FBTyxDQUF3QjtRQUV0Qzs7V0FFRztRQUNILElBQUksQ0FBQyxZQUFZLEdBQUc7WUFDbEIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsTUFBTTtZQUMzQixJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVE7U0FDdEIsQ0FBQyxJQUFJLENBQUMsZUFBRyxDQUFDLENBQUM7UUFFWjs7V0FFRztRQUNILElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztJQUN4QixDQUFDO0lBRVMsY0FBYztRQUN0QixJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxFQUFFLENBQUM7WUFDM0IsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7UUFDM0IsQ0FBQztRQUVELElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxtQkFBVSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUFFO1lBQ3RFLFFBQVEsRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDO1NBQzNDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTSxpQkFBaUI7UUFDdEI7O1dBRUc7UUFDSCxJQUFJLElBQUEsb0JBQVUsRUFBQyxJQUFJLENBQUMsWUFBWSxDQUFDLEVBQUUsQ0FBQztZQUNsQyxJQUFBLG9CQUFVLEVBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQ2hDLENBQUM7UUFDRCxJQUFJLENBQUMsSUFBSSxHQUFHLFNBQVMsQ0FBQztJQUN4QixDQUFDO0NBQ0Y7QUFoREQsMENBZ0RDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgZXhpc3RzU3luYywgdW5saW5rU3luYyB9IGZyb20gXCJub2RlOmZzXCI7XG5pbXBvcnQgeyBzZXAgfSBmcm9tIFwibm9kZTpwYXRoXCI7XG5pbXBvcnQgeyBTYW1wbGVGaWxlIH0gZnJvbSBcInByb2plblwiO1xuaW1wb3J0IHsgT3BlbkhpU2VydmljZSB9IGZyb20gXCIuLi9zZXJ2aWNlXCI7XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2VydmljZVRlbXBsYXRlT3B0aW9ucyB7XG4gIC8qKlxuICAgKiBUaGUgY29udGVudCBvZiB0aGUgc2FtcGxlIGZpbGUsIGFzIGFuIGFycmF5LlxuICAgKi9cbiAgcmVhZG9ubHkgY29udGVudHM6IEFycmF5PHN0cmluZz47XG5cbiAgLyoqXG4gICAqIFRoZSByZWxhdGl2ZSBmaWxlIHBhdGggZnJvbSB0aGUgcHJvamVjdCByb290LlxuICAgKi9cbiAgcmVhZG9ubHkgZmlsZVBhdGg6IHN0cmluZztcblxuICAvKipcbiAgICogT3ZlcndyaXRlIHRoaXMgdGVtcGxhdGUgZmlsZSB0byBpdCdzIG9yaWdpbmFsIHN0YXRlP1xuICAgKlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgcmVhZG9ubHkgb3ZlcndyaXRlPzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGNsYXNzIFNlcnZpY2VUZW1wbGF0ZSB7XG4gIC8qKlxuICAgKiBUaGUgZmlsZSBiZWluZyBnZW5lcmF0ZWQuXG4gICAqL1xuICBwdWJsaWMgZmlsZT86IFNhbXBsZUZpbGU7XG5cbiAgLyoqXG4gICAqIEFic29sdXRlIEZpbGVwYXRoLCBpbmNsdWRpbmcgdGhlIHByb2plY3QgcGF0aC5cbiAgICovXG4gIHB1YmxpYyBmdWxsRmlsZVBhdGg6IHN0cmluZztcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgc2VydmljZTogT3BlbkhpU2VydmljZSxcbiAgICBwdWJsaWMgb3B0aW9uczogU2VydmljZVRlbXBsYXRlT3B0aW9ucyxcbiAgKSB7XG4gICAgLyoqXG4gICAgICogRGV0ZXJtaW5lIHRoZSBmdWxsIGZpbGUgcGF0aCBmb3IgdGhpcyBmaWxlLlxuICAgICAqL1xuICAgIHRoaXMuZnVsbEZpbGVQYXRoID0gW1xuICAgICAgdGhpcy5zZXJ2aWNlLnByb2plY3Qub3V0ZGlyLFxuICAgICAgdGhpcy5vcHRpb25zLmZpbGVQYXRoLFxuICAgIF0uam9pbihzZXApO1xuXG4gICAgLyoqXG4gICAgICogQnVpbGQgdGhlIHRlbXBsYXRlIGZpbGUuXG4gICAgICovXG4gICAgdGhpcy5jcmVhdGVUZW1wbGF0ZSgpO1xuICB9XG5cbiAgcHJvdGVjdGVkIGNyZWF0ZVRlbXBsYXRlKCkge1xuICAgIGlmICh0aGlzLm9wdGlvbnMub3ZlcndyaXRlKSB7XG4gICAgICB0aGlzLm92ZXJ3cml0ZVRlbXBsYXRlKCk7XG4gICAgfVxuXG4gICAgdGhpcy5maWxlID0gbmV3IFNhbXBsZUZpbGUodGhpcy5zZXJ2aWNlLnByb2plY3QsIHRoaXMub3B0aW9ucy5maWxlUGF0aCwge1xuICAgICAgY29udGVudHM6IHRoaXMub3B0aW9ucy5jb250ZW50cy5qb2luKFwiXFxuXCIpLFxuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIG92ZXJ3cml0ZVRlbXBsYXRlKCkge1xuICAgIC8qKlxuICAgICAqIERlbGV0ZSBmaWxlLCBpZiBpdCBleGlzdHMuXG4gICAgICovXG4gICAgaWYgKGV4aXN0c1N5bmModGhpcy5mdWxsRmlsZVBhdGgpKSB7XG4gICAgICB1bmxpbmtTeW5jKHRoaXMuZnVsbEZpbGVQYXRoKTtcbiAgICB9XG4gICAgdGhpcy5maWxlID0gdW5kZWZpbmVkO1xuICB9XG59XG4iXX0=
@@ -0,0 +1,5 @@
1
+ import { OpenHiService } from "../../service";
2
+ import { ServiceTemplate, ServiceTemplateOptions } from "../service-template";
3
+ export declare class SrcReadMe extends ServiceTemplate {
4
+ constructor(service: OpenHiService, options?: Partial<ServiceTemplateOptions>);
5
+ }
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SrcReadMe = void 0;
4
+ const service_template_1 = require("../service-template");
5
+ class SrcReadMe extends service_template_1.ServiceTemplate {
6
+ constructor(service, options) {
7
+ super(service, {
8
+ ...options,
9
+ filePath: "src/README.md",
10
+ contents: [
11
+ `# ${service.serviceName}: Service Overview`,
12
+ ``,
13
+ `This directory contains the main entry point for the ${service.serviceName} service.`,
14
+ ],
15
+ });
16
+ }
17
+ }
18
+ exports.SrcReadMe = SrcReadMe;
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUkVBRE1FLm1kLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3RlbXBsYXRlcy9zcmMvUkVBRE1FLm1kLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUNBLDBEQUE4RTtBQUU5RSxNQUFhLFNBQVUsU0FBUSxrQ0FBZTtJQUM1QyxZQUNFLE9BQXNCLEVBQ3RCLE9BQXlDO1FBRXpDLEtBQUssQ0FBQyxPQUFPLEVBQUU7WUFDYixHQUFHLE9BQU87WUFDVixRQUFRLEVBQUUsZUFBZTtZQUN6QixRQUFRLEVBQUU7Z0JBQ1IsS0FBSyxPQUFPLENBQUMsV0FBVyxvQkFBb0I7Z0JBQzVDLEVBQUU7Z0JBQ0Ysd0RBQXdELE9BQU8sQ0FBQyxXQUFXLFdBQVc7YUFDdkY7U0FDRixDQUFDLENBQUM7SUFDTCxDQUFDO0NBQ0Y7QUFmRCw4QkFlQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE9wZW5IaVNlcnZpY2UgfSBmcm9tIFwiLi4vLi4vc2VydmljZVwiO1xuaW1wb3J0IHsgU2VydmljZVRlbXBsYXRlLCBTZXJ2aWNlVGVtcGxhdGVPcHRpb25zIH0gZnJvbSBcIi4uL3NlcnZpY2UtdGVtcGxhdGVcIjtcblxuZXhwb3J0IGNsYXNzIFNyY1JlYWRNZSBleHRlbmRzIFNlcnZpY2VUZW1wbGF0ZSB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHNlcnZpY2U6IE9wZW5IaVNlcnZpY2UsXG4gICAgb3B0aW9ucz86IFBhcnRpYWw8U2VydmljZVRlbXBsYXRlT3B0aW9ucz4sXG4gICkge1xuICAgIHN1cGVyKHNlcnZpY2UsIHtcbiAgICAgIC4uLm9wdGlvbnMsXG4gICAgICBmaWxlUGF0aDogXCJzcmMvUkVBRE1FLm1kXCIsXG4gICAgICBjb250ZW50czogW1xuICAgICAgICBgIyAke3NlcnZpY2Uuc2VydmljZU5hbWV9OiBTZXJ2aWNlIE92ZXJ2aWV3YCxcbiAgICAgICAgYGAsXG4gICAgICAgIGBUaGlzIGRpcmVjdG9yeSBjb250YWlucyB0aGUgbWFpbiBlbnRyeSBwb2ludCBmb3IgdGhlICR7c2VydmljZS5zZXJ2aWNlTmFtZX0gc2VydmljZS5gLFxuICAgICAgXSxcbiAgICB9KTtcbiAgfVxufVxuIl19
@@ -0,0 +1,5 @@
1
+ import { OpenHiService } from "../../service";
2
+ import { ServiceTemplate, ServiceTemplateOptions } from "../service-template";
3
+ export declare class SrcAppTest extends ServiceTemplate {
4
+ constructor(service: OpenHiService, options?: Partial<ServiceTemplateOptions>);
5
+ }
@@ -0,0 +1,61 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SrcAppTest = void 0;
4
+ const service_template_1 = require("../service-template");
5
+ class SrcAppTest extends service_template_1.ServiceTemplate {
6
+ constructor(service, options) {
7
+ super(service, {
8
+ ...options,
9
+ filePath: "src/app.test.ts",
10
+ contents: [
11
+ `import { Template } from "aws-cdk-lib/assertions";`,
12
+ `import { Code, type CodeConfig } from "aws-cdk-lib/aws-lambda";`,
13
+ `import { stacks } from "./app"`,
14
+ ``,
15
+ `/** Replace volatile CDK asset S3 keys/buckets with static values for snapshot stability. */`,
16
+ `function normalizeTemplateForSnapshot(template: Record<string, unknown>): Record<string, unknown> {`,
17
+ ` const staticBucket = "mock-assets-bucket";`,
18
+ ` const staticKey = "mock-asset-key.zip";`,
19
+ ` const json = JSON.stringify(template);`,
20
+ ` const normalized = json`,
21
+ ` .replace(/"S3Key":\\s*"[^"]+\\.zip"/g, \\\`"S3Key": "\${staticKey}"\\\`)`,
22
+ ` .replace(/"S3Bucket":\\s*"[^"]+"/g, \\\`"S3Bucket": "\${staticBucket}"\\\`);`,
23
+ ` return JSON.parse(normalized) as Record<string, unknown>;`,
24
+ `}`,
25
+ ``,
26
+ `let fromAssetMock: jest.SpyInstance;`,
27
+ ``,
28
+ `beforeAll(() => {`,
29
+ ` fromAssetMock = jest.spyOn(Code, "fromAsset").mockReturnValue({`,
30
+ ` isInline: false,`,
31
+ ` bind: (): CodeConfig => ({`,
32
+ ` s3Location: {`,
33
+ ` bucketName: "mock-assets-bucket",`,
34
+ ` objectKey: "mock-asset-key.zip",`,
35
+ ` },`,
36
+ ` }),`,
37
+ ` bindToResource: () => {`,
38
+ ` return;`,
39
+ ` },`,
40
+ ` } as any);`,
41
+ `});`,
42
+ ``,
43
+ `afterAll(() => {`,
44
+ ` fromAssetMock?.mockRestore();`,
45
+ `});`,
46
+ ``,
47
+ `describe("Smoke Test", () => {`,
48
+ ` it("should match previous snapshots", () => {`,
49
+ ` stacks.forEach((s) => {`,
50
+ ` const template = Template.fromStack(s).toJSON();`,
51
+ ` expect(normalizeTemplateForSnapshot(template)).toMatchSnapshot();`,
52
+ ` });`,
53
+ ` });`,
54
+ `});`,
55
+ ``,
56
+ ],
57
+ });
58
+ }
59
+ }
60
+ exports.SrcAppTest = SrcAppTest;
61
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLXRlc3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdGVtcGxhdGVzL3NyYy9hcHAtdGVzdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFDQSwwREFBOEU7QUFFOUUsTUFBYSxVQUFXLFNBQVEsa0NBQWU7SUFDN0MsWUFDRSxPQUFzQixFQUN0QixPQUF5QztRQUV6QyxLQUFLLENBQUMsT0FBTyxFQUFFO1lBQ2IsR0FBRyxPQUFPO1lBQ1YsUUFBUSxFQUFFLGlCQUFpQjtZQUMzQixRQUFRLEVBQUU7Z0JBQ1Isb0RBQW9EO2dCQUNwRCxpRUFBaUU7Z0JBQ2pFLGdDQUFnQztnQkFDaEMsRUFBRTtnQkFDRiw4RkFBOEY7Z0JBQzlGLHFHQUFxRztnQkFDckcsOENBQThDO2dCQUM5QywyQ0FBMkM7Z0JBQzNDLDBDQUEwQztnQkFDMUMsMkJBQTJCO2dCQUMzQiw4RUFBOEU7Z0JBQzlFLGtGQUFrRjtnQkFDbEYsNkRBQTZEO2dCQUM3RCxHQUFHO2dCQUNILEVBQUU7Z0JBQ0Ysc0NBQXNDO2dCQUN0QyxFQUFFO2dCQUNGLG1CQUFtQjtnQkFDbkIsbUVBQW1FO2dCQUNuRSxzQkFBc0I7Z0JBQ3RCLGdDQUFnQztnQkFDaEMscUJBQXFCO2dCQUNyQiwyQ0FBMkM7Z0JBQzNDLDBDQUEwQztnQkFDMUMsVUFBVTtnQkFDVixTQUFTO2dCQUNULDZCQUE2QjtnQkFDN0IsZUFBZTtnQkFDZixRQUFRO2dCQUNSLGNBQWM7Z0JBQ2QsS0FBSztnQkFDTCxFQUFFO2dCQUNGLGtCQUFrQjtnQkFDbEIsaUNBQWlDO2dCQUNqQyxLQUFLO2dCQUNMLEVBQUU7Z0JBQ0YsZ0NBQWdDO2dCQUNoQyxpREFBaUQ7Z0JBQ2pELDZCQUE2QjtnQkFDN0Isd0RBQXdEO2dCQUN4RCx5RUFBeUU7Z0JBQ3pFLFNBQVM7Z0JBQ1QsT0FBTztnQkFDUCxLQUFLO2dCQUNMLEVBQUU7YUFDSDtTQUNGLENBQUMsQ0FBQztJQUNMLENBQUM7Q0FDRjtBQXpERCxnQ0F5REMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBPcGVuSGlTZXJ2aWNlIH0gZnJvbSBcIi4uLy4uL3NlcnZpY2VcIjtcbmltcG9ydCB7IFNlcnZpY2VUZW1wbGF0ZSwgU2VydmljZVRlbXBsYXRlT3B0aW9ucyB9IGZyb20gXCIuLi9zZXJ2aWNlLXRlbXBsYXRlXCI7XG5cbmV4cG9ydCBjbGFzcyBTcmNBcHBUZXN0IGV4dGVuZHMgU2VydmljZVRlbXBsYXRlIHtcbiAgY29uc3RydWN0b3IoXG4gICAgc2VydmljZTogT3BlbkhpU2VydmljZSxcbiAgICBvcHRpb25zPzogUGFydGlhbDxTZXJ2aWNlVGVtcGxhdGVPcHRpb25zPixcbiAgKSB7XG4gICAgc3VwZXIoc2VydmljZSwge1xuICAgICAgLi4ub3B0aW9ucyxcbiAgICAgIGZpbGVQYXRoOiBcInNyYy9hcHAudGVzdC50c1wiLFxuICAgICAgY29udGVudHM6IFtcbiAgICAgICAgYGltcG9ydCB7IFRlbXBsYXRlIH0gZnJvbSBcImF3cy1jZGstbGliL2Fzc2VydGlvbnNcIjtgLFxuICAgICAgICBgaW1wb3J0IHsgQ29kZSwgdHlwZSBDb2RlQ29uZmlnIH0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1sYW1iZGFcIjtgLFxuICAgICAgICBgaW1wb3J0IHsgc3RhY2tzIH0gZnJvbSBcIi4vYXBwXCJgLFxuICAgICAgICBgYCxcbiAgICAgICAgYC8qKiBSZXBsYWNlIHZvbGF0aWxlIENESyBhc3NldCBTMyBrZXlzL2J1Y2tldHMgd2l0aCBzdGF0aWMgdmFsdWVzIGZvciBzbmFwc2hvdCBzdGFiaWxpdHkuICovYCxcbiAgICAgICAgYGZ1bmN0aW9uIG5vcm1hbGl6ZVRlbXBsYXRlRm9yU25hcHNob3QodGVtcGxhdGU6IFJlY29yZDxzdHJpbmcsIHVua25vd24+KTogUmVjb3JkPHN0cmluZywgdW5rbm93bj4ge2AsXG4gICAgICAgIGAgIGNvbnN0IHN0YXRpY0J1Y2tldCA9IFwibW9jay1hc3NldHMtYnVja2V0XCI7YCxcbiAgICAgICAgYCAgY29uc3Qgc3RhdGljS2V5ID0gXCJtb2NrLWFzc2V0LWtleS56aXBcIjtgLFxuICAgICAgICBgICBjb25zdCBqc29uID0gSlNPTi5zdHJpbmdpZnkodGVtcGxhdGUpO2AsXG4gICAgICAgIGAgIGNvbnN0IG5vcm1hbGl6ZWQgPSBqc29uYCxcbiAgICAgICAgYCAgICAucmVwbGFjZSgvXCJTM0tleVwiOlxcXFxzKlwiW15cIl0rXFxcXC56aXBcIi9nLCBcXFxcXFxgXCJTM0tleVwiOiBcIlxcJHtzdGF0aWNLZXl9XCJcXFxcXFxgKWAsXG4gICAgICAgIGAgICAgLnJlcGxhY2UoL1wiUzNCdWNrZXRcIjpcXFxccypcIlteXCJdK1wiL2csIFxcXFxcXGBcIlMzQnVja2V0XCI6IFwiXFwke3N0YXRpY0J1Y2tldH1cIlxcXFxcXGApO2AsXG4gICAgICAgIGAgIHJldHVybiBKU09OLnBhcnNlKG5vcm1hbGl6ZWQpIGFzIFJlY29yZDxzdHJpbmcsIHVua25vd24+O2AsXG4gICAgICAgIGB9YCxcbiAgICAgICAgYGAsXG4gICAgICAgIGBsZXQgZnJvbUFzc2V0TW9jazogamVzdC5TcHlJbnN0YW5jZTtgLFxuICAgICAgICBgYCxcbiAgICAgICAgYGJlZm9yZUFsbCgoKSA9PiB7YCxcbiAgICAgICAgYCAgZnJvbUFzc2V0TW9jayA9IGplc3Quc3B5T24oQ29kZSwgXCJmcm9tQXNzZXRcIikubW9ja1JldHVyblZhbHVlKHtgLFxuICAgICAgICBgICAgIGlzSW5saW5lOiBmYWxzZSxgLFxuICAgICAgICBgICAgIGJpbmQ6ICgpOiBDb2RlQ29uZmlnID0+ICh7YCxcbiAgICAgICAgYCAgICAgIHMzTG9jYXRpb246IHtgLFxuICAgICAgICBgICAgICAgICBidWNrZXROYW1lOiBcIm1vY2stYXNzZXRzLWJ1Y2tldFwiLGAsXG4gICAgICAgIGAgICAgICAgIG9iamVjdEtleTogXCJtb2NrLWFzc2V0LWtleS56aXBcIixgLFxuICAgICAgICBgICAgICAgfSxgLFxuICAgICAgICBgICAgIH0pLGAsXG4gICAgICAgIGAgICAgYmluZFRvUmVzb3VyY2U6ICgpID0+IHtgLFxuICAgICAgICBgICAgICAgcmV0dXJuO2AsXG4gICAgICAgIGAgICAgfSxgLFxuICAgICAgICBgICB9IGFzIGFueSk7YCxcbiAgICAgICAgYH0pO2AsXG4gICAgICAgIGBgLFxuICAgICAgICBgYWZ0ZXJBbGwoKCkgPT4ge2AsXG4gICAgICAgIGAgIGZyb21Bc3NldE1vY2s/Lm1vY2tSZXN0b3JlKCk7YCxcbiAgICAgICAgYH0pO2AsXG4gICAgICAgIGBgLFxuICAgICAgICBgZGVzY3JpYmUoXCJTbW9rZSBUZXN0XCIsICgpID0+IHtgLFxuICAgICAgICBgICBpdChcInNob3VsZCBtYXRjaCBwcmV2aW91cyBzbmFwc2hvdHNcIiwgKCkgPT4ge2AsXG4gICAgICAgIGAgICAgc3RhY2tzLmZvckVhY2goKHMpID0+IHtgLFxuICAgICAgICBgICAgICAgY29uc3QgdGVtcGxhdGUgPSBUZW1wbGF0ZS5mcm9tU3RhY2socykudG9KU09OKCk7YCxcbiAgICAgICAgYCAgICAgIGV4cGVjdChub3JtYWxpemVUZW1wbGF0ZUZvclNuYXBzaG90KHRlbXBsYXRlKSkudG9NYXRjaFNuYXBzaG90KCk7YCxcbiAgICAgICAgYCAgICB9KTtgLFxuICAgICAgICBgICB9KTtgLFxuICAgICAgICBgfSk7YCxcbiAgICAgICAgYGAsXG4gICAgICBdLFxuICAgIH0pO1xuICB9XG59XG4iXX0=
@@ -0,0 +1,5 @@
1
+ import { OpenHiService } from "../../service";
2
+ import { ServiceTemplate, ServiceTemplateOptions } from "../service-template";
3
+ export declare class SrcApp extends ServiceTemplate {
4
+ constructor(service: OpenHiService, options?: Partial<ServiceTemplateOptions>);
5
+ }
@@ -0,0 +1,27 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SrcApp = void 0;
4
+ const service_template_1 = require("../service-template");
5
+ class SrcApp extends service_template_1.ServiceTemplate {
6
+ constructor(service, options) {
7
+ super(service, {
8
+ ...options,
9
+ filePath: "src/app.ts",
10
+ contents: [
11
+ `import { OpenHiApp, ${service.constructName} } from "@openhi/constructs";`,
12
+ `import { CONFIG } from "./config";`,
13
+ ``,
14
+ `const app = new OpenHiApp({ config: CONFIG });`,
15
+ ``,
16
+ `const stacks = app.environments.map((e) => {`,
17
+ ` return new ${service.constructName}(e, { config: e.config });`,
18
+ `});`,
19
+ ``,
20
+ `export { app, stacks };`,
21
+ ``,
22
+ ],
23
+ });
24
+ }
25
+ }
26
+ exports.SrcApp = SrcApp;
27
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3RlbXBsYXRlcy9zcmMvYXBwLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUNBLDBEQUE4RTtBQUU5RSxNQUFhLE1BQU8sU0FBUSxrQ0FBZTtJQUN6QyxZQUNFLE9BQXNCLEVBQ3RCLE9BQXlDO1FBRXpDLEtBQUssQ0FBQyxPQUFPLEVBQUU7WUFDYixHQUFHLE9BQU87WUFDVixRQUFRLEVBQUUsWUFBWTtZQUN0QixRQUFRLEVBQUU7Z0JBQ1IsdUJBQXVCLE9BQU8sQ0FBQyxhQUFhLCtCQUErQjtnQkFDM0Usb0NBQW9DO2dCQUNwQyxFQUFFO2dCQUNGLGdEQUFnRDtnQkFDaEQsRUFBRTtnQkFDRiw4Q0FBOEM7Z0JBQzlDLGdCQUFnQixPQUFPLENBQUMsYUFBYSw0QkFBNEI7Z0JBQ2pFLEtBQUs7Z0JBQ0wsRUFBRTtnQkFDRix5QkFBeUI7Z0JBQ3pCLEVBQUU7YUFDSDtTQUNGLENBQUMsQ0FBQztJQUNMLENBQUM7Q0FDRjtBQXZCRCx3QkF1QkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBPcGVuSGlTZXJ2aWNlIH0gZnJvbSBcIi4uLy4uL3NlcnZpY2VcIjtcbmltcG9ydCB7IFNlcnZpY2VUZW1wbGF0ZSwgU2VydmljZVRlbXBsYXRlT3B0aW9ucyB9IGZyb20gXCIuLi9zZXJ2aWNlLXRlbXBsYXRlXCI7XG5cbmV4cG9ydCBjbGFzcyBTcmNBcHAgZXh0ZW5kcyBTZXJ2aWNlVGVtcGxhdGUge1xuICBjb25zdHJ1Y3RvcihcbiAgICBzZXJ2aWNlOiBPcGVuSGlTZXJ2aWNlLFxuICAgIG9wdGlvbnM/OiBQYXJ0aWFsPFNlcnZpY2VUZW1wbGF0ZU9wdGlvbnM+LFxuICApIHtcbiAgICBzdXBlcihzZXJ2aWNlLCB7XG4gICAgICAuLi5vcHRpb25zLFxuICAgICAgZmlsZVBhdGg6IFwic3JjL2FwcC50c1wiLFxuICAgICAgY29udGVudHM6IFtcbiAgICAgICAgYGltcG9ydCB7IE9wZW5IaUFwcCwgJHtzZXJ2aWNlLmNvbnN0cnVjdE5hbWV9IH0gZnJvbSBcIkBvcGVuaGkvY29uc3RydWN0c1wiO2AsXG4gICAgICAgIGBpbXBvcnQgeyBDT05GSUcgfSBmcm9tIFwiLi9jb25maWdcIjtgLFxuICAgICAgICBgYCxcbiAgICAgICAgYGNvbnN0IGFwcCA9IG5ldyBPcGVuSGlBcHAoeyBjb25maWc6IENPTkZJRyB9KTtgLFxuICAgICAgICBgYCxcbiAgICAgICAgYGNvbnN0IHN0YWNrcyA9IGFwcC5lbnZpcm9ubWVudHMubWFwKChlKSA9PiB7YCxcbiAgICAgICAgYCAgcmV0dXJuIG5ldyAke3NlcnZpY2UuY29uc3RydWN0TmFtZX0oZSwgeyBjb25maWc6IGUuY29uZmlnIH0pO2AsXG4gICAgICAgIGB9KTtgLFxuICAgICAgICBgYCxcbiAgICAgICAgYGV4cG9ydCB7IGFwcCwgc3RhY2tzIH07YCxcbiAgICAgICAgYGAsXG4gICAgICBdLFxuICAgIH0pO1xuICB9XG59XG4iXX0=
@@ -0,0 +1,5 @@
1
+ import { SourceCode } from "projen";
2
+ import { OpenHiService } from "../../service";
3
+ export declare class SrcConfig extends SourceCode {
4
+ constructor(service: OpenHiService);
5
+ }
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SrcConfig = void 0;
4
+ const projen_1 = require("projen");
5
+ class SrcConfig extends projen_1.SourceCode {
6
+ constructor(service) {
7
+ super(service.project, "src/config.ts");
8
+ /**
9
+ * Imports
10
+ */
11
+ this.line(`import { OpenHiConfig } from "@openhi/config";`);
12
+ this.line("");
13
+ /**
14
+ * Write the config content
15
+ */
16
+ const start = "export const CONFIG: OpenHiConfig = ";
17
+ const mid = JSON.stringify(service.options?.config, null, 2);
18
+ const end = " as const;";
19
+ this.line(`${start}${mid}${end}`);
20
+ }
21
+ }
22
+ exports.SrcConfig = SrcConfig;
23
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3RlbXBsYXRlcy9zcmMvY29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLG1DQUFvQztBQUdwQyxNQUFhLFNBQVUsU0FBUSxtQkFBVTtJQUN2QyxZQUFZLE9BQXNCO1FBQ2hDLEtBQUssQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFLGVBQWUsQ0FBQyxDQUFDO1FBRXhDOztXQUVHO1FBQ0gsSUFBSSxDQUFDLElBQUksQ0FBQyxnREFBZ0QsQ0FBQyxDQUFDO1FBQzVELElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7UUFFZDs7V0FFRztRQUNILE1BQU0sS0FBSyxHQUFHLHNDQUFzQyxDQUFDO1FBQ3JELE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQzdELE1BQU0sR0FBRyxHQUFHLFlBQVksQ0FBQztRQUN6QixJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsS0FBSyxHQUFHLEdBQUcsR0FBRyxHQUFHLEVBQUUsQ0FBQyxDQUFDO0lBQ3BDLENBQUM7Q0FDRjtBQWxCRCw4QkFrQkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTb3VyY2VDb2RlIH0gZnJvbSBcInByb2plblwiO1xuaW1wb3J0IHsgT3BlbkhpU2VydmljZSB9IGZyb20gXCIuLi8uLi9zZXJ2aWNlXCI7XG5cbmV4cG9ydCBjbGFzcyBTcmNDb25maWcgZXh0ZW5kcyBTb3VyY2VDb2RlIHtcbiAgY29uc3RydWN0b3Ioc2VydmljZTogT3BlbkhpU2VydmljZSkge1xuICAgIHN1cGVyKHNlcnZpY2UucHJvamVjdCwgXCJzcmMvY29uZmlnLnRzXCIpO1xuXG4gICAgLyoqXG4gICAgICogSW1wb3J0c1xuICAgICAqL1xuICAgIHRoaXMubGluZShgaW1wb3J0IHsgT3BlbkhpQ29uZmlnIH0gZnJvbSBcIkBvcGVuaGkvY29uZmlnXCI7YCk7XG4gICAgdGhpcy5saW5lKFwiXCIpO1xuXG4gICAgLyoqXG4gICAgICogV3JpdGUgdGhlIGNvbmZpZyBjb250ZW50XG4gICAgICovXG4gICAgY29uc3Qgc3RhcnQgPSBcImV4cG9ydCBjb25zdCBDT05GSUc6IE9wZW5IaUNvbmZpZyA9IFwiO1xuICAgIGNvbnN0IG1pZCA9IEpTT04uc3RyaW5naWZ5KHNlcnZpY2Uub3B0aW9ucz8uY29uZmlnLCBudWxsLCAyKTtcbiAgICBjb25zdCBlbmQgPSBcIiBhcyBjb25zdDtcIjtcbiAgICB0aGlzLmxpbmUoYCR7c3RhcnR9JHttaWR9JHtlbmR9YCk7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,5 @@
1
+ import { OpenHiService } from "../../../service";
2
+ import { ServiceTemplate, ServiceTemplateOptions } from "../../service-template";
3
+ export declare class DataReadMe extends ServiceTemplate {
4
+ constructor(service: OpenHiService, options?: Partial<ServiceTemplateOptions>);
5
+ }
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DataReadMe = void 0;
4
+ const service_template_1 = require("../../service-template");
5
+ class DataReadMe extends service_template_1.ServiceTemplate {
6
+ constructor(service, options) {
7
+ super(service, {
8
+ ...options,
9
+ filePath: "src/data/README.md",
10
+ contents: [
11
+ `# ${service.serviceName}: Data`,
12
+ ``,
13
+ `This directory contains data models and other related files for the ${service.serviceName} service.`,
14
+ ],
15
+ });
16
+ }
17
+ }
18
+ exports.DataReadMe = DataReadMe;
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUkVBRE1FLm1kLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3RlbXBsYXRlcy9zcmMvZGF0YS9SRUFETUUubWQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQ0EsNkRBR2dDO0FBRWhDLE1BQWEsVUFBVyxTQUFRLGtDQUFlO0lBQzdDLFlBQ0UsT0FBc0IsRUFDdEIsT0FBeUM7UUFFekMsS0FBSyxDQUFDLE9BQU8sRUFBRTtZQUNiLEdBQUcsT0FBTztZQUNWLFFBQVEsRUFBRSxvQkFBb0I7WUFDOUIsUUFBUSxFQUFFO2dCQUNSLEtBQUssT0FBTyxDQUFDLFdBQVcsUUFBUTtnQkFDaEMsRUFBRTtnQkFDRix1RUFBdUUsT0FBTyxDQUFDLFdBQVcsV0FBVzthQUN0RztTQUNGLENBQUMsQ0FBQztJQUNMLENBQUM7Q0FDRjtBQWZELGdDQWVDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgT3BlbkhpU2VydmljZSB9IGZyb20gXCIuLi8uLi8uLi9zZXJ2aWNlXCI7XG5pbXBvcnQge1xuICBTZXJ2aWNlVGVtcGxhdGUsXG4gIFNlcnZpY2VUZW1wbGF0ZU9wdGlvbnMsXG59IGZyb20gXCIuLi8uLi9zZXJ2aWNlLXRlbXBsYXRlXCI7XG5cbmV4cG9ydCBjbGFzcyBEYXRhUmVhZE1lIGV4dGVuZHMgU2VydmljZVRlbXBsYXRlIHtcbiAgY29uc3RydWN0b3IoXG4gICAgc2VydmljZTogT3BlbkhpU2VydmljZSxcbiAgICBvcHRpb25zPzogUGFydGlhbDxTZXJ2aWNlVGVtcGxhdGVPcHRpb25zPixcbiAgKSB7XG4gICAgc3VwZXIoc2VydmljZSwge1xuICAgICAgLi4ub3B0aW9ucyxcbiAgICAgIGZpbGVQYXRoOiBcInNyYy9kYXRhL1JFQURNRS5tZFwiLFxuICAgICAgY29udGVudHM6IFtcbiAgICAgICAgYCMgJHtzZXJ2aWNlLnNlcnZpY2VOYW1lfTogRGF0YWAsXG4gICAgICAgIGBgLFxuICAgICAgICBgVGhpcyBkaXJlY3RvcnkgY29udGFpbnMgZGF0YSBtb2RlbHMgYW5kIG90aGVyIHJlbGF0ZWQgZmlsZXMgZm9yIHRoZSAke3NlcnZpY2Uuc2VydmljZU5hbWV9IHNlcnZpY2UuYCxcbiAgICAgIF0sXG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,5 @@
1
+ import { OpenHiService } from "../../../../service";
2
+ import { ServiceTemplate, ServiceTemplateOptions } from "../../../service-template";
3
+ export declare class DataModelsReadMe extends ServiceTemplate {
4
+ constructor(service: OpenHiService, options?: Partial<ServiceTemplateOptions>);
5
+ }
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DataModelsReadMe = void 0;
4
+ const service_template_1 = require("../../../service-template");
5
+ class DataModelsReadMe extends service_template_1.ServiceTemplate {
6
+ constructor(service, options) {
7
+ super(service, {
8
+ ...options,
9
+ filePath: "src/data/models/README.md",
10
+ contents: [
11
+ `# ${service.serviceName}: Data Models`,
12
+ ``,
13
+ `This directory contains data model definitions and other related files for the ${service.serviceName} service.`,
14
+ ],
15
+ });
16
+ }
17
+ }
18
+ exports.DataModelsReadMe = DataModelsReadMe;
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUkVBRE1FLm1kLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL3RlbXBsYXRlcy9zcmMvZGF0YS9tb2RlbHMvUkVBRE1FLm1kLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUNBLGdFQUdtQztBQUVuQyxNQUFhLGdCQUFpQixTQUFRLGtDQUFlO0lBQ25ELFlBQ0UsT0FBc0IsRUFDdEIsT0FBeUM7UUFFekMsS0FBSyxDQUFDLE9BQU8sRUFBRTtZQUNiLEdBQUcsT0FBTztZQUNWLFFBQVEsRUFBRSwyQkFBMkI7WUFDckMsUUFBUSxFQUFFO2dCQUNSLEtBQUssT0FBTyxDQUFDLFdBQVcsZUFBZTtnQkFDdkMsRUFBRTtnQkFDRixrRkFBa0YsT0FBTyxDQUFDLFdBQVcsV0FBVzthQUNqSDtTQUNGLENBQUMsQ0FBQztJQUNMLENBQUM7Q0FDRjtBQWZELDRDQWVDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgT3BlbkhpU2VydmljZSB9IGZyb20gXCIuLi8uLi8uLi8uLi9zZXJ2aWNlXCI7XG5pbXBvcnQge1xuICBTZXJ2aWNlVGVtcGxhdGUsXG4gIFNlcnZpY2VUZW1wbGF0ZU9wdGlvbnMsXG59IGZyb20gXCIuLi8uLi8uLi9zZXJ2aWNlLXRlbXBsYXRlXCI7XG5cbmV4cG9ydCBjbGFzcyBEYXRhTW9kZWxzUmVhZE1lIGV4dGVuZHMgU2VydmljZVRlbXBsYXRlIHtcbiAgY29uc3RydWN0b3IoXG4gICAgc2VydmljZTogT3BlbkhpU2VydmljZSxcbiAgICBvcHRpb25zPzogUGFydGlhbDxTZXJ2aWNlVGVtcGxhdGVPcHRpb25zPixcbiAgKSB7XG4gICAgc3VwZXIoc2VydmljZSwge1xuICAgICAgLi4ub3B0aW9ucyxcbiAgICAgIGZpbGVQYXRoOiBcInNyYy9kYXRhL21vZGVscy9SRUFETUUubWRcIixcbiAgICAgIGNvbnRlbnRzOiBbXG4gICAgICAgIGAjICR7c2VydmljZS5zZXJ2aWNlTmFtZX06IERhdGEgTW9kZWxzYCxcbiAgICAgICAgYGAsXG4gICAgICAgIGBUaGlzIGRpcmVjdG9yeSBjb250YWlucyBkYXRhIG1vZGVsIGRlZmluaXRpb25zIGFuZCBvdGhlciByZWxhdGVkIGZpbGVzIGZvciB0aGUgJHtzZXJ2aWNlLnNlcnZpY2VOYW1lfSBzZXJ2aWNlLmAsXG4gICAgICBdLFxuICAgIH0pO1xuICB9XG59XG4iXX0=
@@ -0,0 +1,5 @@
1
+ import { OpenHiService } from "../../../service";
2
+ import { ServiceTemplate, ServiceTemplateOptions } from "../../service-template";
3
+ export declare class InfrastructureReadMe extends ServiceTemplate {
4
+ constructor(service: OpenHiService, options?: Partial<ServiceTemplateOptions>);
5
+ }
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.InfrastructureReadMe = void 0;
4
+ const service_template_1 = require("../../service-template");
5
+ class InfrastructureReadMe extends service_template_1.ServiceTemplate {
6
+ constructor(service, options) {
7
+ super(service, {
8
+ ...options,
9
+ filePath: "src/infrastructure/README.md",
10
+ contents: [
11
+ `# ${service.serviceName}: Infrastructure`,
12
+ ``,
13
+ `This directory contains infrastructure definitions and other related files for the ${service.serviceName} service.`,
14
+ ],
15
+ });
16
+ }
17
+ }
18
+ exports.InfrastructureReadMe = InfrastructureReadMe;
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUkVBRE1FLm1kLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3RlbXBsYXRlcy9zcmMvaW5mcmFzdHJ1Y3R1cmUvUkVBRE1FLm1kLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUNBLDZEQUdnQztBQUVoQyxNQUFhLG9CQUFxQixTQUFRLGtDQUFlO0lBQ3ZELFlBQ0UsT0FBc0IsRUFDdEIsT0FBeUM7UUFFekMsS0FBSyxDQUFDLE9BQU8sRUFBRTtZQUNiLEdBQUcsT0FBTztZQUNWLFFBQVEsRUFBRSw4QkFBOEI7WUFDeEMsUUFBUSxFQUFFO2dCQUNSLEtBQUssT0FBTyxDQUFDLFdBQVcsa0JBQWtCO2dCQUMxQyxFQUFFO2dCQUNGLHNGQUFzRixPQUFPLENBQUMsV0FBVyxXQUFXO2FBQ3JIO1NBQ0YsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztDQUNGO0FBZkQsb0RBZUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBPcGVuSGlTZXJ2aWNlIH0gZnJvbSBcIi4uLy4uLy4uL3NlcnZpY2VcIjtcbmltcG9ydCB7XG4gIFNlcnZpY2VUZW1wbGF0ZSxcbiAgU2VydmljZVRlbXBsYXRlT3B0aW9ucyxcbn0gZnJvbSBcIi4uLy4uL3NlcnZpY2UtdGVtcGxhdGVcIjtcblxuZXhwb3J0IGNsYXNzIEluZnJhc3RydWN0dXJlUmVhZE1lIGV4dGVuZHMgU2VydmljZVRlbXBsYXRlIHtcbiAgY29uc3RydWN0b3IoXG4gICAgc2VydmljZTogT3BlbkhpU2VydmljZSxcbiAgICBvcHRpb25zPzogUGFydGlhbDxTZXJ2aWNlVGVtcGxhdGVPcHRpb25zPixcbiAgKSB7XG4gICAgc3VwZXIoc2VydmljZSwge1xuICAgICAgLi4ub3B0aW9ucyxcbiAgICAgIGZpbGVQYXRoOiBcInNyYy9pbmZyYXN0cnVjdHVyZS9SRUFETUUubWRcIixcbiAgICAgIGNvbnRlbnRzOiBbXG4gICAgICAgIGAjICR7c2VydmljZS5zZXJ2aWNlTmFtZX06IEluZnJhc3RydWN0dXJlYCxcbiAgICAgICAgYGAsXG4gICAgICAgIGBUaGlzIGRpcmVjdG9yeSBjb250YWlucyBpbmZyYXN0cnVjdHVyZSBkZWZpbml0aW9ucyBhbmQgb3RoZXIgcmVsYXRlZCBmaWxlcyBmb3IgdGhlICR7c2VydmljZS5zZXJ2aWNlTmFtZX0gc2VydmljZS5gLFxuICAgICAgXSxcbiAgICB9KTtcbiAgfVxufVxuIl19
@@ -0,0 +1,5 @@
1
+ import { OpenHiService } from "../../../service";
2
+ import { ServiceTemplate, ServiceTemplateOptions } from "../../service-template";
3
+ export declare class IntegrationsReadMe extends ServiceTemplate {
4
+ constructor(service: OpenHiService, options?: Partial<ServiceTemplateOptions>);
5
+ }
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.IntegrationsReadMe = void 0;
4
+ const service_template_1 = require("../../service-template");
5
+ class IntegrationsReadMe extends service_template_1.ServiceTemplate {
6
+ constructor(service, options) {
7
+ super(service, {
8
+ ...options,
9
+ filePath: "src/integrations/README.md",
10
+ contents: [
11
+ `# ${service.serviceName}: Integrations`,
12
+ ``,
13
+ `This directory contains integration definitions and other related files for the ${service.serviceName} service.`,
14
+ ],
15
+ });
16
+ }
17
+ }
18
+ exports.IntegrationsReadMe = IntegrationsReadMe;
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUkVBRE1FLm1kLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3RlbXBsYXRlcy9zcmMvaW50ZWdyYXRpb25zL1JFQURNRS5tZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFDQSw2REFHZ0M7QUFFaEMsTUFBYSxrQkFBbUIsU0FBUSxrQ0FBZTtJQUNyRCxZQUNFLE9BQXNCLEVBQ3RCLE9BQXlDO1FBRXpDLEtBQUssQ0FBQyxPQUFPLEVBQUU7WUFDYixHQUFHLE9BQU87WUFDVixRQUFRLEVBQUUsNEJBQTRCO1lBQ3RDLFFBQVEsRUFBRTtnQkFDUixLQUFLLE9BQU8sQ0FBQyxXQUFXLGdCQUFnQjtnQkFDeEMsRUFBRTtnQkFDRixtRkFBbUYsT0FBTyxDQUFDLFdBQVcsV0FBVzthQUNsSDtTQUNGLENBQUMsQ0FBQztJQUNMLENBQUM7Q0FDRjtBQWZELGdEQWVDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgT3BlbkhpU2VydmljZSB9IGZyb20gXCIuLi8uLi8uLi9zZXJ2aWNlXCI7XG5pbXBvcnQge1xuICBTZXJ2aWNlVGVtcGxhdGUsXG4gIFNlcnZpY2VUZW1wbGF0ZU9wdGlvbnMsXG59IGZyb20gXCIuLi8uLi9zZXJ2aWNlLXRlbXBsYXRlXCI7XG5cbmV4cG9ydCBjbGFzcyBJbnRlZ3JhdGlvbnNSZWFkTWUgZXh0ZW5kcyBTZXJ2aWNlVGVtcGxhdGUge1xuICBjb25zdHJ1Y3RvcihcbiAgICBzZXJ2aWNlOiBPcGVuSGlTZXJ2aWNlLFxuICAgIG9wdGlvbnM/OiBQYXJ0aWFsPFNlcnZpY2VUZW1wbGF0ZU9wdGlvbnM+LFxuICApIHtcbiAgICBzdXBlcihzZXJ2aWNlLCB7XG4gICAgICAuLi5vcHRpb25zLFxuICAgICAgZmlsZVBhdGg6IFwic3JjL2ludGVncmF0aW9ucy9SRUFETUUubWRcIixcbiAgICAgIGNvbnRlbnRzOiBbXG4gICAgICAgIGAjICR7c2VydmljZS5zZXJ2aWNlTmFtZX06IEludGVncmF0aW9uc2AsXG4gICAgICAgIGBgLFxuICAgICAgICBgVGhpcyBkaXJlY3RvcnkgY29udGFpbnMgaW50ZWdyYXRpb24gZGVmaW5pdGlvbnMgYW5kIG90aGVyIHJlbGF0ZWQgZmlsZXMgZm9yIHRoZSAke3NlcnZpY2Uuc2VydmljZU5hbWV9IHNlcnZpY2UuYCxcbiAgICAgIF0sXG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,5 @@
1
+ import { OpenHiService } from "../../service";
2
+ import { ServiceTemplate, ServiceTemplateOptions } from "../service-template";
3
+ export declare class SrcMain extends ServiceTemplate {
4
+ constructor(service: OpenHiService, options?: Partial<ServiceTemplateOptions>);
5
+ }
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SrcMain = void 0;
4
+ const service_template_1 = require("../service-template");
5
+ class SrcMain extends service_template_1.ServiceTemplate {
6
+ constructor(service, options) {
7
+ super(service, {
8
+ ...options,
9
+ filePath: "src/main.ts",
10
+ contents: [`import { app } from "./app";`, ``, `app.synth();`, ``],
11
+ });
12
+ }
13
+ }
14
+ exports.SrcMain = SrcMain;
15
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFpbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy90ZW1wbGF0ZXMvc3JjL21haW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQ0EsMERBQThFO0FBRTlFLE1BQWEsT0FBUSxTQUFRLGtDQUFlO0lBQzFDLFlBQ0UsT0FBc0IsRUFDdEIsT0FBeUM7UUFFekMsS0FBSyxDQUFDLE9BQU8sRUFBRTtZQUNiLEdBQUcsT0FBTztZQUNWLFFBQVEsRUFBRSxhQUFhO1lBQ3ZCLFFBQVEsRUFBRSxDQUFDLDhCQUE4QixFQUFFLEVBQUUsRUFBRSxjQUFjLEVBQUUsRUFBRSxDQUFDO1NBQ25FLENBQUMsQ0FBQztJQUNMLENBQUM7Q0FDRjtBQVhELDBCQVdDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgT3BlbkhpU2VydmljZSB9IGZyb20gXCIuLi8uLi9zZXJ2aWNlXCI7XG5pbXBvcnQgeyBTZXJ2aWNlVGVtcGxhdGUsIFNlcnZpY2VUZW1wbGF0ZU9wdGlvbnMgfSBmcm9tIFwiLi4vc2VydmljZS10ZW1wbGF0ZVwiO1xuXG5leHBvcnQgY2xhc3MgU3JjTWFpbiBleHRlbmRzIFNlcnZpY2VUZW1wbGF0ZSB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHNlcnZpY2U6IE9wZW5IaVNlcnZpY2UsXG4gICAgb3B0aW9ucz86IFBhcnRpYWw8U2VydmljZVRlbXBsYXRlT3B0aW9ucz4sXG4gICkge1xuICAgIHN1cGVyKHNlcnZpY2UsIHtcbiAgICAgIC4uLm9wdGlvbnMsXG4gICAgICBmaWxlUGF0aDogXCJzcmMvbWFpbi50c1wiLFxuICAgICAgY29udGVudHM6IFtgaW1wb3J0IHsgYXBwIH0gZnJvbSBcIi4vYXBwXCI7YCwgYGAsIGBhcHAuc3ludGgoKTtgLCBgYF0sXG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,5 @@
1
+ import { OpenHiService } from "../../../service";
2
+ import { ServiceTemplate, ServiceTemplateOptions } from "../../service-template";
3
+ export declare class WorkflowsReadMe extends ServiceTemplate {
4
+ constructor(service: OpenHiService, options?: Partial<ServiceTemplateOptions>);
5
+ }
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.WorkflowsReadMe = void 0;
4
+ const service_template_1 = require("../../service-template");
5
+ class WorkflowsReadMe extends service_template_1.ServiceTemplate {
6
+ constructor(service, options) {
7
+ super(service, {
8
+ ...options,
9
+ filePath: "src/workflows/README.md",
10
+ contents: [
11
+ `# ${service.serviceName}: Workflows`,
12
+ ``,
13
+ `This directory contains workflow definitions and other related files for the ${service.serviceName} service.`,
14
+ ],
15
+ });
16
+ }
17
+ }
18
+ exports.WorkflowsReadMe = WorkflowsReadMe;
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUkVBRE1FLm1kLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3RlbXBsYXRlcy9zcmMvd29ya2Zsb3dzL1JFQURNRS5tZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFDQSw2REFHZ0M7QUFFaEMsTUFBYSxlQUFnQixTQUFRLGtDQUFlO0lBQ2xELFlBQ0UsT0FBc0IsRUFDdEIsT0FBeUM7UUFFekMsS0FBSyxDQUFDLE9BQU8sRUFBRTtZQUNiLEdBQUcsT0FBTztZQUNWLFFBQVEsRUFBRSx5QkFBeUI7WUFDbkMsUUFBUSxFQUFFO2dCQUNSLEtBQUssT0FBTyxDQUFDLFdBQVcsYUFBYTtnQkFDckMsRUFBRTtnQkFDRixnRkFBZ0YsT0FBTyxDQUFDLFdBQVcsV0FBVzthQUMvRztTQUNGLENBQUMsQ0FBQztJQUNMLENBQUM7Q0FDRjtBQWZELDBDQWVDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgT3BlbkhpU2VydmljZSB9IGZyb20gXCIuLi8uLi8uLi9zZXJ2aWNlXCI7XG5pbXBvcnQge1xuICBTZXJ2aWNlVGVtcGxhdGUsXG4gIFNlcnZpY2VUZW1wbGF0ZU9wdGlvbnMsXG59IGZyb20gXCIuLi8uLi9zZXJ2aWNlLXRlbXBsYXRlXCI7XG5cbmV4cG9ydCBjbGFzcyBXb3JrZmxvd3NSZWFkTWUgZXh0ZW5kcyBTZXJ2aWNlVGVtcGxhdGUge1xuICBjb25zdHJ1Y3RvcihcbiAgICBzZXJ2aWNlOiBPcGVuSGlTZXJ2aWNlLFxuICAgIG9wdGlvbnM/OiBQYXJ0aWFsPFNlcnZpY2VUZW1wbGF0ZU9wdGlvbnM+LFxuICApIHtcbiAgICBzdXBlcihzZXJ2aWNlLCB7XG4gICAgICAuLi5vcHRpb25zLFxuICAgICAgZmlsZVBhdGg6IFwic3JjL3dvcmtmbG93cy9SRUFETUUubWRcIixcbiAgICAgIGNvbnRlbnRzOiBbXG4gICAgICAgIGAjICR7c2VydmljZS5zZXJ2aWNlTmFtZX06IFdvcmtmbG93c2AsXG4gICAgICAgIGBgLFxuICAgICAgICBgVGhpcyBkaXJlY3RvcnkgY29udGFpbnMgd29ya2Zsb3cgZGVmaW5pdGlvbnMgYW5kIG90aGVyIHJlbGF0ZWQgZmlsZXMgZm9yIHRoZSAke3NlcnZpY2Uuc2VydmljZU5hbWV9IHNlcnZpY2UuYCxcbiAgICAgIF0sXG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,13 @@
1
+ import { MonorepoProject } from "@codedrifters/configulator";
2
+ import { Component } from "projen";
3
+ import { OpenHi } from "../openhi";
4
+ export interface AwsTeardownWorkflowOptions {
5
+ /**
6
+ * openhi project
7
+ */
8
+ readonly openhi: OpenHi;
9
+ }
10
+ export declare class AwsTeardownWorkflow extends Component {
11
+ rootProject: MonorepoProject;
12
+ constructor(rootProject: MonorepoProject, options: AwsTeardownWorkflowOptions);
13
+ }