cdk-nextjs 0.4.2 → 0.4.3

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.
Files changed (42) hide show
  1. package/.jsii +1253 -732
  2. package/API.md +2458 -1108
  3. package/README.md +37 -5
  4. package/docs/cdk-nextjs-NextjsRegionalFunctions.png +0 -0
  5. package/docs/cdk-nextjs-cfn-exec-policy.json +27 -0
  6. package/docs/cdk-nextjs.drawio +71 -11
  7. package/lib/constants.d.ts +2 -1
  8. package/lib/constants.js +2 -1
  9. package/lib/generated-structs/OptionalNextjsDistributionProps.d.ts +1 -1
  10. package/lib/generated-structs/OptionalNextjsDistributionProps.js +1 -1
  11. package/lib/index.d.ts +3 -2
  12. package/lib/index.js +8 -2
  13. package/lib/nextjs-api.d.ts +71 -0
  14. package/lib/nextjs-api.js +173 -0
  15. package/lib/nextjs-assets-deployment.js +2 -2
  16. package/lib/nextjs-build/nextjs-build.d.ts +1 -1
  17. package/lib/nextjs-build/nextjs-build.js +2 -2
  18. package/lib/nextjs-compute/nextjs-containers.js +1 -1
  19. package/lib/nextjs-compute/nextjs-functions.d.ts +3 -1
  20. package/lib/nextjs-compute/nextjs-functions.js +11 -10
  21. package/lib/nextjs-distribution.d.ts +2 -2
  22. package/lib/nextjs-distribution.js +2 -2
  23. package/lib/nextjs-file-system.js +1 -1
  24. package/lib/nextjs-post-deploy.js +1 -1
  25. package/lib/nextjs-static-assets.d.ts +0 -4
  26. package/lib/nextjs-static-assets.js +2 -2
  27. package/lib/nextjs-vpc.js +1 -1
  28. package/lib/root-constructs/nextjs-base-construct.d.ts +137 -0
  29. package/lib/root-constructs/nextjs-base-construct.js +112 -0
  30. package/lib/root-constructs/nextjs-global-containers.d.ts +5 -32
  31. package/lib/root-constructs/nextjs-global-containers.js +10 -83
  32. package/lib/root-constructs/nextjs-global-functions.d.ts +5 -32
  33. package/lib/root-constructs/nextjs-global-functions.js +12 -84
  34. package/lib/root-constructs/nextjs-regional-containers.d.ts +5 -21
  35. package/lib/root-constructs/nextjs-regional-containers.js +10 -71
  36. package/lib/root-constructs/nextjs-regional-functions.d.ts +37 -0
  37. package/lib/root-constructs/nextjs-regional-functions.js +58 -0
  38. package/package.json +1 -1
  39. package/lib/root-constructs/nextjs-base-overrides.d.ts +0 -30
  40. package/lib/root-constructs/nextjs-base-overrides.js +0 -3
  41. package/lib/root-constructs/nextjs-base-props.d.ts +0 -64
  42. package/lib/root-constructs/nextjs-base-props.js +0 -3
@@ -3,74 +3,27 @@ var _a;
3
3
  Object.defineProperty(exports, "__esModule", { value: true });
4
4
  exports.NextjsRegionalContainers = void 0;
5
5
  const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
6
- const constructs_1 = require("constructs");
7
6
  const constants_1 = require("../constants");
8
- const nextjs_assets_deployment_1 = require("../nextjs-assets-deployment");
9
- const nextjs_build_1 = require("../nextjs-build/nextjs-build");
7
+ const nextjs_base_construct_1 = require("./nextjs-base-construct");
10
8
  const nextjs_containers_1 = require("../nextjs-compute/nextjs-containers");
11
- const nextjs_file_system_1 = require("../nextjs-file-system");
12
- const nextjs_post_deploy_1 = require("../nextjs-post-deploy");
13
- const nextjs_vpc_1 = require("../nextjs-vpc");
14
- const handle_deprecated_properties_1 = require("../utils/handle-deprecated-properties");
15
9
  /**
16
10
  * Deploy Next.js load balanced with containers. Uses [Application Load
17
11
  * Balancer](https://docs.aws.amazon.com/elasticloadbalancing/latest/application/introduction.html)
18
12
  * for load balancing and [AWS Fargate](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/AWS_Fargate.html)
19
13
  * for containers.
20
14
  */
