@fy-stack/app-construct 0.0.147-alpha.30610 → 0.0.147-alpha.30611

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/dist/index.d.ts CHANGED
@@ -7,6 +7,8 @@ export { lambdaGrant } from './lib/lambda/utils/lambda-grant';
7
7
  export { ImageAppContainer } from './lib/standalone/image-app-container';
8
8
  export { NextAppRouterCode } from './lib/standalone/next-app-router-code';
9
9
  export { NextAppRouterContainer } from './lib/standalone/next-app-router-container';
10
+ export { NodeApiCode } from './lib/standalone/node-api-code';
11
+ export { NodeAppCode } from './lib/standalone/node-app-code';
10
12
  export { StaticConstruct } from './lib/static/static-construct';
11
13
  export type { StaticConstructProps } from './lib/static/types';
12
14
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,YAAY,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACzD,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAChE,YAAY,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC/D,OAAO,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAC;AAChE,OAAO,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;AAC9D,OAAO,EAAE,iBAAiB,EAAE,MAAM,sCAAsC,CAAC;AACzE,OAAO,EAAE,iBAAiB,EAAE,MAAM,uCAAuC,CAAC;AAC1E,OAAO,EAAE,sBAAsB,EAAE,MAAM,4CAA4C,CAAC;AACpF,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAChE,YAAY,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,YAAY,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACzD,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAChE,YAAY,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC/D,OAAO,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAC;AAChE,OAAO,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;AAC9D,OAAO,EAAE,iBAAiB,EAAE,MAAM,sCAAsC,CAAC;AACzE,OAAO,EAAE,iBAAiB,EAAE,MAAM,uCAAuC,CAAC;AAC1E,OAAO,EAAE,sBAAsB,EAAE,MAAM,4CAA4C,CAAC;AACpF,OAAO,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAC7D,OAAO,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAC7D,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAChE,YAAY,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC"}
package/dist/index.js CHANGED
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.StaticConstruct = exports.NextAppRouterContainer = exports.NextAppRouterCode = exports.ImageAppContainer = exports.lambdaGrant = exports.lambdaAttach = exports.LambdaConstruct = exports.EcsConstruct = void 0;
3
+ exports.StaticConstruct = exports.NodeAppCode = exports.NodeApiCode = exports.NextAppRouterContainer = exports.NextAppRouterCode = exports.ImageAppContainer = exports.lambdaGrant = exports.lambdaAttach = exports.LambdaConstruct = exports.EcsConstruct = void 0;
4
4
  var ecs_construct_1 = require("./lib/ecs/ecs-construct");
5
5
  Object.defineProperty(exports, "EcsConstruct", { enumerable: true, get: function () { return ecs_construct_1.EcsConstruct; } });
6
6
  var lambda_construct_1 = require("./lib/lambda/lambda-construct");
@@ -15,5 +15,9 @@ var next_app_router_code_1 = require("./lib/standalone/next-app-router-code");
15
15
  Object.defineProperty(exports, "NextAppRouterCode", { enumerable: true, get: function () { return next_app_router_code_1.NextAppRouterCode; } });
16
16
  var next_app_router_container_1 = require("./lib/standalone/next-app-router-container");
17
17
  Object.defineProperty(exports, "NextAppRouterContainer", { enumerable: true, get: function () { return next_app_router_container_1.NextAppRouterContainer; } });
18
+ var node_api_code_1 = require("./lib/standalone/node-api-code");
19
+ Object.defineProperty(exports, "NodeApiCode", { enumerable: true, get: function () { return node_api_code_1.NodeApiCode; } });
20
+ var node_app_code_1 = require("./lib/standalone/node-app-code");
21
+ Object.defineProperty(exports, "NodeAppCode", { enumerable: true, get: function () { return node_app_code_1.NodeAppCode; } });
18
22
  var static_construct_1 = require("./lib/static/static-construct");
19
23
  Object.defineProperty(exports, "StaticConstruct", { enumerable: true, get: function () { return static_construct_1.StaticConstruct; } });
