@takumi-stack/core 1.0.2 → 1.0.4

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@takumi-stack/core",
3
- "version": "1.0.2",
3
+ "version": "1.0.4",
4
4
  "author": "sinapsis.co",
5
5
  "license": "MIT",
6
6
  "dependencies": {
package/prefab/index.d.ts CHANGED
@@ -8,4 +8,5 @@ export * from './networking';
8
8
  export * from './storage';
9
9
  export * from './secrets';
10
10
  export * from './utils';
11
+ export * from './ssr';
11
12
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../prefab/index.ts"],"names":[],"mappings":"AAAA,cAAc,QAAQ,CAAC;AACvB,cAAc,OAAO,CAAC;AACtB,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC;AAC1B,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC;AAC7B,cAAc,WAAW,CAAC;AAC1B,cAAc,WAAW,CAAC;AAC1B,cAAc,SAAS,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../prefab/index.ts"],"names":[],"mappings":"AAAA,cAAc,QAAQ,CAAC;AACvB,cAAc,OAAO,CAAC;AACtB,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC;AAC1B,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC;AAC7B,cAAc,WAAW,CAAC;AAC1B,cAAc,WAAW,CAAC;AAC1B,cAAc,SAAS,CAAC;AACxB,cAAc,OAAO,CAAC"}
package/prefab/index.js CHANGED
@@ -24,4 +24,5 @@ __exportStar(require("./networking"), exports);
24
24
  __exportStar(require("./storage"), exports);
25
25
  __exportStar(require("./secrets"), exports);
26
26
  __exportStar(require("./utils"), exports);
27
+ __exportStar(require("./ssr"), exports);
27
28
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../prefab/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,yCAAuB;AACvB,wCAAsB;AACtB,4CAA0B;AAC1B,6CAA2B;AAC3B,4CAA0B;AAC1B,gDAA8B;AAC9B,+CAA6B;AAC7B,4CAA0B;AAC1B,4CAA0B;AAC1B,0CAAwB"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../prefab/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,yCAAuB;AACvB,wCAAsB;AACtB,4CAA0B;AAC1B,6CAA2B;AAC3B,4CAA0B;AAC1B,gDAA8B;AAC9B,+CAA6B;AAC7B,4CAA0B;AAC1B,4CAA0B;AAC1B,0CAAwB;AACxB,wCAAsB"}
@@ -0,0 +1,2 @@
1
+ export * from './next/index';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../prefab/ssr/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC"}
@@ -0,0 +1,18 @@
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("./next/index"), exports);
18
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../prefab/ssr/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,+CAA6B"}
@@ -0,0 +1,28 @@
1
+ import * as amplify from 'aws-cdk-lib/aws-amplify';
2
+ import { BaseCustomConfigs, Prefab, PrefabPropsOverride, TakumiStack } from '../../../common';
3
+ import { CertificatePrefab, HostedZonePrefab } from '../../networking';
4
+ import { IResolvable } from 'aws-cdk-lib';
5
+ export type AmplifyEnvironments = {
6
+ stage: 'Production' | 'Beta' | 'Development';
7
+ branch: string;
8
+ domainPrefix: string;
9
+ environmentVariables?: Array<amplify.CfnBranch.EnvironmentVariableProperty | IResolvable> | IResolvable;
10
+ };
11
+ export type AmplifyPrefabParams<CustomConfigs extends BaseCustomConfigs = BaseCustomConfigs> = {
12
+ name: string;
13
+ repositoryName: string;
14
+ secretName: string;
15
+ platform: 'WEB' | 'WEB_COMPUTE';
16
+ dnsOptions: {
17
+ hostedZonePrefab: HostedZonePrefab<CustomConfigs>;
18
+ certificatePrefab: CertificatePrefab<CustomConfigs>;
19
+ wwwRedirectEnabled: boolean;
20
+ domainName: string;
21
+ };
22
+ buildSpec: Record<string, any>;
23
+ amplifyConfigs: AmplifyEnvironments;
24
+ };
25
+ export declare class AmplifyPrefab<CustomConfigs extends BaseCustomConfigs = BaseCustomConfigs> extends Prefab<AmplifyPrefabParams<CustomConfigs>, CustomConfigs> {
26
+ constructor(service: TakumiStack<CustomConfigs>, params: AmplifyPrefabParams<CustomConfigs>, propsOverride?: PrefabPropsOverride<CustomConfigs>);
27
+ }
28
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../prefab/ssr/next/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,yBAAyB,CAAC;AAEnD,OAAO,EAAE,iBAAiB,EAAE,MAAM,EAAE,mBAAmB,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9F,OAAO,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACvE,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAI1C,MAAM,MAAM,mBAAmB,GAAG;IAChC,KAAK,EAAE,YAAY,GAAG,MAAM,GAAG,aAAa,CAAC;IAC7C,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,MAAM,CAAC;IACrB,oBAAoB,CAAC,EAAE,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,2BAA2B,GAAG,WAAW,CAAC,GAAG,WAAW,CAAC;CACzG,CAAA;AAED,MAAM,MAAM,mBAAmB,CAAC,aAAa,SAAS,iBAAiB,GAAG,iBAAiB,IAAI;IAC7F,IAAI,EAAE,MAAM,CAAC;IACb,cAAc,EAAE,MAAM,CAAC;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,KAAK,GAAG,aAAa,CAAC;IAChC,UAAU,EAAE;QACV,gBAAgB,EAAE,gBAAgB,CAAC,aAAa,CAAC,CAAC;QAClD,iBAAiB,EAAE,iBAAiB,CAAC,aAAa,CAAC,CAAC;QACpD,kBAAkB,EAAE,OAAO,CAAC;QAC5B,UAAU,EAAE,MAAM,CAAC;KACpB,CAAC;IACF,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC/B,cAAc,EAAE,mBAAmB,CAAA;CACpC,CAAC;AAEF,qBAAa,aAAa,CAAC,aAAa,SAAS,iBAAiB,GAAG,iBAAiB,CAAE,SAAQ,MAAM,CACpG,mBAAmB,CAAC,aAAa,CAAC,EAClC,aAAa,CACd;gBAGG,OAAO,EAAE,WAAW,CAAC,aAAa,CAAC,EACnC,MAAM,EAAE,mBAAmB,CAAC,aAAa,CAAC,EAC1C,aAAa,CAAC,EAAE,mBAAmB,CAAC,aAAa,CAAC;CA4DrD"}
@@ -0,0 +1,84 @@
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 __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ Object.defineProperty(exports, "__esModule", { value: true });
26
+ exports.AmplifyPrefab = void 0;
27
+ const amplify = __importStar(require("aws-cdk-lib/aws-amplify"));
28
+ const common_1 = require("../../../common");
29
+ const aws_ssm_1 = require("aws-cdk-lib/aws-ssm");
30
+ const aws_iam_1 = require("aws-cdk-lib/aws-iam");
31
+ class AmplifyPrefab extends common_1.Prefab {
32
+ constructor(service, params, propsOverride) {
33
+ super(AmplifyPrefab.name, service, params, propsOverride);
34
+ const accessToken = aws_ssm_1.StringParameter.valueFromLookup(this, params.secretName);
35
+ const amplifyAppRole = new aws_iam_1.Role(this, this.getId('AmplifyAppRole'), {
36
+ assumedBy: new aws_iam_1.ServicePrincipal('amplify.amazonaws.com'),
37
+ });
38
+ amplifyAppRole.addToPolicy(new aws_iam_1.PolicyStatement({
39
+ actions: ['ssm:GetParameter'],
40
+ resources: [`arn:aws:ssm:${this.props.deployment.region}:${process.env.CURRENT_ACCOUNT}:parameter/${params.secretName}`],
41
+ }));
42
+ // Crear la aplicación Amplify para desplegar Next.js
43
+ const amplifyApp = new amplify.CfnApp(this, this.getId('NextJsApp'), {
44
+ name: params.name,
45
+ platform: params.platform,
46
+ repository: params.repositoryName,
47
+ accessToken,
48
+ buildSpec: JSON.stringify(params.buildSpec)
49
+ });
50
+ const branch = new amplify.CfnBranch(this, this.getId(`AmplifyBranch`), {
51
+ appId: amplifyApp.attrAppId,
52
+ branchName: params.amplifyConfigs.branch,
53
+ enableAutoBuild: true,
54
+ stage: params.amplifyConfigs.stage.toUpperCase(),
55
+ environmentVariables: params.amplifyConfigs.environmentVariables
56
+ });
57
+ branch.addDependency(amplifyApp);
58
+ const domain = new amplify.CfnDomain(this, this.getId(`AmplifyDomain`), {
59
+ appId: amplifyApp.attrAppId,
60
+ domainName: params.dnsOptions.domainName,
61
+ certificateSettings: {
62
+ customCertificateArn: params.dnsOptions.certificatePrefab.certificate.certificateArn,
63
+ },
64
+ subDomainSettings: [
65
+ {
66
+ branchName: branch.branchName,
67
+ prefix: params.amplifyConfigs.domainPrefix
68
+ }
69
+ ],
70
+ enableAutoSubDomain: false,
71
+ });
72
+ domain.addDependency(branch);
73
+ domain.addDependency(amplifyApp);
74
+ new aws_ssm_1.StringParameter(this, 'Config', {
75
+ simpleName: true,
76
+ parameterName: this.getResourceName('amplify-config', { includeStackName: false, includeResourceName: true }),
77
+ stringValue: JSON.stringify({
78
+ appId: amplifyApp.attrAppId,
79
+ }),
80
+ });
81
+ }
82
+ }
83
+ exports.AmplifyPrefab = AmplifyPrefab;
84
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../prefab/ssr/next/index.ts"],"names":[],"mappings":"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"}