@glicogh/healthcare-cdk 0.1.0 → 0.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/.env.uat ADDED
@@ -0,0 +1,5 @@
1
+ ENV_NAME=uat
2
+ SERVICE=
3
+ COMPANY=glico
4
+ AWS_REGION=us-east-1
5
+ AWS_ACCOUNT_ID=12345
package/cdk.json ADDED
@@ -0,0 +1,72 @@
1
+ {
2
+ "app": "npx ts-node --prefer-ts-exts bin/cdk.ts",
3
+ "watch": {
4
+ "include": [
5
+ "**"
6
+ ],
7
+ "exclude": [
8
+ "README.md",
9
+ "cdk*.json",
10
+ "**/*.d.ts",
11
+ "**/*.js",
12
+ "tsconfig.json",
13
+ "package*.json",
14
+ "yarn.lock",
15
+ "node_modules",
16
+ "test"
17
+ ]
18
+ },
19
+ "context": {
20
+ "@aws-cdk/aws-lambda:recognizeLayerVersion": true,
21
+ "@aws-cdk/core:checkSecretUsage": true,
22
+ "@aws-cdk/core:target-partitions": [
23
+ "aws",
24
+ "aws-cn"
25
+ ],
26
+ "@aws-cdk-containers/ecs-service-extensions:enableDefaultLogDriver": true,
27
+ "@aws-cdk/aws-ec2:uniqueImdsv2TemplateName": true,
28
+ "@aws-cdk/aws-ecs:arnFormatIncludesClusterName": true,
29
+ "@aws-cdk/aws-iam:minimizePolicies": true,
30
+ "@aws-cdk/core:validateSnapshotRemovalPolicy": true,
31
+ "@aws-cdk/aws-codepipeline:crossAccountKeyAliasStackSafeResourceName": true,
32
+ "@aws-cdk/aws-s3:createDefaultLoggingPolicy": true,
33
+ "@aws-cdk/aws-sns-subscriptions:restrictSqsDescryption": true,
34
+ "@aws-cdk/aws-apigateway:disableCloudWatchRole": true,
35
+ "@aws-cdk/core:enablePartitionLiterals": true,
36
+ "@aws-cdk/aws-events:eventsTargetQueueSameAccount": true,
37
+ "@aws-cdk/aws-ecs:disableExplicitDeploymentControllerForCircuitBreaker": true,
38
+ "@aws-cdk/aws-iam:importedRoleStackSafeDefaultPolicyName": true,
39
+ "@aws-cdk/aws-s3:serverAccessLogsUseBucketPolicy": true,
40
+ "@aws-cdk/aws-route53-patters:useCertificate": true,
41
+ "@aws-cdk/customresources:installLatestAwsSdkDefault": false,
42
+ "@aws-cdk/aws-rds:databaseProxyUniqueResourceName": true,
43
+ "@aws-cdk/aws-codedeploy:removeAlarmsFromDeploymentGroup": true,
44
+ "@aws-cdk/aws-apigateway:authorizerChangeDeploymentLogicalId": true,
45
+ "@aws-cdk/aws-ec2:launchTemplateDefaultUserData": true,
46
+ "@aws-cdk/aws-secretsmanager:useAttachedSecretResourcePolicyForSecretTargetAttachments": true,
47
+ "@aws-cdk/aws-redshift:columnId": true,
48
+ "@aws-cdk/aws-stepfunctions-tasks:enableEmrServicePolicyV2": true,
49
+ "@aws-cdk/aws-ec2:restrictDefaultSecurityGroup": true,
50
+ "@aws-cdk/aws-apigateway:requestValidatorUniqueId": true,
51
+ "@aws-cdk/aws-kms:aliasNameRef": true,
52
+ "@aws-cdk/aws-autoscaling:generateLaunchTemplateInsteadOfLaunchConfig": true,
53
+ "@aws-cdk/core:includePrefixInUniqueNameGeneration": true,
54
+ "@aws-cdk/aws-efs:denyAnonymousAccess": true,
55
+ "@aws-cdk/aws-opensearchservice:enableOpensearchMultiAzWithStandby": true,
56
+ "@aws-cdk/aws-lambda-nodejs:useLatestRuntimeVersion": true,
57
+ "@aws-cdk/aws-efs:mountTargetOrderInsensitiveLogicalId": true,
58
+ "@aws-cdk/aws-rds:auroraClusterChangeScopeOfInstanceParameterGroupWithEachParameters": true,
59
+ "@aws-cdk/aws-appsync:useArnForSourceApiAssociationIdentifier": true,
60
+ "@aws-cdk/aws-rds:preventRenderingDeprecatedCredentials": true,
61
+ "@aws-cdk/aws-codepipeline-actions:useNewDefaultBranchForCodeCommitSource": true,
62
+ "@aws-cdk/aws-cloudwatch-actions:changeLambdaPermissionLogicalIdForLambdaAction": true,
63
+ "@aws-cdk/aws-codepipeline:crossAccountKeysDefaultValueToFalse": true,
64
+ "@aws-cdk/aws-codepipeline:defaultPipelineTypeToV2": true,
65
+ "@aws-cdk/aws-kms:reduceCrossAccountRegionPolicyScope": true,
66
+ "@aws-cdk/aws-eks:nodegroupNameAttribute": true,
67
+ "@aws-cdk/aws-ec2:ebsDefaultGp3Volume": true,
68
+ "@aws-cdk/aws-ecs:removeDefaultDeploymentAlarm": true,
69
+ "@aws-cdk/custom-resources:logApiResponseDataPropertyTrueDefault": false,
70
+ "@aws-cdk/aws-s3:keepNotificationInImportedBucket": false
71
+ }
72
+ }
@@ -0,0 +1,11 @@
1
+ export type EnvName = 'uat' | 'prod';
2
+ export type BuildConfig = {
3
+ envName: EnvName;
4
+ envPath: string;
5
+ service: string;
6
+ company: string;
7
+ aws: {
8
+ account: string;
9
+ region: string;
10
+ };
11
+ };
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vQHR5cGVzL2NvbW1vbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHR5cGUgRW52TmFtZSA9ICd1YXQnIHwgJ3Byb2QnO1xuZXhwb3J0IHR5cGUgQnVpbGRDb25maWcgPSB7XG4gIGVudk5hbWU6IEVudk5hbWU7XG4gIGVudlBhdGg6IHN0cmluZztcbiAgc2VydmljZTogc3RyaW5nO1xuICBjb21wYW55OiBzdHJpbmc7XG4gIGF3czoge1xuICAgIGFjY291bnQ6IHN0cmluZztcbiAgICByZWdpb246IHN0cmluZztcbiAgfTtcbn07XG4iXX0=
@@ -0,0 +1,2 @@
1
+ #!/usr/bin/env node
2
+ import 'source-map-support/register';
@@ -0,0 +1,7 @@
1
+ #!/usr/bin/env node
2
+ "use strict";
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ require("source-map-support/register");
5
+ const initLaravelBasedCdkStack_1 = require("../util/initLaravelBasedCdkStack");
6
+ (0, initLaravelBasedCdkStack_1.initLaravelBasedCdkStack)();
7
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2RrLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vYmluL2Nkay50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFDQSx1Q0FBcUM7QUFDckMsK0VBQTRFO0FBRTVFLElBQUEsbURBQXdCLEdBQUUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIiMhL3Vzci9iaW4vZW52IG5vZGVcbmltcG9ydCAnc291cmNlLW1hcC1zdXBwb3J0L3JlZ2lzdGVyJztcbmltcG9ydCB7IGluaXRMYXJhdmVsQmFzZWRDZGtTdGFjayB9IGZyb20gJy4uL3V0aWwvaW5pdExhcmF2ZWxCYXNlZENka1N0YWNrJztcblxuaW5pdExhcmF2ZWxCYXNlZENka1N0YWNrKCk7Il19
@@ -0,0 +1,2 @@
1
+ export * from './lib/laravel-based-microservice-stack';
2
+ export * from './util/initLaravelBasedCdkStack';
package/dist/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("./lib/laravel-based-microservice-stack"), exports);
18
+ __exportStar(require("./util/initLaravelBasedCdkStack"), exports);
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7O0FBQUEseUVBQXVEO0FBQ3ZELGtFQUFnRCIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vbGliL2xhcmF2ZWwtYmFzZWQtbWljcm9zZXJ2aWNlLXN0YWNrJztcbmV4cG9ydCAqIGZyb20gJy4vdXRpbC9pbml0TGFyYXZlbEJhc2VkQ2RrU3RhY2snOyJdfQ==
@@ -0,0 +1,6 @@
1
+ import * as cdk from 'aws-cdk-lib';
2
+ import { Construct } from 'constructs';
3
+ import { BuildConfig } from '../@types/common';
4
+ export declare class LaravelBasedMicroserviceStack extends cdk.Stack {
5
+ constructor(scope: Construct, id: string, buildConfig: BuildConfig, props?: cdk.StackProps);
6
+ }
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.LaravelBasedMicroserviceStack = void 0;
4
+ const cdk = require("aws-cdk-lib");
5
+ class LaravelBasedMicroserviceStack extends cdk.Stack {
6
+ constructor(scope, id, buildConfig, props) {
7
+ super(scope, id, props);
8
+ new cdk.CfnOutput(this, 'buildConfig', { value: JSON.stringify(buildConfig) });
9
+ }
10
+ }
11
+ exports.LaravelBasedMicroserviceStack = LaravelBasedMicroserviceStack;
12
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGFyYXZlbC1iYXNlZC1taWNyb3NlcnZpY2Utc3RhY2suanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9saWIvbGFyYXZlbC1iYXNlZC1taWNyb3NlcnZpY2Utc3RhY2sudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsbUNBQW1DO0FBSW5DLE1BQWEsNkJBQThCLFNBQVEsR0FBRyxDQUFDLEtBQUs7SUFDMUQsWUFBWSxLQUFnQixFQUFFLEVBQVUsRUFBRSxXQUF3QixFQUFHLEtBQXNCO1FBQ3pGLEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBRXhCLElBQUksR0FBRyxDQUFDLFNBQVMsQ0FBQyxJQUFJLEVBQUUsYUFBYSxFQUFFLEVBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxDQUFDLEVBQUMsQ0FBQyxDQUFBO0lBQzlFLENBQUM7Q0FDRjtBQU5ELHNFQU1DIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgY2RrIGZyb20gJ2F3cy1jZGstbGliJztcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gJ2NvbnN0cnVjdHMnO1xuaW1wb3J0IHsgQnVpbGRDb25maWcgfSBmcm9tICcuLi9AdHlwZXMvY29tbW9uJztcblxuZXhwb3J0IGNsYXNzIExhcmF2ZWxCYXNlZE1pY3Jvc2VydmljZVN0YWNrIGV4dGVuZHMgY2RrLlN0YWNrIHtcbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgYnVpbGRDb25maWc6IEJ1aWxkQ29uZmlnLCAgcHJvcHM/OiBjZGsuU3RhY2tQcm9wcykge1xuICAgIHN1cGVyKHNjb3BlLCBpZCwgcHJvcHMpO1xuXG4gICAgbmV3IGNkay5DZm5PdXRwdXQodGhpcywgJ2J1aWxkQ29uZmlnJywge3ZhbHVlOiBKU09OLnN0cmluZ2lmeShidWlsZENvbmZpZyl9KVxuICB9XG59XG4iXX0=
File without changes
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ // import * as cdk from 'aws-cdk-lib';
3
+ // import { Template } from 'aws-cdk-lib/assertions';
4
+ // import * as Cdk from '../lib/cdk-stack';
5
+ // example test. To run these tests, uncomment this file along with the
6
+ // example resource in lib/cdk-stack.ts
7
+ test('SQS Queue Created', () => {
8
+ // const app = new cdk.App();
9
+ // // WHEN
10
+ // const stack = new Cdk.CdkStack(app, 'MyTestStack');
11
+ // // THEN
12
+ // const template = Template.fromStack(stack);
13
+ // template.hasResourceProperties('AWS::SQS::Queue', {
14
+ // VisibilityTimeout: 300
15
+ // });
16
+ });
17
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2RrLnRlc3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi90ZXN0L2Nkay50ZXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxzQ0FBc0M7QUFDdEMscURBQXFEO0FBQ3JELDJDQUEyQztBQUUzQyx1RUFBdUU7QUFDdkUsdUNBQXVDO0FBQ3ZDLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxHQUFHLEVBQUU7SUFDL0IsK0JBQStCO0lBQy9CLGNBQWM7SUFDZCx3REFBd0Q7SUFDeEQsY0FBYztJQUNkLGdEQUFnRDtJQUVoRCx3REFBd0Q7SUFDeEQsNkJBQTZCO0lBQzdCLFFBQVE7QUFDUixDQUFDLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIGltcG9ydCAqIGFzIGNkayBmcm9tICdhd3MtY2RrLWxpYic7XG4vLyBpbXBvcnQgeyBUZW1wbGF0ZSB9IGZyb20gJ2F3cy1jZGstbGliL2Fzc2VydGlvbnMnO1xuLy8gaW1wb3J0ICogYXMgQ2RrIGZyb20gJy4uL2xpYi9jZGstc3RhY2snO1xuXG4vLyBleGFtcGxlIHRlc3QuIFRvIHJ1biB0aGVzZSB0ZXN0cywgdW5jb21tZW50IHRoaXMgZmlsZSBhbG9uZyB3aXRoIHRoZVxuLy8gZXhhbXBsZSByZXNvdXJjZSBpbiBsaWIvY2RrLXN0YWNrLnRzXG50ZXN0KCdTUVMgUXVldWUgQ3JlYXRlZCcsICgpID0+IHtcbi8vICAgY29uc3QgYXBwID0gbmV3IGNkay5BcHAoKTtcbi8vICAgICAvLyBXSEVOXG4vLyAgIGNvbnN0IHN0YWNrID0gbmV3IENkay5DZGtTdGFjayhhcHAsICdNeVRlc3RTdGFjaycpO1xuLy8gICAgIC8vIFRIRU5cbi8vICAgY29uc3QgdGVtcGxhdGUgPSBUZW1wbGF0ZS5mcm9tU3RhY2soc3RhY2spO1xuXG4vLyAgIHRlbXBsYXRlLmhhc1Jlc291cmNlUHJvcGVydGllcygnQVdTOjpTUVM6OlF1ZXVlJywge1xuLy8gICAgIFZpc2liaWxpdHlUaW1lb3V0OiAzMDBcbi8vICAgfSk7XG59KTtcbiJdfQ==
@@ -0,0 +1,3 @@
1
+ import { App } from 'aws-cdk-lib';
2
+ import { BuildConfig } from '../@types/common';
3
+ export declare function applyTags(app: App, config: BuildConfig): void;
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.applyTags = applyTags;
4
+ const aws_cdk_lib_1 = require("aws-cdk-lib");
5
+ function applyTags(app, config) {
6
+ const tags = aws_cdk_lib_1.Tags.of(app);
7
+ tags.add('Service', config.service);
8
+ tags.add('Company', config.company);
9
+ tags.add('Environment', config.envName);
10
+ }
11
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwbHlUYWdzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vdXRpbC9hcHBseVRhZ3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFHQSw4QkFLQztBQVJELDZDQUF3QztBQUd4QyxTQUFnQixTQUFTLENBQUMsR0FBUSxFQUFFLE1BQW1CO0lBQ3JELE1BQU0sSUFBSSxHQUFHLGtCQUFJLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQzFCLElBQUksQ0FBQyxHQUFHLENBQUMsU0FBUyxFQUFFLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNwQyxJQUFJLENBQUMsR0FBRyxDQUFDLFNBQVMsRUFBRSxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDcEMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxhQUFhLEVBQUUsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0FBQzFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBcHAsIFRhZ3MgfSBmcm9tICdhd3MtY2RrLWxpYic7XG5pbXBvcnQgeyBCdWlsZENvbmZpZyB9IGZyb20gJy4uL0B0eXBlcy9jb21tb24nO1xuXG5leHBvcnQgZnVuY3Rpb24gYXBwbHlUYWdzKGFwcDogQXBwLCBjb25maWc6IEJ1aWxkQ29uZmlnKTogdm9pZCB7XG4gIGNvbnN0IHRhZ3MgPSBUYWdzLm9mKGFwcCk7XG4gIHRhZ3MuYWRkKCdTZXJ2aWNlJywgY29uZmlnLnNlcnZpY2UpO1xuICB0YWdzLmFkZCgnQ29tcGFueScsIGNvbmZpZy5jb21wYW55KTtcbiAgdGFncy5hZGQoJ0Vudmlyb25tZW50JywgY29uZmlnLmVudk5hbWUpO1xufVxuIl19
@@ -0,0 +1,3 @@
1
+ import { App } from 'aws-cdk-lib';
2
+ import { BuildConfig } from '../@types/common';
3
+ export declare function initBuildConfig(app: App, envPath?: string): BuildConfig;
@@ -0,0 +1,33 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.initBuildConfig = initBuildConfig;
4
+ const path = require("path");
5
+ const dotenv = require("dotenv");
6
+ const fs_1 = require("fs");
7
+ function initBuildConfig(app, envPath) {
8
+ const envName = app.node.tryGetContext('env');
9
+ if (!envName) {
10
+ throw new Error('Context variable `config` missing on CDK command. Pass as `--context env=<environment>');
11
+ }
12
+ const envToLoad = envPath ??
13
+ path.resolve(`.env.${envName}`) ??
14
+ path.join(__dirname, `.env.${envName}`);
15
+ if (!(0, fs_1.existsSync)(envToLoad)) {
16
+ throw new Error(`env path ${envToLoad} not found`);
17
+ }
18
+ dotenv.config({
19
+ path: envToLoad,
20
+ override: true,
21
+ });
22
+ return {
23
+ envName: process.env.ENV_NAME ?? 'uat',
24
+ envPath: envToLoad,
25
+ service: process.env.SERVICE ?? '',
26
+ company: process.env.COMPANY ?? 'glico',
27
+ aws: {
28
+ region: process.env.AWS_REGION ?? '',
29
+ account: process.env.AWS_ACCOUNT_ID ?? '',
30
+ },
31
+ };
32
+ }
33
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5pdEJ1aWxkQ29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vdXRpbC9pbml0QnVpbGRDb25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFNQSwwQ0FnQ0M7QUFwQ0QsNkJBQThCO0FBQzlCLGlDQUFpQztBQUNqQywyQkFBZ0M7QUFFaEMsU0FBZ0IsZUFBZSxDQUFDLEdBQVEsRUFBRSxPQUFnQjtJQUN4RCxNQUFNLE9BQU8sR0FBRyxHQUFHLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM5QyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDYixNQUFNLElBQUksS0FBSyxDQUNiLHdGQUF3RixDQUN6RixDQUFDO0lBQ0osQ0FBQztJQUVELE1BQU0sU0FBUyxHQUNiLE9BQU87UUFDUCxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsT0FBTyxFQUFFLENBQUM7UUFDL0IsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsUUFBUSxPQUFPLEVBQUUsQ0FBQyxDQUFDO0lBRTFDLElBQUksQ0FBQyxJQUFBLGVBQVUsRUFBQyxTQUFTLENBQUMsRUFBRSxDQUFDO1FBQzNCLE1BQU0sSUFBSSxLQUFLLENBQUMsWUFBWSxTQUFTLFlBQVksQ0FBQyxDQUFDO0lBQ3JELENBQUM7SUFFRCxNQUFNLENBQUMsTUFBTSxDQUFDO1FBQ1osSUFBSSxFQUFFLFNBQVM7UUFDZixRQUFRLEVBQUUsSUFBSTtLQUNmLENBQUMsQ0FBQztJQUVILE9BQU87UUFDTCxPQUFPLEVBQUcsT0FBTyxDQUFDLEdBQUcsQ0FBQyxRQUFvQixJQUFJLEtBQUs7UUFDbkQsT0FBTyxFQUFFLFNBQVM7UUFDbEIsT0FBTyxFQUFFLE9BQU8sQ0FBQyxHQUFHLENBQUMsT0FBTyxJQUFJLEVBQUU7UUFDbEMsT0FBTyxFQUFFLE9BQU8sQ0FBQyxHQUFHLENBQUMsT0FBTyxJQUFJLE9BQU87UUFDdkMsR0FBRyxFQUFFO1lBQ0gsTUFBTSxFQUFFLE9BQU8sQ0FBQyxHQUFHLENBQUMsVUFBVSxJQUFJLEVBQUU7WUFDcEMsT0FBTyxFQUFFLE9BQU8sQ0FBQyxHQUFHLENBQUMsY0FBYyxJQUFJLEVBQUU7U0FDMUM7S0FDRixDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFwcCB9IGZyb20gJ2F3cy1jZGstbGliJztcbmltcG9ydCB7IEJ1aWxkQ29uZmlnLCBFbnZOYW1lIH0gZnJvbSAnLi4vQHR5cGVzL2NvbW1vbic7XG5pbXBvcnQgcGF0aCA9IHJlcXVpcmUoJ3BhdGgnKTtcbmltcG9ydCAqIGFzIGRvdGVudiBmcm9tICdkb3RlbnYnO1xuaW1wb3J0IHsgZXhpc3RzU3luYyB9IGZyb20gJ2ZzJztcblxuZXhwb3J0IGZ1bmN0aW9uIGluaXRCdWlsZENvbmZpZyhhcHA6IEFwcCwgZW52UGF0aD86IHN0cmluZyk6IEJ1aWxkQ29uZmlnIHtcbiAgY29uc3QgZW52TmFtZSA9IGFwcC5ub2RlLnRyeUdldENvbnRleHQoJ2VudicpO1xuICBpZiAoIWVudk5hbWUpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAnQ29udGV4dCB2YXJpYWJsZSBgY29uZmlnYCBtaXNzaW5nIG9uIENESyBjb21tYW5kLiBQYXNzIGFzIGAtLWNvbnRleHQgZW52PTxlbnZpcm9ubWVudD4nLFxuICAgICk7XG4gIH1cblxuICBjb25zdCBlbnZUb0xvYWQgPVxuICAgIGVudlBhdGggPz9cbiAgICBwYXRoLnJlc29sdmUoYC5lbnYuJHtlbnZOYW1lfWApID8/XG4gICAgcGF0aC5qb2luKF9fZGlybmFtZSwgYC5lbnYuJHtlbnZOYW1lfWApO1xuXG4gIGlmICghZXhpc3RzU3luYyhlbnZUb0xvYWQpKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKGBlbnYgcGF0aCAke2VudlRvTG9hZH0gbm90IGZvdW5kYCk7XG4gIH1cblxuICBkb3RlbnYuY29uZmlnKHtcbiAgICBwYXRoOiBlbnZUb0xvYWQsXG4gICAgb3ZlcnJpZGU6IHRydWUsXG4gIH0pO1xuXG4gIHJldHVybiB7XG4gICAgZW52TmFtZTogKHByb2Nlc3MuZW52LkVOVl9OQU1FIGFzIEVudk5hbWUpID8/ICd1YXQnLFxuICAgIGVudlBhdGg6IGVudlRvTG9hZCxcbiAgICBzZXJ2aWNlOiBwcm9jZXNzLmVudi5TRVJWSUNFID8/ICcnLFxuICAgIGNvbXBhbnk6IHByb2Nlc3MuZW52LkNPTVBBTlkgPz8gJ2dsaWNvJyxcbiAgICBhd3M6IHtcbiAgICAgIHJlZ2lvbjogcHJvY2Vzcy5lbnYuQVdTX1JFR0lPTiA/PyAnJyxcbiAgICAgIGFjY291bnQ6IHByb2Nlc3MuZW52LkFXU19BQ0NPVU5UX0lEID8/ICcnLFxuICAgIH0sXG4gIH07XG59XG4iXX0=
@@ -0,0 +1 @@
1
+ export declare function initLaravelBasedCdkStack(): void;
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.initLaravelBasedCdkStack = initLaravelBasedCdkStack;
4
+ const cdk = require("aws-cdk-lib");
5
+ const laravel_based_microservice_stack_1 = require("../lib/laravel-based-microservice-stack");
6
+ const initBuildConfig_1 = require("../util/initBuildConfig");
7
+ const applyTags_1 = require("../util/applyTags");
8
+ function initLaravelBasedCdkStack() {
9
+ const app = new cdk.App();
10
+ const buildConfig = (0, initBuildConfig_1.initBuildConfig)(app);
11
+ (0, applyTags_1.applyTags)(app, buildConfig);
12
+ new laravel_based_microservice_stack_1.LaravelBasedMicroserviceStack(app, 'LaravelBasedMicroserviceStack', buildConfig, {
13
+ env: buildConfig.aws,
14
+ /* If you don't specify 'env', this stack will be environment-agnostic.
15
+ * Account/Region-dependent features and context lookups will not work,
16
+ * but a single synthesized template can be deployed anywhere. */
17
+ /* Uncomment the next line to specialize this stack for the AWS Account
18
+ * and Region that are implied by the current CLI configuration. */
19
+ // env: { account: process.env.CDK_DEFAULT_ACCOUNT, region: process.env.CDK_DEFAULT_REGION },
20
+ /* Uncomment the next line if you know exactly what Account and Region you
21
+ * want to deploy the stack to. */
22
+ // env: { account: '123456789012', region: 'us-east-1' },
23
+ /* For more information, see https://docs.aws.amazon.com/cdk/latest/guide/environments.html */
24
+ });
25
+ }
26
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5pdExhcmF2ZWxCYXNlZENka1N0YWNrLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vdXRpbC9pbml0TGFyYXZlbEJhc2VkQ2RrU3RhY2sudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFLQSw0REEwQkM7QUEvQkQsbUNBQW1DO0FBQ25DLDhGQUF3RjtBQUN4Riw2REFBMEQ7QUFDMUQsaURBQThDO0FBRTlDLFNBQWdCLHdCQUF3QjtJQUN0QyxNQUFNLEdBQUcsR0FBRyxJQUFJLEdBQUcsQ0FBQyxHQUFHLEVBQUUsQ0FBQztJQUMxQixNQUFNLFdBQVcsR0FBRyxJQUFBLGlDQUFlLEVBQUMsR0FBRyxDQUFDLENBQUM7SUFDekMsSUFBQSxxQkFBUyxFQUFDLEdBQUcsRUFBRSxXQUFXLENBQUMsQ0FBQztJQUU1QixJQUFJLGdFQUE2QixDQUMvQixHQUFHLEVBQ0gsK0JBQStCLEVBQy9CLFdBQVcsRUFDWDtRQUNFLEdBQUcsRUFBRSxXQUFXLENBQUMsR0FBRztRQUNwQjs7eUVBRWlFO1FBRWpFOzJFQUNtRTtRQUNuRSw2RkFBNkY7UUFFN0Y7MENBQ2tDO1FBQ2xDLHlEQUF5RDtRQUV6RCw4RkFBOEY7S0FDL0YsQ0FDRixDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIGNkayBmcm9tICdhd3MtY2RrLWxpYic7XG5pbXBvcnQgeyBMYXJhdmVsQmFzZWRNaWNyb3NlcnZpY2VTdGFjayB9IGZyb20gJy4uL2xpYi9sYXJhdmVsLWJhc2VkLW1pY3Jvc2VydmljZS1zdGFjayc7XG5pbXBvcnQgeyBpbml0QnVpbGRDb25maWcgfSBmcm9tICcuLi91dGlsL2luaXRCdWlsZENvbmZpZyc7XG5pbXBvcnQgeyBhcHBseVRhZ3MgfSBmcm9tICcuLi91dGlsL2FwcGx5VGFncyc7XG5cbmV4cG9ydCBmdW5jdGlvbiBpbml0TGFyYXZlbEJhc2VkQ2RrU3RhY2soKSB7XG4gIGNvbnN0IGFwcCA9IG5ldyBjZGsuQXBwKCk7XG4gIGNvbnN0IGJ1aWxkQ29uZmlnID0gaW5pdEJ1aWxkQ29uZmlnKGFwcCk7XG4gIGFwcGx5VGFncyhhcHAsIGJ1aWxkQ29uZmlnKTtcblxuICBuZXcgTGFyYXZlbEJhc2VkTWljcm9zZXJ2aWNlU3RhY2soXG4gICAgYXBwLFxuICAgICdMYXJhdmVsQmFzZWRNaWNyb3NlcnZpY2VTdGFjaycsXG4gICAgYnVpbGRDb25maWcsXG4gICAge1xuICAgICAgZW52OiBidWlsZENvbmZpZy5hd3MsXG4gICAgICAvKiBJZiB5b3UgZG9uJ3Qgc3BlY2lmeSAnZW52JywgdGhpcyBzdGFjayB3aWxsIGJlIGVudmlyb25tZW50LWFnbm9zdGljLlxuICAgICAgICogQWNjb3VudC9SZWdpb24tZGVwZW5kZW50IGZlYXR1cmVzIGFuZCBjb250ZXh0IGxvb2t1cHMgd2lsbCBub3Qgd29yayxcbiAgICAgICAqIGJ1dCBhIHNpbmdsZSBzeW50aGVzaXplZCB0ZW1wbGF0ZSBjYW4gYmUgZGVwbG95ZWQgYW55d2hlcmUuICovXG5cbiAgICAgIC8qIFVuY29tbWVudCB0aGUgbmV4dCBsaW5lIHRvIHNwZWNpYWxpemUgdGhpcyBzdGFjayBmb3IgdGhlIEFXUyBBY2NvdW50XG4gICAgICAgKiBhbmQgUmVnaW9uIHRoYXQgYXJlIGltcGxpZWQgYnkgdGhlIGN1cnJlbnQgQ0xJIGNvbmZpZ3VyYXRpb24uICovXG4gICAgICAvLyBlbnY6IHsgYWNjb3VudDogcHJvY2Vzcy5lbnYuQ0RLX0RFRkFVTFRfQUNDT1VOVCwgcmVnaW9uOiBwcm9jZXNzLmVudi5DREtfREVGQVVMVF9SRUdJT04gfSxcblxuICAgICAgLyogVW5jb21tZW50IHRoZSBuZXh0IGxpbmUgaWYgeW91IGtub3cgZXhhY3RseSB3aGF0IEFjY291bnQgYW5kIFJlZ2lvbiB5b3VcbiAgICAgICAqIHdhbnQgdG8gZGVwbG95IHRoZSBzdGFjayB0by4gKi9cbiAgICAgIC8vIGVudjogeyBhY2NvdW50OiAnMTIzNDU2Nzg5MDEyJywgcmVnaW9uOiAndXMtZWFzdC0xJyB9LFxuXG4gICAgICAvKiBGb3IgbW9yZSBpbmZvcm1hdGlvbiwgc2VlIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9jZGsvbGF0ZXN0L2d1aWRlL2Vudmlyb25tZW50cy5odG1sICovXG4gICAgfSxcbiAgKTtcbn1cbiJdfQ==
package/jest.config.js ADDED
@@ -0,0 +1,8 @@
1
+ module.exports = {
2
+ testEnvironment: 'node',
3
+ roots: ['<rootDir>/test'],
4
+ testMatch: ['**/*.test.ts'],
5
+ transform: {
6
+ '^.+\\.tsx?$': 'ts-jest'
7
+ }
8
+ };
package/package.json CHANGED
@@ -1,16 +1,18 @@
1
1
  {
2
2
  "name": "@glicogh/healthcare-cdk",
3
- "version": "0.1.0",
3
+ "version": "0.1.2",
4
4
  "description": "CDK automations",
5
5
  "bin": {
6
6
  "cdk": "bin/cdk.js"
7
7
  },
8
8
  "scripts": {
9
- "build": "tsc",
9
+ "build": "rm -rf ./dist && tsc",
10
10
  "watch": "tsc -w",
11
11
  "test": "jest",
12
- "cdk": "cdk"
12
+ "cdk": "cdk",
13
+ "publish": "npm run build && npm publish"
13
14
  },
15
+ "main": "dist/index.js",
14
16
  "devDependencies": {
15
17
  "@types/jest": "^29.5.12",
16
18
  "@types/node": "20.14.9",
@@ -30,8 +32,5 @@
30
32
  "type": "git",
31
33
  "url": "git+https://github.com/glicogh/healthcare-automations.git",
32
34
  "directory": "cdk"
33
- },
34
- "files": [
35
- "lib/*"
36
- ]
35
+ }
37
36
  }