@@ -1 +1 @@
1
- {"version":3,"file":"image-app-construct.d.ts","sourceRoot":"","sources":["../../../../src/lib/lambda/apps/image-app-construct.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAExD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AACzE,OAAO,EAEL,eAAe,EAKhB,MAAM,4BAA4B,CAAC;AAKpC,OAAO,EAEL,QAAQ,EAIT,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAK5E,OAAO,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AACvC,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAMvD,QAAA,MAAM,iBAAiB;;;;iBAErB,CAAC;AAEH,qBAAa,iBAAkB,SAAQ,SAAU,YAAW,YAAY;IAC/D,QAAQ,EAAE,QAAQ,CAAC;IACnB,KAAK,EAAE,KAAK,GAAG,SAAS,CAAC;gBAG9B,KAAK,EAAE,SAAS,EAChB,EAAE,EAAE,MAAM,EACV,KAAK,EAAE,aAAa,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;IA+DzD,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,GAAG,IAAI;IAIpD,KAAK,CAAC,GAAG,UAAU,EAAE,SAAS,EAAE,GAAG,IAAI;IAIvC,YAAY,CAAC,KAAK,EAAE,iBAAiB,GAAG,kBAAkB;IAW1D,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC;IAqBzD,gBAAgB,CAAC,cAAc,EAAE,MAAM;IAIvC,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,oBAAoB,CAAC;IAIvD,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,OAAO;;;;;;;CAG7B"}
1
+ {"version":3,"file":"image-app-construct.d.ts","sourceRoot":"","sources":["../../../../src/lib/lambda/apps/image-app-construct.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAGxD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AACzE,OAAO,EAEL,eAAe,EAKhB,MAAM,4BAA4B,CAAC;AAIpC,OAAO,EAEL,QAAQ,EAIT,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAK5E,OAAO,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AACvC,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAMvD,QAAA,MAAM,iBAAiB;;;;iBAErB,CAAC;AAEH,qBAAa,iBAAkB,SAAQ,SAAU,YAAW,YAAY;IAC/D,QAAQ,EAAE,QAAQ,CAAC;IACnB,KAAK,EAAE,KAAK,GAAG,SAAS,CAAC;gBAG9B,KAAK,EAAE,SAAS,EAChB,EAAE,EAAE,MAAM,EACV,KAAK,EAAE,aAAa,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;IAwDzD,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,GAAG,IAAI;IAIpD,KAAK,CAAC,GAAG,UAAU,EAAE,SAAS,EAAE,GAAG,IAAI;IAIvC,YAAY,CAAC,KAAK,EAAE,iBAAiB,GAAG,kBAAkB;IAW1D,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC;IAqBzD,gBAAgB,CAAC,cAAc,EAAE,MAAM;IAIvC,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,oBAAoB,CAAC;IAIvD,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,OAAO;;;;;;;CAG7B"}
@@ -3,9 +3,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.ImageAppConstruct = void 0;
4
4
  const tslib_1 = require("tslib");
5
5
  const aws_cdk_lib_1 = require("aws-cdk-lib");
6
+ const cdk = tslib_1.__importStar(require("aws-cdk-lib"));
6
7
  const aws_cloudfront_1 = require("aws-cdk-lib/aws-cloudfront");
7
8
  const aws_cloudfront_origins_1 = require("aws-cdk-lib/aws-cloudfront-origins");
8
- const cdk = tslib_1.__importStar(require("aws-cdk-lib"));
9
9
  const ecr = tslib_1.__importStar(require("aws-cdk-lib/aws-ecr"));
10
10
  const aws_ecr_assets_1 = require("aws-cdk-lib/aws-ecr-assets");
11
11
  const aws_lambda_1 = require("aws-cdk-lib/aws-lambda");
@@ -32,12 +32,6 @@ class ImageAppConstruct extends constructs_1.Construct {
32
32
  if ('reference' in props) {
33
33
  const params = (0, container_from_param_1.containerParamsFromSSM)(this, props.reference, props.version);
34
34
  const repository = ecr.Repository.fromRepositoryName(this, 'Repository', params.repository);
35
- console.log({
36
- paramsToken: cdk.Token.asList(params.cmd),
37
- paramsSplit: cdk.Fn.split(',', params.cmd),
38
- paramsSplits: new cdk.CfnJson(this, 'Params', { value: params.cmd }),
39
- params: params.cmd,
40
- });
41
35
  code = aws_lambda_1.Code.fromEcrImage(repository, {
42
36
  tagOrDigest: params.tag,
43
37
  cmd: cdk.Fn.split(',', params.cmd),
@@ -1 +1 @@
1
- {"version":3,"file":"next-app-router-construct.d.ts","sourceRoot":"","sources":["../../../../src/lib/lambda/apps/next-app-router-construct.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAExD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AAEzE,OAAO,KAAK,UAAU,MAAM,4BAA4B,CAAC;AAEzD,OAAO,KAAK,MAAM,MAAM,wBAAwB,CAAC;AAIjD,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,KAAK,GAAG,MAAM,qBAAqB,CAAC;AAC3C,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AACvC,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AASxB,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAMvD,QAAA,MAAM,iBAAiB;;iBAAgD,CAAC;AAExE,qBAAa,sBAAuB,SAAQ,SAAU,YAAW,YAAY;IACpE,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC;IAC1B,KAAK,EAAE,GAAG,CAAC,KAAK,GAAG,SAAS,CAAC;IAEpC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAY;IACnC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAU;gBAG9B,KAAK,EAAE,SAAS,EAChB,EAAE,EAAE,MAAM,EACV,KAAK,EAAE,aAAa,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;IAmEzD,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,eAAe,CAAC;IAkBpE,gBAAgB,CAAC,cAAc,EAAE,MAAM;IAIvC,GAAG,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,oBAAoB,CAAC;IAgG3D,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC;IAI7C,KAAK,CAAC,GAAG,MAAM,EAAE,SAAS,EAAE;IAI5B,YAAY,IAAI,kBAAkB;IAIlC,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,OAAO;;;;CAG7B"}
1
+ {"version":3,"file":"next-app-router-construct.d.ts","sourceRoot":"","sources":["../../../../src/lib/lambda/apps/next-app-router-construct.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAExD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AAEzE,OAAO,KAAK,UAAU,MAAM,4BAA4B,CAAC;AAEzD,OAAO,KAAK,MAAM,MAAM,wBAAwB,CAAC;AAIjD,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,KAAK,GAAG,MAAM,qBAAqB,CAAC;AAC3C,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AACvC,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAUxB,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAKvD,QAAA,MAAM,iBAAiB;;iBAAgD,CAAC;AAExE,qBAAa,sBAAuB,SAAQ,SAAU,YAAW,YAAY;IACpE,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC;IAC1B,KAAK,EAAE,GAAG,CAAC,KAAK,GAAG,SAAS,CAAC;IAEpC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAY;IACnC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAU;gBAG9B,KAAK,EAAE,SAAS,EAChB,EAAE,EAAE,MAAM,EACV,KAAK,EAAE,aAAa,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;IAmEzD,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,eAAe,CAAC;IAkBpE,gBAAgB,CAAC,cAAc,EAAE,MAAM;IAIvC,GAAG,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,oBAAoB,CAAC;IAgG3D,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC;IAI7C,KAAK,CAAC,GAAG,MAAM,EAAE,SAAS,EAAE;IAI5B,YAAY,IAAI,kBAAkB;IAIlC,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,OAAO;;;;CAG7B"}
@@ -13,12 +13,12 @@ const s3 = tslib_1.__importStar(require("aws-cdk-lib/aws-s3"));
13
13
  const s3Deploy = tslib_1.__importStar(require("aws-cdk-lib/aws-s3-deployment"));
14
14
  const constructs_1 = require("constructs");
15
15
  const zod_1 = require("zod");
16
+ const code_from_param_1 = require("../../shared/code-from-param");
16
17
  const next_app_router_1 = require("../../shared/next-app-router");
17
18
  const public_bucket_1 = require("../../shared/public-bucket");
18
19
  const getDefaultLambda_1 = require("../utils/getDefaultLambda");
19
20
  const lambda_attach_1 = require("../utils/lambda-attach");
20
21
  const lambda_grant_1 = require("../utils/lambda-grant");
21
- const code_from_param_1 = require("../../shared/code-from-param");
22
22
  const BuildParamsSchema = zod_1.z.looseObject({ cmd: zod_1.z.string().optional() });
23
23
  class NextAppRouterConstruct extends constructs_1.Construct {
24
24
  function;
@@ -1 +1 @@
1
- {"version":3,"file":"node-api-construct.d.ts","sourceRoot":"","sources":["../../../../src/lib/lambda/apps/node-api-construct.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACxD,OAAO,KAAK,GAAG,MAAM,aAAa,CAAC;AAGnC,OAAO,KAAK,MAAM,MAAM,wBAAwB,CAAC;AAEjD,OAAO,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAC5E,OAAO,KAAK,GAAG,MAAM,qBAAqB,CAAC;AAC3C,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAEvC,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAMvD,qBAAa,gBAAiB,SAAQ,SAAU,YAAW,YAAY;IAC9D,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC;IAC1B,KAAK,EAAE,GAAG,CAAC,KAAK,GAAG,SAAS,CAAC;gBAExB,KAAK,EAAE,SAAS,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,aAAa;IAkD9D,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC;IAI7C,KAAK,CAAC,GAAG,MAAM,EAAE,SAAS,EAAE;IAI5B,YAAY,CAAC,KAAK,EAAE,iBAAiB,GAAG,kBAAkB;IAI1D,UAAU,CAAC,IAAI,EAAE,MAAM;;;;;;;;;;;IAqBvB,gBAAgB,CAAC,cAAc,EAAE,MAAM;IAIvC,GAAG,CAAC,IAAI,EAAE,MAAM;;;IAIhB,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC;CAG1B"}
1
+ {"version":3,"file":"node-api-construct.d.ts","sourceRoot":"","sources":["../../../../src/lib/lambda/apps/node-api-construct.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACxD,OAAO,KAAK,GAAG,MAAM,aAAa,CAAC;AAGnC,OAAO,KAAK,MAAM,MAAM,wBAAwB,CAAC;AAGjD,OAAO,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAC5E,OAAO,KAAK,GAAG,MAAM,qBAAqB,CAAC;AAC3C,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAGvC,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAMvD,qBAAa,gBAAiB,SAAQ,SAAU,YAAW,YAAY;IAC9D,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC;IAC1B,KAAK,EAAE,GAAG,CAAC,KAAK,GAAG,SAAS,CAAC;gBAExB,KAAK,EAAE,SAAS,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,aAAa;IA+D9D,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC;IAI7C,KAAK,CAAC,GAAG,MAAM,EAAE,SAAS,EAAE;IAI5B,YAAY,CAAC,KAAK,EAAE,iBAAiB,GAAG,kBAAkB;IAI1D,UAAU,CAAC,IAAI,EAAE,MAAM;;;;;;;;;;;IAqBvB,gBAAgB,CAAC,cAAc,EAAE,MAAM;IAIvC,GAAG,CAAC,IAAI,EAAE,MAAM;;;IAIhB,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC;CAG1B"}
@@ -9,8 +9,10 @@ const cloudfront = tslib_1.__importStar(require("aws-cdk-lib/aws-cloudfront"));
9
9
  const cloudfrontOrigin = tslib_1.__importStar(require("aws-cdk-lib/aws-cloudfront-origins"));
10
10
  const lambda = tslib_1.__importStar(require("aws-cdk-lib/aws-lambda"));
11
11
  const lambdaEventSource = tslib_1.__importStar(require("aws-cdk-lib/aws-lambda-event-sources"));
12
+ const s3 = tslib_1.__importStar(require("aws-cdk-lib/aws-s3"));
12
13
  const sqs = tslib_1.__importStar(require("aws-cdk-lib/aws-sqs"));
13
14
  const constructs_1 = require("constructs");
15
+ const code_from_param_1 = require("../../shared/code-from-param");
14
16
  const getDefaultLambda_1 = require("../utils/getDefaultLambda");
15
17
  const lambda_api_1 = require("../utils/lambda-api");
16
18
  const lambda_attach_1 = require("../utils/lambda-attach");
@@ -20,9 +22,6 @@ class NodeApiConstruct extends constructs_1.Construct {
20
22
  queue;
21
23
  constructor(scope, id, props) {
22
24
  super(scope, id);
23
- if (!('output' in props)) {
24
- throw new Error('Output is required');
25
- }
26
25
  const region = cdk.Stack.of(this).region;
27
26
  const environment = {
28
27
  AWS_LAMBDA_EXEC_WRAPPER: '/opt/bootstrap',
@@ -33,14 +32,26 @@ class NodeApiConstruct extends constructs_1.Construct {
33
32
  lambda.LayerVersion.fromLayerVersionArn(this, 'WebAdapterLayer', `arn:aws:lambda:${region}:753240598075:layer:LambdaAdapterLayerX86:16`),
34
33
  ];
35
34
  const functionProps = props.buildParams;
36
- node_fs_1.default.writeFileSync(node_path_1.default.join(props.output, 'run.sh'), props.cmd);
35
+ let code;
36
+ let handler;
37
+ if ('reference' in props) {
38
+ const params = (0, code_from_param_1.codeFromSSM)(this, props.reference, props.version);
39
+ const artifactBucket = s3.Bucket.fromBucketName(this, 'ArtifactBucket', params.artifact);
40
+ code = lambda.Code.fromBucketV2(artifactBucket, params.code);
41
+ handler = params.cmd;
42
+ }
43
+ else {
44
+ node_fs_1.default.writeFileSync(node_path_1.default.join(props.output, 'run.sh'), props.cmd);
45
+ code = lambda.Code.fromAsset(props.output);
46
+ handler = 'run.sh';
47
+ }
37
48
  const defaultProps = (0, getDefaultLambda_1.getDefaultLambda)(props);
38
49
  this.function = new lambda.Function(this, `AppFunction`, {
39
50
  ...defaultProps,
40
51
  environment: Object.assign({}, defaultProps.environment, environment),
41
52
  runtime: lambda.Runtime.NODEJS_20_X,
42
- handler: 'run.sh',
43
- code: lambda.Code.fromAsset(props.output),
53
+ handler,
54
+ code,
44
55
  layers,
45
56
  ...functionProps,
46
57
  });
@@ -1 +1 @@
1
- {"version":3,"file":"node-app-construct.d.ts","sourceRoot":"","sources":["../../../../src/lib/lambda/apps/node-app-construct.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAExD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AAEzE,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAC7D,OAAO,KAAK,MAAM,MAAM,wBAAwB,CAAC;AAEjD,OAAO,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAE5E,OAAO,KAAK,GAAG,MAAM,qBAAqB,CAAC;AAE3C,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAEvC,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAKvD,qBAAa,gBAAiB,SAAQ,SAAU,YAAW,YAAY;IAC9D,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC;IAC1B,KAAK,EAAE,GAAG,CAAC,KAAK,GAAG,SAAS,CAAC;gBAExB,KAAK,EAAE,SAAS,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,aAAa;IAgC9D,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC;IAI7C,KAAK,CAAC,GAAG,MAAM,EAAE,SAAS,EAAE;IAI5B,YAAY,CAAC,KAAK,EAAE,iBAAiB,GAAG,kBAAkB;IAU1D,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC;IAIzD,gBAAgB,CAAC,cAAc,EAAE,MAAM;IAIvC,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,oBAAoB,CAAC;IAcvD,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC;CAG1B"}
1
+ {"version":3,"file":"node-app-construct.d.ts","sourceRoot":"","sources":["../../../../src/lib/lambda/apps/node-app-construct.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAExD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AAEzE,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAC7D,OAAO,KAAK,MAAM,MAAM,wBAAwB,CAAC;AAGjD,OAAO,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAE5E,OAAO,KAAK,GAAG,MAAM,qBAAqB,CAAC;AAE3C,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAGvC,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAKvD,qBAAa,gBAAiB,SAAQ,SAAU,YAAW,YAAY;IAC9D,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC;IAC1B,KAAK,EAAE,GAAG,CAAC,KAAK,GAAG,SAAS,CAAC;gBAExB,KAAK,EAAE,SAAS,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,aAAa;IA6C9D,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC;IAI7C,KAAK,CAAC,GAAG,MAAM,EAAE,SAAS,EAAE;IAI5B,YAAY,CAAC,KAAK,EAAE,iBAAiB,GAAG,kBAAkB;IAU1D,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC;IAIzD,gBAAgB,CAAC,cAAc,EAAE,MAAM;IAIvC,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,oBAAoB,CAAC;IAcvD,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC;CAG1B"}
@@ -6,9 +6,11 @@ const aws_cdk_lib_1 = require("aws-cdk-lib");
6
6
  const aws_apigatewayv2_integrations_1 = require("aws-cdk-lib/aws-apigatewayv2-integrations");
7
7
  const lambda = tslib_1.__importStar(require("aws-cdk-lib/aws-lambda"));
8
8
  const aws_lambda_event_sources_1 = require("aws-cdk-lib/aws-lambda-event-sources");
9
+ const s3 = tslib_1.__importStar(require("aws-cdk-lib/aws-s3"));
9
10
  const snsSubscriptions = tslib_1.__importStar(require("aws-cdk-lib/aws-sns-subscriptions"));
10
11
  const aws_sqs_1 = require("aws-cdk-lib/aws-sqs");
11
12
  const constructs_1 = require("constructs");
13
+ const code_from_param_1 = require("../../shared/code-from-param");
12
14
  const getDefaultLambda_1 = require("../utils/getDefaultLambda");
13
15
  const lambda_attach_1 = require("../utils/lambda-attach");
14
16
  const lambda_grant_1 = require("../utils/lambda-grant");
@@ -17,14 +19,23 @@ class NodeAppConstruct extends constructs_1.Construct {
17
19
  queue;
18
20
  constructor(scope, id, props) {
19
21
  super(scope, id);
20
- if (!('output' in props)) {
21
- throw new Error('Output is required');
22
+ let code;
23
+ let handler;
24
+ if ('reference' in props) {
25
+ const params = (0, code_from_param_1.codeFromSSM)(this, props.reference, props.version);
26
+ const artifactBucket = s3.Bucket.fromBucketName(this, 'ArtifactBucket', params.artifact);
27
+ code = lambda.Code.fromBucketV2(artifactBucket, params.code);
28
+ handler = params.cmd;
29
+ }
30
+ else {
31
+ code = lambda.Code.fromAsset(props.output);
32
+ handler = props.buildParams.handler ?? 'index.handler';
22
33
  }
23
34
  this.function = new lambda.Function(this, `AppFunction`, {
24
35
  ...(0, getDefaultLambda_1.getDefaultLambda)(props),
25
36
  runtime: lambda.Runtime.NODEJS_20_X,
26
- handler: props.buildParams.handler ?? 'index.handler',
27
- code: lambda.Code.fromAsset(props.output),
37
+ handler,
38
+ code,
28
39
  });
29
40
  if (props.queue) {
30
41
  const { batchSize, ...queueProps } = props.queue;
@@ -1,5 +1,6 @@
1
1
  import { Construct } from 'constructs';
2
2
  export declare function codeFromSSM(scope: Construct, reference: string, version?: string): {
3
+ artifact: string;
3
4
  code: string;
4
5
  cmd: string;
5
6
  };
@@ -1 +1 @@
1
- {"version":3,"file":"code-from-param.d.ts","sourceRoot":"","sources":["../../../src/lib/shared/code-from-param.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAEvC,wBAAgB,WAAW,CACzB,KAAK,EAAE,SAAS,EAChB,SAAS,EAAE,MAAM,EACjB,OAAO,SAAW;;;EAcnB"}
1
+ {"version":3,"file":"code-from-param.d.ts","sourceRoot":"","sources":["../../../src/lib/shared/code-from-param.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAEvC,wBAAgB,WAAW,CACzB,KAAK,EAAE,SAAS,EAChB,SAAS,EAAE,MAAM,EACjB,OAAO,SAAW;;;;EAmBnB"}
@@ -5,6 +5,7 @@ const tslib_1 = require("tslib");
5
5
  const ssm = tslib_1.__importStar(require("aws-cdk-lib/aws-ssm"));
6
6
  function codeFromSSM(scope, reference, version = 'latest') {
7
7
  return {
8
+ artifact: ssm.StringParameter.fromStringParameterName(scope, `CodeArtifactStorageParamV${version}`, `/${reference}/${version}/artifacts`).stringValue,
8
9
  code: ssm.StringParameter.fromStringParameterName(scope, `CodeFilesKeyParamV${version}`, `/${reference}/${version}/code`).stringValue,
9
10
  cmd: ssm.StringParameter.fromStringParameterName(scope, `CodeCMDParamV${version}`, `/${reference}/${version}/code/handler`).stringValue,
10
11
  };
@@ -0,0 +1,10 @@
1
+ import { Construct } from 'constructs';
2
+ import { NodeAppCode } from './node-app-code';
3
+ import type { StandaloneApp } from './types';
4
+ export type NodeApiCodeProps = StandaloneApp & {
5
+ cmd: string;
6
+ };
7
+ export declare class NodeApiCode extends NodeAppCode {
8
+ constructor(scope: Construct, id: string, props: NodeApiCodeProps);
9
+ }
10
+ //# sourceMappingURL=node-api-code.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"node-api-code.d.ts","sourceRoot":"","sources":["../../../src/lib/standalone/node-api-code.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAEvC,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAE7C,MAAM,MAAM,gBAAgB,GAAG,aAAa,GAAG;IAC7C,GAAG,EAAE,MAAM,CAAC;CACb,CAAC;AAEF,qBAAa,WAAY,SAAQ,WAAW;gBAC9B,KAAK,EAAE,SAAS,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,gBAAgB;CAKlE"}
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.NodeApiCode = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const node_fs_1 = tslib_1.__importDefault(require("node:fs"));
6
+ const node_path_1 = tslib_1.__importDefault(require("node:path"));
7
+ const node_app_code_1 = require("./node-app-code");
8
+ class NodeApiCode extends node_app_code_1.NodeAppCode {
9
+ constructor(scope, id, props) {
10
+ node_fs_1.default.writeFileSync(node_path_1.default.join(props.output, 'run.sh'), props.cmd);
11
+ super(scope, id, { ...props, handler: 'run.sh' });
12
+ }
13
+ }
14
+ exports.NodeApiCode = NodeApiCode;
@@ -0,0 +1,9 @@
1
+ import { Construct } from 'constructs';
2
+ import type { StandaloneApp } from './types';
3
+ export type NodeCodeProps = StandaloneApp & {
4
+ handler?: string;
5
+ };
6
+ export declare class NodeAppCode extends Construct {
7
+ constructor(scope: Construct, id: string, props: NodeCodeProps);
8
+ }
9
+ //# sourceMappingURL=node-app-code.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"node-app-code.d.ts","sourceRoot":"","sources":["../../../src/lib/standalone/node-app-code.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAGvC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAE7C,MAAM,MAAM,aAAa,GAAG,aAAa,GAAG;IAC1C,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,qBAAa,WAAY,SAAQ,SAAS;gBAC5B,KAAK,EAAE,SAAS,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,aAAa;CA6C/D"}
@@ -0,0 +1,41 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.NodeAppCode = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const cdk = tslib_1.__importStar(require("aws-cdk-lib"));
6
+ const s3 = tslib_1.__importStar(require("aws-cdk-lib/aws-s3"));
7
+ const ssm = tslib_1.__importStar(require("aws-cdk-lib/aws-ssm"));
8
+ const constructs_1 = require("constructs");
9
+ const code_deployment_1 = require("../shared/code-deployment");
10
+ class NodeAppCode extends constructs_1.Construct {
11
+ constructor(scope, id, props) {
12
+ super(scope, id);
13
+ const stackName = cdk.Stack.of(this).stackName;
14
+ const artifactBucket = new s3.Bucket(this, 'ArtifactStorage', {
15
+ removalPolicy: cdk.RemovalPolicy.DESTROY,
16
+ autoDeleteObjects: true,
17
+ });
18
+ const code = (0, code_deployment_1.codeDeployment)(this, artifactBucket, props.output, props.version);
19
+ const versions = [props.version, 'latest'];
20
+ const parameters = [];
21
+ for (const v of versions) {
22
+ parameters.push(new ssm.StringParameter(this, `ArtifactsParamV${v}`, {
23
+ parameterName: `/${stackName}/${v}/artifacts`,
24
+ stringValue: artifactBucket.bucketName,
25
+ }), new ssm.StringParameter(this, `CodeFilesKeyParamV${v}`, {
26
+ parameterName: `/${stackName}/${v}/code`,
27
+ stringValue: code,
28
+ }), new ssm.StringParameter(this, `CodeCMDParamV${v}`, {
29
+ parameterName: `/${stackName}/${v}/code/handler`,
30
+ stringValue: props.handler ?? 'index.handler',
31
+ }), new ssm.StringParameter(this, `TagParamV${v}`, {
32
+ parameterName: `/${stackName}/${v}/tag`,
33
+ stringValue: props.version,
34
+ }));
35
+ }
36
+ for (const p of parameters) {
37
+ p.applyRemovalPolicy(cdk.RemovalPolicy.RETAIN);
38
+ }
39
+ }
40
+ }
41
+ exports.NodeAppCode = NodeAppCode;
package/package.json CHANGED
@@ -1,9 +1,9 @@
1
1
  {
2
2
  "name": "@fy-stack/app-construct",
3
- "version": "0.0.147-alpha.30610",
3
+ "version": "0.0.147-alpha.30611",
4
4
  "repository": "https://github.com/festusyuma/fy-stack",
5
5
  "dependencies": {
6
- "@fy-stack/types": "0.0.147-alpha.30610",
6
+ "@fy-stack/types": "0.0.147-alpha.30611",
7
7
  "tslib": "^2.3.0",
8
8
  "zod": "^4.3.6"
9
9
  },