@fy-stack/app-construct 0.0.147-alpha.3056 → 0.0.147-alpha.3057

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.
@@ -1 +1 @@
1
- {"version":3,"file":"next-app-router-construct.d.ts","sourceRoot":"","sources":["../../../../src/lib/ecs/apps/next-app-router-construct.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AACzE,OAAO,KAAK,UAAU,MAAM,4BAA4B,CAAC;AACzD,OAAO,KAAK,GAAG,MAAM,qBAAqB,CAAC;AAE3C,OAAO,KAAK,GAAG,MAAM,qBAAqB,CAAC;AAC3C,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AASvC,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEvD,KAAK,kBAAkB,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC;AAEjD,qBAAa,sBAAuB,SAAQ,SAAU,YAAW,YAAY;IAOjC,OAAO,CAAC,KAAK;IANhD,SAAS,EAAE,GAAG,CAAC,mBAAmB,CAAC;IACnC,KAAK,EAAE,GAAG,CAAC,KAAK,GAAG,SAAS,CAAC;IAEpC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAa;IACpC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAU;gBAEpB,KAAK,EAAE,SAAS,EAAE,EAAE,EAAE,MAAM,EAAU,KAAK,EAAE,kBAAkB;IA4B3E,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,eAAe,CAAC;IAcpE,gBAAgB,CAAC,cAAc,EAAE,MAAM;IAIvC,GAAG,IAAI,MAAM,CAAC,MAAM,EAAE,oBAAoB,CAAC;IAI3C,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC;IAO7C,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,OAAO;CAG7B"}
1
+ {"version":3,"file":"next-app-router-construct.d.ts","sourceRoot":"","sources":["../../../../src/lib/ecs/apps/next-app-router-construct.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AACzE,OAAO,KAAK,UAAU,MAAM,4BAA4B,CAAC;AACzD,OAAO,KAAK,GAAG,MAAM,qBAAqB,CAAC;AAE3C,OAAO,KAAK,GAAG,MAAM,qBAAqB,CAAC;AAC3C,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AASvC,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAKvD,KAAK,kBAAkB,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC;AASjD,qBAAa,sBAAuB,SAAQ,SAAU,YAAW,YAAY;IAOjC,OAAO,CAAC,KAAK;IANhD,SAAS,EAAE,GAAG,CAAC,mBAAmB,CAAC;IACnC,KAAK,EAAE,GAAG,CAAC,KAAK,GAAG,SAAS,CAAC;IAEpC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAa;IACpC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAU;gBAEpB,KAAK,EAAE,SAAS,EAAE,EAAE,EAAE,MAAM,EAAU,KAAK,EAAE,kBAAkB;IA8B3E,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,eAAe,CAAC;IAcpE,gBAAgB,CAAC,cAAc,EAAE,MAAM;IAIvC,GAAG,IAAI,MAAM,CAAC,MAAM,EAAE,oBAAoB,CAAC;IAI3C,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC;IAO7C,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,OAAO;CAG7B"}
@@ -7,6 +7,15 @@ const constructs_1 = require("constructs");
7
7
  const next_app_router_1 = require("../../shared/next-app-router");
8
8
  const params_from_attachable_1 = require("../../util/params-from-attachable");
9
9
  const taskDefinitionImage_1 = require("../shared/taskDefinitionImage");
10
+ const constants_1 = require("../constants");
11
+ const zod_1 = require("zod");
12
+ const params_from_ssm_1 = require("../../util/params-from-ssm");
13
+ const NextAppRouterContainerAppShema = constants_1.ContainerAppSchema.extend({
14
+ files: zod_1.z.object({
15
+ staticFiles: constants_1.ContainerAppFileSchema,
16
+ publicFiles: constants_1.ContainerAppFileSchema,
17
+ }),
18
+ });
10
19
  class NextAppRouterConstruct extends constructs_1.Construct {
11
20
  props;
12
21
  container;
@@ -22,11 +31,9 @@ class NextAppRouterConstruct extends constructs_1.Construct {
22
31
  this.files = deployment.files;
23
32
  }
24
33
  else {
25
- if (!props.reference.static || !props.reference.files) {
26
- throw new Error('Static bucket reference and files are required');
27
- }
28
- this.static = s3.Bucket.fromBucketName(this, 'StaticBucket', props.reference.static);
29
- this.files = props.reference.files;
34
+ const params = (0, params_from_ssm_1.paramsFromSSM)(this, props.reference, NextAppRouterContainerAppShema);
35
+ this.static = s3.Bucket.fromBucketName(this, 'StaticBucket', params.repository);
36
+ this.files = params.files;
30
37
  }
31
38
  this.container = (0, taskDefinitionImage_1.taskDefinitionImage)(this, `${props.appName}AppContainer`, props);
32
39
  }
@@ -0,0 +1,32 @@
1
+ import { z } from 'zod';
2
+ export declare const ContainerAppFileSchema: z.ZodObject<{
3
+ key: z.ZodString;
4
+ }, "strip", z.ZodTypeAny, {
5
+ key: string;
6
+ }, {
7
+ key: string;
8
+ }>;
9
+ export declare const ContainerAppSchema: z.ZodObject<{
10
+ repository: z.ZodString;
11
+ tag: z.ZodOptional<z.ZodString>;
12
+ files: z.ZodRecord<z.ZodString, z.ZodObject<{
13
+ key: z.ZodString;
14
+ }, "strip", z.ZodTypeAny, {
15
+ key: string;
16
+ }, {
17
+ key: string;
18
+ }>>;
19
+ }, "strip", z.ZodTypeAny, {
20
+ repository: string;
21
+ files: Record<string, {
22
+ key: string;
23
+ }>;
24
+ tag?: string | undefined;
25
+ }, {
26
+ repository: string;
27
+ files: Record<string, {
28
+ key: string;
29
+ }>;
30
+ tag?: string | undefined;
31
+ }>;
32
+ //# sourceMappingURL=constants.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../src/lib/ecs/constants.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,sBAAsB;;;;;;EAAgC,CAAC;AAEpE,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;EAI7B,CAAC"}
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ContainerAppSchema = exports.ContainerAppFileSchema = void 0;
4
+ const zod_1 = require("zod");
5
+ exports.ContainerAppFileSchema = zod_1.z.object({ key: zod_1.z.string() });
6
+ exports.ContainerAppSchema = zod_1.z.object({
7
+ repository: zod_1.z.string(),
8
+ tag: zod_1.z.string().optional(),
9
+ files: zod_1.z.record(zod_1.z.string(), exports.ContainerAppFileSchema),
10
+ });
@@ -1 +1 @@
1
- {"version":3,"file":"taskDefinitionImage.d.ts","sourceRoot":"","sources":["../../../../src/lib/ecs/shared/taskDefinitionImage.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,GAAG,MAAM,qBAAqB,CAAC;AAC3C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAE5C,OAAO,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAEzD,KAAK,KAAK,GAAG,SAAS,GACpB,IAAI,CAAC,aAAa,EAAE,KAAK,GAAG,MAAM,GAAG,UAAU,GAAG,gBAAgB,CAAC,CAAC;AAEtE,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,SAAS,EAChB,EAAE,EAAE,MAAM,EACV,KAAK,EAAE,KAAK,2BA8Cb"}
1
+ {"version":3,"file":"taskDefinitionImage.d.ts","sourceRoot":"","sources":["../../../../src/lib/ecs/shared/taskDefinitionImage.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,GAAG,MAAM,qBAAqB,CAAC;AAC3C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAE5C,OAAO,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAIzD,KAAK,KAAK,GAAG,SAAS,GACpB,IAAI,CAAC,aAAa,EAAE,KAAK,GAAG,MAAM,GAAG,UAAU,GAAG,gBAAgB,CAAC,CAAC;AAEtE,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,SAAS,EAChB,EAAE,EAAE,MAAM,EACV,KAAK,EAAE,KAAK,2BA4Cb"}
@@ -6,6 +6,8 @@ const node_path_1 = tslib_1.__importDefault(require("node:path"));
6
6
  const ecr = tslib_1.__importStar(require("aws-cdk-lib/aws-ecr"));
7
7
  const ecrAssets = tslib_1.__importStar(require("aws-cdk-lib/aws-ecr-assets"));
8
8
  const ecs = tslib_1.__importStar(require("aws-cdk-lib/aws-ecs"));
9
+ const params_from_ssm_1 = require("../../util/params-from-ssm");
10
+ const constants_1 = require("../constants");
9
11
  function taskDefinitionImage(scope, id, props) {
10
12
  let image;
11
13
  let containerProps;
@@ -22,8 +24,9 @@ function taskDefinitionImage(scope, id, props) {
22
24
  containerProps = _containerProps;
23
25
  }
24
26
  else {
25
- const repository = ecr.Repository.fromRepositoryName(scope, `${id}Repository`, props.reference.repository);
26
- image = ecs.ContainerImage.fromEcrRepository(repository, props.reference.tag);
27
+ const params = (0, params_from_ssm_1.paramsFromSSM)(scope, props.reference, constants_1.ContainerAppSchema);
28
+ const repository = ecr.Repository.fromRepositoryName(scope, `${id}Repository`, params.repository);
29
+ image = ecs.ContainerImage.fromEcrRepository(repository, params.tag);
27
30
  containerProps = props.container;
28
31
  }
29
32
  return props.taskDefinition.addContainer(id, {
@@ -39,14 +39,7 @@ export type AppSource = {
39
39
  image: AssetImageProps;
40
40
  };
41
41
  } | {
42
- reference: {
43
- repository: string;
44
- static?: string;
45
- files?: Record<string, {
46
- key: string;
47
- }>;
48
- tag?: string;
49
- };
42
+ reference: string;
50
43
  container?: Omit<ContainerDefinitionOptions, 'image' | 'logging'>;
51
44
  };
52
45
  export type ServerApp = {
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/lib/ecs/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/lib/ecs/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import { Construct } from 'constructs';
2
+ import { ZodObject, ZodRawShape } from 'zod';
3
+ export declare function paramsFromSSM<T extends ZodRawShape, TSchema extends ZodObject<T>>(scope: Construct, paramName: string, schema: TSchema): TSchema['_output'];
4
+ //# sourceMappingURL=params-from-ssm.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"params-from-ssm.d.ts","sourceRoot":"","sources":["../../../src/lib/util/params-from-ssm.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AACvC,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,KAAK,CAAC;AAE7C,wBAAgB,aAAa,CAC3B,CAAC,SAAS,WAAW,EACrB,OAAO,SAAS,SAAS,CAAC,CAAC,CAAC,EAC5B,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,GAAG,OAAO,CAAC,SAAS,CAAC,CAM1E"}
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.paramsFromSSM = paramsFromSSM;
4
+ const tslib_1 = require("tslib");
5
+ const ssm = tslib_1.__importStar(require("aws-cdk-lib/aws-ssm"));
6
+ function paramsFromSSM(scope, paramName, schema) {
7
+ const params = JSON.parse(ssm.StringParameter.valueFromLookup(scope, paramName));
8
+ return schema.parse(params);
9
+ }
package/package.json CHANGED
@@ -1,11 +1,11 @@
1
1
  {
2
2
  "name": "@fy-stack/app-construct",
3
- "version": "0.0.147-alpha.3056",
3
+ "version": "0.0.147-alpha.3057",
4
4
  "repository": "https://github.com/festusyuma/fy-stack",
5
5
  "dependencies": {
6
- "@fy-stack/types": "0.0.147-alpha.3056",
6
+ "@fy-stack/types": "0.0.147-alpha.3057",
7
7
  "tslib": "^2.3.0",
8
- "zod": "^3.24.1"
8
+ "zod": "^4.3.6"
9
9
  },
10
10
  "peerDependencies": {
11
11
  "aws-cdk-lib": "^2.235.0",