@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.
- package/README.md +3 -0
- package/lib/index.d.ts +2 -0
- package/lib/index.js +19 -0
- package/lib/openhi.d.ts +88 -0
- package/lib/openhi.js +108 -0
- package/lib/service.d.ts +36 -0
- package/lib/service.js +203 -0
- package/lib/templates/generate-templates.d.ts +5 -0
- package/lib/templates/generate-templates.js +45 -0
- package/lib/templates/service-template.d.ts +33 -0
- package/lib/templates/service-template.js +42 -0
- package/lib/templates/src/README.md.d.ts +5 -0
- package/lib/templates/src/README.md.js +19 -0
- package/lib/templates/src/app-test.d.ts +5 -0
- package/lib/templates/src/app-test.js +61 -0
- package/lib/templates/src/app.d.ts +5 -0
- package/lib/templates/src/app.js +27 -0
- package/lib/templates/src/config.d.ts +5 -0
- package/lib/templates/src/config.js +23 -0
- package/lib/templates/src/data/README.md.d.ts +5 -0
- package/lib/templates/src/data/README.md.js +19 -0
- package/lib/templates/src/data/models/README.md.d.ts +5 -0
- package/lib/templates/src/data/models/README.md.js +19 -0
- package/lib/templates/src/infrastructure/README.md.d.ts +5 -0
- package/lib/templates/src/infrastructure/README.md.js +19 -0
- package/lib/templates/src/integrations/README.md.d.ts +5 -0
- package/lib/templates/src/integrations/README.md.js +19 -0
- package/lib/templates/src/main.d.ts +5 -0
- package/lib/templates/src/main.js +15 -0
- package/lib/templates/src/workflows/README.md.d.ts +5 -0
- package/lib/templates/src/workflows/README.md.js +19 -0
- package/lib/workflows/aws-teardown-workflow.d.ts +13 -0
- package/lib/workflows/aws-teardown-workflow.js +222 -0
- package/lib/workflows/build-dev-workflow.d.ts +12 -0
- package/lib/workflows/build-dev-workflow.js +48 -0
- package/lib/workflows/build-stage-workflow.d.ts +12 -0
- package/lib/workflows/build-stage-workflow.js +60 -0
- package/package.json +51 -0
package/README.md
ADDED
package/lib/index.d.ts
ADDED
package/lib/index.js
ADDED
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./openhi"), exports);
|
|
18
|
+
__exportStar(require("./service"), exports);
|
|
19
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLDJDQUF5QjtBQUN6Qiw0Q0FBMEIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tIFwiLi9vcGVuaGlcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3NlcnZpY2VcIjtcbiJdfQ==
|
package/lib/openhi.d.ts
ADDED
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
import { MonorepoProject, MonorepoProjectOptions } from "@codedrifters/configulator";
|
|
2
|
+
import { OpenHiConfig } from "@openhi/config";
|
|
3
|
+
import { SetOptional } from "type-fest";
|
|
4
|
+
import { OpenHiService } from "./service";
|
|
5
|
+
export interface OpenHiOptions {
|
|
6
|
+
/*****************************************************************************
|
|
7
|
+
*
|
|
8
|
+
* Root Project Configuration Options
|
|
9
|
+
*
|
|
10
|
+
* Configuration options for the root monorepo project that contains all
|
|
11
|
+
* OpenHi services and coordinate releases and builds.
|
|
12
|
+
*
|
|
13
|
+
****************************************************************************/
|
|
14
|
+
readonly rootProjectOptions?: SetOptional<MonorepoProjectOptions, "name">;
|
|
15
|
+
/**
|
|
16
|
+
* Monorepo root project, if using an existing project.
|
|
17
|
+
*/
|
|
18
|
+
readonly rootProject?: MonorepoProject;
|
|
19
|
+
/*****************************************************************************
|
|
20
|
+
*
|
|
21
|
+
* Service Configuration Options
|
|
22
|
+
*
|
|
23
|
+
* These options are used to configure the various services within the OpenHi
|
|
24
|
+
* framework. Each service can have its own configuration settings, which will
|
|
25
|
+
* be merged with the default configuration.
|
|
26
|
+
*
|
|
27
|
+
****************************************************************************/
|
|
28
|
+
/**
|
|
29
|
+
* Default configuration used in all services with undefined configs.
|
|
30
|
+
*/
|
|
31
|
+
readonly defaultConfig?: OpenHiConfig;
|
|
32
|
+
/**
|
|
33
|
+
* Global Service Config
|
|
34
|
+
*/
|
|
35
|
+
readonly globalServiceConfig?: OpenHiConfig;
|
|
36
|
+
/**
|
|
37
|
+
* Auth Service Config
|
|
38
|
+
*/
|
|
39
|
+
readonly authServiceConfig?: OpenHiConfig;
|
|
40
|
+
/**
|
|
41
|
+
* Rest API Service Config
|
|
42
|
+
*/
|
|
43
|
+
readonly restApiServiceConfig?: OpenHiConfig;
|
|
44
|
+
/**
|
|
45
|
+
* Core Service Config
|
|
46
|
+
*/
|
|
47
|
+
readonly coreServiceConfig?: OpenHiConfig;
|
|
48
|
+
/**
|
|
49
|
+
* Data Service Config (DynamoDB FHIR store, S3, etc.)
|
|
50
|
+
*/
|
|
51
|
+
readonly dataServiceConfig?: OpenHiConfig;
|
|
52
|
+
}
|
|
53
|
+
export declare class OpenHi {
|
|
54
|
+
/**
|
|
55
|
+
* Final options used to build this instance.
|
|
56
|
+
*/
|
|
57
|
+
options: OpenHiOptions;
|
|
58
|
+
/**
|
|
59
|
+
* Monorepo root project, either passed in as an argument or generated in
|
|
60
|
+
* this component
|
|
61
|
+
*/
|
|
62
|
+
readonly rootProject?: MonorepoProject;
|
|
63
|
+
/**
|
|
64
|
+
* Test identifier for this instance.
|
|
65
|
+
*/
|
|
66
|
+
readonly id: string;
|
|
67
|
+
/**
|
|
68
|
+
* Global service (deployed first; Core and data services depend on it).
|
|
69
|
+
*/
|
|
70
|
+
readonly global: OpenHiService;
|
|
71
|
+
/**
|
|
72
|
+
* Auth service (deployed before Core; Core and data services depend on it).
|
|
73
|
+
*/
|
|
74
|
+
readonly auth: OpenHiService;
|
|
75
|
+
/**
|
|
76
|
+
* Rest API service
|
|
77
|
+
*/
|
|
78
|
+
readonly restApi: OpenHiService;
|
|
79
|
+
/**
|
|
80
|
+
* Core service
|
|
81
|
+
*/
|
|
82
|
+
readonly core: OpenHiService;
|
|
83
|
+
/**
|
|
84
|
+
* Data service (DynamoDB FHIR store, S3, and other persistence).
|
|
85
|
+
*/
|
|
86
|
+
readonly data: OpenHiService;
|
|
87
|
+
constructor(options?: OpenHiOptions);
|
|
88
|
+
}
|
package/lib/openhi.js
ADDED
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.OpenHi = void 0;
|
|
4
|
+
const ts_deepmerge_1 = require("ts-deepmerge");
|
|
5
|
+
const service_1 = require("./service");
|
|
6
|
+
const aws_teardown_workflow_1 = require("./workflows/aws-teardown-workflow");
|
|
7
|
+
const build_dev_workflow_1 = require("./workflows/build-dev-workflow");
|
|
8
|
+
const build_stage_workflow_1 = require("./workflows/build-stage-workflow");
|
|
9
|
+
class OpenHi {
|
|
10
|
+
constructor(options = {}) {
|
|
11
|
+
/***************************************************************************
|
|
12
|
+
*
|
|
13
|
+
* Options
|
|
14
|
+
*
|
|
15
|
+
* Combine input options with defaults.
|
|
16
|
+
*
|
|
17
|
+
**************************************************************************/
|
|
18
|
+
this.options = (0, ts_deepmerge_1.merge)({ name: "openhi" }, options);
|
|
19
|
+
this.rootProject = this.options.rootProject;
|
|
20
|
+
this.id = this.options.rootProject?.name ?? "openhi";
|
|
21
|
+
/**
|
|
22
|
+
* In future we would create root project here. For now, require it to be
|
|
23
|
+
* passed in.
|
|
24
|
+
*/
|
|
25
|
+
if (!this.rootProject) {
|
|
26
|
+
throw new Error("OpenHi requires a MonorepoProject to be passed in via the rootProject option");
|
|
27
|
+
}
|
|
28
|
+
const rootProject = this.rootProject;
|
|
29
|
+
/***************************************************************************
|
|
30
|
+
*
|
|
31
|
+
* Global Service
|
|
32
|
+
*
|
|
33
|
+
* Authentication (Cognito user pool, client, domain, KMS). Deployed before
|
|
34
|
+
* Core so that Core can consume auth via SSM parameters.
|
|
35
|
+
*
|
|
36
|
+
**************************************************************************/
|
|
37
|
+
this.global = new service_1.OpenHiService(this, "global", {
|
|
38
|
+
type: service_1.OPEN_HI_SERVICE_TYPE.GLOBAL,
|
|
39
|
+
config: (0, ts_deepmerge_1.merge)(this.options?.defaultConfig ?? {}, this.options?.globalServiceConfig ?? {}),
|
|
40
|
+
});
|
|
41
|
+
/***************************************************************************
|
|
42
|
+
*
|
|
43
|
+
* Auth Service
|
|
44
|
+
*
|
|
45
|
+
* Authentication (Cognito user pool, client, domain, KMS). Deployed before
|
|
46
|
+
* Core so that Core can consume auth via SSM parameters.
|
|
47
|
+
*
|
|
48
|
+
**************************************************************************/
|
|
49
|
+
this.auth = new service_1.OpenHiService(this, "auth", {
|
|
50
|
+
type: service_1.OPEN_HI_SERVICE_TYPE.AUTH,
|
|
51
|
+
config: (0, ts_deepmerge_1.merge)(this.options?.defaultConfig ?? {}, this.options?.authServiceConfig ?? {}),
|
|
52
|
+
});
|
|
53
|
+
/***************************************************************************
|
|
54
|
+
*
|
|
55
|
+
* Rest API service
|
|
56
|
+
*
|
|
57
|
+
* This contains the REST API for the OpenHi platform.
|
|
58
|
+
*
|
|
59
|
+
**************************************************************************/
|
|
60
|
+
this.restApi = new service_1.OpenHiService(this, "rest-api", {
|
|
61
|
+
type: service_1.OPEN_HI_SERVICE_TYPE.REST_API,
|
|
62
|
+
config: (0, ts_deepmerge_1.merge)(this.options?.defaultConfig ?? {}, this.options?.restApiServiceConfig ?? {}),
|
|
63
|
+
});
|
|
64
|
+
/***************************************************************************
|
|
65
|
+
*
|
|
66
|
+
* Core Service
|
|
67
|
+
*
|
|
68
|
+
* This contains resources that are common across multiple enterprise use
|
|
69
|
+
* cases.
|
|
70
|
+
*
|
|
71
|
+
**************************************************************************/
|
|
72
|
+
this.core = new service_1.OpenHiService(this, "core", {
|
|
73
|
+
type: service_1.OPEN_HI_SERVICE_TYPE.CORE,
|
|
74
|
+
config: (0, ts_deepmerge_1.merge)(this.options?.defaultConfig ?? {}, this.options?.coreServiceConfig ?? {}),
|
|
75
|
+
});
|
|
76
|
+
/***************************************************************************
|
|
77
|
+
*
|
|
78
|
+
* Data Service
|
|
79
|
+
*
|
|
80
|
+
* Data storage stack (DynamoDB FHIR store, S3, etc.). Deployed so that
|
|
81
|
+
* REST API and other services can reference the table via cross-stack.
|
|
82
|
+
*
|
|
83
|
+
**************************************************************************/
|
|
84
|
+
this.data = new service_1.OpenHiService(this, "data", {
|
|
85
|
+
type: service_1.OPEN_HI_SERVICE_TYPE.DATA_SERVICE,
|
|
86
|
+
config: (0, ts_deepmerge_1.merge)(this.options?.defaultConfig ?? {}, this.options?.dataServiceConfig ?? {}),
|
|
87
|
+
});
|
|
88
|
+
/***************************************************************************
|
|
89
|
+
*
|
|
90
|
+
* Integrations
|
|
91
|
+
*
|
|
92
|
+
* Various purpose specific integrations.
|
|
93
|
+
*
|
|
94
|
+
**************************************************************************/
|
|
95
|
+
/***************************************************************************
|
|
96
|
+
*
|
|
97
|
+
* Workflows
|
|
98
|
+
*
|
|
99
|
+
* Workflows for each environment.
|
|
100
|
+
*
|
|
101
|
+
**************************************************************************/
|
|
102
|
+
new build_dev_workflow_1.BuildDevelopmentWorkflow(rootProject, { openhi: this });
|
|
103
|
+
new build_stage_workflow_1.BuildStageWorkflow(rootProject, { openhi: this });
|
|
104
|
+
new aws_teardown_workflow_1.AwsTeardownWorkflow(rootProject, { openhi: this });
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
exports.OpenHi = OpenHi;
|
|
108
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3BlbmhpLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL29wZW5oaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFLQSwrQ0FBcUM7QUFFckMsdUNBQWdFO0FBQ2hFLDZFQUF3RTtBQUN4RSx1RUFBMEU7QUFDMUUsMkVBQXNFO0FBNER0RSxNQUFhLE1BQU07SUEwQ2pCLFlBQVksVUFBeUIsRUFBRTtRQUNyQzs7Ozs7O29GQU00RTtRQUU1RSxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUEsb0JBQUssRUFBQyxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsRUFBRSxPQUFPLENBQUMsQ0FBQztRQUNsRCxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDO1FBQzVDLElBQUksQ0FBQyxFQUFFLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxXQUFXLEVBQUUsSUFBSSxJQUFJLFFBQVEsQ0FBQztRQUVyRDs7O1dBR0c7UUFDSCxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQ3RCLE1BQU0sSUFBSSxLQUFLLENBQ2IsOEVBQThFLENBQy9FLENBQUM7UUFDSixDQUFDO1FBRUQsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQztRQUVyQzs7Ozs7OztvRkFPNEU7UUFFNUUsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLHVCQUFhLENBQUMsSUFBSSxFQUFFLFFBQVEsRUFBRTtZQUM5QyxJQUFJLEVBQUUsOEJBQW9CLENBQUMsTUFBTTtZQUNqQyxNQUFNLEVBQUUsSUFBQSxvQkFBSyxFQUNYLElBQUksQ0FBQyxPQUFPLEVBQUUsYUFBYSxJQUFJLEVBQUUsRUFDakMsSUFBSSxDQUFDLE9BQU8sRUFBRSxtQkFBbUIsSUFBSSxFQUFFLENBQ3hDO1NBQ0YsQ0FBQyxDQUFDO1FBRUg7Ozs7Ozs7b0ZBTzRFO1FBRTVFLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSx1QkFBYSxDQUFDLElBQUksRUFBRSxNQUFNLEVBQUU7WUFDMUMsSUFBSSxFQUFFLDhCQUFvQixDQUFDLElBQUk7WUFDL0IsTUFBTSxFQUFFLElBQUEsb0JBQUssRUFDWCxJQUFJLENBQUMsT0FBTyxFQUFFLGFBQWEsSUFBSSxFQUFFLEVBQ2pDLElBQUksQ0FBQyxPQUFPLEVBQUUsaUJBQWlCLElBQUksRUFBRSxDQUN0QztTQUNGLENBQUMsQ0FBQztRQUVIOzs7Ozs7b0ZBTTRFO1FBRTVFLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSx1QkFBYSxDQUFDLElBQUksRUFBRSxVQUFVLEVBQUU7WUFDakQsSUFBSSxFQUFFLDhCQUFvQixDQUFDLFFBQVE7WUFDbkMsTUFBTSxFQUFFLElBQUEsb0JBQUssRUFDWCxJQUFJLENBQUMsT0FBTyxFQUFFLGFBQWEsSUFBSSxFQUFFLEVBQ2pDLElBQUksQ0FBQyxPQUFPLEVBQUUsb0JBQW9CLElBQUksRUFBRSxDQUN6QztTQUNGLENBQUMsQ0FBQztRQUVIOzs7Ozs7O29GQU80RTtRQUU1RSxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksdUJBQWEsQ0FBQyxJQUFJLEVBQUUsTUFBTSxFQUFFO1lBQzFDLElBQUksRUFBRSw4QkFBb0IsQ0FBQyxJQUFJO1lBQy9CLE1BQU0sRUFBRSxJQUFBLG9CQUFLLEVBQ1gsSUFBSSxDQUFDLE9BQU8sRUFBRSxhQUFhLElBQUksRUFBRSxFQUNqQyxJQUFJLENBQUMsT0FBTyxFQUFFLGlCQUFpQixJQUFJLEVBQUUsQ0FDdEM7U0FDRixDQUFDLENBQUM7UUFFSDs7Ozs7OztvRkFPNEU7UUFFNUUsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLHVCQUFhLENBQUMsSUFBSSxFQUFFLE1BQU0sRUFBRTtZQUMxQyxJQUFJLEVBQUUsOEJBQW9CLENBQUMsWUFBWTtZQUN2QyxNQUFNLEVBQUUsSUFBQSxvQkFBSyxFQUNYLElBQUksQ0FBQyxPQUFPLEVBQUUsYUFBYSxJQUFJLEVBQUUsRUFDakMsSUFBSSxDQUFDLE9BQU8sRUFBRSxpQkFBaUIsSUFBSSxFQUFFLENBQ3RDO1NBQ0YsQ0FBQyxDQUFDO1FBRUg7Ozs7OztvRkFNNEU7UUFFNUU7Ozs7OztvRkFNNEU7UUFFNUUsSUFBSSw2Q0FBd0IsQ0FBQyxXQUFXLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztRQUM1RCxJQUFJLHlDQUFrQixDQUFDLFdBQVcsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBRXRELElBQUksMkNBQW1CLENBQUMsV0FBVyxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7SUFDekQsQ0FBQztDQUNGO0FBNUtELHdCQTRLQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIE1vbm9yZXBvUHJvamVjdCxcbiAgTW9ub3JlcG9Qcm9qZWN0T3B0aW9ucyxcbn0gZnJvbSBcIkBjb2RlZHJpZnRlcnMvY29uZmlndWxhdG9yXCI7XG5pbXBvcnQgeyBPcGVuSGlDb25maWcgfSBmcm9tIFwiQG9wZW5oaS9jb25maWdcIjtcbmltcG9ydCB7IG1lcmdlIH0gZnJvbSBcInRzLWRlZXBtZXJnZVwiO1xuaW1wb3J0IHsgU2V0T3B0aW9uYWwgfSBmcm9tIFwidHlwZS1mZXN0XCI7XG5pbXBvcnQgeyBPUEVOX0hJX1NFUlZJQ0VfVFlQRSwgT3BlbkhpU2VydmljZSB9IGZyb20gXCIuL3NlcnZpY2VcIjtcbmltcG9ydCB7IEF3c1RlYXJkb3duV29ya2Zsb3cgfSBmcm9tIFwiLi93b3JrZmxvd3MvYXdzLXRlYXJkb3duLXdvcmtmbG93XCI7XG5pbXBvcnQgeyBCdWlsZERldmVsb3BtZW50V29ya2Zsb3cgfSBmcm9tIFwiLi93b3JrZmxvd3MvYnVpbGQtZGV2LXdvcmtmbG93XCI7XG5pbXBvcnQgeyBCdWlsZFN0YWdlV29ya2Zsb3cgfSBmcm9tIFwiLi93b3JrZmxvd3MvYnVpbGQtc3RhZ2Utd29ya2Zsb3dcIjtcblxuZXhwb3J0IGludGVyZmFjZSBPcGVuSGlPcHRpb25zIHtcbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqXG4gICAqIFJvb3QgUHJvamVjdCBDb25maWd1cmF0aW9uIE9wdGlvbnNcbiAgICpcbiAgICogQ29uZmlndXJhdGlvbiBvcHRpb25zIGZvciB0aGUgcm9vdCBtb25vcmVwbyBwcm9qZWN0IHRoYXQgY29udGFpbnMgYWxsXG4gICAqIE9wZW5IaSBzZXJ2aWNlcyBhbmQgY29vcmRpbmF0ZSByZWxlYXNlcyBhbmQgYnVpbGRzLlxuICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICByZWFkb25seSByb290UHJvamVjdE9wdGlvbnM/OiBTZXRPcHRpb25hbDxNb25vcmVwb1Byb2plY3RPcHRpb25zLCBcIm5hbWVcIj47XG5cbiAgLyoqXG4gICAqIE1vbm9yZXBvIHJvb3QgcHJvamVjdCwgaWYgdXNpbmcgYW4gZXhpc3RpbmcgcHJvamVjdC5cbiAgICovXG4gIHJlYWRvbmx5IHJvb3RQcm9qZWN0PzogTW9ub3JlcG9Qcm9qZWN0O1xuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKlxuICAgKiBTZXJ2aWNlIENvbmZpZ3VyYXRpb24gT3B0aW9uc1xuICAgKlxuICAgKiBUaGVzZSBvcHRpb25zIGFyZSB1c2VkIHRvIGNvbmZpZ3VyZSB0aGUgdmFyaW91cyBzZXJ2aWNlcyB3aXRoaW4gdGhlIE9wZW5IaVxuICAgKiBmcmFtZXdvcmsuIEVhY2ggc2VydmljZSBjYW4gaGF2ZSBpdHMgb3duIGNvbmZpZ3VyYXRpb24gc2V0dGluZ3MsIHdoaWNoIHdpbGxcbiAgICogYmUgbWVyZ2VkIHdpdGggdGhlIGRlZmF1bHQgY29uZmlndXJhdGlvbi5cbiAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgLyoqXG4gICAqIERlZmF1bHQgY29uZmlndXJhdGlvbiB1c2VkIGluIGFsbCBzZXJ2aWNlcyB3aXRoIHVuZGVmaW5lZCBjb25maWdzLlxuICAgKi9cbiAgcmVhZG9ubHkgZGVmYXVsdENvbmZpZz86IE9wZW5IaUNvbmZpZztcblxuICAvKipcbiAgICogR2xvYmFsIFNlcnZpY2UgQ29uZmlnXG4gICAqL1xuICByZWFkb25seSBnbG9iYWxTZXJ2aWNlQ29uZmlnPzogT3BlbkhpQ29uZmlnO1xuXG4gIC8qKlxuICAgKiBBdXRoIFNlcnZpY2UgQ29uZmlnXG4gICAqL1xuICByZWFkb25seSBhdXRoU2VydmljZUNvbmZpZz86IE9wZW5IaUNvbmZpZztcblxuICAvKipcbiAgICogUmVzdCBBUEkgU2VydmljZSBDb25maWdcbiAgICovXG4gIHJlYWRvbmx5IHJlc3RBcGlTZXJ2aWNlQ29uZmlnPzogT3BlbkhpQ29uZmlnO1xuXG4gIC8qKlxuICAgKiBDb3JlIFNlcnZpY2UgQ29uZmlnXG4gICAqL1xuICByZWFkb25seSBjb3JlU2VydmljZUNvbmZpZz86IE9wZW5IaUNvbmZpZztcblxuICAvKipcbiAgICogRGF0YSBTZXJ2aWNlIENvbmZpZyAoRHluYW1vREIgRkhJUiBzdG9yZSwgUzMsIGV0Yy4pXG4gICAqL1xuICByZWFkb25seSBkYXRhU2VydmljZUNvbmZpZz86IE9wZW5IaUNvbmZpZztcbn1cblxuZXhwb3J0IGNsYXNzIE9wZW5IaSB7XG4gIC8qKlxuICAgKiBGaW5hbCBvcHRpb25zIHVzZWQgdG8gYnVpbGQgdGhpcyBpbnN0YW5jZS5cbiAgICovXG4gIHB1YmxpYyBvcHRpb25zOiBPcGVuSGlPcHRpb25zO1xuXG4gIC8qKlxuICAgKiBNb25vcmVwbyByb290IHByb2plY3QsIGVpdGhlciBwYXNzZWQgaW4gYXMgYW4gYXJndW1lbnQgb3IgZ2VuZXJhdGVkIGluXG4gICAqIHRoaXMgY29tcG9uZW50XG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgcm9vdFByb2plY3Q/OiBNb25vcmVwb1Byb2plY3Q7XG5cbiAgLyoqXG4gICAqIFRlc3QgaWRlbnRpZmllciBmb3IgdGhpcyBpbnN0YW5jZS5cbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBpZDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBHbG9iYWwgc2VydmljZSAoZGVwbG95ZWQgZmlyc3Q7IENvcmUgYW5kIGRhdGEgc2VydmljZXMgZGVwZW5kIG9uIGl0KS5cbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBnbG9iYWw6IE9wZW5IaVNlcnZpY2U7XG5cbiAgLyoqXG4gICAqIEF1dGggc2VydmljZSAoZGVwbG95ZWQgYmVmb3JlIENvcmU7IENvcmUgYW5kIGRhdGEgc2VydmljZXMgZGVwZW5kIG9uIGl0KS5cbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBhdXRoOiBPcGVuSGlTZXJ2aWNlO1xuXG4gIC8qKlxuICAgKiBSZXN0IEFQSSBzZXJ2aWNlXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgcmVzdEFwaTogT3BlbkhpU2VydmljZTtcblxuICAvKipcbiAgICogQ29yZSBzZXJ2aWNlXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgY29yZTogT3BlbkhpU2VydmljZTtcblxuICAvKipcbiAgICogRGF0YSBzZXJ2aWNlIChEeW5hbW9EQiBGSElSIHN0b3JlLCBTMywgYW5kIG90aGVyIHBlcnNpc3RlbmNlKS5cbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBkYXRhOiBPcGVuSGlTZXJ2aWNlO1xuXG4gIGNvbnN0cnVjdG9yKG9wdGlvbnM6IE9wZW5IaU9wdGlvbnMgPSB7fSkge1xuICAgIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgKlxuICAgICAqIE9wdGlvbnNcbiAgICAgKlxuICAgICAqIENvbWJpbmUgaW5wdXQgb3B0aW9ucyB3aXRoIGRlZmF1bHRzLlxuICAgICAqXG4gICAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gICAgdGhpcy5vcHRpb25zID0gbWVyZ2UoeyBuYW1lOiBcIm9wZW5oaVwiIH0sIG9wdGlvbnMpO1xuICAgIHRoaXMucm9vdFByb2plY3QgPSB0aGlzLm9wdGlvbnMucm9vdFByb2plY3Q7XG4gICAgdGhpcy5pZCA9IHRoaXMub3B0aW9ucy5yb290UHJvamVjdD8ubmFtZSA/PyBcIm9wZW5oaVwiO1xuXG4gICAgLyoqXG4gICAgICogSW4gZnV0dXJlIHdlIHdvdWxkIGNyZWF0ZSByb290IHByb2plY3QgaGVyZS4gRm9yIG5vdywgcmVxdWlyZSBpdCB0byBiZVxuICAgICAqIHBhc3NlZCBpbi5cbiAgICAgKi9cbiAgICBpZiAoIXRoaXMucm9vdFByb2plY3QpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgXCJPcGVuSGkgcmVxdWlyZXMgYSBNb25vcmVwb1Byb2plY3QgdG8gYmUgcGFzc2VkIGluIHZpYSB0aGUgcm9vdFByb2plY3Qgb3B0aW9uXCIsXG4gICAgICApO1xuICAgIH1cblxuICAgIGNvbnN0IHJvb3RQcm9qZWN0ID0gdGhpcy5yb290UHJvamVjdDtcblxuICAgIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgKlxuICAgICAqIEdsb2JhbCBTZXJ2aWNlXG4gICAgICpcbiAgICAgKiBBdXRoZW50aWNhdGlvbiAoQ29nbml0byB1c2VyIHBvb2wsIGNsaWVudCwgZG9tYWluLCBLTVMpLiBEZXBsb3llZCBiZWZvcmVcbiAgICAgKiBDb3JlIHNvIHRoYXQgQ29yZSBjYW4gY29uc3VtZSBhdXRoIHZpYSBTU00gcGFyYW1ldGVycy5cbiAgICAgKlxuICAgICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICAgIHRoaXMuZ2xvYmFsID0gbmV3IE9wZW5IaVNlcnZpY2UodGhpcywgXCJnbG9iYWxcIiwge1xuICAgICAgdHlwZTogT1BFTl9ISV9TRVJWSUNFX1RZUEUuR0xPQkFMLFxuICAgICAgY29uZmlnOiBtZXJnZShcbiAgICAgICAgdGhpcy5vcHRpb25zPy5kZWZhdWx0Q29uZmlnID8/IHt9LFxuICAgICAgICB0aGlzLm9wdGlvbnM/Lmdsb2JhbFNlcnZpY2VDb25maWcgPz8ge30sXG4gICAgICApLFxuICAgIH0pO1xuXG4gICAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAqXG4gICAgICogQXV0aCBTZXJ2aWNlXG4gICAgICpcbiAgICAgKiBBdXRoZW50aWNhdGlvbiAoQ29nbml0byB1c2VyIHBvb2wsIGNsaWVudCwgZG9tYWluLCBLTVMpLiBEZXBsb3llZCBiZWZvcmVcbiAgICAgKiBDb3JlIHNvIHRoYXQgQ29yZSBjYW4gY29uc3VtZSBhdXRoIHZpYSBTU00gcGFyYW1ldGVycy5cbiAgICAgKlxuICAgICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICAgIHRoaXMuYXV0aCA9IG5ldyBPcGVuSGlTZXJ2aWNlKHRoaXMsIFwiYXV0aFwiLCB7XG4gICAgICB0eXBlOiBPUEVOX0hJX1NFUlZJQ0VfVFlQRS5BVVRILFxuICAgICAgY29uZmlnOiBtZXJnZShcbiAgICAgICAgdGhpcy5vcHRpb25zPy5kZWZhdWx0Q29uZmlnID8/IHt9LFxuICAgICAgICB0aGlzLm9wdGlvbnM/LmF1dGhTZXJ2aWNlQ29uZmlnID8/IHt9LFxuICAgICAgKSxcbiAgICB9KTtcblxuICAgIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgKlxuICAgICAqIFJlc3QgQVBJIHNlcnZpY2VcbiAgICAgKlxuICAgICAqIFRoaXMgY29udGFpbnMgdGhlIFJFU1QgQVBJIGZvciB0aGUgT3BlbkhpIHBsYXRmb3JtLlxuICAgICAqXG4gICAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gICAgdGhpcy5yZXN0QXBpID0gbmV3IE9wZW5IaVNlcnZpY2UodGhpcywgXCJyZXN0LWFwaVwiLCB7XG4gICAgICB0eXBlOiBPUEVOX0hJX1NFUlZJQ0VfVFlQRS5SRVNUX0FQSSxcbiAgICAgIGNvbmZpZzogbWVyZ2UoXG4gICAgICAgIHRoaXMub3B0aW9ucz8uZGVmYXVsdENvbmZpZyA/PyB7fSxcbiAgICAgICAgdGhpcy5vcHRpb25zPy5yZXN0QXBpU2VydmljZUNvbmZpZyA/PyB7fSxcbiAgICAgICksXG4gICAgfSk7XG5cbiAgICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICpcbiAgICAgKiBDb3JlIFNlcnZpY2VcbiAgICAgKlxuICAgICAqIFRoaXMgY29udGFpbnMgcmVzb3VyY2VzIHRoYXQgYXJlIGNvbW1vbiBhY3Jvc3MgbXVsdGlwbGUgZW50ZXJwcmlzZSB1c2VcbiAgICAgKiBjYXNlcy5cbiAgICAgKlxuICAgICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICAgIHRoaXMuY29yZSA9IG5ldyBPcGVuSGlTZXJ2aWNlKHRoaXMsIFwiY29yZVwiLCB7XG4gICAgICB0eXBlOiBPUEVOX0hJX1NFUlZJQ0VfVFlQRS5DT1JFLFxuICAgICAgY29uZmlnOiBtZXJnZShcbiAgICAgICAgdGhpcy5vcHRpb25zPy5kZWZhdWx0Q29uZmlnID8/IHt9LFxuICAgICAgICB0aGlzLm9wdGlvbnM/LmNvcmVTZXJ2aWNlQ29uZmlnID8/IHt9LFxuICAgICAgKSxcbiAgICB9KTtcblxuICAgIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgKlxuICAgICAqIERhdGEgU2VydmljZVxuICAgICAqXG4gICAgICogRGF0YSBzdG9yYWdlIHN0YWNrIChEeW5hbW9EQiBGSElSIHN0b3JlLCBTMywgZXRjLikuIERlcGxveWVkIHNvIHRoYXRcbiAgICAgKiBSRVNUIEFQSSBhbmQgb3RoZXIgc2VydmljZXMgY2FuIHJlZmVyZW5jZSB0aGUgdGFibGUgdmlhIGNyb3NzLXN0YWNrLlxuICAgICAqXG4gICAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gICAgdGhpcy5kYXRhID0gbmV3IE9wZW5IaVNlcnZpY2UodGhpcywgXCJkYXRhXCIsIHtcbiAgICAgIHR5cGU6IE9QRU5fSElfU0VSVklDRV9UWVBFLkRBVEFfU0VSVklDRSxcbiAgICAgIGNvbmZpZzogbWVyZ2UoXG4gICAgICAgIHRoaXMub3B0aW9ucz8uZGVmYXVsdENvbmZpZyA/PyB7fSxcbiAgICAgICAgdGhpcy5vcHRpb25zPy5kYXRhU2VydmljZUNvbmZpZyA/PyB7fSxcbiAgICAgICksXG4gICAgfSk7XG5cbiAgICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICpcbiAgICAgKiBJbnRlZ3JhdGlvbnNcbiAgICAgKlxuICAgICAqIFZhcmlvdXMgcHVycG9zZSBzcGVjaWZpYyBpbnRlZ3JhdGlvbnMuXG4gICAgICpcbiAgICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICpcbiAgICAgKiBXb3JrZmxvd3NcbiAgICAgKlxuICAgICAqIFdvcmtmbG93cyBmb3IgZWFjaCBlbnZpcm9ubWVudC5cbiAgICAgKlxuICAgICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICAgIG5ldyBCdWlsZERldmVsb3BtZW50V29ya2Zsb3cocm9vdFByb2plY3QsIHsgb3BlbmhpOiB0aGlzIH0pO1xuICAgIG5ldyBCdWlsZFN0YWdlV29ya2Zsb3cocm9vdFByb2plY3QsIHsgb3BlbmhpOiB0aGlzIH0pO1xuXG4gICAgbmV3IEF3c1RlYXJkb3duV29ya2Zsb3cocm9vdFByb2plY3QsIHsgb3BlbmhpOiB0aGlzIH0pO1xuICB9XG59XG4iXX0=
|
package/lib/service.d.ts
ADDED
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { OpenHiConfig } from "@openhi/config";
|
|
2
|
+
import { awscdk } from "projen";
|
|
3
|
+
import { ValueOf } from "type-fest";
|
|
4
|
+
import { OpenHi } from "./openhi";
|
|
5
|
+
export declare const OPEN_HI_SERVICE_TYPE: {
|
|
6
|
+
readonly AUTH: "auth";
|
|
7
|
+
readonly CORE: "core";
|
|
8
|
+
readonly DATA_SERVICE: "data";
|
|
9
|
+
readonly GLOBAL: "global";
|
|
10
|
+
readonly INTEGRATION: "integration";
|
|
11
|
+
readonly REST_API: "rest-api";
|
|
12
|
+
};
|
|
13
|
+
export interface OpenHiServiceOptions {
|
|
14
|
+
/**
|
|
15
|
+
* Configuration for this service.
|
|
16
|
+
*
|
|
17
|
+
* @default uses the global default config.
|
|
18
|
+
*/
|
|
19
|
+
readonly config: OpenHiConfig;
|
|
20
|
+
/**
|
|
21
|
+
* What type of service is this?
|
|
22
|
+
*/
|
|
23
|
+
readonly type: ValueOf<typeof OPEN_HI_SERVICE_TYPE>;
|
|
24
|
+
}
|
|
25
|
+
export declare class OpenHiService {
|
|
26
|
+
openHi: OpenHi;
|
|
27
|
+
id: string;
|
|
28
|
+
options: OpenHiServiceOptions;
|
|
29
|
+
readonly project: awscdk.AwsCdkTypeScriptApp;
|
|
30
|
+
constructor(openHi: OpenHi, id: string, options: OpenHiServiceOptions);
|
|
31
|
+
private addDeploymentTarget;
|
|
32
|
+
get constructName(): string;
|
|
33
|
+
get outDir(): string;
|
|
34
|
+
get serviceName(): string;
|
|
35
|
+
get typeDir(): Array<string>;
|
|
36
|
+
}
|
package/lib/service.js
ADDED
|
@@ -0,0 +1,203 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.OpenHiService = exports.OPEN_HI_SERVICE_TYPE = void 0;
|
|
4
|
+
const path_1 = require("path");
|
|
5
|
+
const configulator_1 = require("@codedrifters/configulator");
|
|
6
|
+
const config_1 = require("@openhi/config");
|
|
7
|
+
const change_case_1 = require("change-case");
|
|
8
|
+
const projen_1 = require("projen");
|
|
9
|
+
const javascript_1 = require("projen/lib/javascript");
|
|
10
|
+
const generate_templates_1 = require("./templates/generate-templates");
|
|
11
|
+
exports.OPEN_HI_SERVICE_TYPE = {
|
|
12
|
+
AUTH: "auth",
|
|
13
|
+
CORE: "core",
|
|
14
|
+
DATA_SERVICE: "data",
|
|
15
|
+
GLOBAL: "global",
|
|
16
|
+
INTEGRATION: "integration",
|
|
17
|
+
REST_API: "rest-api",
|
|
18
|
+
};
|
|
19
|
+
class OpenHiService {
|
|
20
|
+
constructor(openHi, id, options) {
|
|
21
|
+
/**
|
|
22
|
+
* Build the construct name we expect to use in this service.
|
|
23
|
+
*/
|
|
24
|
+
this.openHi = openHi;
|
|
25
|
+
this.id = id;
|
|
26
|
+
this.options = options;
|
|
27
|
+
this.addDeploymentTarget = (awsStageType, awsEnvironmentType, envConfig) => {
|
|
28
|
+
new configulator_1.AwsDeploymentTarget(this.project, {
|
|
29
|
+
account: envConfig.account,
|
|
30
|
+
region: envConfig.region,
|
|
31
|
+
awsStageType,
|
|
32
|
+
awsEnvironmentType,
|
|
33
|
+
localDeployment: true,
|
|
34
|
+
localDeploymentConfig: {
|
|
35
|
+
stackPattern: `${awsStageType}/${awsEnvironmentType}/*-${envConfig.account}-${envConfig.region}`,
|
|
36
|
+
roleName: "poweruseraccess",
|
|
37
|
+
},
|
|
38
|
+
ciDeployment: true,
|
|
39
|
+
ciDeploymentConfig: {
|
|
40
|
+
roleArn: `arn:aws:iam::${envConfig.account}:role/GitHubOpenHiDeployer`,
|
|
41
|
+
stackPattern: `${awsStageType}/${awsEnvironmentType}/*-${envConfig.account}-${envConfig.region}`,
|
|
42
|
+
},
|
|
43
|
+
branches: awsStageType === config_1.OPEN_HI_STAGE.DEV
|
|
44
|
+
? [
|
|
45
|
+
{
|
|
46
|
+
branch: "feat/*",
|
|
47
|
+
description: [
|
|
48
|
+
"Feature branches for OpenHI (short form).",
|
|
49
|
+
"These branches are used for developing new features.",
|
|
50
|
+
],
|
|
51
|
+
},
|
|
52
|
+
{
|
|
53
|
+
branch: "feature/*",
|
|
54
|
+
description: [
|
|
55
|
+
"Feature branches for OpenHI.",
|
|
56
|
+
"These branches are used for developing new features.",
|
|
57
|
+
],
|
|
58
|
+
},
|
|
59
|
+
{
|
|
60
|
+
branch: "fix/*",
|
|
61
|
+
description: [
|
|
62
|
+
"Fix branches for OpenHI.",
|
|
63
|
+
"This branch pattern is used when a developer is working on a fix on the project.",
|
|
64
|
+
],
|
|
65
|
+
},
|
|
66
|
+
]
|
|
67
|
+
: [
|
|
68
|
+
{
|
|
69
|
+
branch: "main",
|
|
70
|
+
description: [
|
|
71
|
+
"Main branch for OpenHI.",
|
|
72
|
+
"This branch is used for the main branch.",
|
|
73
|
+
],
|
|
74
|
+
},
|
|
75
|
+
],
|
|
76
|
+
});
|
|
77
|
+
};
|
|
78
|
+
/***************************************************************************
|
|
79
|
+
*
|
|
80
|
+
* Projen based CDK build
|
|
81
|
+
*
|
|
82
|
+
**************************************************************************/
|
|
83
|
+
this.project = new projen_1.awscdk.AwsCdkTypeScriptApp({
|
|
84
|
+
/**
|
|
85
|
+
* Top level project config options
|
|
86
|
+
*/
|
|
87
|
+
defaultReleaseBranch: "main",
|
|
88
|
+
name: this.serviceName,
|
|
89
|
+
outdir: this.outDir,
|
|
90
|
+
parent: this.openHi.rootProject,
|
|
91
|
+
cdkVersion: this.options?.config?.versions?.cdk?.cdkLibVersion ??
|
|
92
|
+
configulator_1.VERSION.AWS_CDK_LIB_VERSION,
|
|
93
|
+
cdkCliVersion: this.options?.config?.versions?.cdk?.cdkCliVersion ??
|
|
94
|
+
configulator_1.VERSION.AWS_CDK_CLI_VERSION,
|
|
95
|
+
/**
|
|
96
|
+
* Packaging options
|
|
97
|
+
*
|
|
98
|
+
* TODO: Figure out license for monorepo vs per package?
|
|
99
|
+
*/
|
|
100
|
+
licensed: false,
|
|
101
|
+
/**
|
|
102
|
+
* Node configs
|
|
103
|
+
*/
|
|
104
|
+
packageManager: javascript_1.NodePackageManager.PNPM,
|
|
105
|
+
/**
|
|
106
|
+
* Turn on prettier formatting
|
|
107
|
+
*/
|
|
108
|
+
prettier: true,
|
|
109
|
+
/**
|
|
110
|
+
* Don't generate sample code.
|
|
111
|
+
*/
|
|
112
|
+
sampleCode: false,
|
|
113
|
+
/**
|
|
114
|
+
* Make sure jest config is stored outside of package.json and use SWC
|
|
115
|
+
* for faster tests.
|
|
116
|
+
*/
|
|
117
|
+
jestOptions: {
|
|
118
|
+
configFilePath: "jest.config.json",
|
|
119
|
+
jestConfig: {
|
|
120
|
+
transform: {
|
|
121
|
+
["^.+\\.[t]sx?$"]: new javascript_1.Transform("@swc/jest"),
|
|
122
|
+
},
|
|
123
|
+
},
|
|
124
|
+
},
|
|
125
|
+
/**
|
|
126
|
+
* SWC for faster testing
|
|
127
|
+
*/
|
|
128
|
+
devDeps: ["@swc/jest", "@swc/core"],
|
|
129
|
+
/**
|
|
130
|
+
* Don't package test files.
|
|
131
|
+
*/
|
|
132
|
+
npmIgnoreOptions: {
|
|
133
|
+
ignorePatterns: ["*.spec.*", "*.test.*"],
|
|
134
|
+
},
|
|
135
|
+
});
|
|
136
|
+
/**
|
|
137
|
+
* We're using SWC now, remove ts-jest which is included by default.
|
|
138
|
+
*/
|
|
139
|
+
this.project.deps.removeDependency("ts-jest");
|
|
140
|
+
/***************************************************************************
|
|
141
|
+
*
|
|
142
|
+
* Workspace Dependencies
|
|
143
|
+
*
|
|
144
|
+
* - Constructs are used to build out the AWS CDK environments.
|
|
145
|
+
*
|
|
146
|
+
**************************************************************************/
|
|
147
|
+
this.project.addDeps("@openhi/config@workspace:*", "@openhi/constructs@workspace:*");
|
|
148
|
+
/***************************************************************************
|
|
149
|
+
*
|
|
150
|
+
* Turbo Configuration
|
|
151
|
+
*
|
|
152
|
+
* - Activate turborepo for the project.
|
|
153
|
+
*
|
|
154
|
+
**************************************************************************/
|
|
155
|
+
new configulator_1.TurboRepo(this.project);
|
|
156
|
+
/***************************************************************************
|
|
157
|
+
*
|
|
158
|
+
* Define some basic Service Structure
|
|
159
|
+
*
|
|
160
|
+
**************************************************************************/
|
|
161
|
+
new generate_templates_1.GenerateTemplates(this);
|
|
162
|
+
/***************************************************************************
|
|
163
|
+
*
|
|
164
|
+
* Deployment Targets
|
|
165
|
+
*
|
|
166
|
+
**************************************************************************/
|
|
167
|
+
[config_1.OPEN_HI_STAGE.DEV, config_1.OPEN_HI_STAGE.STAGE, config_1.OPEN_HI_STAGE.PROD].forEach((stage) => {
|
|
168
|
+
const targets = this.options?.config?.deploymentTargets?.[stage];
|
|
169
|
+
if (targets?.primary) {
|
|
170
|
+
this.addDeploymentTarget(stage, config_1.OPEN_HI_DEPLOYMENT_TARGET_ROLE.PRIMARY, targets.primary);
|
|
171
|
+
}
|
|
172
|
+
targets?.secondary?.forEach((env) => {
|
|
173
|
+
this.addDeploymentTarget(stage, config_1.OPEN_HI_DEPLOYMENT_TARGET_ROLE.SECONDARY, env);
|
|
174
|
+
});
|
|
175
|
+
});
|
|
176
|
+
}
|
|
177
|
+
get constructName() {
|
|
178
|
+
return (0, change_case_1.pascalCase)(["open", "hi", this.id, "service"].join("-"));
|
|
179
|
+
}
|
|
180
|
+
get outDir() {
|
|
181
|
+
return [
|
|
182
|
+
(0, change_case_1.paramCase)(this.openHi.id),
|
|
183
|
+
...this.typeDir.map((x) => (0, change_case_1.paramCase)(x)),
|
|
184
|
+
(0, change_case_1.paramCase)(this.id),
|
|
185
|
+
].join(path_1.sep);
|
|
186
|
+
}
|
|
187
|
+
get serviceName() {
|
|
188
|
+
return [(0, change_case_1.paramCase)(this.openHi.id), (0, change_case_1.paramCase)(this.id)].join("-");
|
|
189
|
+
}
|
|
190
|
+
get typeDir() {
|
|
191
|
+
return [];
|
|
192
|
+
/*
|
|
193
|
+
return this.options.type === OPEN_HI_SERVICE_TYPE.AUTH ||
|
|
194
|
+
this.options.type === OPEN_HI_SERVICE_TYPE.CORE ||
|
|
195
|
+
this.options.type === OPEN_HI_SERVICE_TYPE.GLOBAL
|
|
196
|
+
? []
|
|
197
|
+
: this.options.type === OPEN_HI_SERVICE_TYPE.DATA_SERVICE
|
|
198
|
+
? ["data"]
|
|
199
|
+
: ["integration"];*/
|
|
200
|
+
}
|
|
201
|
+
}
|
|
202
|
+
exports.OpenHiService = OpenHiService;
|
|
203
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLCtCQUEyQjtBQUMzQiw2REFJb0M7QUFDcEMsMkNBS3dCO0FBQ3hCLDZDQUFvRDtBQUNwRCxtQ0FBZ0M7QUFDaEMsc0RBQXNFO0FBR3RFLHVFQUFtRTtBQUV0RCxRQUFBLG9CQUFvQixHQUFHO0lBQ2xDLElBQUksRUFBRSxNQUFNO0lBQ1osSUFBSSxFQUFFLE1BQU07SUFDWixZQUFZLEVBQUUsTUFBTTtJQUNwQixNQUFNLEVBQUUsUUFBUTtJQUNoQixXQUFXLEVBQUUsYUFBYTtJQUMxQixRQUFRLEVBQUUsVUFBVTtDQUNaLENBQUM7QUFnQlgsTUFBYSxhQUFhO0lBR3hCLFlBQ1MsTUFBYyxFQUNkLEVBQVUsRUFDVixPQUE2QjtRQUVwQzs7V0FFRztRQU5JLFdBQU0sR0FBTixNQUFNLENBQVE7UUFDZCxPQUFFLEdBQUYsRUFBRSxDQUFRO1FBQ1YsWUFBTyxHQUFQLE9BQU8sQ0FBc0I7UUEwSTlCLHdCQUFtQixHQUFHLENBQzVCLFlBQTJDLEVBQzNDLGtCQUFrRSxFQUNsRSxTQUFrQyxFQUNsQyxFQUFFO1lBQ0YsSUFBSSxrQ0FBbUIsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFO2dCQUNwQyxPQUFPLEVBQUUsU0FBUyxDQUFDLE9BQU87Z0JBQzFCLE1BQU0sRUFBRSxTQUFTLENBQUMsTUFBTTtnQkFDeEIsWUFBWTtnQkFDWixrQkFBa0I7Z0JBQ2xCLGVBQWUsRUFBRSxJQUFJO2dCQUNyQixxQkFBcUIsRUFBRTtvQkFDckIsWUFBWSxFQUFFLEdBQUcsWUFBWSxJQUFJLGtCQUFrQixNQUFNLFNBQVMsQ0FBQyxPQUFPLElBQUksU0FBUyxDQUFDLE1BQU0sRUFBRTtvQkFDaEcsUUFBUSxFQUFFLGlCQUFpQjtpQkFDNUI7Z0JBQ0QsWUFBWSxFQUFFLElBQUk7Z0JBQ2xCLGtCQUFrQixFQUFFO29CQUNsQixPQUFPLEVBQUUsZ0JBQWdCLFNBQVMsQ0FBQyxPQUFPLDRCQUE0QjtvQkFDdEUsWUFBWSxFQUFFLEdBQUcsWUFBWSxJQUFJLGtCQUFrQixNQUFNLFNBQVMsQ0FBQyxPQUFPLElBQUksU0FBUyxDQUFDLE1BQU0sRUFBRTtpQkFDakc7Z0JBRUQsUUFBUSxFQUNOLFlBQVksS0FBSyxzQkFBYSxDQUFDLEdBQUc7b0JBQ2hDLENBQUMsQ0FBQzt3QkFDRTs0QkFDRSxNQUFNLEVBQUUsUUFBUTs0QkFDaEIsV0FBVyxFQUFFO2dDQUNYLDJDQUEyQztnQ0FDM0Msc0RBQXNEOzZCQUN2RDt5QkFDRjt3QkFDRDs0QkFDRSxNQUFNLEVBQUUsV0FBVzs0QkFDbkIsV0FBVyxFQUFFO2dDQUNYLDhCQUE4QjtnQ0FDOUIsc0RBQXNEOzZCQUN2RDt5QkFDRjt3QkFDRDs0QkFDRSxNQUFNLEVBQUUsT0FBTzs0QkFDZixXQUFXLEVBQUU7Z0NBQ1gsMEJBQTBCO2dDQUMxQixrRkFBa0Y7NkJBQ25GO3lCQUNGO3FCQUNGO29CQUNILENBQUMsQ0FBQzt3QkFDRTs0QkFDRSxNQUFNLEVBQUUsTUFBTTs0QkFDZCxXQUFXLEVBQUU7Z0NBQ1gseUJBQXlCO2dDQUN6QiwwQ0FBMEM7NkJBQzNDO3lCQUNGO3FCQUNGO2FBQ1IsQ0FBQyxDQUFDO1FBQ0wsQ0FBQyxDQUFDO1FBNUxBOzs7O29GQUk0RTtRQUU1RSxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksZUFBTSxDQUFDLG1CQUFtQixDQUFDO1lBQzVDOztlQUVHO1lBQ0gsb0JBQW9CLEVBQUUsTUFBTTtZQUM1QixJQUFJLEVBQUUsSUFBSSxDQUFDLFdBQVc7WUFDdEIsTUFBTSxFQUFFLElBQUksQ0FBQyxNQUFNO1lBQ25CLE1BQU0sRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVc7WUFDL0IsVUFBVSxFQUNSLElBQUksQ0FBQyxPQUFPLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxHQUFHLEVBQUUsYUFBYTtnQkFDbEQsc0JBQU8sQ0FBQyxtQkFBbUI7WUFDN0IsYUFBYSxFQUNYLElBQUksQ0FBQyxPQUFPLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxHQUFHLEVBQUUsYUFBYTtnQkFDbEQsc0JBQU8sQ0FBQyxtQkFBbUI7WUFFN0I7Ozs7ZUFJRztZQUNILFFBQVEsRUFBRSxLQUFLO1lBRWY7O2VBRUc7WUFDSCxjQUFjLEVBQUUsK0JBQWtCLENBQUMsSUFBSTtZQUV2Qzs7ZUFFRztZQUNILFFBQVEsRUFBRSxJQUFJO1lBRWQ7O2VBRUc7WUFDSCxVQUFVLEVBQUUsS0FBSztZQUVqQjs7O2VBR0c7WUFDSCxXQUFXLEVBQUU7Z0JBQ1gsY0FBYyxFQUFFLGtCQUFrQjtnQkFDbEMsVUFBVSxFQUFFO29CQUNWLFNBQVMsRUFBRTt3QkFDVCxDQUFDLGVBQWUsQ0FBQyxFQUFFLElBQUksc0JBQVMsQ0FBQyxXQUFXLENBQUM7cUJBQzlDO2lCQUNGO2FBQ0Y7WUFFRDs7ZUFFRztZQUNILE9BQU8sRUFBRSxDQUFDLFdBQVcsRUFBRSxXQUFXLENBQUM7WUFFbkM7O2VBRUc7WUFDSCxnQkFBZ0IsRUFBRTtnQkFDaEIsY0FBYyxFQUFFLENBQUMsVUFBVSxFQUFFLFVBQVUsQ0FBQzthQUN6QztTQUNGLENBQUMsQ0FBQztRQUVIOztXQUVHO1FBQ0gsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsU0FBUyxDQUFDLENBQUM7UUFFOUM7Ozs7OztvRkFNNEU7UUFFNUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQ2xCLDRCQUE0QixFQUM1QixnQ0FBZ0MsQ0FDakMsQ0FBQztRQUVGOzs7Ozs7b0ZBTTRFO1FBRTVFLElBQUksd0JBQVMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7UUFFNUI7Ozs7b0ZBSTRFO1FBRTVFLElBQUksc0NBQWlCLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFNUI7Ozs7b0ZBSTRFO1FBRTVFLENBQUMsc0JBQWEsQ0FBQyxHQUFHLEVBQUUsc0JBQWEsQ0FBQyxLQUFLLEVBQUUsc0JBQWEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxPQUFPLENBQ2xFLENBQUMsS0FBSyxFQUFFLEVBQUU7WUFDUixNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxpQkFBaUIsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ2pFLElBQUksT0FBTyxFQUFFLE9BQU8sRUFBRSxDQUFDO2dCQUNyQixJQUFJLENBQUMsbUJBQW1CLENBQ3RCLEtBQUssRUFDTCx1Q0FBOEIsQ0FBQyxPQUFPLEVBQ3RDLE9BQU8sQ0FBQyxPQUFPLENBQ2hCLENBQUM7WUFDSixDQUFDO1lBQ0QsT0FBTyxFQUFFLFNBQVMsRUFBRSxPQUFPLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRTtnQkFDbEMsSUFBSSxDQUFDLG1CQUFtQixDQUN0QixLQUFLLEVBQ0wsdUNBQThCLENBQUMsU0FBUyxFQUN4QyxHQUFHLENBQ0osQ0FBQztZQUNKLENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQyxDQUNGLENBQUM7SUFDSixDQUFDO0lBNERELElBQUksYUFBYTtRQUNmLE9BQU8sSUFBQSx3QkFBVSxFQUFDLENBQUMsTUFBTSxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsRUFBRSxFQUFFLFNBQVMsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBQ2xFLENBQUM7SUFFRCxJQUFJLE1BQU07UUFDUixPQUFPO1lBQ0wsSUFBQSx1QkFBUyxFQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO1lBQ3pCLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLElBQUEsdUJBQVMsRUFBQyxDQUFDLENBQUMsQ0FBQztZQUN4QyxJQUFBLHVCQUFTLEVBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztTQUNuQixDQUFDLElBQUksQ0FBQyxVQUFHLENBQUMsQ0FBQztJQUNkLENBQUM7SUFFRCxJQUFJLFdBQVc7UUFDYixPQUFPLENBQUMsSUFBQSx1QkFBUyxFQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLEVBQUUsSUFBQSx1QkFBUyxFQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUNuRSxDQUFDO0lBRUQsSUFBSSxPQUFPO1FBQ1QsT0FBTyxFQUFFLENBQUM7UUFDVjs7Ozs7OztnQ0FPd0I7SUFDMUIsQ0FBQztDQUNGO0FBck9ELHNDQXFPQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHNlcCB9IGZyb20gXCJwYXRoXCI7XG5pbXBvcnQge1xuICBBd3NEZXBsb3ltZW50VGFyZ2V0LFxuICBUdXJib1JlcG8sXG4gIFZFUlNJT04sXG59IGZyb20gXCJAY29kZWRyaWZ0ZXJzL2NvbmZpZ3VsYXRvclwiO1xuaW1wb3J0IHtcbiAgT1BFTl9ISV9ERVBMT1lNRU5UX1RBUkdFVF9ST0xFLFxuICBPUEVOX0hJX1NUQUdFLFxuICBPcGVuSGlDb25maWcsXG4gIE9wZW5IaUVudmlyb25tZW50Q29uZmlnLFxufSBmcm9tIFwiQG9wZW5oaS9jb25maWdcIjtcbmltcG9ydCB7IHBhcmFtQ2FzZSwgcGFzY2FsQ2FzZSB9IGZyb20gXCJjaGFuZ2UtY2FzZVwiO1xuaW1wb3J0IHsgYXdzY2RrIH0gZnJvbSBcInByb2plblwiO1xuaW1wb3J0IHsgTm9kZVBhY2thZ2VNYW5hZ2VyLCBUcmFuc2Zvcm0gfSBmcm9tIFwicHJvamVuL2xpYi9qYXZhc2NyaXB0XCI7XG5pbXBvcnQgeyBWYWx1ZU9mIH0gZnJvbSBcInR5cGUtZmVzdFwiO1xuaW1wb3J0IHsgT3BlbkhpIH0gZnJvbSBcIi4vb3BlbmhpXCI7XG5pbXBvcnQgeyBHZW5lcmF0ZVRlbXBsYXRlcyB9IGZyb20gXCIuL3RlbXBsYXRlcy9nZW5lcmF0ZS10ZW1wbGF0ZXNcIjtcblxuZXhwb3J0IGNvbnN0IE9QRU5fSElfU0VSVklDRV9UWVBFID0ge1xuICBBVVRIOiBcImF1dGhcIixcbiAgQ09SRTogXCJjb3JlXCIsXG4gIERBVEFfU0VSVklDRTogXCJkYXRhXCIsXG4gIEdMT0JBTDogXCJnbG9iYWxcIixcbiAgSU5URUdSQVRJT046IFwiaW50ZWdyYXRpb25cIixcbiAgUkVTVF9BUEk6IFwicmVzdC1hcGlcIixcbn0gYXMgY29uc3Q7XG5cbmV4cG9ydCBpbnRlcmZhY2UgT3BlbkhpU2VydmljZU9wdGlvbnMge1xuICAvKipcbiAgICogQ29uZmlndXJhdGlvbiBmb3IgdGhpcyBzZXJ2aWNlLlxuICAgKlxuICAgKiBAZGVmYXVsdCB1c2VzIHRoZSBnbG9iYWwgZGVmYXVsdCBjb25maWcuXG4gICAqL1xuICByZWFkb25seSBjb25maWc6IE9wZW5IaUNvbmZpZztcblxuICAvKipcbiAgICogV2hhdCB0eXBlIG9mIHNlcnZpY2UgaXMgdGhpcz9cbiAgICovXG4gIHJlYWRvbmx5IHR5cGU6IFZhbHVlT2Y8dHlwZW9mIE9QRU5fSElfU0VSVklDRV9UWVBFPjtcbn1cblxuZXhwb3J0IGNsYXNzIE9wZW5IaVNlcnZpY2Uge1xuICBwdWJsaWMgcmVhZG9ubHkgcHJvamVjdDogYXdzY2RrLkF3c0Nka1R5cGVTY3JpcHRBcHA7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIG9wZW5IaTogT3BlbkhpLFxuICAgIHB1YmxpYyBpZDogc3RyaW5nLFxuICAgIHB1YmxpYyBvcHRpb25zOiBPcGVuSGlTZXJ2aWNlT3B0aW9ucyxcbiAgKSB7XG4gICAgLyoqXG4gICAgICogQnVpbGQgdGhlIGNvbnN0cnVjdCBuYW1lIHdlIGV4cGVjdCB0byB1c2UgaW4gdGhpcyBzZXJ2aWNlLlxuICAgICAqL1xuXG4gICAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAqXG4gICAgICogUHJvamVuIGJhc2VkIENESyBidWlsZFxuICAgICAqXG4gICAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gICAgdGhpcy5wcm9qZWN0ID0gbmV3IGF3c2Nkay5Bd3NDZGtUeXBlU2NyaXB0QXBwKHtcbiAgICAgIC8qKlxuICAgICAgICogVG9wIGxldmVsIHByb2plY3QgY29uZmlnIG9wdGlvbnNcbiAgICAgICAqL1xuICAgICAgZGVmYXVsdFJlbGVhc2VCcmFuY2g6IFwibWFpblwiLFxuICAgICAgbmFtZTogdGhpcy5zZXJ2aWNlTmFtZSxcbiAgICAgIG91dGRpcjogdGhpcy5vdXREaXIsXG4gICAgICBwYXJlbnQ6IHRoaXMub3BlbkhpLnJvb3RQcm9qZWN0LFxuICAgICAgY2RrVmVyc2lvbjpcbiAgICAgICAgdGhpcy5vcHRpb25zPy5jb25maWc/LnZlcnNpb25zPy5jZGs/LmNka0xpYlZlcnNpb24gPz9cbiAgICAgICAgVkVSU0lPTi5BV1NfQ0RLX0xJQl9WRVJTSU9OLFxuICAgICAgY2RrQ2xpVmVyc2lvbjpcbiAgICAgICAgdGhpcy5vcHRpb25zPy5jb25maWc/LnZlcnNpb25zPy5jZGs/LmNka0NsaVZlcnNpb24gPz9cbiAgICAgICAgVkVSU0lPTi5BV1NfQ0RLX0NMSV9WRVJTSU9OLFxuXG4gICAgICAvKipcbiAgICAgICAqIFBhY2thZ2luZyBvcHRpb25zXG4gICAgICAgKlxuICAgICAgICogVE9ETzogRmlndXJlIG91dCBsaWNlbnNlIGZvciBtb25vcmVwbyB2cyBwZXIgcGFja2FnZT9cbiAgICAgICAqL1xuICAgICAgbGljZW5zZWQ6IGZhbHNlLFxuXG4gICAgICAvKipcbiAgICAgICAqIE5vZGUgY29uZmlnc1xuICAgICAgICovXG4gICAgICBwYWNrYWdlTWFuYWdlcjogTm9kZVBhY2thZ2VNYW5hZ2VyLlBOUE0sXG5cbiAgICAgIC8qKlxuICAgICAgICogVHVybiBvbiBwcmV0dGllciBmb3JtYXR0aW5nXG4gICAgICAgKi9cbiAgICAgIHByZXR0aWVyOiB0cnVlLFxuXG4gICAgICAvKipcbiAgICAgICAqIERvbid0IGdlbmVyYXRlIHNhbXBsZSBjb2RlLlxuICAgICAgICovXG4gICAgICBzYW1wbGVDb2RlOiBmYWxzZSxcblxuICAgICAgLyoqXG4gICAgICAgKiBNYWtlIHN1cmUgamVzdCBjb25maWcgaXMgc3RvcmVkIG91dHNpZGUgb2YgcGFja2FnZS5qc29uIGFuZCB1c2UgU1dDXG4gICAgICAgKiBmb3IgZmFzdGVyIHRlc3RzLlxuICAgICAgICovXG4gICAgICBqZXN0T3B0aW9uczoge1xuICAgICAgICBjb25maWdGaWxlUGF0aDogXCJqZXN0LmNvbmZpZy5qc29uXCIsXG4gICAgICAgIGplc3RDb25maWc6IHtcbiAgICAgICAgICB0cmFuc2Zvcm06IHtcbiAgICAgICAgICAgIFtcIl4uK1xcXFwuW3Rdc3g/JFwiXTogbmV3IFRyYW5zZm9ybShcIkBzd2MvamVzdFwiKSxcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgfSxcblxuICAgICAgLyoqXG4gICAgICAgKiBTV0MgZm9yIGZhc3RlciB0ZXN0aW5nXG4gICAgICAgKi9cbiAgICAgIGRldkRlcHM6IFtcIkBzd2MvamVzdFwiLCBcIkBzd2MvY29yZVwiXSxcblxuICAgICAgLyoqXG4gICAgICAgKiBEb24ndCBwYWNrYWdlIHRlc3QgZmlsZXMuXG4gICAgICAgKi9cbiAgICAgIG5wbUlnbm9yZU9wdGlvbnM6IHtcbiAgICAgICAgaWdub3JlUGF0dGVybnM6IFtcIiouc3BlYy4qXCIsIFwiKi50ZXN0LipcIl0sXG4gICAgICB9LFxuICAgIH0pO1xuXG4gICAgLyoqXG4gICAgICogV2UncmUgdXNpbmcgU1dDIG5vdywgcmVtb3ZlIHRzLWplc3Qgd2hpY2ggaXMgaW5jbHVkZWQgYnkgZGVmYXVsdC5cbiAgICAgKi9cbiAgICB0aGlzLnByb2plY3QuZGVwcy5yZW1vdmVEZXBlbmRlbmN5KFwidHMtamVzdFwiKTtcblxuICAgIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgKlxuICAgICAqIFdvcmtzcGFjZSBEZXBlbmRlbmNpZXNcbiAgICAgKlxuICAgICAqIC0gQ29uc3RydWN0cyBhcmUgdXNlZCB0byBidWlsZCBvdXQgdGhlIEFXUyBDREsgZW52aXJvbm1lbnRzLlxuICAgICAqXG4gICAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gICAgdGhpcy5wcm9qZWN0LmFkZERlcHMoXG4gICAgICBcIkBvcGVuaGkvY29uZmlnQHdvcmtzcGFjZToqXCIsXG4gICAgICBcIkBvcGVuaGkvY29uc3RydWN0c0B3b3Jrc3BhY2U6KlwiLFxuICAgICk7XG5cbiAgICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICpcbiAgICAgKiBUdXJibyBDb25maWd1cmF0aW9uXG4gICAgICpcbiAgICAgKiAtIEFjdGl2YXRlIHR1cmJvcmVwbyBmb3IgdGhlIHByb2plY3QuXG4gICAgICpcbiAgICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgICBuZXcgVHVyYm9SZXBvKHRoaXMucHJvamVjdCk7XG5cbiAgICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICpcbiAgICAgKiBEZWZpbmUgc29tZSBiYXNpYyBTZXJ2aWNlIFN0cnVjdHVyZVxuICAgICAqXG4gICAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gICAgbmV3IEdlbmVyYXRlVGVtcGxhdGVzKHRoaXMpO1xuXG4gICAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAqXG4gICAgICogRGVwbG95bWVudCBUYXJnZXRzXG4gICAgICpcbiAgICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgICBbT1BFTl9ISV9TVEFHRS5ERVYsIE9QRU5fSElfU1RBR0UuU1RBR0UsIE9QRU5fSElfU1RBR0UuUFJPRF0uZm9yRWFjaChcbiAgICAgIChzdGFnZSkgPT4ge1xuICAgICAgICBjb25zdCB0YXJnZXRzID0gdGhpcy5vcHRpb25zPy5jb25maWc/LmRlcGxveW1lbnRUYXJnZXRzPy5bc3RhZ2VdO1xuICAgICAgICBpZiAodGFyZ2V0cz8ucHJpbWFyeSkge1xuICAgICAgICAgIHRoaXMuYWRkRGVwbG95bWVudFRhcmdldChcbiAgICAgICAgICAgIHN0YWdlLFxuICAgICAgICAgICAgT1BFTl9ISV9ERVBMT1lNRU5UX1RBUkdFVF9ST0xFLlBSSU1BUlksXG4gICAgICAgICAgICB0YXJnZXRzLnByaW1hcnksXG4gICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgICAgICB0YXJnZXRzPy5zZWNvbmRhcnk/LmZvckVhY2goKGVudikgPT4ge1xuICAgICAgICAgIHRoaXMuYWRkRGVwbG95bWVudFRhcmdldChcbiAgICAgICAgICAgIHN0YWdlLFxuICAgICAgICAgICAgT1BFTl9ISV9ERVBMT1lNRU5UX1RBUkdFVF9ST0xFLlNFQ09OREFSWSxcbiAgICAgICAgICAgIGVudixcbiAgICAgICAgICApO1xuICAgICAgICB9KTtcbiAgICAgIH0sXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgYWRkRGVwbG95bWVudFRhcmdldCA9IChcbiAgICBhd3NTdGFnZVR5cGU6IFZhbHVlT2Y8dHlwZW9mIE9QRU5fSElfU1RBR0U+LFxuICAgIGF3c0Vudmlyb25tZW50VHlwZTogVmFsdWVPZjx0eXBlb2YgT1BFTl9ISV9ERVBMT1lNRU5UX1RBUkdFVF9ST0xFPixcbiAgICBlbnZDb25maWc6IE9wZW5IaUVudmlyb25tZW50Q29uZmlnLFxuICApID0+IHtcbiAgICBuZXcgQXdzRGVwbG95bWVudFRhcmdldCh0aGlzLnByb2plY3QsIHtcbiAgICAgIGFjY291bnQ6IGVudkNvbmZpZy5hY2NvdW50LFxuICAgICAgcmVnaW9uOiBlbnZDb25maWcucmVnaW9uLFxuICAgICAgYXdzU3RhZ2VUeXBlLFxuICAgICAgYXdzRW52aXJvbm1lbnRUeXBlLFxuICAgICAgbG9jYWxEZXBsb3ltZW50OiB0cnVlLFxuICAgICAgbG9jYWxEZXBsb3ltZW50Q29uZmlnOiB7XG4gICAgICAgIHN0YWNrUGF0dGVybjogYCR7YXdzU3RhZ2VUeXBlfS8ke2F3c0Vudmlyb25tZW50VHlwZX0vKi0ke2VudkNvbmZpZy5hY2NvdW50fS0ke2VudkNvbmZpZy5yZWdpb259YCxcbiAgICAgICAgcm9sZU5hbWU6IFwicG93ZXJ1c2VyYWNjZXNzXCIsXG4gICAgICB9LFxuICAgICAgY2lEZXBsb3ltZW50OiB0cnVlLFxuICAgICAgY2lEZXBsb3ltZW50Q29uZmlnOiB7XG4gICAgICAgIHJvbGVBcm46IGBhcm46YXdzOmlhbTo6JHtlbnZDb25maWcuYWNjb3VudH06cm9sZS9HaXRIdWJPcGVuSGlEZXBsb3llcmAsXG4gICAgICAgIHN0YWNrUGF0dGVybjogYCR7YXdzU3RhZ2VUeXBlfS8ke2F3c0Vudmlyb25tZW50VHlwZX0vKi0ke2VudkNvbmZpZy5hY2NvdW50fS0ke2VudkNvbmZpZy5yZWdpb259YCxcbiAgICAgIH0sXG5cbiAgICAgIGJyYW5jaGVzOlxuICAgICAgICBhd3NTdGFnZVR5cGUgPT09IE9QRU5fSElfU1RBR0UuREVWXG4gICAgICAgICAgPyBbXG4gICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBicmFuY2g6IFwiZmVhdC8qXCIsXG4gICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IFtcbiAgICAgICAgICAgICAgICAgIFwiRmVhdHVyZSBicmFuY2hlcyBmb3IgT3BlbkhJIChzaG9ydCBmb3JtKS5cIixcbiAgICAgICAgICAgICAgICAgIFwiVGhlc2UgYnJhbmNoZXMgYXJlIHVzZWQgZm9yIGRldmVsb3BpbmcgbmV3IGZlYXR1cmVzLlwiLFxuICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBicmFuY2g6IFwiZmVhdHVyZS8qXCIsXG4gICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IFtcbiAgICAgICAgICAgICAgICAgIFwiRmVhdHVyZSBicmFuY2hlcyBmb3IgT3BlbkhJLlwiLFxuICAgICAgICAgICAgICAgICAgXCJUaGVzZSBicmFuY2hlcyBhcmUgdXNlZCBmb3IgZGV2ZWxvcGluZyBuZXcgZmVhdHVyZXMuXCIsXG4gICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIGJyYW5jaDogXCJmaXgvKlwiLFxuICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBbXG4gICAgICAgICAgICAgICAgICBcIkZpeCBicmFuY2hlcyBmb3IgT3BlbkhJLlwiLFxuICAgICAgICAgICAgICAgICAgXCJUaGlzIGJyYW5jaCBwYXR0ZXJuIGlzIHVzZWQgd2hlbiBhIGRldmVsb3BlciBpcyB3b3JraW5nIG9uIGEgZml4IG9uIHRoZSBwcm9qZWN0LlwiLFxuICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBdXG4gICAgICAgICAgOiBbXG4gICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBicmFuY2g6IFwibWFpblwiLFxuICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBbXG4gICAgICAgICAgICAgICAgICBcIk1haW4gYnJhbmNoIGZvciBPcGVuSEkuXCIsXG4gICAgICAgICAgICAgICAgICBcIlRoaXMgYnJhbmNoIGlzIHVzZWQgZm9yIHRoZSBtYWluIGJyYW5jaC5cIixcbiAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgXSxcbiAgICB9KTtcbiAgfTtcblxuICBnZXQgY29uc3RydWN0TmFtZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiBwYXNjYWxDYXNlKFtcIm9wZW5cIiwgXCJoaVwiLCB0aGlzLmlkLCBcInNlcnZpY2VcIl0uam9pbihcIi1cIikpO1xuICB9XG5cbiAgZ2V0IG91dERpcigpIHtcbiAgICByZXR1cm4gW1xuICAgICAgcGFyYW1DYXNlKHRoaXMub3BlbkhpLmlkKSxcbiAgICAgIC4uLnRoaXMudHlwZURpci5tYXAoKHgpID0+IHBhcmFtQ2FzZSh4KSksXG4gICAgICBwYXJhbUNhc2UodGhpcy5pZCksXG4gICAgXS5qb2luKHNlcCk7XG4gIH1cblxuICBnZXQgc2VydmljZU5hbWUoKSB7XG4gICAgcmV0dXJuIFtwYXJhbUNhc2UodGhpcy5vcGVuSGkuaWQpLCBwYXJhbUNhc2UodGhpcy5pZCldLmpvaW4oXCItXCIpO1xuICB9XG5cbiAgZ2V0IHR5cGVEaXIoKTogQXJyYXk8c3RyaW5nPiB7XG4gICAgcmV0dXJuIFtdO1xuICAgIC8qXG4gICAgcmV0dXJuIHRoaXMub3B0aW9ucy50eXBlID09PSBPUEVOX0hJX1NFUlZJQ0VfVFlQRS5BVVRIIHx8XG4gICAgICB0aGlzLm9wdGlvbnMudHlwZSA9PT0gT1BFTl9ISV9TRVJWSUNFX1RZUEUuQ09SRSB8fFxuICAgICAgdGhpcy5vcHRpb25zLnR5cGUgPT09IE9QRU5fSElfU0VSVklDRV9UWVBFLkdMT0JBTFxuICAgICAgPyBbXVxuICAgICAgOiB0aGlzLm9wdGlvbnMudHlwZSA9PT0gT1BFTl9ISV9TRVJWSUNFX1RZUEUuREFUQV9TRVJWSUNFXG4gICAgICAgID8gW1wiZGF0YVwiXVxuICAgICAgICA6IFtcImludGVncmF0aW9uXCJdOyovXG4gIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.GenerateTemplates = void 0;
|
|
4
|
+
const app_1 = require("./src/app");
|
|
5
|
+
const app_test_1 = require("./src/app-test");
|
|
6
|
+
const config_1 = require("./src/config");
|
|
7
|
+
const README_md_1 = require("./src/data/models/README.md");
|
|
8
|
+
const README_md_2 = require("./src/data/README.md");
|
|
9
|
+
const README_md_3 = require("./src/infrastructure/README.md");
|
|
10
|
+
const README_md_4 = require("./src/integrations/README.md");
|
|
11
|
+
const main_1 = require("./src/main");
|
|
12
|
+
const README_md_5 = require("./src/README.md");
|
|
13
|
+
const README_md_6 = require("./src/workflows/README.md");
|
|
14
|
+
class GenerateTemplates {
|
|
15
|
+
constructor(service) {
|
|
16
|
+
this.service = service;
|
|
17
|
+
/**
|
|
18
|
+
* Root src templates
|
|
19
|
+
*/
|
|
20
|
+
new app_1.SrcApp(this.service);
|
|
21
|
+
new app_test_1.SrcAppTest(this.service);
|
|
22
|
+
new config_1.SrcConfig(this.service);
|
|
23
|
+
new main_1.SrcMain(this.service);
|
|
24
|
+
new README_md_5.SrcReadMe(this.service);
|
|
25
|
+
/**
|
|
26
|
+
* Data
|
|
27
|
+
*/
|
|
28
|
+
new README_md_2.DataReadMe(this.service);
|
|
29
|
+
new README_md_1.DataModelsReadMe(this.service);
|
|
30
|
+
/**
|
|
31
|
+
* Infrastructure
|
|
32
|
+
*/
|
|
33
|
+
new README_md_3.InfrastructureReadMe(this.service);
|
|
34
|
+
/**
|
|
35
|
+
* Integrations
|
|
36
|
+
*/
|
|
37
|
+
new README_md_4.IntegrationsReadMe(this.service);
|
|
38
|
+
/**
|
|
39
|
+
* Workflows
|
|
40
|
+
*/
|
|
41
|
+
new README_md_6.WorkflowsReadMe(this.service);
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
exports.GenerateTemplates = GenerateTemplates;
|
|
45
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VuZXJhdGUtdGVtcGxhdGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3RlbXBsYXRlcy9nZW5lcmF0ZS10ZW1wbGF0ZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQ0EsbUNBQW1DO0FBQ25DLDZDQUE0QztBQUM1Qyx5Q0FBeUM7QUFDekMsMkRBQStEO0FBQy9ELG9EQUFrRDtBQUNsRCw4REFBc0U7QUFDdEUsNERBQWtFO0FBQ2xFLHFDQUFxQztBQUNyQywrQ0FBNEM7QUFDNUMseURBQTREO0FBRTVELE1BQWEsaUJBQWlCO0lBQzVCLFlBQW9CLE9BQXNCO1FBQXRCLFlBQU8sR0FBUCxPQUFPLENBQWU7UUFDeEM7O1dBRUc7UUFDSCxJQUFJLFlBQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDekIsSUFBSSxxQkFBVSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUM3QixJQUFJLGtCQUFTLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQzVCLElBQUksY0FBTyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUMxQixJQUFJLHFCQUFTLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBRTVCOztXQUVHO1FBQ0gsSUFBSSxzQkFBVSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUM3QixJQUFJLDRCQUFnQixDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUVuQzs7V0FFRztRQUNILElBQUksZ0NBQW9CLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBRXZDOztXQUVHO1FBQ0gsSUFBSSw4QkFBa0IsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7UUFFckM7O1dBRUc7UUFDSCxJQUFJLDJCQUFlLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3BDLENBQUM7Q0FDRjtBQWhDRCw4Q0FnQ0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBPcGVuSGlTZXJ2aWNlIH0gZnJvbSBcIi4uL3NlcnZpY2VcIjtcbmltcG9ydCB7IFNyY0FwcCB9IGZyb20gXCIuL3NyYy9hcHBcIjtcbmltcG9ydCB7IFNyY0FwcFRlc3QgfSBmcm9tIFwiLi9zcmMvYXBwLXRlc3RcIjtcbmltcG9ydCB7IFNyY0NvbmZpZyB9IGZyb20gXCIuL3NyYy9jb25maWdcIjtcbmltcG9ydCB7IERhdGFNb2RlbHNSZWFkTWUgfSBmcm9tIFwiLi9zcmMvZGF0YS9tb2RlbHMvUkVBRE1FLm1kXCI7XG5pbXBvcnQgeyBEYXRhUmVhZE1lIH0gZnJvbSBcIi4vc3JjL2RhdGEvUkVBRE1FLm1kXCI7XG5pbXBvcnQgeyBJbmZyYXN0cnVjdHVyZVJlYWRNZSB9IGZyb20gXCIuL3NyYy9pbmZyYXN0cnVjdHVyZS9SRUFETUUubWRcIjtcbmltcG9ydCB7IEludGVncmF0aW9uc1JlYWRNZSB9IGZyb20gXCIuL3NyYy9pbnRlZ3JhdGlvbnMvUkVBRE1FLm1kXCI7XG5pbXBvcnQgeyBTcmNNYWluIH0gZnJvbSBcIi4vc3JjL21haW5cIjtcbmltcG9ydCB7IFNyY1JlYWRNZSB9IGZyb20gXCIuL3NyYy9SRUFETUUubWRcIjtcbmltcG9ydCB7IFdvcmtmbG93c1JlYWRNZSB9IGZyb20gXCIuL3NyYy93b3JrZmxvd3MvUkVBRE1FLm1kXCI7XG5cbmV4cG9ydCBjbGFzcyBHZW5lcmF0ZVRlbXBsYXRlcyB7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgc2VydmljZTogT3BlbkhpU2VydmljZSkge1xuICAgIC8qKlxuICAgICAqIFJvb3Qgc3JjIHRlbXBsYXRlc1xuICAgICAqL1xuICAgIG5ldyBTcmNBcHAodGhpcy5zZXJ2aWNlKTtcbiAgICBuZXcgU3JjQXBwVGVzdCh0aGlzLnNlcnZpY2UpO1xuICAgIG5ldyBTcmNDb25maWcodGhpcy5zZXJ2aWNlKTtcbiAgICBuZXcgU3JjTWFpbih0aGlzLnNlcnZpY2UpO1xuICAgIG5ldyBTcmNSZWFkTWUodGhpcy5zZXJ2aWNlKTtcblxuICAgIC8qKlxuICAgICAqIERhdGFcbiAgICAgKi9cbiAgICBuZXcgRGF0YVJlYWRNZSh0aGlzLnNlcnZpY2UpO1xuICAgIG5ldyBEYXRhTW9kZWxzUmVhZE1lKHRoaXMuc2VydmljZSk7XG5cbiAgICAvKipcbiAgICAgKiBJbmZyYXN0cnVjdHVyZVxuICAgICAqL1xuICAgIG5ldyBJbmZyYXN0cnVjdHVyZVJlYWRNZSh0aGlzLnNlcnZpY2UpO1xuXG4gICAgLyoqXG4gICAgICogSW50ZWdyYXRpb25zXG4gICAgICovXG4gICAgbmV3IEludGVncmF0aW9uc1JlYWRNZSh0aGlzLnNlcnZpY2UpO1xuXG4gICAgLyoqXG4gICAgICogV29ya2Zsb3dzXG4gICAgICovXG4gICAgbmV3IFdvcmtmbG93c1JlYWRNZSh0aGlzLnNlcnZpY2UpO1xuICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { SampleFile } from "projen";
|
|
2
|
+
import { OpenHiService } from "../service";
|
|
3
|
+
export interface ServiceTemplateOptions {
|
|
4
|
+
/**
|
|
5
|
+
* The content of the sample file, as an array.
|
|
6
|
+
*/
|
|
7
|
+
readonly contents: Array<string>;
|
|
8
|
+
/**
|
|
9
|
+
* The relative file path from the project root.
|
|
10
|
+
*/
|
|
11
|
+
readonly filePath: string;
|
|
12
|
+
/**
|
|
13
|
+
* Overwrite this template file to it's original state?
|
|
14
|
+
*
|
|
15
|
+
* @default false
|
|
16
|
+
*/
|
|
17
|
+
readonly overwrite?: boolean;
|
|
18
|
+
}
|
|
19
|
+
export declare class ServiceTemplate {
|
|
20
|
+
service: OpenHiService;
|
|
21
|
+
options: ServiceTemplateOptions;
|
|
22
|
+
/**
|
|
23
|
+
* The file being generated.
|
|
24
|
+
*/
|
|
25
|
+
file?: SampleFile;
|
|
26
|
+
/**
|
|
27
|
+
* Absolute Filepath, including the project path.
|
|
28
|
+
*/
|
|
29
|
+
fullFilePath: string;
|
|
30
|
+
constructor(service: OpenHiService, options: ServiceTemplateOptions);
|
|
31
|
+
protected createTemplate(): void;
|
|
32
|
+
overwriteTemplate(): void;
|
|
33
|
+
}
|