@fy-stack/fullstack-construct 0.0.122 → 0.0.123

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,3 +1,4 @@
1
+ import { ApiGatewayConstruct } from '@fy-stack/apigateway-construct';
1
2
  import { type AppConstruct } from '@fy-stack/app-construct';
2
3
  import { AuthConstruct } from '@fy-stack/auth-construct';
3
4
  import { CDNConstruct } from '@fy-stack/cdn-construct';
@@ -7,7 +8,6 @@ import { SecretsConstruct } from '@fy-stack/secret-construct';
7
8
  import { StorageConstruct } from '@fy-stack/storage-construct';
8
9
  import { Construct } from 'constructs';
9
10
  import { FullStackConstructProps } from './types';
10
- import { ApiGatewayConstruct } from '@fy-stack/apigateway-construct';
11
11
  export declare class FullStackConstruct extends Construct {
12
12
  auth?: AuthConstruct;
13
13
  storage?: StorageConstruct;
@@ -1 +1 @@
1
- {"version":3,"file":"fullstack-construct.d.ts","sourceRoot":"","sources":["../../src/lib/fullstack-construct.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,YAAY,EAIlB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AACjE,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAC9D,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAE/D,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAEvC,OAAO,EAAW,uBAAuB,EAAE,MAAM,SAAS,CAAC;AAC3D,OAAO,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AAQrE,qBAAa,kBAAmB,SAAQ,SAAS;IACxC,IAAI,CAAC,EAAE,aAAa,CAAC;IACrB,OAAO,CAAC,EAAE,gBAAgB,CAAC;IAC3B,QAAQ,CAAC,EAAE,iBAAiB,CAAC;IAC7B,KAAK,CAAC,EAAE,cAAc,CAAC;IACvB,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;IACpC,GAAG,CAAC,EAAE,YAAY,CAAC;IACnB,GAAG,CAAC,EAAE,mBAAmB,CAAC;IAC1B,MAAM,EAAE,gBAAgB,CAAC;gBAEpB,KAAK,EAAE,SAAS,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,uBAAuB;CAyHzE"}
1
+ {"version":3,"file":"fullstack-construct.d.ts","sourceRoot":"","sources":["../../src/lib/fullstack-construct.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AACrE,OAAO,EACL,KAAK,YAAY,EAIlB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AACjE,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAC9D,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAE/D,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAEvC,OAAO,EAAW,uBAAuB,EAAE,MAAM,SAAS,CAAC;AAU3D,qBAAa,kBAAmB,SAAQ,SAAS;IACxC,IAAI,CAAC,EAAE,aAAa,CAAC;IACrB,OAAO,CAAC,EAAE,gBAAgB,CAAC;IAC3B,QAAQ,CAAC,EAAE,iBAAiB,CAAC;IAC7B,KAAK,CAAC,EAAE,cAAc,CAAC;IACvB,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;IACpC,GAAG,CAAC,EAAE,YAAY,CAAC;IACnB,GAAG,CAAC,EAAE,mBAAmB,CAAC;IAC1B,MAAM,EAAE,gBAAgB,CAAC;gBAEpB,KAAK,EAAE,SAAS,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,uBAAuB;CA4HzE"}
@@ -2,6 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.FullStackConstruct = void 0;
4
4
  const tslib_1 = require("tslib");
5
+ const apigateway_construct_1 = require("@fy-stack/apigateway-construct");
5
6
  const app_construct_1 = require("@fy-stack/app-construct");
6
7
  const auth_construct_1 = require("@fy-stack/auth-construct");
7
8
  const cdn_construct_1 = require("@fy-stack/cdn-construct");
@@ -12,11 +13,12 @@ const storage_construct_1 = require("@fy-stack/storage-construct");
12
13
  const cdk = tslib_1.__importStar(require("aws-cdk-lib"));
13
14
  const constructs_1 = require("constructs");
14
15
  const types_1 = require("./types");
15
- const apigateway_construct_1 = require("@fy-stack/apigateway-construct");
16
+ const deno_api_construct_1 = require("@fy-stack/app-construct/dist/lib/deno-api-construct");
16
17
  const AppBuilds = {
17
18
  [types_1.AppType.NEXT_APP_ROUTER]: app_construct_1.NextAppRouterConstruct,
18
19
  [types_1.AppType.NEST]: app_construct_1.NestConstruct,
19
20
  [types_1.AppType.NEST_API]: app_construct_1.NestApiConstruct,
21
+ [types_1.AppType.DENO_API]: deno_api_construct_1.DenoApiConstruct,
20
22
  };
21
23
  class FullStackConstruct extends constructs_1.Construct {
22
24
  auth;
@@ -48,12 +50,18 @@ class FullStackConstruct extends constructs_1.Construct {
48
50
  if (props.apps) {
49
51
  const apps = {};
50
52
  Object.assign(apps, Object.fromEntries(Object.entries(props.apps).map(([key, app]) => {
53
+ const AppTypeConstruct = AppBuilds[app.type];
51
54
  return [
52
55
  key,
53
- new AppBuilds[app.type](this, `${key}App`, {
56
+ new AppTypeConstruct(this, `${key}App`, {
54
57
  queue: app.attachment?.queue,
55
- output: app.output,
56
- buildPaths: AppBuilds[app.type].clean(app.output, key, app.command),
58
+ output: app.path,
59
+ buildPaths: {
60
+ ...('clean' in AppTypeConstruct
61
+ ? AppTypeConstruct.clean(app.path, key, app.command)
62
+ : {}),
63
+ ...app.buildPaths,
64
+ },
57
65
  }),
58
66
  ];
59
67
  })));
@@ -99,14 +107,14 @@ class FullStackConstruct extends constructs_1.Construct {
99
107
  database: this.database,
100
108
  auth: this.auth,
101
109
  secrets: this.secret,
102
- event: this.event
110
+ event: this.event,
103
111
  };
104
112
  for (const i in props.apps) {
105
113
  this.apps?.[i]?.attach(Object.fromEntries(Object.entries(props.apps[i]?.attachment ?? {})
106
114
  .map(([key]) => [key, resources[key]])
107
115
  .filter((v) => !!v)));
108
116
  this.apps?.[i]?.grant(...(props.apps[i]?.grant
109
- ?.map(val => resources[val])
117
+ ?.map((val) => resources[val])
110
118
  .filter((v) => !!v) ?? []));
111
119
  }
112
120
  new cdk.CfnOutput(this, 'App Secrets', {
@@ -3,6 +3,7 @@ import * as events from 'aws-cdk-lib/aws-events';
3
3
  export declare enum AppType {
4
4
  NEST = "nest",
5
5
  NEST_API = "nestApi",
6
+ DENO_API = "denoApi",
6
7
  NEXT_APP_ROUTER = "nextAppRouter"
7
8
  }
8
9
  export type AppAttachment = {
@@ -23,10 +24,11 @@ export declare enum AppGrant {
23
24
  }
24
25
  export type App = {
25
26
  type: AppType;
26
- output: string;
27
+ path: string;
27
28
  attachment?: AppAttachment;
28
29
  grant?: AppGrant[];
29
30
  command: string;
31
+ buildPaths?: Record<string, string>;
30
32
  };
31
33
  export type AppRef = {
32
34
  $app: string;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/lib/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,KAAK,MAAM,MAAM,wBAAwB,CAAC;AAEjD,oBAAY,OAAO;IACjB,IAAI,SAAS;IACb,QAAQ,YAAY;IACpB,eAAe,kBAAkB;CAClC;AAED,MAAM,MAAM,aAAa,GAAG;IAC1B,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,KAAK,CAAC,EAAE;QAAE,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CAChC,CAAC;AAEF,oBAAY,QAAQ;IAClB,IAAI,SAAS;IACb,OAAO,YAAY;IACnB,QAAQ,aAAa;IACrB,OAAO,YAAY;IACnB,KAAK,UAAU;CAChB;AAED,MAAM,MAAM,GAAG,GAAG;IAChB,IAAI,EAAE,OAAO,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,aAAa,CAAC;IAC3B,KAAK,CAAC,EAAE,QAAQ,EAAE,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,MAAM,GAAG;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC;AAEtC,MAAM,MAAM,UAAU,GAAG,MAAM,GAAG;IAChC,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,OAAO,GAAG;IACpB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC,WAAW,CAAC;CAC1B,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAAG;IACpC,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC;IAC7B,OAAO,CAAC,EAAE;QAAE,cAAc,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC;IACvC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC3B,MAAM,CAAC,EAAE;QACP,QAAQ,CAAC,EAAE,UAAU,EAAE,CAAC;QACxB,IAAI,CAAC,EAAE,OAAO,EAAE,CAAC;KAClB,CAAC;IACF,GAAG,CAAC,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAA;KAAE,CAAC;IAC9C,GAAG,CAAC,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAA;KAAE,CAAC;IAC9C,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC;CAC9C,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/lib/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,KAAK,MAAM,MAAM,wBAAwB,CAAC;AAEjD,oBAAY,OAAO;IACjB,IAAI,SAAS;IACb,QAAQ,YAAY;IACpB,QAAQ,YAAY;IACpB,eAAe,kBAAkB;CAClC;AAED,MAAM,MAAM,aAAa,GAAG;IAC1B,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,KAAK,CAAC,EAAE;QAAE,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CAChC,CAAC;AAEF,oBAAY,QAAQ;IAClB,IAAI,SAAS;IACb,OAAO,YAAY;IACnB,QAAQ,aAAa;IACrB,OAAO,YAAY;IACnB,KAAK,UAAU;CAChB;AAED,MAAM,MAAM,GAAG,GAAG;IAChB,IAAI,EAAE,OAAO,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,CAAC,EAAE,aAAa,CAAC;IAC3B,KAAK,CAAC,EAAE,QAAQ,EAAE,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CACpC,CAAC;AAEF,MAAM,MAAM,MAAM,GAAG;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC;AAEtC,MAAM,MAAM,UAAU,GAAG,MAAM,GAAG;IAChC,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,OAAO,GAAG;IACpB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC,WAAW,CAAC;CAC1B,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAAG;IACpC,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC;IAC7B,OAAO,CAAC,EAAE;QAAE,cAAc,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC;IACvC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC3B,MAAM,CAAC,EAAE;QACP,QAAQ,CAAC,EAAE,UAAU,EAAE,CAAC;QACxB,IAAI,CAAC,EAAE,OAAO,EAAE,CAAC;KAClB,CAAC;IACF,GAAG,CAAC,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAA;KAAE,CAAC;IAC9C,GAAG,CAAC,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAA;KAAE,CAAC;IAC9C,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC;CAC9C,CAAC"}
package/dist/lib/types.js CHANGED
@@ -5,6 +5,7 @@ var AppType;
5
5
  (function (AppType) {
6
6
  AppType["NEST"] = "nest";
7
7
  AppType["NEST_API"] = "nestApi";
8
+ AppType["DENO_API"] = "denoApi";
8
9
  AppType["NEXT_APP_ROUTER"] = "nextAppRouter";
9
10
  })(AppType || (exports.AppType = AppType = {}));
10
11
  var AppGrant;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fy-stack/fullstack-construct",
3
- "version": "0.0.122",
3
+ "version": "0.0.123",
4
4
  "dependencies": {
5
5
  "tslib": "^2.3.0",
6
6
  "@fy-stack/auth-construct": "0.0.122",
@@ -11,7 +11,7 @@
11
11
  "@fy-stack/cdn-construct": "0.0.122",
12
12
  "@fy-stack/apigateway-construct": "0.0.122",
13
13
  "@fy-stack/types": "0.0.122",
14
- "@fy-stack/app-construct": "0.0.122"
14
+ "@fy-stack/app-construct": "0.0.123"
15
15
  },
16
16
  "peerDependencies": {
17
17
  "aws-cdk-lib": "2.164.1",