21
- class NextjsRegionalContainers extends constructs_1.Construct {
15
+ class NextjsRegionalContainers extends nextjs_base_construct_1.NextjsBaseConstruct {
16
+ get url() {
17
+ return `http://${this.nextjsContainers.albFargateService.loadBalancer.loadBalancerDnsName}`;
18
+ }
22
19
  constructor(scope, id, props) {
23
- super(scope, id);
24
- this.nextjsType = constants_1.NextjsType.REGIONAL_CONTAINERS;
25
- this.props = (0, handle_deprecated_properties_1.handleDeprecatedProperties)(props);
26
- this.nextjsBuild = this.createNextjsBuild();
27
- this.nextjsVpc = this.createVpc();
28
- this.nextjsFileSystem = this.createNextjsFileSystem();
29
- this.nextjsAssetsDeployment = this.createNextjsAssetsDeployment();
20
+ super(scope, id, props, constants_1.NextjsType.REGIONAL_CONTAINERS);
21
+ this.props = props;
30
22
  this.nextjsContainers = this.createNextjsLoadBalancedContainers();
31
23
  this.nextjsFileSystem.allowCompute({
32
24
  connections: this.nextjsContainers.albFargateService.service.connections,
33
25
  role: this.nextjsContainers.albFargateService.taskDefinition.taskRole,
34
26
  });
35
- this.nextjsPostDeploy = this.createNextjsPostDeploy();
36
- }
37
- createNextjsBuild() {
38
- return new nextjs_build_1.NextjsBuild(this, "NextjsBuild", {
39
- buildCommand: this.props.buildCommand,
40
- buildContext: this.props.buildContext,
41
- nextjsType: this.nextjsType,
42
- relativePathToPackage: this.props.relativePathToPackage,
43
- overrides: this.props.overrides?.nextjsBuild,
44
- ...this.props.overrides?.nextjsRegionalContainers?.nextjsBuildProps,
45
- });
46
- }
47
- createVpc() {
48
- return new nextjs_vpc_1.NextjsVpc(this, "NextjsVpc", {
49
- nextjsType: this.nextjsType,
50
- overrides: this.props.overrides?.nextjsVpc,
51
- ...this.props.overrides?.nextjsRegionalContainers?.nextjsVpcProps,
52
- });
53
- }
54
- createNextjsFileSystem() {
55
- return new nextjs_file_system_1.NextjsFileSystem(this, "NextjsFileSystem", {
56
- vpc: this.nextjsVpc.vpc,
57
- overrides: this.props.overrides?.nextjsFileSystem,
58
- ...this.props.overrides?.nextjsRegionalContainers?.nextjsFileSystemProps,
59
- });
60
- }
61
- createNextjsAssetsDeployment() {
62
- return new nextjs_assets_deployment_1.NextjsAssetsDeployment(this, "NextjsAssetsDeployment", {
63
- accessPoint: this.nextjsFileSystem.accessPoint,
64
- buildId: this.nextjsBuild.buildId,
65
- buildImageDigest: this.nextjsBuild.buildImageDigest,
66
- dockerImageCode: this.nextjsBuild.imageForNextjsAssetsDeployment,
67
- nextjsType: this.nextjsType,
68
- overrides: this.props.overrides?.nextjsAssetsDeployment,
69
- relativePathToPackage: this.props.relativePathToPackage,
70
- vpc: this.nextjsVpc.vpc,
71
- ...this.props.overrides?.nextjsRegionalContainers
72
- ?.nextjsAssetsDeploymentProps,
73
- });
74
27
  }
75
28
  createNextjsLoadBalancedContainers() {
76
29
  if (!this.nextjsBuild.imageForNextjsContainers) {
@@ -81,7 +34,7 @@ class NextjsRegionalContainers extends constructs_1.Construct {
81
34
  buildId: this.nextjsBuild.buildId,
82
35
  dockerImageAsset: this.nextjsBuild.imageForNextjsContainers,
83
36
  fileSystem: this.nextjsFileSystem.fileSystem,
84
- healthCheckPath: this.props.healthCheckPath,
37
+ healthCheckPath: this.baseProps.healthCheckPath,
85
38
  nextjsType: this.nextjsType,
86
39
  overrides: this.props.overrides?.nextjsContainers,
87
40
  relativeEntrypointPath: this.nextjsBuild.relativePathToEntrypoint,
@@ -89,22 +42,8 @@ class NextjsRegionalContainers extends constructs_1.Construct {
89
42
  ...this.props.overrides?.nextjsRegionalContainers?.nextjsContainerProps,
90
43
  });
91
44
  }
92
- createNextjsPostDeploy() {
93
- const nextjsPostDeploy = new nextjs_post_deploy_1.NextjsPostDeploy(this, "NextjsPostDeploy", {
94
- accessPoint: this.nextjsFileSystem.accessPoint,
95
- buildId: this.nextjsBuild.buildId,
96
- buildImageDigest: this.nextjsBuild.buildImageDigest,
97
- overrides: this.props.overrides?.nextjsPostDeploy,
98
- relativePathToPackage: this.props.relativePathToPackage,
99
- vpc: this.nextjsVpc.vpc,
100
- ...this.props.overrides?.nextjsRegionalContainers?.nextjsPostDeployProps,
101
- });
102
- // ensure NextjsAssetsDeployment finishes before NextjsPostDeploy
103
- nextjsPostDeploy.node.addDependency(this.nextjsAssetsDeployment);
104
- return nextjsPostDeploy;
105
- }
106
45
  }
107
46
  exports.NextjsRegionalContainers = NextjsRegionalContainers;
108
47
  _a = JSII_RTTI_SYMBOL_1;
109
- NextjsRegionalContainers[_a] = { fqn: "cdk-nextjs.NextjsRegionalContainers", version: "0.4.2" };
110
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmV4dGpzLXJlZ2lvbmFsLWNvbnRhaW5lcnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcm9vdC1jb25zdHJ1Y3RzL25leHRqcy1yZWdpb25hbC1jb250YWluZXJzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsMkNBQXVDO0FBTXZDLDRDQUEwQztBQUUxQywwRUFBcUU7QUFDckUsK0RBQTJEO0FBQzNELDJFQUc2QztBQUM3Qyw4REFBeUQ7QUFDekQsOERBQXlEO0FBQ3pELDhDQUEwQztBQUMxQyx3RkFBbUY7QUF3Qm5GOzs7OztHQUtHO0FBQ0gsTUFBYSx3QkFBeUIsU0FBUSxzQkFBUztJQVdyRCxZQUNFLEtBQWdCLEVBQ2hCLEVBQVUsRUFDVixLQUFvQztRQUVwQyxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBUlgsZUFBVSxHQUFHLHNCQUFVLENBQUMsbUJBQW1CLENBQUM7UUFTbEQsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFBLHlEQUEwQixFQUFDLEtBQUssQ0FBQyxDQUFDO1FBQy9DLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7UUFDNUMsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7UUFDbEMsSUFBSSxDQUFDLGdCQUFnQixHQUFHLElBQUksQ0FBQyxzQkFBc0IsRUFBRSxDQUFDO1FBQ3RELElBQUksQ0FBQyxzQkFBc0IsR0FBRyxJQUFJLENBQUMsNEJBQTRCLEVBQUUsQ0FBQztRQUNsRSxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLGtDQUFrQyxFQUFFLENBQUM7UUFDbEUsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFlBQVksQ0FBQztZQUNqQyxXQUFXLEVBQUUsSUFBSSxDQUFDLGdCQUFnQixDQUFDLGlCQUFpQixDQUFDLE9BQU8sQ0FBQyxXQUFXO1lBQ3hFLElBQUksRUFBRSxJQUFJLENBQUMs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LEtBQUssQ0FBQyxlQUFlO1lBQzNDLFVBQVUsRUFBRSxJQUFJLENBQUMsVUFBVTtZQUMzQixTQUFTLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxTQUFTLEVBQUUsZ0JBQWdCO1lBQ2pELHNCQUFzQixFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsd0JBQXdCO1lBQ2pFLEdBQUcsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUc7WUFDdkIsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLFNBQVMsRUFBRSx3QkFBd0IsRUFBRSxvQkFBb0I7U0FDeEUsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUNPLHNCQUFzQjtRQUM1QixNQUFNLGdCQUFnQixHQUFHLElBQUkscUNBQWdCLENBQUMsSUFBSSxFQUFFLGtCQUFrQixFQUFFO1lBQ3RFLFdBQVcsRUFBRSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsV0FBVztZQUM5QyxPQUFPLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPO1lBQ2pDLGdCQUFnQixFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsZ0JBQWdCO1lBQ25ELFNBQVMsRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLFNBQVMsRUFBRSxnQkFBZ0I7WUFDakQscUJBQXFCLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxxQkFBcUI7WUFDdkQsR0FBRyxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRztZQUN2QixHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsU0FBUyxFQUFFLHdCQUF3QixFQUFFLHFCQUFxQjtTQUN6RSxDQUFDLENBQUM7UUFDSCxpRUFBaUU7UUFDakUsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsc0JBQXNCLENBQUMsQ0FBQztRQUNqRSxPQUFPLGdCQUFnQixDQUFDO0lBQzFCLENBQUM7O0FBbEdILDREQW1HQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gXCJjb25zdHJ1Y3RzXCI7XG5pbXBvcnQge1xuICBCYXNlTmV4dGpzQ29uc3RydWN0T3ZlcnJpZGVzLFxuICBCYXNlTmV4dGpzT3ZlcnJpZGVzLFxufSBmcm9tIFwiLi9uZXh0anMtYmFzZS1vdmVycmlkZXNcIjtcbmltcG9ydCB7IE5leHRqc0Jhc2VQcm9wcyB9IGZyb20gXCIuL25leHRqcy1iYXNlLXByb3BzXCI7XG5pbXBvcnQgeyBOZXh0anNUeXBlIH0gZnJvbSBcIi4uL2NvbnN0YW50c1wiO1xuaW1wb3J0IHsgT3B0aW9uYWxOZXh0anNDb250YWluZXJzUHJvcHMgfSBmcm9tIFwiLi4vZ2VuZXJhdGVkLXN0cnVjdHMvT3B0aW9uYWxOZXh0anNDb250YWluZXJzUHJvcHNcIjtcbmltcG9ydCB7IE5leHRqc0Fzc2V0c0RlcGxveW1lbnQgfSBmcm9tIFwiLi4vbmV4dGpzLWFzc2V0cy1kZXBsb3ltZW50XCI7XG5pbXBvcnQgeyBOZXh0anNCdWlsZCB9IGZyb20gXCIuLi9uZXh0anMtYnVpbGQvbmV4dGpzLWJ1aWxkXCI7XG5pbXBvcnQge1xuICBOZXh0anNDb250YWluZXJzLFxuICBOZXh0anNDb250YWluZXJzT3ZlcnJpZGVzLFxufSBmcm9tIFwiLi4vbmV4dGpzLWNvbXB1dGUvbmV4dGpzLWNvbnRhaW5lcnNcIjtcbmltcG9ydCB7IE5leHRqc0ZpbGVTeXN0ZW0gfSBmcm9tIFwiLi4vbmV4dGpzLWZpbGUtc3lzdGVtXCI7XG5pbXBvcnQgeyBOZXh0anNQb3N0RGVwbG95IH0gZnJvbSBcIi4uL25leHRqcy1wb3N0LWRlcGxveVwiO1xuaW1wb3J0IHsgTmV4dGpzVnBjIH0gZnJvbSBcIi4uL25leHRqcy12cGNcIjtcbmltcG9ydCB7IGhhbmRsZURlcHJlY2F0ZWRQcm9wZXJ0aWVzIH0gZnJvbSBcIi4uL3V0aWxzL2hhbmRsZS1kZXByZWNhdGVkLXByb3BlcnRpZXNcIjtcblxuZXhwb3J0IGludGVyZmFjZSBOZXh0anNSZWdpb25hbENvbnRhaW5lcnNDb25zdHJ1Y3RPdmVycmlkZXNcbiAgZXh0ZW5kcyBCYXNlTmV4dGpzQ29uc3RydWN0T3ZlcnJpZGVzIHtcbiAgcmVhZG9ubHkgbmV4dGpzQ29udGFpbmVyUHJvcHM/OiBPcHRpb25hbE5leHRqc0NvbnRhaW5lcnNQcm9wcztcbn1cblxuLyoqXG4gKiBPdmVycmlkZXMgZm9yIGBOZXh0anNSZWdpb25hbENvbnRhaW5lcnNgLiBPdmVycmlkZXMgYXJlIGxvd2VyIGxldmVsIHRoYW5cbiAqIHByb3BzIGFuZCBhcmUgcGFzc2VkIGRpcmVjdGx5IHRvIENESyBDb25zdHJ1Y3RzIGdpdmluZyB5b3UgbW9yZSBjb250cm9sLiBJdCdzXG4gKiByZWNvbW1lbmRlZCB0byB1c2UgY2F1dGlvbiBhbmQgcmV2aWV3IHNvdXJjZSBjb2RlIHNvIHlvdSBrbm93IGhvdyB0aGV5J3JlIHVzZWQuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgTmV4dGpzUmVnaW9uYWxDb250YWluZXJzT3ZlcnJpZGVzIGV4dGVuZHMgQmFzZU5leHRqc092ZXJyaWRlcyB7XG4gIHJlYWRvbmx5IG5leHRqc1JlZ2lvbmFsQ29udGFpbmVycz86IE5leHRqc1JlZ2lvbmFsQ29udGFpbmVyc0NvbnN0cnVjdE92ZXJyaWRlcztcbiAgcmVhZG9ubHkgbmV4dGpzQ29udGFpbmVycz86IE5leHRqc0NvbnRhaW5lcnNPdmVycmlkZXM7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTmV4dGpzUmVnaW9uYWxDb250YWluZXJzUHJvcHMgZXh0ZW5kcyBOZXh0anNCYXNlUHJvcHMge1xuICAvKipcbiAgICogT3ZlcnJpZGUgcHJvcHMgb2YgYW55IGNvbnN0cnVjdC5cbiAgICovXG4gIHJlYWRvbmx5IG92ZXJyaWRlcz86IE5leHRqc1JlZ2lvbmFsQ29udGFpbmVyc092ZXJyaWRlcztcbn1cblxuLyoqXG4gKiBEZXBsb3kgTmV4dC5qcyBsb2FkIGJhbGFuY2VkIHdpdGggY29udGFpbmVycy4gVXNlcyBbQXBwbGljYXRpb24gTG9hZFxuICogQmFsYW5jZXJdKGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9lbGFzdGljbG9hZGJhbGFuY2luZy9sYXRlc3QvYXBwbGljYXRpb24vaW50cm9kdWN0aW9uLmh0bWwpXG4gKiBmb3IgbG9hZCBiYWxhbmNpbmcgYW5kIFtBV1MgRmFyZ2F0ZV0oaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL0FtYXpvbkVDUy9sYXRlc3QvZGV2ZWxvcGVyZ3VpZGUvQVdTX0ZhcmdhdGUuaHRtbClcbiAqIGZvciBjb250YWluZXJzLlxuICovXG5leHBvcnQgY2xhc3MgTmV4dGpzUmVnaW9uYWxDb250YWluZXJzIGV4dGVuZHMgQ29uc3RydWN0IHtcbiAgbmV4dGpzQnVpbGQ6IE5leHRqc0J1aWxkO1xuICBuZXh0anNWcGM6IE5leHRqc1ZwYztcbiAgbmV4dGpzRmlsZVN5c3RlbTogTmV4dGpzRmlsZVN5c3RlbTtcbiAgbmV4dGpzQXNzZXRzRGVwbG95bWVudDogTmV4dGpzQXNzZXRzRGVwbG95bWVudDtcbiAgbmV4dGpzQ29udGFpbmVyczogTmV4dGpzQ29udGFpbmVycztcbiAgbmV4dGpzUG9zdERlcGxveTogTmV4dGpzUG9zdERlcGxveTtcblxuICBwcml2YXRlIG5leHRqc1R5cGUgPSBOZXh0anNUeXBlLlJFR0lPTkFMX0NPTlRBSU5FUlM7XG4gIHByaXZhdGUgcHJvcHM6IE5leHRqc1JlZ2lvbmFsQ29udGFpbmVyc1Byb3BzO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHNjb3BlOiBDb25zdHJ1Y3QsXG4gICAgaWQ6IHN0cmluZyxcbiAgICBwcm9wczogTmV4dGpzUmVnaW9uYWxDb250YWluZXJzUHJvcHMsXG4gICkge1xuICAgIHN1cGVyKHNjb3BlLCBpZCk7XG4gICAgdGhpcy5wcm9wcyA9IGhhbmRsZURlcHJlY2F0ZWRQcm9wZXJ0aWVzKHByb3BzKTtcbiAgICB0aGlzLm5leHRqc0J1aWxkID0gdGhpcy5jcmVhdGVOZXh0anNCdWlsZCgpO1xuICAgIHRoaXMubmV4dGpzVnBjID0gdGhpcy5jcmVhdGVWcGMoKTtcbiAgICB0aGlzLm5leHRqc0ZpbGVTeXN0ZW0gPSB0aGlzLmNyZWF0ZU5leHRqc0ZpbGVTeXN0ZW0oKTtcbiAgICB0aGlzLm5leHRqc0Fzc2V0c0RlcGxveW1lbnQgPSB0aGlzLmNyZWF0ZU5leHRqc0Fzc2V0c0RlcGxveW1lbnQoKTtcbiAgICB0aGlzLm5leHRqc0NvbnRhaW5lcnMgPSB0aGlzLmNyZWF0ZU5leHRqc0xvYWRCYWxhbmNlZENvbnRhaW5lcnMoKTtcbiAgICB0aGlzLm5leHRqc0ZpbGVTeXN0ZW0uYWxsb3dDb21wdXRlKHtcbiAgICAgIGNvbm5lY3Rpb25zOiB0aGlzLm5leHRqc0NvbnRhaW5lcnMuYWxiRmFyZ2F0ZVNlcnZpY2Uuc2VydmljZS5jb25uZWN0aW9ucyxcbiAgICAgIHJvbGU6IHRoaXMubmV4dGpzQ29udGFpbmVycy5hbGJGYXJnYXRlU2VydmljZS50YXNrRGVmaW5pdGlvbi50YXNrUm9sZSxcbiAgICB9KTtcbiAgICB0aGlzLm5leHRqc1Bvc3REZXBsb3kgPSB0aGlzLmNyZWF0ZU5leHRqc1Bvc3REZXBsb3koKTtcbiAgfVxuXG4gIHByaXZhdGUgY3JlYXRlTmV4dGpzQnVpbGQoKSB7XG4gICAgcmV0dXJuIG5ldyBOZXh0anNCdWlsZCh0aGlzLCBcIk5leHRqc0J1aWxkXCIsIHtcbiAgICAgIGJ1aWxkQ29tbWFuZDogdGhpcy5wcm9wcy5idWlsZENvbW1hbmQsXG4gICAgICBidWlsZENvbnRleHQ6IHRoaXMucHJvcHMuYnVpbGRDb250ZXh0LFxuICAgICAgbmV4dGpzVHlwZTogdGhpcy5uZXh0anNUeXBlLFxuICAgICAgcmVsYXRpdmVQYXRoVG9QYWNrYWdlOiB0aGlzLnByb3BzLnJlbGF0aXZlUGF0aFRvUGFja2FnZSxcbiAgICAgIG92ZXJyaWRlczogdGhpcy5wcm9wcy5vdmVycmlkZXM/Lm5leHRqc0J1aWxkLFxuICAgICAgLi4udGhpcy5wcm9wcy5vdmVycmlkZXM/Lm5leHRqc1JlZ2lvbmFsQ29udGFpbmVycz8ubmV4dGpzQnVpbGRQcm9wcyxcbiAgICB9KTtcbiAgfVxuICBwcml2YXRlIGNyZWF0ZVZwYygpIHtcbiAgICByZXR1cm4gbmV3IE5leHRqc1ZwYyh0aGlzLCBcIk5leHRqc1ZwY1wiLCB7XG4gICAgICBuZXh0anNUeXBlOiB0aGlzLm5leHRqc1R5cGUsXG4gICAgICBvdmVycmlkZXM6IHRoaXMucHJvcHMub3ZlcnJpZGVzPy5uZXh0anNWcGMsXG4gICAgICAuLi50aGlzLnByb3BzLm92ZXJyaWRlcz8ubmV4dGpzUmVnaW9uYWxDb250YWluZXJzPy5uZXh0anNWcGNQcm9wcyxcbiAgICB9KTtcbiAgfVxuICBwcml2YXRlIGNyZWF0ZU5leHRqc0ZpbGVTeXN0ZW0oKSB7XG4gICAgcmV0dXJuIG5ldyBOZXh0anNGaWxlU3lzdGVtKHRoaXMsIFwiTmV4dGpzRmlsZVN5c3RlbVwiLCB7XG4gICAgICB2cGM6IHRoaXMubmV4dGpzVnBjLnZwYyxcbiAgICAgIG92ZXJyaWRlczogdGhpcy5wcm9wcy5vdmVycmlkZXM/Lm5leHRqc0ZpbGVTeXN0ZW0sXG4gICAgICAuLi50aGlzLnByb3BzLm92ZXJyaWRlcz8ubmV4dGpzUmVnaW9uYWxDb250YWluZXJzPy5uZXh0anNGaWxlU3lzdGVtUHJvcHMsXG4gICAgfSk7XG4gIH1cbiAgcHJpdmF0ZSBjcmVhdGVOZXh0anNBc3NldHNEZXBsb3ltZW50KCkge1xuICAgIHJldHVybiBuZXcgTmV4dGpzQXNzZXRzRGVwbG95bWVudCh0aGlzLCBcIk5leHRqc0Fzc2V0c0RlcGxveW1lbnRcIiwge1xuICAgICAgYWNjZXNzUG9pbnQ6IHRoaXMubmV4dGpzRmlsZVN5c3RlbS5hY2Nlc3NQb2ludCxcbiAgICAgIGJ1aWxkSWQ6IHRoaXMubmV4dGpzQnVpbGQuYnVpbGRJZCxcbiAgICAgIGJ1aWxkSW1hZ2VEaWdlc3Q6IHRoaXMubmV4dGpzQnVpbGQuYnVpbGRJbWFnZURpZ2VzdCxcbiAgICAgIGRvY2tlckltYWdlQ29kZTogdGhpcy5uZXh0anNCdWlsZC5pbWFnZUZvck5leHRqc0Fzc2V0c0RlcGxveW1lbnQsXG4gICAgICBuZXh0anNUeXBlOiB0aGlzLm5leHRqc1R5cGUsXG4gICAgICBvdmVycmlkZXM6IHRoaXMucHJvcHMub3ZlcnJpZGVzPy5uZXh0anNBc3NldHNEZXBsb3ltZW50LFxuICAgICAgcmVsYXRpdmVQYXRoVG9QYWNrYWdlOiB0aGlzLnByb3BzLnJlbGF0aXZlUGF0aFRvUGFja2FnZSxcbiAgICAgIHZwYzogdGhpcy5uZXh0anNWcGMudnBjLFxuICAgICAgLi4udGhpcy5wcm9wcy5vdmVycmlkZXM/Lm5leHRqc1JlZ2lvbmFsQ29udGFpbmVyc1xuICAgICAgICA/Lm5leHRqc0Fzc2V0c0RlcGxveW1lbnRQcm9wcyxcbiAgICB9KTtcbiAgfVxuICBwcml2YXRlIGNyZWF0ZU5leHRqc0xvYWRCYWxhbmNlZENvbnRhaW5lcnMoKSB7XG4gICAgaWYgKCF0aGlzLm5leHRqc0J1aWxkLmltYWdlRm9yTmV4dGpzQ29udGFpbmVycykge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFwibmV4dGpzQnVpbGQuaW1hZ2VGb3JOZXh0anNDb250YWluZXJzIGlzIHVuZGVmaW5lZFwiKTtcbiAgICB9XG4gICAgcmV0dXJuIG5ldyBOZXh0anNDb250YWluZXJzKHRoaXMsIFwiTmV4dGpzQ29udGFpbmVyc1wiLCB7XG4gICAgICBhY2Nlc3NQb2ludDogdGhpcy5uZXh0anNGaWxlU3lzdGVtLmFjY2Vzc1BvaW50LFxuICAgICAgYnVpbGRJZDogdGhpcy5uZXh0anNCdWlsZC5idWlsZElkLFxuICAgICAgZG9ja2VySW1hZ2VBc3NldDogdGhpcy5uZXh0anNCdWlsZC5pbWFnZUZvck5leHRqc0NvbnRhaW5lcnMsXG4gICAgICBmaWxlU3lzdGVtOiB0aGlzLm5leHRqc0ZpbGVTeXN0ZW0uZmlsZVN5c3RlbSxcbiAgICAgIGhlYWx0aENoZWNrUGF0aDogdGhpcy5wcm9wcy5oZWFsdGhDaGVja1BhdGgsXG4gICAgICBuZXh0anNUeXBlOiB0aGlzLm5leHRqc1R5cGUsXG4gICAgICBvdmVycmlkZXM6IHRoaXMucHJvcHMub3ZlcnJpZGVzPy5uZXh0anNDb250YWluZXJzLFxuICAgICAgcmVsYXRpdmVFbnRyeXBvaW50UGF0aDogdGhpcy5uZXh0anNCdWlsZC5yZWxhdGl2ZVBhdGhUb0VudHJ5cG9pbnQsXG4gICAgICB2cGM6IHRoaXMubmV4dGpzVnBjLnZwYyxcbiAgICAgIC4uLnRoaXMucHJvcHMub3ZlcnJpZGVzPy5uZXh0anNSZWdpb25hbENvbnRhaW5lcnM/Lm5leHRqc0NvbnRhaW5lclByb3BzLFxuICAgIH0pO1xuICB9XG4gIHByaXZhdGUgY3JlYXRlTmV4dGpzUG9zdERlcGxveSgpIHtcbiAgICBjb25zdCBuZXh0anNQb3N0RGVwbG95ID0gbmV3IE5leHRqc1Bvc3REZXBsb3kodGhpcywgXCJOZXh0anNQb3N0RGVwbG95XCIsIHtcbiAgICAgIGFjY2Vzc1BvaW50OiB0aGlzLm5leHRqc0ZpbGVTeXN0ZW0uYWNjZXNzUG9pbnQsXG4gICAgICBidWlsZElkOiB0aGlzLm5leHRqc0J1aWxkLmJ1aWxkSWQsXG4gICAgICBidWlsZEltYWdlRGlnZXN0OiB0aGlzLm5leHRqc0J1aWxkLmJ1aWxkSW1hZ2VEaWdlc3QsXG4gICAgICBvdmVycmlkZXM6IHRoaXMucHJvcHMub3ZlcnJpZGVzPy5uZXh0anNQb3N0RGVwbG95LFxuICAgICAgcmVsYXRpdmVQYXRoVG9QYWNrYWdlOiB0aGlzLnByb3BzLnJlbGF0aXZlUGF0aFRvUGFja2FnZSxcbiAgICAgIHZwYzogdGhpcy5uZXh0anNWcGMudnBjLFxuICAgICAgLi4udGhpcy5wcm9wcy5vdmVycmlkZXM/Lm5leHRqc1JlZ2lvbmFsQ29udGFpbmVycz8ubmV4dGpzUG9zdERlcGxveVByb3BzLFxuICAgIH0pO1xuICAgIC8vIGVuc3VyZSBOZXh0anNBc3NldHNEZXBsb3ltZW50IGZpbmlzaGVzIGJlZm9yZSBOZXh0anNQb3N0RGVwbG95XG4gICAgbmV4dGpzUG9zdERlcGxveS5ub2RlLmFkZERlcGVuZGVuY3kodGhpcy5uZXh0anNBc3NldHNEZXBsb3ltZW50KTtcbiAgICByZXR1cm4gbmV4dGpzUG9zdERlcGxveTtcbiAgfVxufVxuIl19
48
+ NextjsRegionalContainers[_a] = { fqn: "cdk-nextjs.NextjsRegionalContainers", version: "0.4.3" };
49
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmV4dGpzLXJlZ2lvbmFsLWNvbnRhaW5lcnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcm9vdC1jb25zdHJ1Y3RzL25leHRqcy1yZWdpb25hbC1jb250YWluZXJzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQ0EsNENBQTBDO0FBQzFDLG1FQUtpQztBQUVqQywyRUFHNkM7QUF3QjdDOzs7OztHQUtHO0FBQ0gsTUFBYSx3QkFBeUIsU0FBUSwyQ0FBbUI7SUFFL0QsSUFBSSxHQUFHO1FBQ0wsT0FBTyxVQUNMLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxpQkFBaUIsQ0FBQyxZQUFZLENBQUMsbUJBQ3ZELEVBQUUsQ0FBQztJQUNMLENBQUM7SUFJRCxZQUNFLEtBQWdCLEVBQ2hCLEVBQVUsRUFDVixLQUFvQztRQUVwQyxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsRUFBRSxLQUFLLEVBQUUsc0JBQVUsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO1FBQ3hELElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ25CLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsa0NBQWtDLEVBQUUsQ0FBQztRQUNsRSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsWUFBWSxDQUFDO1lBQ2pDLFdBQVcsRUFBRSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsaUJBQWlCLENBQUMsT0FBTyxDQUFDLFdBQVc7WUFDeEUsSUFBSSxFQUFFLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxpQkFBaUIsQ0FBQyxjQUFjLENBQUMsUUFBUTtTQUN0RSxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRU8sa0NBQWtDO1FBQ3hDLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLHdCQUF3QixFQUFFLENBQUM7WUFDL0MsTUFBTSxJQUFJLEtBQUssQ0FBQyxtREFBbUQsQ0FBQyxDQUFDO1FBQ3ZFLENBQUM7UUFDRCxPQUFPLElBQUksb0NBQWdCLENBQUMsSUFBSSxFQUFFLGtCQUFrQixFQUFFO1lBQ3BELFdBQVcsRUFBRSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsV0FBVztZQUM5QyxPQUFPLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPO1lBQ2pDLGdCQUFnQixFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsd0JBQXdCO1lBQzNELFVBQVUsRUFBRSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsVUFBVTtZQUM1QyxlQUFlLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxlQUFlO1lBQy9DLFVBQVUsRUFBRSxJQUFJLENBQUMsVUFBVTtZQUMzQixTQUFTLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxTQUFTLEVBQUUsZ0JBQWdCO1lBQ2pELHNCQUFzQixFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsd0JBQXdCO1lBQ2pFLEdBQUcsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUc7WUFDdkIsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLFNBQVMsRUFBRSx3QkFBd0IsRUFBRSxvQkFBb0I7U0FDeEUsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7QUF4Q0gsNERBeUNDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSBcImNvbnN0cnVjdHNcIjtcbmltcG9ydCB7IE5leHRqc1R5cGUgfSBmcm9tIFwiLi4vY29uc3RhbnRzXCI7XG5pbXBvcnQge1xuICBOZXh0anNCYXNlQ29uc3RydWN0T3ZlcnJpZGVzLFxuICBOZXh0anNCYXNlT3ZlcnJpZGVzLFxuICBOZXh0anNCYXNlQ29uc3RydWN0LFxuICBOZXh0anNCYXNlUHJvcHMsXG59IGZyb20gXCIuL25leHRqcy1iYXNlLWNvbnN0cnVjdFwiO1xuaW1wb3J0IHsgT3B0aW9uYWxOZXh0anNDb250YWluZXJzUHJvcHMgfSBmcm9tIFwiLi4vZ2VuZXJhdGVkLXN0cnVjdHMvT3B0aW9uYWxOZXh0anNDb250YWluZXJzUHJvcHNcIjtcbmltcG9ydCB7XG4gIE5leHRqc0NvbnRhaW5lcnMsXG4gIE5leHRqc0NvbnRhaW5lcnNPdmVycmlkZXMsXG59IGZyb20gXCIuLi9uZXh0anMtY29tcHV0ZS9uZXh0anMtY29udGFpbmVyc1wiO1xuXG5leHBvcnQgaW50ZXJmYWNlIE5leHRqc1JlZ2lvbmFsQ29udGFpbmVyc0NvbnN0cnVjdE92ZXJyaWRlc1xuICBleHRlbmRzIE5leHRqc0Jhc2VDb25zdHJ1Y3RPdmVycmlkZXMge1xuICByZWFkb25seSBuZXh0anNDb250YWluZXJQcm9wcz86IE9wdGlvbmFsTmV4dGpzQ29udGFpbmVyc1Byb3BzO1xufVxuXG4vKipcbiAqIE92ZXJyaWRlcyBmb3IgYE5leHRqc1JlZ2lvbmFsQ29udGFpbmVyc2AuIE92ZXJyaWRlcyBhcmUgbG93ZXIgbGV2ZWwgdGhhblxuICogcHJvcHMgYW5kIGFyZSBwYXNzZWQgZGlyZWN0bHkgdG8gQ0RLIENvbnN0cnVjdHMgZ2l2aW5nIHlvdSBtb3JlIGNvbnRyb2wuIEl0J3NcbiAqIHJlY29tbWVuZGVkIHRvIHVzZSBjYXV0aW9uIGFuZCByZXZpZXcgc291cmNlIGNvZGUgc28geW91IGtub3cgaG93IHRoZXkncmUgdXNlZC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBOZXh0anNSZWdpb25hbENvbnRhaW5lcnNPdmVycmlkZXMgZXh0ZW5kcyBOZXh0anNCYXNlT3ZlcnJpZGVzIHtcbiAgcmVhZG9ubHkgbmV4dGpzUmVnaW9uYWxDb250YWluZXJzPzogTmV4dGpzUmVnaW9uYWxDb250YWluZXJzQ29uc3RydWN0T3ZlcnJpZGVzO1xuICByZWFkb25seSBuZXh0anNDb250YWluZXJzPzogTmV4dGpzQ29udGFpbmVyc092ZXJyaWRlcztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBOZXh0anNSZWdpb25hbENvbnRhaW5lcnNQcm9wcyBleHRlbmRzIE5leHRqc0Jhc2VQcm9wcyB7XG4gIC8qKlxuICAgKiBPdmVycmlkZSBwcm9wcyBvZiBhbnkgY29uc3RydWN0LlxuICAgKi9cbiAgcmVhZG9ubHkgb3ZlcnJpZGVzPzogTmV4dGpzUmVnaW9uYWxDb250YWluZXJzT3ZlcnJpZGVzO1xufVxuXG4vKipcbiAqIERlcGxveSBOZXh0LmpzIGxvYWQgYmFsYW5jZWQgd2l0aCBjb250YWluZXJzLiBVc2VzIFtBcHBsaWNhdGlvbiBMb2FkXG4gKiBCYWxhbmNlcl0oaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL2VsYXN0aWNsb2FkYmFsYW5jaW5nL2xhdGVzdC9hcHBsaWNhdGlvbi9pbnRyb2R1Y3Rpb24uaHRtbClcbiAqIGZvciBsb2FkIGJhbGFuY2luZyBhbmQgW0FXUyBGYXJnYXRlXShodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vQW1hem9uRUNTL2xhdGVzdC9kZXZlbG9wZXJndWlkZS9BV1NfRmFyZ2F0ZS5odG1sKVxuICogZm9yIGNvbnRhaW5lcnMuXG4gKi9cbmV4cG9ydCBjbGFzcyBOZXh0anNSZWdpb25hbENvbnRhaW5lcnMgZXh0ZW5kcyBOZXh0anNCYXNlQ29uc3RydWN0IHtcbiAgbmV4dGpzQ29udGFpbmVyczogTmV4dGpzQ29udGFpbmVycztcbiAgZ2V0IHVybCgpIHtcbiAgICByZXR1cm4gYGh0dHA6Ly8ke1xuICAgICAgdGhpcy5uZXh0anNDb250YWluZXJzLmFsYkZhcmdhdGVTZXJ2aWNlLmxvYWRCYWxhbmNlci5sb2FkQmFsYW5jZXJEbnNOYW1lXG4gICAgfWA7XG4gIH1cblxuICBwcml2YXRlIHByb3BzOiBOZXh0anNSZWdpb25hbENvbnRhaW5lcnNQcm9wcztcblxuICBjb25zdHJ1Y3RvcihcbiAgICBzY29wZTogQ29uc3RydWN0LFxuICAgIGlkOiBzdHJpbmcsXG4gICAgcHJvcHM6IE5leHRqc1JlZ2lvbmFsQ29udGFpbmVyc1Byb3BzLFxuICApIHtcbiAgICBzdXBlcihzY29wZSwgaWQsIHByb3BzLCBOZXh0anNUeXBlLlJFR0lPTkFMX0NPTlRBSU5FUlMpO1xuICAgIHRoaXMucHJvcHMgPSBwcm9wcztcbiAgICB0aGlzLm5leHRqc0NvbnRhaW5lcnMgPSB0aGlzLmNyZWF0ZU5leHRqc0xvYWRCYWxhbmNlZENvbnRhaW5lcnMoKTtcbiAgICB0aGlzLm5leHRqc0ZpbGVTeXN0ZW0uYWxsb3dDb21wdXRlKHtcbiAgICAgIGNvbm5lY3Rpb25zOiB0aGlzLm5leHRqc0NvbnRhaW5lcnMuYWxiRmFyZ2F0ZVNlcnZpY2Uuc2VydmljZS5jb25uZWN0aW9ucyxcbiAgICAgIHJvbGU6IHRoaXMubmV4dGpzQ29udGFpbmVycy5hbGJGYXJnYXRlU2VydmljZS50YXNrRGVmaW5pdGlvbi50YXNrUm9sZSxcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgY3JlYXRlTmV4dGpzTG9hZEJhbGFuY2VkQ29udGFpbmVycygpIHtcbiAgICBpZiAoIXRoaXMubmV4dGpzQnVpbGQuaW1hZ2VGb3JOZXh0anNDb250YWluZXJzKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXCJuZXh0anNCdWlsZC5pbWFnZUZvck5leHRqc0NvbnRhaW5lcnMgaXMgdW5kZWZpbmVkXCIpO1xuICAgIH1cbiAgICByZXR1cm4gbmV3IE5leHRqc0NvbnRhaW5lcnModGhpcywgXCJOZXh0anNDb250YWluZXJzXCIsIHtcbiAgICAgIGFjY2Vzc1BvaW50OiB0aGlzLm5leHRqc0ZpbGVTeXN0ZW0uYWNjZXNzUG9pbnQsXG4gICAgICBidWlsZElkOiB0aGlzLm5leHRqc0J1aWxkLmJ1aWxkSWQsXG4gICAgICBkb2NrZXJJbWFnZUFzc2V0OiB0aGlzLm5leHRqc0J1aWxkLmltYWdlRm9yTmV4dGpzQ29udGFpbmVycyxcbiAgICAgIGZpbGVTeXN0ZW06IHRoaXMubmV4dGpzRmlsZVN5c3RlbS5maWxlU3lzdGVtLFxuICAgICAgaGVhbHRoQ2hlY2tQYXRoOiB0aGlzLmJhc2VQcm9wcy5oZWFsdGhDaGVja1BhdGgsXG4gICAgICBuZXh0anNUeXBlOiB0aGlzLm5leHRqc1R5cGUsXG4gICAgICBvdmVycmlkZXM6IHRoaXMucHJvcHMub3ZlcnJpZGVzPy5uZXh0anNDb250YWluZXJzLFxuICAgICAgcmVsYXRpdmVFbnRyeXBvaW50UGF0aDogdGhpcy5uZXh0anNCdWlsZC5yZWxhdGl2ZVBhdGhUb0VudHJ5cG9pbnQsXG4gICAgICB2cGM6IHRoaXMubmV4dGpzVnBjLnZwYyxcbiAgICAgIC4uLnRoaXMucHJvcHMub3ZlcnJpZGVzPy5uZXh0anNSZWdpb25hbENvbnRhaW5lcnM/Lm5leHRqc0NvbnRhaW5lclByb3BzLFxuICAgIH0pO1xuICB9XG59XG4iXX0=
@@ -0,0 +1,37 @@
1
+ import { Construct } from "constructs";
2
+ import { NextjsApi, NextjsApiOverrides, NextjsApiProps } from "../nextjs-api";
3
+ import { NextjsBaseConstruct, NextjsBaseProps, NextjsBaseConstructOverrides, NextjsBaseOverrides } from "./nextjs-base-construct";
4
+ import { NextjsFunctions, NextjsFunctionsOverrides, NextjsFunctionsProps } from "../nextjs-compute/nextjs-functions";
5
+ export interface NextjsRegionalFunctionsConstructOverrides extends NextjsBaseConstructOverrides {
6
+ readonly nextjsFunctionsProps?: NextjsFunctionsProps;
7
+ readonly nextjsApiProps?: NextjsApiProps;
8
+ }
9
+ /**
10
+ * Overrides for `NextjsRegionalFunctions`. Overrides are lower level than
11
+ * props and are passed directly to CDK Constructs giving you more control. It's
12
+ * recommended to use caution and review source code so you know how they're used.
13
+ */
14
+ export interface NextjsRegionalFunctionsOverrides extends NextjsBaseOverrides {
15
+ readonly nextjsRegionalFunctions?: NextjsRegionalFunctionsConstructOverrides;
16
+ readonly nextjsFunctions?: NextjsFunctionsOverrides;
17
+ readonly nextjsApi?: NextjsApiOverrides;
18
+ }
19
+ export interface NextjsRegionalFunctionsProps extends NextjsBaseProps {
20
+ /**
21
+ * Override props of any construct.
22
+ */
23
+ readonly overrides?: NextjsRegionalFunctionsOverrides;
24
+ }
25
+ /**
26
+ * Deploy Next.js regionally with functions. Uses API Gateway REST API
27
+ * for routing requests and AWS Lambda Functions for server-side rendering.
28
+ */
29
+ export declare class NextjsRegionalFunctions extends NextjsBaseConstruct {
30
+ nextjsFunctions: NextjsFunctions;
31
+ nextjsApi: NextjsApi;
32
+ get url(): string;
33
+ private props;
34
+ constructor(scope: Construct, id: string, props: NextjsRegionalFunctionsProps);
35
+ private createNextjsFunctions;
36
+ private createNextjsApi;
37
+ }
@@ -0,0 +1,58 @@
1
+ "use strict";
2
+ var _a;
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.NextjsRegionalFunctions = void 0;
5
+ const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
6
+ const aws_cdk_lib_1 = require("aws-cdk-lib");
7
+ const constants_1 = require("../constants");
8
+ const nextjs_api_1 = require("../nextjs-api");
9
+ const nextjs_base_construct_1 = require("./nextjs-base-construct");
10
+ const nextjs_functions_1 = require("../nextjs-compute/nextjs-functions");
11
+ /**
12
+ * Deploy Next.js regionally with functions. Uses API Gateway REST API
13
+ * for routing requests and AWS Lambda Functions for server-side rendering.
14
+ */
15
+ class NextjsRegionalFunctions extends nextjs_base_construct_1.NextjsBaseConstruct {
16
+ get url() {
17
+ return `https://${this.nextjsApi.api.restApiId}.execute-api.${aws_cdk_lib_1.Stack.of(this).region}.amazonaws.com/${this.nextjsApi.api.deploymentStage.stageName}`;
18
+ }
19
+ constructor(scope, id, props) {
20
+ super(scope, id, props, constants_1.NextjsType.REGIONAL_FUNCTIONS);
21
+ this.props = props;
22
+ this.nextjsFunctions = this.createNextjsFunctions();
23
+ this.nextjsFileSystem.allowCompute({
24
+ connections: this.nextjsFunctions.function.connections,
25
+ role: this.nextjsFunctions.function.role,
26
+ });
27
+ this.nextjsApi = this.createNextjsApi();
28
+ }
29
+ createNextjsFunctions() {
30
+ if (!this.nextjsBuild.imageForNextjsFunctions) {
31
+ throw new Error("nextjsBuild.imageForNextjsFunctions is undefined");
32
+ }
33
+ return new nextjs_functions_1.NextjsFunctions(this, "NextjsFunctions", {
34
+ accessPoint: this.nextjsFileSystem.accessPoint,
35
+ buildId: this.nextjsBuild.buildId,
36
+ dockerImageCode: this.nextjsBuild.imageForNextjsFunctions,
37
+ healthCheckPath: this.baseProps.healthCheckPath,
38
+ nextjsType: this.nextjsType,
39
+ vpc: this.nextjsVpc.vpc,
40
+ overrides: this.props.overrides?.nextjsFunctions,
41
+ ...this.props.overrides?.nextjsRegionalFunctions?.nextjsFunctionsProps,
42
+ });
43
+ }
44
+ createNextjsApi() {
45
+ return new nextjs_api_1.NextjsApi(this, "NextjsApi", {
46
+ staticAssetsBucket: this.nextjsStaticAssets.bucket,
47
+ serverFunction: this.nextjsFunctions.function,
48
+ basePath: this.baseProps.basePath,
49
+ overrides: this.props.overrides?.nextjsApi,
50
+ publicDirEntries: this.nextjsBuild.publicDirEntries,
51
+ ...this.props.overrides?.nextjsRegionalFunctions?.nextjsApiProps,
52
+ });
53
+ }
54
+ }
55
+ exports.NextjsRegionalFunctions = NextjsRegionalFunctions;
56
+ _a = JSII_RTTI_SYMBOL_1;
57
+ NextjsRegionalFunctions[_a] = { fqn: "cdk-nextjs.NextjsRegionalFunctions", version: "0.4.3" };
58
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmV4dGpzLXJlZ2lvbmFsLWZ1bmN0aW9ucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9yb290LWNvbnN0cnVjdHMvbmV4dGpzLXJlZ2lvbmFsLWZ1bmN0aW9ucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLDZDQUFvQztBQUVwQyw0Q0FBMEM7QUFDMUMsOENBQThFO0FBQzlFLG1FQUtpQztBQUNqQyx5RUFJNEM7QUEwQjVDOzs7R0FHRztBQUNILE1BQWEsdUJBQXdCLFNBQVEsMkNBQW1CO0lBRzlELElBQUksR0FBRztRQUNMLE9BQU8sV0FBVyxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxTQUFTLGdCQUFnQixtQkFBSyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxNQUFNLGtCQUFrQixJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxlQUFlLENBQUMsU0FBUyxFQUFFLENBQUM7SUFDdEosQ0FBQztJQUlELFlBQ0UsS0FBZ0IsRUFDaEIsRUFBVSxFQUNWLEtBQW1DO1FBRW5DLEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxFQUFFLEtBQUssRUFBRSxzQkFBVSxDQUFDLGtCQUFrQixDQUFDLENBQUM7UUFDdkQsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDbkIsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUMscUJBQXFCLEVBQUUsQ0FBQztRQUNwRCxJQUFJLENBQUMsZ0JBQWdCLENBQUMsWUFBWSxDQUFDO1lBQ2pDLFdBQVcsRUFBRSxJQUFJLENBQUMsZUFBZSxDQUFDLFFBQVEsQ0FBQyxXQUFXO1lBQ3RELElBQUksRUFBRSxJQUFJLENBQUMsZUFBZSxDQUFDLFFBQVEsQ0FBQyxJQUFLO1NBQzFDLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO0lBQzFDLENBQUM7SUFFTyxxQkFBcUI7UUFDM0IsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsdUJBQXVCLEVBQUUsQ0FBQztZQUM5QyxNQUFNLElBQUksS0FBSyxDQUFDLGtEQUFrRCxDQUFDLENBQUM7UUFDdEUsQ0FBQztRQUNELE9BQU8sSUFBSSxrQ0FBZSxDQUFDLElBQUksRUFBRSxpQkFBaUIsRUFBRTtZQUNsRCxXQUFXLEVBQUUsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFdBQVc7WUFDOUMsT0FBTyxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTztZQUNqQyxlQUFlLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyx1QkFBdUI7WUFDekQsZUFBZSxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsZUFBZTtZQUMvQyxVQUFVLEVBQUUsSUFBSSxDQUFDLFVBQVU7WUFDM0IsR0FBRyxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRztZQUN2QixTQUFTLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxTQUFTLEVBQUUsZUFBZTtZQUNoRCxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsU0FBUyxFQUFFLHVCQUF1QixFQUFFLG9CQUFvQjtTQUN2RSxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRU8sZUFBZTtRQUNyQixPQUFPLElBQUksc0JBQVMsQ0FBQyxJQUFJLEVBQUUsV0FBVyxFQUFFO1lBQ3RDLGtCQUFrQixFQUFFLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxNQUFNO1lBQ2xELGNBQWMsRUFBRSxJQUFJLENBQUMsZUFBZSxDQUFDLFFBQVE7WUFDN0MsUUFBUSxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUTtZQUNqQyxTQUFTLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxTQUFTLEVBQUUsU0FBUztZQUMxQyxnQkFBZ0IsRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLGdCQUFnQjtZQUNuRCxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsU0FBUyxFQUFFLHVCQUF1QixFQUFFLGNBQWM7U0FDakUsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7QUFqREgsMERBa0RDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU3RhY2sgfSBmcm9tIFwiYXdzLWNkay1saWJcIjtcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gXCJjb25zdHJ1Y3RzXCI7XG5pbXBvcnQgeyBOZXh0anNUeXBlIH0gZnJvbSBcIi4uL2NvbnN0YW50c1wiO1xuaW1wb3J0IHsgTmV4dGpzQXBpLCBOZXh0anNBcGlPdmVycmlkZXMsIE5leHRqc0FwaVByb3BzIH0gZnJvbSBcIi4uL25leHRqcy1hcGlcIjtcbmltcG9ydCB7XG4gIE5leHRqc0Jhc2VDb25zdHJ1Y3QsXG4gIE5leHRqc0Jhc2VQcm9wcyxcbiAgTmV4dGpzQmFzZUNvbnN0cnVjdE92ZXJyaWRlcyxcbiAgTmV4dGpzQmFzZU92ZXJyaWRlcyxcbn0gZnJvbSBcIi4vbmV4dGpzLWJhc2UtY29uc3RydWN0XCI7XG5pbXBvcnQge1xuICBOZXh0anNGdW5jdGlvbnMsXG4gIE5leHRqc0Z1bmN0aW9uc092ZXJyaWRlcyxcbiAgTmV4dGpzRnVuY3Rpb25zUHJvcHMsXG59IGZyb20gXCIuLi9uZXh0anMtY29tcHV0ZS9uZXh0anMtZnVuY3Rpb25zXCI7XG5cbmV4cG9ydCBpbnRlcmZhY2UgTmV4dGpzUmVnaW9uYWxGdW5jdGlvbnNDb25zdHJ1Y3RPdmVycmlkZXNcbiAgZXh0ZW5kcyBOZXh0anNCYXNlQ29uc3RydWN0T3ZlcnJpZGVzIHtcbiAgcmVhZG9ubHkgbmV4dGpzRnVuY3Rpb25zUHJvcHM/OiBOZXh0anNGdW5jdGlvbnNQcm9wcztcbiAgcmVhZG9ubHkgbmV4dGpzQXBpUHJvcHM/OiBOZXh0anNBcGlQcm9wcztcbn1cblxuLyoqXG4gKiBPdmVycmlkZXMgZm9yIGBOZXh0anNSZWdpb25hbEZ1bmN0aW9uc2AuIE92ZXJyaWRlcyBhcmUgbG93ZXIgbGV2ZWwgdGhhblxuICogcHJvcHMgYW5kIGFyZSBwYXNzZWQgZGlyZWN0bHkgdG8gQ0RLIENvbnN0cnVjdHMgZ2l2aW5nIHlvdSBtb3JlIGNvbnRyb2wuIEl0J3NcbiAqIHJlY29tbWVuZGVkIHRvIHVzZSBjYXV0aW9uIGFuZCByZXZpZXcgc291cmNlIGNvZGUgc28geW91IGtub3cgaG93IHRoZXkncmUgdXNlZC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBOZXh0anNSZWdpb25hbEZ1bmN0aW9uc092ZXJyaWRlcyBleHRlbmRzIE5leHRqc0Jhc2VPdmVycmlkZXMge1xuICByZWFkb25seSBuZXh0anNSZWdpb25hbEZ1bmN0aW9ucz86IE5leHRqc1JlZ2lvbmFsRnVuY3Rpb25zQ29uc3RydWN0T3ZlcnJpZGVzO1xuICByZWFkb25seSBuZXh0anNGdW5jdGlvbnM/OiBOZXh0anNGdW5jdGlvbnNPdmVycmlkZXM7XG4gIHJlYWRvbmx5IG5leHRqc0FwaT86IE5leHRqc0FwaU92ZXJyaWRlcztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBOZXh0anNSZWdpb25hbEZ1bmN0aW9uc1Byb3BzIGV4dGVuZHMgTmV4dGpzQmFzZVByb3BzIHtcbiAgLyoqXG4gICAqIE92ZXJyaWRlIHByb3BzIG9mIGFueSBjb25zdHJ1Y3QuXG4gICAqL1xuICByZWFkb25seSBvdmVycmlkZXM/OiBOZXh0anNSZWdpb25hbEZ1bmN0aW9uc092ZXJyaWRlcztcbn1cblxuLyoqXG4gKiBEZXBsb3kgTmV4dC5qcyByZWdpb25hbGx5IHdpdGggZnVuY3Rpb25zLiBVc2VzIEFQSSBHYXRld2F5IFJFU1QgQVBJXG4gKiBmb3Igcm91dGluZyByZXF1ZXN0cyBhbmQgQVdTIExhbWJkYSBGdW5jdGlvbnMgZm9yIHNlcnZlci1zaWRlIHJlbmRlcmluZy5cbiAqL1xuZXhwb3J0IGNsYXNzIE5leHRqc1JlZ2lvbmFsRnVuY3Rpb25zIGV4dGVuZHMgTmV4dGpzQmFzZUNvbnN0cnVjdCB7XG4gIG5leHRqc0Z1bmN0aW9uczogTmV4dGpzRnVuY3Rpb25zO1xuICBuZXh0anNBcGk6IE5leHRqc0FwaTtcbiAgZ2V0IHVybCgpIHtcbiAgICByZXR1cm4gYGh0dHBzOi8vJHt0aGlzLm5leHRqc0FwaS5hcGkucmVzdEFwaUlkfS5leGVjdXRlLWFwaS4ke1N0YWNrLm9mKHRoaXMpLnJlZ2lvbn0uYW1hem9uYXdzLmNvbS8ke3RoaXMubmV4dGpzQXBpLmFwaS5kZXBsb3ltZW50U3RhZ2Uuc3RhZ2VOYW1lfWA7XG4gIH1cblxuICBwcml2YXRlIHByb3BzOiBOZXh0anNSZWdpb25hbEZ1bmN0aW9uc1Byb3BzO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHNjb3BlOiBDb25zdHJ1Y3QsXG4gICAgaWQ6IHN0cmluZyxcbiAgICBwcm9wczogTmV4dGpzUmVnaW9uYWxGdW5jdGlvbnNQcm9wcyxcbiAgKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkLCBwcm9wcywgTmV4dGpzVHlwZS5SRUdJT05BTF9GVU5DVElPTlMpO1xuICAgIHRoaXMucHJvcHMgPSBwcm9wcztcbiAgICB0aGlzLm5leHRqc0Z1bmN0aW9ucyA9IHRoaXMuY3JlYXRlTmV4dGpzRnVuY3Rpb25zKCk7XG4gICAgdGhpcy5uZXh0anNGaWxlU3lzdGVtLmFsbG93Q29tcHV0ZSh7XG4gICAgICBjb25uZWN0aW9uczogdGhpcy5uZXh0anNGdW5jdGlvbnMuZnVuY3Rpb24uY29ubmVjdGlvbnMsXG4gICAgICByb2xlOiB0aGlzLm5leHRqc0Z1bmN0aW9ucy5mdW5jdGlvbi5yb2xlISxcbiAgICB9KTtcbiAgICB0aGlzLm5leHRqc0FwaSA9IHRoaXMuY3JlYXRlTmV4dGpzQXBpKCk7XG4gIH1cblxuICBwcml2YXRlIGNyZWF0ZU5leHRqc0Z1bmN0aW9ucygpIHtcbiAgICBpZiAoIXRoaXMubmV4dGpzQnVpbGQuaW1hZ2VGb3JOZXh0anNGdW5jdGlvbnMpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcIm5leHRqc0J1aWxkLmltYWdlRm9yTmV4dGpzRnVuY3Rpb25zIGlzIHVuZGVmaW5lZFwiKTtcbiAgICB9XG4gICAgcmV0dXJuIG5ldyBOZXh0anNGdW5jdGlvbnModGhpcywgXCJOZXh0anNGdW5jdGlvbnNcIiwge1xuICAgICAgYWNjZXNzUG9pbnQ6IHRoaXMubmV4dGpzRmlsZVN5c3RlbS5hY2Nlc3NQb2ludCxcbiAgICAgIGJ1aWxkSWQ6IHRoaXMubmV4dGpzQnVpbGQuYnVpbGRJZCxcbiAgICAgIGRvY2tlckltYWdlQ29kZTogdGhpcy5uZXh0anNCdWlsZC5pbWFnZUZvck5leHRqc0Z1bmN0aW9ucyxcbiAgICAgIGhlYWx0aENoZWNrUGF0aDogdGhpcy5iYXNlUHJvcHMuaGVhbHRoQ2hlY2tQYXRoLFxuICAgICAgbmV4dGpzVHlwZTogdGhpcy5uZXh0anNUeXBlLFxuICAgICAgdnBjOiB0aGlzLm5leHRqc1ZwYy52cGMsXG4gICAgICBvdmVycmlkZXM6IHRoaXMucHJvcHMub3ZlcnJpZGVzPy5uZXh0anNGdW5jdGlvbnMsXG4gICAgICAuLi50aGlzLnByb3BzLm92ZXJyaWRlcz8ubmV4dGpzUmVnaW9uYWxGdW5jdGlvbnM/Lm5leHRqc0Z1bmN0aW9uc1Byb3BzLFxuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBjcmVhdGVOZXh0anNBcGkoKSB7XG4gICAgcmV0dXJuIG5ldyBOZXh0anNBcGkodGhpcywgXCJOZXh0anNBcGlcIiwge1xuICAgICAgc3RhdGljQXNzZXRzQnVja2V0OiB0aGlzLm5leHRqc1N0YXRpY0Fzc2V0cy5idWNrZXQsXG4gICAgICBzZXJ2ZXJGdW5jdGlvbjogdGhpcy5uZXh0anNGdW5jdGlvbnMuZnVuY3Rpb24sXG4gICAgICBiYXNlUGF0aDogdGhpcy5iYXNlUHJvcHMuYmFzZVBhdGgsXG4gICAgICBvdmVycmlkZXM6IHRoaXMucHJvcHMub3ZlcnJpZGVzPy5uZXh0anNBcGksXG4gICAgICBwdWJsaWNEaXJFbnRyaWVzOiB0aGlzLm5leHRqc0J1aWxkLnB1YmxpY0RpckVudHJpZXMsXG4gICAgICAuLi50aGlzLnByb3BzLm92ZXJyaWRlcz8ubmV4dGpzUmVnaW9uYWxGdW5jdGlvbnM/Lm5leHRqc0FwaVByb3BzLFxuICAgIH0pO1xuICB9XG59XG4iXX0=
package/package.json CHANGED
@@ -66,7 +66,7 @@
66
66
  "publishConfig": {
67
67
  "access": "public"
68
68
  },
69
- "version": "0.4.2",
69
+ "version": "0.4.3",
70
70
  "jest": {
71
71
  "coverageProvider": "v8",
72
72
  "testMatch": [
@@ -1,30 +0,0 @@
1
- import { OptionalNextjsAssetsDeploymentProps } from "../generated-structs/OptionalNextjsAssetsDeploymentProps";
2
- import { OptionalNextjsBuildProps } from "../generated-structs/OptionalNextjsBuildProps";
3
- import { OptionalNextjsFileSystemProps } from "../generated-structs/OptionalNextjsFileSystemProps";
4
- import { OptionalNextjsPostDeployProps } from "../generated-structs/OptionalNextjsPostDeployProps";
5
- import { OptionalNextjsVpcProps } from "../generated-structs/OptionalNextjsVpcProps";
6
- import { NextjsAssetDeploymentOverrides } from "../nextjs-assets-deployment";
7
- import { NextjsBuildOverrides } from "../nextjs-build/nextjs-build";
8
- import { NextjsFileSystemOverrides } from "../nextjs-file-system";
9
- import { NextjsPostDeployOverrides } from "../nextjs-post-deploy";
10
- import { NextjsVpcOverrides } from "../nextjs-vpc";
11
- /**
12
- * Base overrides for the props passed to constructs within root/top-level Next.js constructs
13
- */
14
- export interface BaseNextjsConstructOverrides {
15
- readonly nextjsBuildProps?: OptionalNextjsBuildProps;
16
- readonly nextjsVpcProps?: OptionalNextjsVpcProps;
17
- readonly nextjsFileSystemProps?: OptionalNextjsFileSystemProps;
18
- readonly nextjsAssetsDeploymentProps?: OptionalNextjsAssetsDeploymentProps;
19
- readonly nextjsPostDeployProps?: OptionalNextjsPostDeployProps;
20
- }
21
- /**
22
- * Base overrides for constructs shared between all root/top-level Next.js constructs.
23
- */
24
- export interface BaseNextjsOverrides {
25
- readonly nextjsBuild?: NextjsBuildOverrides;
26
- readonly nextjsFileSystem?: NextjsFileSystemOverrides;
27
- readonly nextjsVpc?: NextjsVpcOverrides;
28
- readonly nextjsAssetsDeployment?: NextjsAssetDeploymentOverrides;
29
- readonly nextjsPostDeploy?: NextjsPostDeployOverrides;
30
- }
@@ -1,3 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmV4dGpzLWJhc2Utb3ZlcnJpZGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3Jvb3QtY29uc3RydWN0cy9uZXh0anMtYmFzZS1vdmVycmlkZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE9wdGlvbmFsTmV4dGpzQXNzZXRzRGVwbG95bWVudFByb3BzIH0gZnJvbSBcIi4uL2dlbmVyYXRlZC1zdHJ1Y3RzL09wdGlvbmFsTmV4dGpzQXNzZXRzRGVwbG95bWVudFByb3BzXCI7XG5pbXBvcnQgeyBPcHRpb25hbE5leHRqc0J1aWxkUHJvcHMgfSBmcm9tIFwiLi4vZ2VuZXJhdGVkLXN0cnVjdHMvT3B0aW9uYWxOZXh0anNCdWlsZFByb3BzXCI7XG5pbXBvcnQgeyBPcHRpb25hbE5leHRqc0ZpbGVTeXN0ZW1Qcm9wcyB9IGZyb20gXCIuLi9nZW5lcmF0ZWQtc3RydWN0cy9PcHRpb25hbE5leHRqc0ZpbGVTeXN0ZW1Qcm9wc1wiO1xuaW1wb3J0IHsgT3B0aW9uYWxOZXh0anNQb3N0RGVwbG95UHJvcHMgfSBmcm9tIFwiLi4vZ2VuZXJhdGVkLXN0cnVjdHMvT3B0aW9uYWxOZXh0anNQb3N0RGVwbG95UHJvcHNcIjtcbmltcG9ydCB7IE9wdGlvbmFsTmV4dGpzVnBjUHJvcHMgfSBmcm9tIFwiLi4vZ2VuZXJhdGVkLXN0cnVjdHMvT3B0aW9uYWxOZXh0anNWcGNQcm9wc1wiO1xuaW1wb3J0IHsgTmV4dGpzQXNzZXREZXBsb3ltZW50T3ZlcnJpZGVzIH0gZnJvbSBcIi4uL25leHRqcy1hc3NldHMtZGVwbG95bWVudFwiO1xuaW1wb3J0IHsgTmV4dGpzQnVpbGRPdmVycmlkZXMgfSBmcm9tIFwiLi4vbmV4dGpzLWJ1aWxkL25leHRqcy1idWlsZFwiO1xuaW1wb3J0IHsgTmV4dGpzRmlsZVN5c3RlbU92ZXJyaWRlcyB9IGZyb20gXCIuLi9uZXh0anMtZmlsZS1zeXN0ZW1cIjtcbmltcG9ydCB7IE5leHRqc1Bvc3REZXBsb3lPdmVycmlkZXMgfSBmcm9tIFwiLi4vbmV4dGpzLXBvc3QtZGVwbG95XCI7XG5pbXBvcnQgeyBOZXh0anNWcGNPdmVycmlkZXMgfSBmcm9tIFwiLi4vbmV4dGpzLXZwY1wiO1xuXG4vKipcbiAqIEJhc2Ugb3ZlcnJpZGVzIGZvciB0aGUgcHJvcHMgcGFzc2VkIHRvIGNvbnN0cnVjdHMgd2l0aGluIHJvb3QvdG9wLWxldmVsIE5leHQuanMgY29uc3RydWN0c1xuICovXG5leHBvcnQgaW50ZXJmYWNlIEJhc2VOZXh0anNDb25zdHJ1Y3RPdmVycmlkZXMge1xuICByZWFkb25seSBuZXh0anNCdWlsZFByb3BzPzogT3B0aW9uYWxOZXh0anNCdWlsZFByb3BzO1xuICByZWFkb25seSBuZXh0anNWcGNQcm9wcz86IE9wdGlvbmFsTmV4dGpzVnBjUHJvcHM7XG4gIHJlYWRvbmx5IG5leHRqc0ZpbGVTeXN0ZW1Qcm9wcz86IE9wdGlvbmFsTmV4dGpzRmlsZVN5c3RlbVByb3BzO1xuICByZWFkb25seSBuZXh0anNBc3NldHNEZXBsb3ltZW50UHJvcHM/OiBPcHRpb25hbE5leHRqc0Fzc2V0c0RlcGxveW1lbnRQcm9wcztcbiAgcmVhZG9ubHkgbmV4dGpzUG9zdERlcGxveVByb3BzPzogT3B0aW9uYWxOZXh0anNQb3N0RGVwbG95UHJvcHM7XG59XG5cbi8qKlxuICogQmFzZSBvdmVycmlkZXMgZm9yIGNvbnN0cnVjdHMgc2hhcmVkIGJldHdlZW4gYWxsIHJvb3QvdG9wLWxldmVsIE5leHQuanMgY29uc3RydWN0cy5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBCYXNlTmV4dGpzT3ZlcnJpZGVzIHtcbiAgcmVhZG9ubHkgbmV4dGpzQnVpbGQ/OiBOZXh0anNCdWlsZE92ZXJyaWRlcztcbiAgcmVhZG9ubHkgbmV4dGpzRmlsZVN5c3RlbT86IE5leHRqc0ZpbGVTeXN0ZW1PdmVycmlkZXM7XG4gIHJlYWRvbmx5IG5leHRqc1ZwYz86IE5leHRqc1ZwY092ZXJyaWRlcztcbiAgcmVhZG9ubHkgbmV4dGpzQXNzZXRzRGVwbG95bWVudD86IE5leHRqc0Fzc2V0RGVwbG95bWVudE92ZXJyaWRlcztcbiAgcmVhZG9ubHkgbmV4dGpzUG9zdERlcGxveT86IE5leHRqc1Bvc3REZXBsb3lPdmVycmlkZXM7XG59XG4iXX0=
@@ -1,64 +0,0 @@
1
- export interface NextjsBaseProps {
2
- /**
3
- * Command to generate optimized version of your Next.js app in container;
4
- * @default "npm run build"
5
- */
6
- readonly buildCommand?: string;
7
- /**
8
- * [Build context](https://docs.docker.com/build/building/context/) for
9
- * `docker build`. This directory should contain your lockfile (i.e.
10
- * pnpm-lock.yaml) for your Next.js app. If you're not in a monorepo, then
11
- * this will be the same directory as your Next.js app. If you are in a
12
- * monorepo, then this value should be the root of your monorepo. You then
13
- * must pass the relative path to your Next.js app via {@link NextjsBaseProps.relativePathToPackage}
14
- *
15
- * Note, by default cdk-nextjs' `builder.Dockerfile` is used to build your
16
- * Next.js app. You can customize this by specifying `overrides.{nextjs...}.nextjsBuildProps.builderImageProps.file`.
17
- * If you override the default, then you are responsible for ensuring the
18
- * Dockerfile is in the build context directory before cdk-nextjs construct
19
- * is instantiated.
20
- * @example join(import.meta.dirname, "..") (monorepo)
21
- */
22
- readonly buildContext: string;
23
- /**
24
- * Path to API Route Handler that returns HTTP 200 to ensure compute health.
25
- * @example "/api/health"
26
- * @example
27
- * // api/health/route.ts
28
- * import { NextResponse } from "next/server";
29
- *
30
- * export function GET() {
31
- * return NextResponse.json("");
32
- * }
33
- */
34
- readonly healthCheckPath: string;
35
- /**
36
- * Use this if building in monorepo. This is the relative path from
37
- * {@link NextjsBaseProps.buildContext} or root workspace to nested package
38
- * containing Next.js app. See example below:
39
- *
40
- * Let's say you have a monorepo with the following folder structure:
41
- * - my-monorepo/
42
- * - packages/
43
- * - ui/
44
- * - package.json (nested)
45
- * - package.json (root)
46
- *
47
- * And your Next.js app directory is the ui folder. Then you would set {@link NextjsBaseProps.buildContext}
48
- * to `"/absolute/path/to/my-monorepo"` and {@link NextjsBaseProps.relativePathToPackage}
49
- * to `"./packages/ui"`.
50
- *
51
- * Note, setting {@link NextjsBaseProps.buildContext} to the root of your
52
- * monorepo will invalidate container runtime (i.e. docker) build cache when any file is
53
- * changed in your monorepo. This is slows down deployments. Checkout how you
54
- * can use [turbo](https://turbo.build/) in [Deploying with Docker Guide](https://turbo.build/repo/docs/handbook/deploying-with-docker)
55
- * in the cdk-nextjs/examples/turbo.
56
- *
57
- * @example "./packages/ui"
58
- */
59
- readonly relativePathToPackage?: string;
60
- /**
61
- * @deprecated use relativePathToPackage
62
- */
63
- readonly relativePathToWorkspace?: string;
64
- }
@@ -1,3 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmV4dGpzLWJhc2UtcHJvcHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcm9vdC1jb25zdHJ1Y3RzL25leHRqcy1iYXNlLXByb3BzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIE5leHRqc0Jhc2VQcm9wcyB7XG4gIC8qKlxuICAgKiBDb21tYW5kIHRvIGdlbmVyYXRlIG9wdGltaXplZCB2ZXJzaW9uIG9mIHlvdXIgTmV4dC5qcyBhcHAgaW4gY29udGFpbmVyO1xuICAgKiBAZGVmYXVsdCBcIm5wbSBydW4gYnVpbGRcIlxuICAgKi9cbiAgcmVhZG9ubHkgYnVpbGRDb21tYW5kPzogc3RyaW5nO1xuICAvKipcbiAgICogW0J1aWxkIGNvbnRleHRdKGh0dHBzOi8vZG9jcy5kb2NrZXIuY29tL2J1aWxkL2J1aWxkaW5nL2NvbnRleHQvKSBmb3JcbiAgICogYGRvY2tlciBidWlsZGAuIFRoaXMgZGlyZWN0b3J5IHNob3VsZCBjb250YWluIHlvdXIgbG9ja2ZpbGUgKGkuZS5cbiAgICogcG5wbS1sb2NrLnlhbWwpIGZvciB5b3VyIE5leHQuanMgYXBwLiBJZiB5b3UncmUgbm90IGluIGEgbW9ub3JlcG8sIHRoZW5cbiAgICogdGhpcyB3aWxsIGJlIHRoZSBzYW1lIGRpcmVjdG9yeSBhcyB5b3VyIE5leHQuanMgYXBwLiBJZiB5b3UgYXJlIGluIGFcbiAgICogbW9ub3JlcG8sIHRoZW4gdGhpcyB2YWx1ZSBzaG91bGQgYmUgdGhlIHJvb3Qgb2YgeW91ciBtb25vcmVwby4gWW91IHRoZW5cbiAgICogbXVzdCBwYXNzIHRoZSByZWxhdGl2ZSBwYXRoIHRvIHlvdXIgTmV4dC5qcyBhcHAgdmlhIHtAbGluayBOZXh0anNCYXNlUHJvcHMucmVsYXRpdmVQYXRoVG9QYWNrYWdlfVxuICAgKlxuICAgKiBOb3RlLCBieSBkZWZhdWx0IGNkay1uZXh0anMnIGBidWlsZGVyLkRvY2tlcmZpbGVgIGlzIHVzZWQgdG8gYnVpbGQgeW91clxuICAgKiBOZXh0LmpzIGFwcC4gWW91IGNhbiBjdXN0b21pemUgdGhpcyBieSBzcGVjaWZ5aW5nIGBvdmVycmlkZXMue25leHRqcy4uLn0ubmV4dGpzQnVpbGRQcm9wcy5idWlsZGVySW1hZ2VQcm9wcy5maWxlYC5cbiAgICogSWYgeW91IG92ZXJyaWRlIHRoZSBkZWZhdWx0LCB0aGVuIHlvdSBhcmUgcmVzcG9uc2libGUgZm9yIGVuc3VyaW5nIHRoZVxuICAgKiBEb2NrZXJmaWxlIGlzIGluIHRoZSBidWlsZCBjb250ZXh0IGRpcmVjdG9yeSBiZWZvcmUgY2RrLW5leHRqcyBjb25zdHJ1Y3RcbiAgICogaXMgaW5zdGFudGlhdGVkLlxuICAgKiBAZXhhbXBsZSBqb2luKGltcG9ydC5tZXRhLmRpcm5hbWUsIFwiLi5cIikgKG1vbm9yZXBvKVxuICAgKi9cbiAgcmVhZG9ubHkgYnVpbGRDb250ZXh0OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBQYXRoIHRvIEFQSSBSb3V0ZSBIYW5kbGVyIHRoYXQgcmV0dXJucyBIVFRQIDIwMCB0byBlbnN1cmUgY29tcHV0ZSBoZWFsdGguXG4gICAqIEBleGFtcGxlIFwiL2FwaS9oZWFsdGhcIlxuICAgKiBAZXhhbXBsZVxuICAgKiAvLyBhcGkvaGVhbHRoL3JvdXRlLnRzXG4gICAqIGltcG9ydCB7IE5leHRSZXNwb25zZSB9IGZyb20gXCJuZXh0L3NlcnZlclwiO1xuICAgKlxuICAgKiBleHBvcnQgZnVuY3Rpb24gR0VUKCkge1xuICAgKiAgIHJldHVybiBOZXh0UmVzcG9uc2UuanNvbihcIlwiKTtcbiAgICogfVxuICAgKi9cbiAgcmVhZG9ubHkgaGVhbHRoQ2hlY2tQYXRoOiBzdHJpbmc7XG4gIC8qKlxuICAgKiBVc2UgdGhpcyBpZiBidWlsZGluZyBpbiBtb25vcmVwby4gVGhpcyBpcyB0aGUgcmVsYXRpdmUgcGF0aCBmcm9tXG4gICAqIHtAbGluayBOZXh0anNCYXNlUHJvcHMuYnVpbGRDb250ZXh0fSBvciByb290IHdvcmtzcGFjZSB0byBuZXN0ZWQgcGFja2FnZVxuICAgKiBjb250YWluaW5nIE5leHQuanMgYXBwLiBTZWUgZXhhbXBsZSBiZWxvdzpcbiAgICpcbiAgICogTGV0J3Mgc2F5IHlvdSBoYXZlIGEgbW9ub3JlcG8gd2l0aCB0aGUgZm9sbG93aW5nIGZvbGRlciBzdHJ1Y3R1cmU6XG4gICAqIC0gbXktbW9ub3JlcG8vXG4gICAqICAgLSBwYWNrYWdlcy9cbiAgICogICAgIC0gdWkvXG4gICAqICAgICAgIC0gcGFja2FnZS5qc29uIChuZXN0ZWQpXG4gICAqICAgLSBwYWNrYWdlLmpzb24gKHJvb3QpXG4gICAqXG4gICAqIEFuZCB5b3VyIE5leHQuanMgYXBwIGRpcmVjdG9yeSBpcyB0aGUgdWkgZm9sZGVyLiBUaGVuIHlvdSB3b3VsZCBzZXQge0BsaW5rIE5leHRqc0Jhc2VQcm9wcy5idWlsZENvbnRleHR9XG4gICAqIHRvIGBcIi9hYnNvbHV0ZS9wYXRoL3RvL215LW1vbm9yZXBvXCJgIGFuZCB7QGxpbmsgTmV4dGpzQmFzZVByb3BzLnJlbGF0aXZlUGF0aFRvUGFja2FnZX1cbiAgICogdG8gYFwiLi9wYWNrYWdlcy91aVwiYC5cbiAgICpcbiAgICogTm90ZSwgc2V0dGluZyB7QGxpbmsgTmV4dGpzQmFzZVByb3BzLmJ1aWxkQ29udGV4dH0gdG8gdGhlIHJvb3Qgb2YgeW91clxuICAgKiBtb25vcmVwbyB3aWxsIGludmFsaWRhdGUgY29udGFpbmVyIHJ1bnRpbWUgKGkuZS4gZG9ja2VyKSBidWlsZCBjYWNoZSB3aGVuIGFueSBmaWxlIGlzXG4gICAqIGNoYW5nZWQgaW4geW91ciBtb25vcmVwby4gVGhpcyBpcyBzbG93cyBkb3duIGRlcGxveW1lbnRzLiBDaGVja291dCBob3cgeW91XG4gICAqIGNhbiB1c2UgW3R1cmJvXShodHRwczovL3R1cmJvLmJ1aWxkLykgaW4gW0RlcGxveWluZyB3aXRoIERvY2tlciBHdWlkZV0oaHR0cHM6Ly90dXJiby5idWlsZC9yZXBvL2RvY3MvaGFuZGJvb2svZGVwbG95aW5nLXdpdGgtZG9ja2VyKVxuICAgKiBpbiB0aGUgY2RrLW5leHRqcy9leGFtcGxlcy90dXJiby5cbiAgICpcbiAgICogQGV4YW1wbGUgXCIuL3BhY2thZ2VzL3VpXCJcbiAgICovXG4gIHJlYWRvbmx5IHJlbGF0aXZlUGF0aFRvUGFja2FnZT86IHN0cmluZztcbiAgLyoqXG4gICAqIEBkZXByZWNhdGVkIHVzZSByZWxhdGl2ZVBhdGhUb1BhY2thZ2VcbiAgICovXG4gIHJlYWRvbmx5IHJlbGF0aXZlUGF0aFRvV29ya3NwYWNlPzogc3RyaW5nO1xufVxuIl19