package/tsconfig.json ADDED
@@ -0,0 +1,32 @@
1
+ {
2
+ "compilerOptions": {
3
+ "target": "ES2020",
4
+ "module": "commonjs",
5
+ "lib": [
6
+ "es2020",
7
+ "dom"
8
+ ],
9
+ "declaration": true,
10
+ "strict": true,
11
+ "noImplicitAny": true,
12
+ "strictNullChecks": true,
13
+ "noImplicitThis": true,
14
+ "alwaysStrict": true,
15
+ "noUnusedLocals": false,
16
+ "noUnusedParameters": false,
17
+ "noImplicitReturns": true,
18
+ "noFallthroughCasesInSwitch": false,
19
+ "inlineSourceMap": true,
20
+ "inlineSources": true,
21
+ "experimentalDecorators": true,
22
+ "strictPropertyInitialization": false,
23
+ "typeRoots": [
24
+ "./node_modules/@types", "@types"
25
+ ],
26
+ "outDir": "./dist"
27
+ },
28
+ "exclude": [
29
+ "node_modules",
30
+ "cdk.out"
31
+ ]
32
+ }
@@ -1,11 +0,0 @@
1
- import * as cdk from 'aws-cdk-lib';
2
- import { Construct } from 'constructs';
3
- import { BuildConfig } from '../@types/common';
4
-
5
- export class LaravelBasedMicroserviceStack extends cdk.Stack {
6
- constructor(scope: Construct, id: string, buildConfig: BuildConfig, props?: cdk.StackProps) {
7
- super(scope, id, props);
8
-
9
- new cdk.CfnOutput(this, 'buildConfig', {value: JSON.stringify(buildConfig)})
10
- }
11
- }