cdk-nextjs 0.6.2 → 0.7.0
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/.jsii +2404 -2723
- package/.jsii.tabl.json +1 -1
- package/API.md +1681 -1930
- package/CLAUDE.md +2 -1
- package/README.md +429 -130
- package/assets/lambdas/post-deploy/post-deploy.lambda/index.js +148 -169
- package/assets/lambdas/redeploy-stage/redeploy-stage.lambda/index.js +875 -0
- package/docs/adapter-runtime.md +185 -0
- package/docs/breaking-changes.md +667 -4
- package/docs/caching-guide.md +156 -112
- package/docs/cdk-nextjs-cfn-exec-policy.json +2 -1
- package/docs/development-guide.md +1 -1
- package/docs/harness-coverage.md +598 -0
- package/docs/init-cache-deployment.md +32 -1
- package/docs/next-build-output-guide.md +30 -20
- package/examples/README.md +5 -1
- package/lib/adapter/__fixtures__/app-playground-base-path.json +4926 -0
- package/lib/adapter/__fixtures__/app-playground.json +4917 -0
- package/lib/adapter/__fixtures__/pages-i18n.json +1728 -0
- package/lib/adapter/adapter.mjs +1548 -185
- package/lib/adapter/adapter.test.js +106 -0
- package/lib/adapter/aws-cache-store.d.ts +489 -0
- package/lib/adapter/aws-cache-store.js +1004 -0
- package/lib/adapter/aws-cache-store.test.d.ts +1 -0
- package/lib/adapter/aws-cache-store.test.js +361 -0
- package/lib/adapter/build-outputs.d.ts +80 -0
- package/lib/adapter/build-outputs.js +852 -0
- package/lib/adapter/build-outputs.test.d.ts +1 -0
- package/lib/adapter/build-outputs.test.js +861 -0
- package/lib/adapter/cache-handler.d.ts +9 -2
- package/lib/adapter/cache-handler.js +72 -96
- package/lib/adapter/cache-handler.mjs +18956 -17774
- package/lib/adapter/cache-handler.test.js +263 -31
- package/lib/adapter/cache-kinds.d.ts +32 -0
- package/lib/adapter/cache-kinds.js +35 -0
- package/lib/adapter/cache-kinds.test.d.ts +1 -0
- package/lib/adapter/cache-kinds.test.js +69 -0
- package/lib/adapter/cache-utils.d.ts +90 -0
- package/lib/adapter/cache-utils.js +199 -4
- package/lib/adapter/cache-utils.test.d.ts +1 -0
- package/lib/adapter/cache-utils.test.js +179 -0
- package/lib/adapter/function-groups.d.ts +215 -0
- package/lib/adapter/function-groups.js +1099 -0
- package/lib/adapter/function-groups.test.d.ts +1 -0
- package/lib/adapter/function-groups.test.js +743 -0
- package/lib/adapter/init-cache.d.ts +6 -0
- package/lib/adapter/init-cache.js +245 -0
- package/lib/adapter/init-cache.test.d.ts +1 -0
- package/lib/adapter/init-cache.test.js +137 -0
- package/lib/adapter/local-file-cache-handler.d.ts +23 -0
- package/lib/adapter/local-file-cache-handler.js +52 -1
- package/lib/adapter/memory-cache-handler.d.ts +26 -17
- package/lib/adapter/memory-cache-handler.js +32 -50
- package/lib/adapter/memory-cache-handler.test.js +105 -85
- package/lib/adapter/s3-cache-handler.d.ts +179 -40
- package/lib/adapter/s3-cache-handler.js +807 -277
- package/lib/adapter/s3-cache-handler.test.js +1186 -31
- package/lib/adapter/use-cache-common.d.ts +90 -0
- package/lib/adapter/use-cache-common.js +250 -0
- package/lib/adapter/use-cache-common.test.d.ts +1 -0
- package/lib/adapter/use-cache-common.test.js +646 -0
- package/lib/adapter/use-cache-default-handler.d.ts +24 -0
- package/lib/adapter/use-cache-default-handler.js +90 -0
- package/lib/adapter/use-cache-default-handler.mjs +38645 -0
- package/lib/adapter/use-cache-handlers.test.d.ts +1 -0
- package/lib/adapter/use-cache-handlers.test.js +349 -0
- package/lib/adapter/use-cache-remote-handler.d.ts +26 -0
- package/lib/adapter/use-cache-remote-handler.js +186 -0
- package/lib/{image-optimization/handler.mjs → adapter/use-cache-remote-handler.mjs} +33572 -38798
- package/lib/generated-structs/OptionalNextjsApiProps.d.ts +59 -0
- package/lib/generated-structs/OptionalNextjsApiProps.js +3 -0
- package/lib/generated-structs/OptionalNextjsCacheProps.d.ts +15 -6
- package/lib/generated-structs/OptionalNextjsCacheProps.js +1 -1
- package/lib/generated-structs/OptionalNextjsContainersProps.d.ts +25 -11
- package/lib/generated-structs/OptionalNextjsContainersProps.js +1 -1
- package/lib/generated-structs/OptionalNextjsDistributionProps.d.ts +31 -9
- package/lib/generated-structs/OptionalNextjsDistributionProps.js +1 -1
- package/lib/generated-structs/OptionalNextjsPostDeployProps.d.ts +8 -0
- package/lib/generated-structs/OptionalNextjsPostDeployProps.js +1 -1
- package/lib/generated-structs/OptionalPostDeployCustomResourceProperties.d.ts +6 -4
- package/lib/generated-structs/OptionalPostDeployCustomResourceProperties.js +1 -1
- package/lib/index.d.ts +6 -7
- package/lib/index.js +2 -4
- package/lib/lambdas/post-deploy/prune-cache-bucket.d.ts +7 -3
- package/lib/lambdas/post-deploy/prune-cache-bucket.js +57 -71
- package/lib/lambdas/post-deploy/prune-cache-bucket.test.d.ts +1 -0
- package/lib/lambdas/post-deploy/prune-cache-bucket.test.js +114 -0
- package/lib/lambdas/post-deploy/prune-revalidation-table.d.ts +1 -0
- package/lib/lambdas/post-deploy/prune-revalidation-table.js +23 -31
- package/lib/lambdas/post-deploy/prune-revalidation-table.test.d.ts +1 -0
- package/lib/lambdas/post-deploy/prune-revalidation-table.test.js +71 -0
- package/lib/lambdas/post-deploy/prune-s3.d.ts +14 -5
- package/lib/lambdas/post-deploy/prune-s3.js +41 -12
- package/lib/lambdas/post-deploy/prune-s3.test.js +97 -18
- package/lib/lambdas/redeploy-stage/redeploy-stage-function.d.ts +13 -0
- package/lib/lambdas/redeploy-stage/redeploy-stage-function.js +55 -0
- package/lib/lambdas/redeploy-stage/redeploy-stage.d.ts +24 -0
- package/lib/lambdas/redeploy-stage/redeploy-stage.js +68 -0
- package/lib/lambdas/redeploy-stage/redeploy-stage.lambda.d.ts +20 -0
- package/lib/lambdas/redeploy-stage/redeploy-stage.lambda.js +24 -0
- package/lib/lambdas/redeploy-stage/redeploy-stage.test.d.ts +1 -0
- package/lib/lambdas/redeploy-stage/redeploy-stage.test.js +93 -0
- package/lib/nextjs-api.d.ts +102 -18
- package/lib/nextjs-api.js +338 -38
- package/lib/nextjs-api.test.js +537 -1
- package/lib/nextjs-build/global-containers.Dockerfile +15 -10
- package/lib/nextjs-build/nextjs-build.d.ts +339 -63
- package/lib/nextjs-build/nextjs-build.js +684 -327
- package/lib/nextjs-build/nextjs-build.test.d.ts +1 -0
- package/lib/nextjs-build/nextjs-build.test.js +412 -0
- package/lib/nextjs-build/patch-fetch.js +1 -1
- package/lib/nextjs-build/patch-fetch.test.js +166 -11
- package/lib/nextjs-build/regional-containers.Dockerfile +17 -10
- package/lib/nextjs-cache.d.ts +82 -4
- package/lib/nextjs-cache.js +186 -10
- package/lib/nextjs-cache.test.js +176 -1
- package/lib/nextjs-compute/nextjs-compute-base-props.d.ts +21 -8
- package/lib/nextjs-compute/nextjs-compute-base-props.js +41 -1
- package/lib/nextjs-compute/nextjs-compute-base-props.test.d.ts +1 -0
- package/lib/nextjs-compute/nextjs-compute-base-props.test.js +44 -0
- package/lib/nextjs-compute/nextjs-containers.d.ts +19 -0
- package/lib/nextjs-compute/nextjs-containers.js +57 -20
- package/lib/nextjs-compute/nextjs-functions.d.ts +122 -7
- package/lib/nextjs-compute/nextjs-functions.js +113 -67
- package/lib/nextjs-compute/nextjs-functions.test.d.ts +1 -0
- package/lib/nextjs-compute/nextjs-functions.test.js +99 -0
- package/lib/nextjs-distribution.d.ts +194 -23
- package/lib/nextjs-distribution.js +535 -62
- package/lib/nextjs-distribution.test.d.ts +1 -0
- package/lib/nextjs-distribution.test.js +697 -0
- package/lib/nextjs-post-deploy.d.ts +13 -5
- package/lib/nextjs-post-deploy.js +13 -10
- package/lib/nextjs-post-deploy.test.d.ts +1 -0
- package/lib/nextjs-post-deploy.test.js +34 -0
- package/lib/nextjs-static-assets.d.ts +17 -4
- package/lib/nextjs-static-assets.js +22 -5
- package/lib/root-constructs/nextjs-base-construct.d.ts +102 -58
- package/lib/root-constructs/nextjs-base-construct.js +139 -47
- package/lib/root-constructs/nextjs-global-containers.d.ts +18 -20
- package/lib/root-constructs/nextjs-global-containers.js +20 -71
- package/lib/root-constructs/nextjs-global-functions.d.ts +26 -28
- package/lib/root-constructs/nextjs-global-functions.js +52 -70
- package/lib/root-constructs/nextjs-regional-containers.d.ts +18 -5
- package/lib/root-constructs/nextjs-regional-containers.js +8 -15
- package/lib/root-constructs/nextjs-regional-functions.d.ts +22 -18
- package/lib/root-constructs/nextjs-regional-functions.js +8 -26
- package/lib/runtime/api-gateway-path.d.ts +34 -0
- package/lib/runtime/api-gateway-path.js +71 -0
- package/lib/runtime/api-gateway-path.test.d.ts +1 -0
- package/lib/runtime/api-gateway-path.test.js +65 -0
- package/lib/runtime/case-redirect.d.ts +22 -0
- package/lib/runtime/case-redirect.js +63 -0
- package/lib/runtime/case-redirect.test.d.ts +1 -0
- package/lib/runtime/case-redirect.test.js +32 -0
- package/lib/runtime/core.d.ts +234 -0
- package/lib/runtime/core.js +1213 -0
- package/lib/runtime/core.test.d.ts +1 -0
- package/lib/runtime/core.test.js +1678 -0
- package/lib/runtime/deployment-root.d.ts +13 -0
- package/lib/runtime/deployment-root.js +29 -0
- package/lib/runtime/dispatch.d.ts +331 -0
- package/lib/runtime/dispatch.js +751 -0
- package/lib/runtime/dispatch.test.d.ts +1 -0
- package/lib/runtime/dispatch.test.js +853 -0
- package/lib/runtime/entrypoints.d.ts +57 -0
- package/lib/runtime/entrypoints.js +115 -0
- package/lib/runtime/http/abort-signal.d.ts +6 -0
- package/lib/runtime/http/abort-signal.js +19 -0
- package/lib/runtime/http/abort-signal.test.d.ts +1 -0
- package/lib/runtime/http/abort-signal.test.js +49 -0
- package/lib/runtime/http/node-server.d.ts +38 -0
- package/lib/runtime/http/node-server.js +99 -0
- package/lib/runtime/http/node-server.test.d.ts +1 -0
- package/lib/runtime/http/node-server.test.js +96 -0
- package/lib/runtime/http/node-sink.d.ts +16 -0
- package/lib/runtime/http/node-sink.js +48 -0
- package/lib/runtime/http/node-sink.test.d.ts +1 -0
- package/lib/runtime/http/node-sink.test.js +66 -0
- package/lib/runtime/http/request.d.ts +62 -0
- package/lib/runtime/http/request.js +134 -0
- package/lib/runtime/http/request.test.d.ts +1 -0
- package/lib/runtime/http/request.test.js +103 -0
- package/lib/runtime/http/response.d.ts +77 -0
- package/lib/runtime/http/response.js +229 -0
- package/lib/runtime/http/response.test.d.ts +1 -0
- package/lib/runtime/http/response.test.js +178 -0
- package/lib/runtime/http/sink.d.ts +73 -0
- package/lib/runtime/http/sink.js +188 -0
- package/lib/runtime/http/sink.test.d.ts +1 -0
- package/lib/runtime/http/sink.test.js +257 -0
- package/lib/runtime/image-utils.d.ts +78 -0
- package/lib/runtime/image-utils.js +129 -0
- package/lib/runtime/image-utils.test.d.ts +1 -0
- package/lib/runtime/image-utils.test.js +237 -0
- package/lib/runtime/image.d.ts +76 -0
- package/lib/runtime/image.js +296 -0
- package/lib/runtime/image.test.d.ts +1 -0
- package/lib/runtime/image.test.js +405 -0
- package/lib/runtime/lambda-event.d.ts +4 -0
- package/lib/runtime/lambda-event.js +113 -0
- package/lib/runtime/lambda-event.test.d.ts +1 -0
- package/lib/runtime/lambda-event.test.js +119 -0
- package/lib/runtime/lambda.mjs +41595 -0
- package/lib/runtime/load-module.d.ts +8 -0
- package/lib/runtime/load-module.js +35 -0
- package/lib/runtime/manifest.d.ts +215 -0
- package/lib/runtime/manifest.js +118 -0
- package/lib/runtime/middleware.d.ts +43 -0
- package/lib/runtime/middleware.js +113 -0
- package/lib/runtime/middleware.test.d.ts +1 -0
- package/lib/runtime/middleware.test.js +259 -0
- package/lib/runtime/next-modules.d.ts +55 -0
- package/lib/runtime/next-modules.js +124 -0
- package/lib/runtime/next-modules.test.d.ts +1 -0
- package/lib/runtime/next-modules.test.js +34 -0
- package/lib/runtime/public-files.d.ts +32 -0
- package/lib/runtime/public-files.js +117 -0
- package/lib/runtime/public-files.test.d.ts +1 -0
- package/lib/runtime/public-files.test.js +97 -0
- package/lib/runtime/server.mjs +41588 -0
- package/lib/runtime/static-files.d.ts +50 -0
- package/lib/runtime/static-files.js +266 -0
- package/lib/runtime/static-files.test.d.ts +1 -0
- package/lib/runtime/static-files.test.js +118 -0
- package/lib/runtime/util.d.ts +28 -0
- package/lib/runtime/util.js +79 -0
- package/lib/utils/base-path.d.ts +106 -13
- package/lib/utils/base-path.js +254 -41
- package/lib/utils/base-path.test.js +219 -51
- package/lib/utils/get-architecture.d.ts +7 -8
- package/lib/utils/get-architecture.js +12 -13
- package/lib/utils/zip-directory.d.ts +14 -0
- package/lib/utils/zip-directory.js +121 -0
- package/lib/utils/zip-directory.test.d.ts +1 -0
- package/lib/utils/zip-directory.test.js +99 -0
- package/package.json +22 -3
- package/scripts/capture-adapter-fixture.mjs +325 -0
- package/scripts/e2e-deploy.sh +398 -0
- package/scripts/e2e-harness/README.md +707 -0
- package/scripts/e2e-harness/app.js +370 -0
- package/scripts/e2e-harness/common.sh +249 -0
- package/scripts/e2e-harness/screen.mjs +302 -0
- package/scripts/e2e-harness/stage-proxy.mjs +145 -0
- package/scripts/e2e-harness/type-filters.mjs +47 -0
- package/scripts/e2e-logs.sh +75 -0
- package/scripts/e2e-offline.sh +91 -0
- package/scripts/e2e-sweep.sh +370 -0
- package/scripts/e2e-warm.sh +114 -0
- package/scripts/zero-config-build.mjs +418 -0
- package/docs/1k-concurrent-users-executions.png +0 -0
- package/docs/plans/adapter-runtime-release.md +0 -362
- package/docs/plans/phase-0-image-function-opt-in.md +0 -295
- package/lib/generated-structs/OptionalDockerImageFunctionProps.d.ts +0 -425
- package/lib/generated-structs/OptionalDockerImageFunctionProps.js +0 -3
- package/lib/image-optimization/handler-utils.d.ts +0 -34
- package/lib/image-optimization/handler-utils.js +0 -83
- package/lib/image-optimization/handler-utils.test.js +0 -178
- package/lib/nextjs-build/functions.Dockerfile +0 -31
- package/lib/nextjs-compute/nextjs-image-function.d.ts +0 -53
- package/lib/nextjs-compute/nextjs-image-function.js +0 -59
- package/lib/utils/experimental-flags.d.ts +0 -24
- package/lib/utils/experimental-flags.js +0 -30
- /package/lib/{image-optimization/handler-utils.test.d.ts → adapter/adapter.test.d.ts} +0 -0
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import type { aws_ec2, aws_lambda, aws_s3 } from 'aws-cdk-lib';
|
|
2
|
+
import type { PublicDirEntry } from '../';
|
|
3
|
+
/**
|
|
4
|
+
* OptionalNextjsApiProps
|
|
5
|
+
*/
|
|
6
|
+
export interface OptionalNextjsApiProps {
|
|
7
|
+
/**
|
|
8
|
+
* [Future] Required if `NextjsRegionalContainers`.
|
|
9
|
+
* VPC to create VPC Link and ECS Service Discovery
|
|
10
|
+
* @stability stable
|
|
11
|
+
*/
|
|
12
|
+
readonly vpc?: aws_ec2.IVpc;
|
|
13
|
+
/**
|
|
14
|
+
* S3 key prefix the static assets were uploaded under, i.e. `NextjsStaticAssets.keyPrefix`, which namespaces a shared bucket.
|
|
15
|
+
* Independent of `basePath` above: that one is the URL prefix the REST API
|
|
16
|
+
* serves the app at (commonly the API Gateway stage), while this one is where
|
|
17
|
+
* the objects live in the bucket. `_next/static` and public directory
|
|
18
|
+
* requests are mapped to S3 keys directly, so they 404 unless this prefix is
|
|
19
|
+
* applied.
|
|
20
|
+
* @stability stable
|
|
21
|
+
*/
|
|
22
|
+
readonly staticAssetsKeyPrefix?: string;
|
|
23
|
+
/**
|
|
24
|
+
* Required if `NextjsRegionalFunctions`.
|
|
25
|
+
* The Lambda function for server-side rendering
|
|
26
|
+
* @stability stable
|
|
27
|
+
*/
|
|
28
|
+
readonly serverFunction?: aws_lambda.IFunction;
|
|
29
|
+
/**
|
|
30
|
+
* Deploy the stage again once each stack update has finished, so it serves the API as it is after the update.
|
|
31
|
+
* CloudFormation snapshots the API into a new deployment while resources
|
|
32
|
+
* removed from the template still exist — it deletes them only during
|
|
33
|
+
* cleanup — so the stage keeps serving them. After removing a function
|
|
34
|
+
* group, its routes then point at a deleted Lambda and answer 500 until the
|
|
35
|
+
* next deployment. An EventBridge rule on this stack's `UPDATE_COMPLETE`
|
|
36
|
+
* (and `UPDATE_ROLLBACK_COMPLETE`) invokes a small function that deploys the
|
|
37
|
+
* stage from the live API and deletes the deployments its earlier runs made.
|
|
38
|
+
*
|
|
39
|
+
* Ignored when `overrides.restApiProps.deploy` is `false`: there is no stage.
|
|
40
|
+
* @default true
|
|
41
|
+
* @stability stable
|
|
42
|
+
*/
|
|
43
|
+
readonly redeployAfterUpdate?: boolean;
|
|
44
|
+
/**
|
|
45
|
+
* Optional base path for the application.
|
|
46
|
+
* @stability stable
|
|
47
|
+
*/
|
|
48
|
+
readonly basePath?: string;
|
|
49
|
+
/**
|
|
50
|
+
* The S3 bucket containing static assets.
|
|
51
|
+
* @stability stable
|
|
52
|
+
*/
|
|
53
|
+
readonly staticAssetsBucket?: aws_s3.IBucket;
|
|
54
|
+
/**
|
|
55
|
+
* Path to directory of Next.js app's public directory. Used to add resources to API Gateway REST API for public directory to go directly to S3.
|
|
56
|
+
* @stability stable
|
|
57
|
+
*/
|
|
58
|
+
readonly publicDirEntries?: Array<PublicDirEntry>;
|
|
59
|
+
}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiT3B0aW9uYWxOZXh0anNBcGlQcm9wcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9nZW5lcmF0ZWQtc3RydWN0cy9PcHRpb25hbE5leHRqc0FwaVByb3BzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyIvLyB+fiBHZW5lcmF0ZWQgYnkgcHJvamVuLiBUbyBtb2RpZnksIGVkaXQgLnByb2plbnJjLnRzIGFuZCBydW4gXCJwbnBtIGRseCBwcm9qZW5cIi5cbmltcG9ydCB0eXBlIHsgYXdzX2VjMiwgYXdzX2xhbWJkYSwgYXdzX3MzIH0gZnJvbSAnYXdzLWNkay1saWInO1xuaW1wb3J0IHR5cGUgeyBQdWJsaWNEaXJFbnRyeSB9IGZyb20gJy4uLyc7XG5cbi8qKlxuICogT3B0aW9uYWxOZXh0anNBcGlQcm9wc1xuICovXG5leHBvcnQgaW50ZXJmYWNlIE9wdGlvbmFsTmV4dGpzQXBpUHJvcHMge1xuICAvKipcbiAgICogW0Z1dHVyZV0gUmVxdWlyZWQgaWYgYE5leHRqc1JlZ2lvbmFsQ29udGFpbmVyc2AuXG4gICAqIFZQQyB0byBjcmVhdGUgVlBDIExpbmsgYW5kIEVDUyBTZXJ2aWNlIERpc2NvdmVyeVxuICAgKiBAc3RhYmlsaXR5IHN0YWJsZVxuICAgKi9cbiAgcmVhZG9ubHkgdnBjPzogYXdzX2VjMi5JVnBjO1xuICAvKipcbiAgICogUzMga2V5IHByZWZpeCB0aGUgc3RhdGljIGFzc2V0cyB3ZXJlIHVwbG9hZGVkIHVuZGVyLCBpLmUuIGBOZXh0anNTdGF0aWNBc3NldHMua2V5UHJlZml4YCwgd2hpY2ggbmFtZXNwYWNlcyBhIHNoYXJlZCBidWNrZXQuXG4gICAqIEluZGVwZW5kZW50IG9mIGBiYXNlUGF0aGAgYWJvdmU6IHRoYXQgb25lIGlzIHRoZSBVUkwgcHJlZml4IHRoZSBSRVNUIEFQSVxuICAgKiBzZXJ2ZXMgdGhlIGFwcCBhdCAoY29tbW9ubHkgdGhlIEFQSSBHYXRld2F5IHN0YWdlKSwgd2hpbGUgdGhpcyBvbmUgaXMgd2hlcmVcbiAgICogdGhlIG9iamVjdHMgbGl2ZSBpbiB0aGUgYnVja2V0LiBgX25leHQvc3RhdGljYCBhbmQgcHVibGljIGRpcmVjdG9yeVxuICAgKiByZXF1ZXN0cyBhcmUgbWFwcGVkIHRvIFMzIGtleXMgZGlyZWN0bHksIHNvIHRoZXkgNDA0IHVubGVzcyB0aGlzIHByZWZpeCBpc1xuICAgKiBhcHBsaWVkLlxuICAgKiBAc3RhYmlsaXR5IHN0YWJsZVxuICAgKi9cbiAgcmVhZG9ubHkgc3RhdGljQXNzZXRzS2V5UHJlZml4Pzogc3RyaW5nO1xuICAvKipcbiAgICogUmVxdWlyZWQgaWYgYE5leHRqc1JlZ2lvbmFsRnVuY3Rpb25zYC5cbiAgICogVGhlIExhbWJkYSBmdW5jdGlvbiBmb3Igc2VydmVyLXNpZGUgcmVuZGVyaW5nXG4gICAqIEBzdGFiaWxpdHkgc3RhYmxlXG4gICAqL1xuICByZWFkb25seSBzZXJ2ZXJGdW5jdGlvbj86IGF3c19sYW1iZGEuSUZ1bmN0aW9uO1xuICAvKipcbiAgICogRGVwbG95IHRoZSBzdGFnZSBhZ2FpbiBvbmNlIGVhY2ggc3RhY2sgdXBkYXRlIGhhcyBmaW5pc2hlZCwgc28gaXQgc2VydmVzIHRoZSBBUEkgYXMgaXQgaXMgYWZ0ZXIgdGhlIHVwZGF0ZS5cbiAgICogQ2xvdWRGb3JtYXRpb24gc25hcHNob3RzIHRoZSBBUEkgaW50byBhIG5ldyBkZXBsb3ltZW50IHdoaWxlIHJlc291cmNlc1xuICAgKiByZW1vdmVkIGZyb20gdGhlIHRlbXBsYXRlIHN0aWxsIGV4aXN0IOKAlCBpdCBkZWxldGVzIHRoZW0gb25seSBkdXJpbmdcbiAgICogY2xlYW51cCDigJQgc28gdGhlIHN0YWdlIGtlZXBzIHNlcnZpbmcgdGhlbS4gQWZ0ZXIgcmVtb3ZpbmcgYSBmdW5jdGlvblxuICAgKiBncm91cCwgaXRzIHJvdXRlcyB0aGVuIHBvaW50IGF0IGEgZGVsZXRlZCBMYW1iZGEgYW5kIGFuc3dlciA1MDAgdW50aWwgdGhlXG4gICAqIG5leHQgZGVwbG95bWVudC4gQW4gRXZlbnRCcmlkZ2UgcnVsZSBvbiB0aGlzIHN0YWNrJ3MgYFVQREFURV9DT01QTEVURWBcbiAgICogKGFuZCBgVVBEQVRFX1JPTExCQUNLX0NPTVBMRVRFYCkgaW52b2tlcyBhIHNtYWxsIGZ1bmN0aW9uIHRoYXQgZGVwbG95cyB0aGVcbiAgICogc3RhZ2UgZnJvbSB0aGUgbGl2ZSBBUEkgYW5kIGRlbGV0ZXMgdGhlIGRlcGxveW1lbnRzIGl0cyBlYXJsaWVyIHJ1bnMgbWFkZS5cbiAgICpcbiAgICogSWdub3JlZCB3aGVuIGBvdmVycmlkZXMucmVzdEFwaVByb3BzLmRlcGxveWAgaXMgYGZhbHNlYDogdGhlcmUgaXMgbm8gc3RhZ2UuXG4gICAqIEBkZWZhdWx0IHRydWVcbiAgICogQHN0YWJpbGl0eSBzdGFibGVcbiAgICovXG4gIHJlYWRvbmx5IHJlZGVwbG95QWZ0ZXJVcGRhdGU/OiBib29sZWFuO1xuICAvKipcbiAgICogT3B0aW9uYWwgYmFzZSBwYXRoIGZvciB0aGUgYXBwbGljYXRpb24uXG4gICAqIEBzdGFiaWxpdHkgc3RhYmxlXG4gICAqL1xuICByZWFkb25seSBiYXNlUGF0aD86IHN0cmluZztcbiAgLyoqXG4gICAqIFRoZSBTMyBidWNrZXQgY29udGFpbmluZyBzdGF0aWMgYXNzZXRzLlxuICAgKiBAc3RhYmlsaXR5IHN0YWJsZVxuICAgKi9cbiAgcmVhZG9ubHkgc3RhdGljQXNzZXRzQnVja2V0PzogYXdzX3MzLklCdWNrZXQ7XG4gIC8qKlxuICAgKiBQYXRoIHRvIGRpcmVjdG9yeSBvZiBOZXh0LmpzIGFwcCdzIHB1YmxpYyBkaXJlY3RvcnkuIFVzZWQgdG8gYWRkIHJlc291cmNlcyB0byBBUEkgR2F0ZXdheSBSRVNUIEFQSSBmb3IgcHVibGljIGRpcmVjdG9yeSB0byBnbyBkaXJlY3RseSB0byBTMy5cbiAgICogQHN0YWJpbGl0eSBzdGFibGVcbiAgICovXG4gIHJlYWRvbmx5IHB1YmxpY0RpckVudHJpZXM/OiBBcnJheTxQdWJsaWNEaXJFbnRyeT47XG59XG4iXX0=
|
|
@@ -7,16 +7,25 @@ export interface OptionalNextjsCacheProps {
|
|
|
7
7
|
* Bring your own DynamoDB table for revalidation metadata.
|
|
8
8
|
* When provided,
|
|
9
9
|
* cdk-nextjs will skip creating a new table. The table must have `pk` (String)
|
|
10
|
-
* as partition key and `sk` (String) as sort key.
|
|
11
|
-
* `
|
|
10
|
+
* as partition key and `sk` (String) as sort key.
|
|
11
|
+
* Enabling TTL on its `ttl` attribute is recommended: each tag revalidation
|
|
12
|
+
* writes a revalidation log row that expires through it after 15 minutes.
|
|
13
|
+
* Without TTL those rows are kept until a deploy replaces their build, whose
|
|
14
|
+
* post-deploy step deletes them.
|
|
15
|
+
*
|
|
16
|
+
* The table must be dedicated to this one deployment. Don't share it with
|
|
17
|
+
* another deployment (another branch, stage, or app): every deploy's
|
|
18
|
+
* post-deploy step deletes the entries of the build it last recorded in the
|
|
19
|
+
* table, which with a shared table is another deployment's live build.
|
|
12
20
|
* @stability stable
|
|
13
21
|
*/
|
|
14
22
|
readonly revalidationTable?: aws_dynamodb.ITableV2;
|
|
15
23
|
/**
|
|
16
|
-
* Bring your own S3 bucket for cache storage.
|
|
17
|
-
*
|
|
18
|
-
*
|
|
19
|
-
*
|
|
24
|
+
* Bring your own S3 bucket for cache storage. When provided, cdk-nextjs will skip creating a new bucket.
|
|
25
|
+
* The bucket must be dedicated to this one deployment. Don't share it with
|
|
26
|
+
* another deployment (another branch, stage, or app): every deploy's
|
|
27
|
+
* post-deploy step deletes every object under a top-level prefix other than
|
|
28
|
+
* the current `buildId/`, which includes every other deployment's cache.
|
|
20
29
|
* @stability stable
|
|
21
30
|
*/
|
|
22
31
|
readonly cacheBucket?: aws_s3.IBucket;
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiT3B0aW9uYWxOZXh0anNDYWNoZVByb3BzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2dlbmVyYXRlZC1zdHJ1Y3RzL09wdGlvbmFsTmV4dGpzQ2FjaGVQcm9wcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiLy8gfn4gR2VuZXJhdGVkIGJ5IHByb2plbi4gVG8gbW9kaWZ5LCBlZGl0IC5wcm9qZW5yYy50cyBhbmQgcnVuIFwicG5wbSBkbHggcHJvamVuXCIuXG5pbXBvcnQgdHlwZSB7IGF3c19keW5hbW9kYiwgYXdzX3MzIH0gZnJvbSAnYXdzLWNkay1saWInO1xuXG4vKipcbiAqIE9wdGlvbmFsTmV4dGpzQ2FjaGVQcm9wc1xuICovXG5leHBvcnQgaW50ZXJmYWNlIE9wdGlvbmFsTmV4dGpzQ2FjaGVQcm9wcyB7XG4gIC8qKlxuICAgKiBCcmluZyB5b3VyIG93biBEeW5hbW9EQiB0YWJsZSBmb3IgcmV2YWxpZGF0aW9uIG1ldGFkYXRhLlxuICAgKiBXaGVuIHByb3ZpZGVkLFxuICAgKiBjZGstbmV4dGpzIHdpbGwgc2tpcCBjcmVhdGluZyBhIG5ldyB0YWJsZS4gVGhlIHRhYmxlIG11c3QgaGF2ZSBgcGtgIChTdHJpbmcpXG4gICAqIGFzIHBhcnRpdGlvbiBrZXkgYW5kIGBza2AgKFN0cmluZykgYXMgc29ydCBrZXkuXG4gICAqIEVuYWJsaW5nIFRUTCBvbiBpdHMgYHR0bGAgYXR0cmlidXRlIGlzIHJlY29tbWVuZGVkOiBlYWNoIHRhZyByZXZhbGlkYXRpb25cbiAgICogd3JpdGVzIGEgcmV2YWxpZGF0aW9uIGxvZyByb3cgdGhhdCBleHBpcmVzIHRocm91Z2ggaXQgYWZ0ZXIgMTUgbWludXRlcy5cbiAgICogV2l0aG91dCBUVEwgdGhvc2Ugcm93cyBhcmUga2VwdCB1bnRpbCBhIGRlcGxveSByZXBsYWNlcyB0aGVpciBidWlsZCwgd2hvc2VcbiAgICogcG9zdC1kZXBsb3kgc3RlcCBkZWxldGVzIHRoZW0uXG4gICAqXG4gICAqIFRoZSB0YWJsZSBtdXN0IGJlIGRlZGljYXRlZCB0byB0aGlzIG9uZSBkZXBsb3ltZW50LiBEb24ndCBzaGFyZSBpdCB3aXRoXG4gICAqIGFub3RoZXIgZGVwbG95bWVudCAoYW5vdGhlciBicmFuY2gsIHN0YWdlLCBvciBhcHApOiBldmVyeSBkZXBsb3knc1xuICAgKiBwb3N0LWRlcGxveSBzdGVwIGRlbGV0ZXMgdGhlIGVudHJpZXMgb2YgdGhlIGJ1aWxkIGl0IGxhc3QgcmVjb3JkZWQgaW4gdGhlXG4gICAqIHRhYmxlLCB3aGljaCB3aXRoIGEgc2hhcmVkIHRhYmxlIGlzIGFub3RoZXIgZGVwbG95bWVudCdzIGxpdmUgYnVpbGQuXG4gICAqIEBzdGFiaWxpdHkgc3RhYmxlXG4gICAqL1xuICByZWFkb25seSByZXZhbGlkYXRpb25UYWJsZT86IGF3c19keW5hbW9kYi5JVGFibGVWMjtcbiAgLyoqXG4gICAqIEJyaW5nIHlvdXIgb3duIFMzIGJ1Y2tldCBmb3IgY2FjaGUgc3RvcmFnZS4gV2hlbiBwcm92aWRlZCwgY2RrLW5leHRqcyB3aWxsIHNraXAgY3JlYXRpbmcgYSBuZXcgYnVja2V0LlxuICAgKiBUaGUgYnVja2V0IG11c3QgYmUgZGVkaWNhdGVkIHRvIHRoaXMgb25lIGRlcGxveW1lbnQuIERvbid0IHNoYXJlIGl0IHdpdGhcbiAgICogYW5vdGhlciBkZXBsb3ltZW50IChhbm90aGVyIGJyYW5jaCwgc3RhZ2UsIG9yIGFwcCk6IGV2ZXJ5IGRlcGxveSdzXG4gICAqIHBvc3QtZGVwbG95IHN0ZXAgZGVsZXRlcyBldmVyeSBvYmplY3QgdW5kZXIgYSB0b3AtbGV2ZWwgcHJlZml4IG90aGVyIHRoYW5cbiAgICogdGhlIGN1cnJlbnQgYGJ1aWxkSWQvYCwgd2hpY2ggaW5jbHVkZXMgZXZlcnkgb3RoZXIgZGVwbG95bWVudCdzIGNhY2hlLlxuICAgKiBAc3RhYmlsaXR5IHN0YWJsZVxuICAgKi9cbiAgcmVhZG9ubHkgY2FjaGVCdWNrZXQ/OiBhd3NfczMuSUJ1Y2tldDtcbiAgLyoqXG4gICAqIEFic29sdXRlIHBhdGggdG8gdGhlIGluaXQgY2FjaGUgZGlyZWN0b3J5LlxuICAgKiBAc3RhYmlsaXR5IHN0YWJsZVxuICAgKi9cbiAgcmVhZG9ubHkgaW5pdENhY2hlRGlyPzogc3RyaW5nO1xuICAvKipcbiAgICogQHN0YWJpbGl0eSBzdGFibGVcbiAgICovXG4gIHJlYWRvbmx5IGJ1aWxkSWQ/OiBzdHJpbmc7XG59XG4iXX0=
|
|
@@ -21,28 +21,47 @@ export interface OptionalNextjsContainersProps {
|
|
|
21
21
|
* @stability stable
|
|
22
22
|
*/
|
|
23
23
|
readonly alb?: aws_elasticloadbalancingv2.IApplicationLoadBalancer;
|
|
24
|
+
/**
|
|
25
|
+
* From the deployment root to the Next.js project dir, POSIX, `""` at the repo root.
|
|
26
|
+
* @stability stable
|
|
27
|
+
*/
|
|
28
|
+
readonly relativeProjectDir?: string;
|
|
24
29
|
/**
|
|
25
30
|
* @stability stable
|
|
26
31
|
*/
|
|
27
32
|
readonly relativeEntrypointPath?: string;
|
|
28
33
|
/**
|
|
29
|
-
*
|
|
34
|
+
* Path to an API Route Handler that returns HTTP 200, used by the ALB target group and the ECS container health check.
|
|
35
|
+
* Both hit the app directly, so this
|
|
36
|
+
* is the path including the app's `basePath` — the root constructs prefix their
|
|
37
|
+
* own `healthCheckPath` prop with it.
|
|
30
38
|
* @stability stable
|
|
31
39
|
*/
|
|
32
|
-
readonly
|
|
40
|
+
readonly healthCheckPath?: string;
|
|
33
41
|
/**
|
|
34
|
-
*
|
|
42
|
+
* Directory where the Next.js application is located: the Docker build context, holding the `.next` directory and other build artifacts.
|
|
35
43
|
* @stability stable
|
|
36
44
|
*/
|
|
37
|
-
readonly
|
|
45
|
+
readonly buildDirectory?: string;
|
|
38
46
|
/**
|
|
47
|
+
* Key prefix the assets were uploaded under, so the image optimizer can rebuild the same keys.
|
|
39
48
|
* @stability stable
|
|
40
49
|
*/
|
|
41
|
-
readonly
|
|
50
|
+
readonly staticAssetsKeyPrefix?: string;
|
|
42
51
|
/**
|
|
52
|
+
* S3 bucket holding `.next/static` and `public`. On every type but `NextjsRegionalContainers` the runtime reads it: its image optimizer fetches the bytes of every non-absolute `<Image>` from S3, since they are deliberately not in the deployment package, and so does a rewrite that lands on a `public/` file. `NextjsRegionalContainers` carries both in its image, so it gets neither the bucket's environment nor read access to it. Read access is scoped to `staticAssetsKeyPrefix`.
|
|
43
53
|
* @stability stable
|
|
44
54
|
*/
|
|
45
|
-
readonly
|
|
55
|
+
readonly staticAssetsBucket?: aws_s3.IBucket;
|
|
56
|
+
/**
|
|
57
|
+
* DynamoDB table for revalidation metadata.
|
|
58
|
+
* @stability stable
|
|
59
|
+
*/
|
|
60
|
+
readonly revalidationTable?: aws_dynamodb.ITableV2;
|
|
61
|
+
/**
|
|
62
|
+
* @stability stable
|
|
63
|
+
*/
|
|
64
|
+
readonly nextjsType?: NextjsType;
|
|
46
65
|
/**
|
|
47
66
|
* S3 bucket for cache storage.
|
|
48
67
|
* @stability stable
|
|
@@ -53,9 +72,4 @@ export interface OptionalNextjsContainersProps {
|
|
|
53
72
|
* @stability stable
|
|
54
73
|
*/
|
|
55
74
|
readonly buildId?: string;
|
|
56
|
-
/**
|
|
57
|
-
* Directory where the Next.js application is located. This should contain the .next directory and other build artifacts. Required for local builds.
|
|
58
|
-
* @stability stable
|
|
59
|
-
*/
|
|
60
|
-
readonly buildDirectory?: string;
|
|
61
75
|
}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiT3B0aW9uYWxOZXh0anNDb250YWluZXJzUHJvcHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZ2VuZXJhdGVkLXN0cnVjdHMvT3B0aW9uYWxOZXh0anNDb250YWluZXJzUHJvcHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbIi8vIH5+IEdlbmVyYXRlZCBieSBwcm9qZW4uIFRvIG1vZGlmeSwgZWRpdCAucHJvamVucmMudHMgYW5kIHJ1biBcInBucG0gZGx4IHByb2plblwiLlxuaW1wb3J0IHR5cGUgeyBhd3NfZHluYW1vZGIsIGF3c19lY3MsIGF3c19lbGFzdGljbG9hZGJhbGFuY2luZ3YyLCBhd3NfczMgfSBmcm9tICdhd3MtY2RrLWxpYic7XG5pbXBvcnQgdHlwZSB7IE5leHRqc1R5cGUgfSBmcm9tICcuLi8nO1xuXG4vKipcbiAqIE9wdGlvbmFsTmV4dGpzQ29udGFpbmVyc1Byb3BzXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgT3B0aW9uYWxOZXh0anNDb250YWluZXJzUHJvcHMge1xuICAvKipcbiAgICogQnJpbmcgeW91ciBvd24gRUNTIGNsdXN0ZXIuXG4gICAqIFdoZW4gcHJvdmlkZWQsIGNkay1uZXh0anMgd2lsbCBza2lwIGNyZWF0aW5nXG4gICAqIGEgbmV3IGNsdXN0ZXIgYW5kIFZQQyBnYXRld2F5IGVuZHBvaW50cy4gVGhlIGNsdXN0ZXIgaXMgcGFzc2VkIGRpcmVjdGx5XG4gICAqIHRvIGBBcHBsaWNhdGlvbkxvYWRCYWxhbmNlZEZhcmdhdGVTZXJ2aWNlYC5cbiAgICogQHN0YWJpbGl0eSBzdGFibGVcbiAgICovXG4gIHJlYWRvbmx5IGVjc0NsdXN0ZXI/OiBhd3NfZWNzLklDbHVzdGVyO1xuICAvKipcbiAgICogQnJpbmcgeW91ciBvd24gQXBwbGljYXRpb24gTG9hZCBCYWxhbmNlci5cbiAgICogV2hlbiBwcm92aWRlZCwgaXQgaXMgcGFzc2VkXG4gICAqIGRpcmVjdGx5IHRvIGBBcHBsaWNhdGlvbkxvYWRCYWxhbmNlZEZhcmdhdGVTZXJ2aWNlYC4gSWYgdGhlIEFMQiBhbHJlYWR5XG4gICAqIGhhcyBhIGxpc3RlbmVyIG9uIHBvcnQgODAsIGNhbGwgYHJlbW92ZUF1dG9DcmVhdGVkTGlzdGVuZXIoKWAgYWZ0ZXJcbiAgICogY29uc3RydWN0aW9uIHRvIGF2b2lkIGRlcGxveW1lbnQgZmFpbHVyZXMuXG4gICAqIEBzdGFiaWxpdHkgc3RhYmxlXG4gICAqL1xuICByZWFkb25seSBhbGI/
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiT3B0aW9uYWxOZXh0anNDb250YWluZXJzUHJvcHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZ2VuZXJhdGVkLXN0cnVjdHMvT3B0aW9uYWxOZXh0anNDb250YWluZXJzUHJvcHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbIi8vIH5+IEdlbmVyYXRlZCBieSBwcm9qZW4uIFRvIG1vZGlmeSwgZWRpdCAucHJvamVucmMudHMgYW5kIHJ1biBcInBucG0gZGx4IHByb2plblwiLlxuaW1wb3J0IHR5cGUgeyBhd3NfZHluYW1vZGIsIGF3c19lY3MsIGF3c19lbGFzdGljbG9hZGJhbGFuY2luZ3YyLCBhd3NfczMgfSBmcm9tICdhd3MtY2RrLWxpYic7XG5pbXBvcnQgdHlwZSB7IE5leHRqc1R5cGUgfSBmcm9tICcuLi8nO1xuXG4vKipcbiAqIE9wdGlvbmFsTmV4dGpzQ29udGFpbmVyc1Byb3BzXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgT3B0aW9uYWxOZXh0anNDb250YWluZXJzUHJvcHMge1xuICAvKipcbiAgICogQnJpbmcgeW91ciBvd24gRUNTIGNsdXN0ZXIuXG4gICAqIFdoZW4gcHJvdmlkZWQsIGNkay1uZXh0anMgd2lsbCBza2lwIGNyZWF0aW5nXG4gICAqIGEgbmV3IGNsdXN0ZXIgYW5kIFZQQyBnYXRld2F5IGVuZHBvaW50cy4gVGhlIGNsdXN0ZXIgaXMgcGFzc2VkIGRpcmVjdGx5XG4gICAqIHRvIGBBcHBsaWNhdGlvbkxvYWRCYWxhbmNlZEZhcmdhdGVTZXJ2aWNlYC5cbiAgICogQHN0YWJpbGl0eSBzdGFibGVcbiAgICovXG4gIHJlYWRvbmx5IGVjc0NsdXN0ZXI/OiBhd3NfZWNzLklDbHVzdGVyO1xuICAvKipcbiAgICogQnJpbmcgeW91ciBvd24gQXBwbGljYXRpb24gTG9hZCBCYWxhbmNlci5cbiAgICogV2hlbiBwcm92aWRlZCwgaXQgaXMgcGFzc2VkXG4gICAqIGRpcmVjdGx5IHRvIGBBcHBsaWNhdGlvbkxvYWRCYWxhbmNlZEZhcmdhdGVTZXJ2aWNlYC4gSWYgdGhlIEFMQiBhbHJlYWR5XG4gICAqIGhhcyBhIGxpc3RlbmVyIG9uIHBvcnQgODAsIGNhbGwgYHJlbW92ZUF1dG9DcmVhdGVkTGlzdGVuZXIoKWAgYWZ0ZXJcbiAgICogY29uc3RydWN0aW9uIHRvIGF2b2lkIGRlcGxveW1lbnQgZmFpbHVyZXMuXG4gICAqIEBzdGFiaWxpdHkgc3RhYmxlXG4gICAqL1xuICByZWFkb25seSBhbGI/OiBhd3NfZWxhc3RpY2xvYWRiYWxhbmNpbmd2Mi5JQXBwbGljYXRpb25Mb2FkQmFsYW5jZXI7XG4gIC8qKlxuICAgKiBGcm9tIHRoZSBkZXBsb3ltZW50IHJvb3QgdG8gdGhlIE5leHQuanMgcHJvamVjdCBkaXIsIFBPU0lYLCBgXCJcImAgYXQgdGhlIHJlcG8gcm9vdC5cbiAgICogQHN0YWJpbGl0eSBzdGFibGVcbiAgICovXG4gIHJlYWRvbmx5IHJlbGF0aXZlUHJvamVjdERpcj86IHN0cmluZztcbiAgLyoqXG4gICAqIEBzdGFiaWxpdHkgc3RhYmxlXG4gICAqL1xuICByZWFkb25seSByZWxhdGl2ZUVudHJ5cG9pbnRQYXRoPzogc3RyaW5nO1xuICAvKipcbiAgICogUGF0aCB0byBhbiBBUEkgUm91dGUgSGFuZGxlciB0aGF0IHJldHVybnMgSFRUUCAyMDAsIHVzZWQgYnkgdGhlIEFMQiB0YXJnZXQgZ3JvdXAgYW5kIHRoZSBFQ1MgY29udGFpbmVyIGhlYWx0aCBjaGVjay5cbiAgICogQm90aCBoaXQgdGhlIGFwcCBkaXJlY3RseSwgc28gdGhpc1xuICAgKiBpcyB0aGUgcGF0aCBpbmNsdWRpbmcgdGhlIGFwcCdzIGBiYXNlUGF0aGAg4oCUIHRoZSByb290IGNvbnN0cnVjdHMgcHJlZml4IHRoZWlyXG4gICAqIG93biBgaGVhbHRoQ2hlY2tQYXRoYCBwcm9wIHdpdGggaXQuXG4gICAqIEBzdGFiaWxpdHkgc3RhYmxlXG4gICAqL1xuICByZWFkb25seSBoZWFsdGhDaGVja1BhdGg/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBEaXJlY3Rvcnkgd2hlcmUgdGhlIE5leHQuanMgYXBwbGljYXRpb24gaXMgbG9jYXRlZDogdGhlIERvY2tlciBidWlsZCBjb250ZXh0LCBob2xkaW5nIHRoZSBgLm5leHRgIGRpcmVjdG9yeSBhbmQgb3RoZXIgYnVpbGQgYXJ0aWZhY3RzLlxuICAgKiBAc3RhYmlsaXR5IHN0YWJsZVxuICAgKi9cbiAgcmVhZG9ubHkgYnVpbGREaXJlY3Rvcnk/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBLZXkgcHJlZml4IHRoZSBhc3NldHMgd2VyZSB1cGxvYWRlZCB1bmRlciwgc28gdGhlIGltYWdlIG9wdGltaXplciBjYW4gcmVidWlsZCB0aGUgc2FtZSBrZXlzLlxuICAgKiBAc3RhYmlsaXR5IHN0YWJsZVxuICAgKi9cbiAgcmVhZG9ubHkgc3RhdGljQXNzZXRzS2V5UHJlZml4Pzogc3RyaW5nO1xuICAvKipcbiAgICogUzMgYnVja2V0IGhvbGRpbmcgYC5uZXh0L3N0YXRpY2AgYW5kIGBwdWJsaWNgLiBPbiBldmVyeSB0eXBlIGJ1dCBgTmV4dGpzUmVnaW9uYWxDb250YWluZXJzYCB0aGUgcnVudGltZSByZWFkcyBpdDogaXRzIGltYWdlIG9wdGltaXplciBmZXRjaGVzIHRoZSBieXRlcyBvZiBldmVyeSBub24tYWJzb2x1dGUgYDxJbWFnZT5gIGZyb20gUzMsIHNpbmNlIHRoZXkgYXJlIGRlbGliZXJhdGVseSBub3QgaW4gdGhlIGRlcGxveW1lbnQgcGFja2FnZSwgYW5kIHNvIGRvZXMgYSByZXdyaXRlIHRoYXQgbGFuZHMgb24gYSBgcHVibGljL2AgZmlsZS4gYE5leHRqc1JlZ2lvbmFsQ29udGFpbmVyc2AgY2FycmllcyBib3RoIGluIGl0cyBpbWFnZSwgc28gaXQgZ2V0cyBuZWl0aGVyIHRoZSBidWNrZXQncyBlbnZpcm9ubWVudCBub3IgcmVhZCBhY2Nlc3MgdG8gaXQuIFJlYWQgYWNjZXNzIGlzIHNjb3BlZCB0byBgc3RhdGljQXNzZXRzS2V5UHJlZml4YC5cbiAgICogQHN0YWJpbGl0eSBzdGFibGVcbiAgICovXG4gIHJlYWRvbmx5IHN0YXRpY0Fzc2V0c0J1Y2tldD86IGF3c19zMy5JQnVja2V0O1xuICAvKipcbiAgICogRHluYW1vREIgdGFibGUgZm9yIHJldmFsaWRhdGlvbiBtZXRhZGF0YS5cbiAgICogQHN0YWJpbGl0eSBzdGFibGVcbiAgICovXG4gIHJlYWRvbmx5IHJldmFsaWRhdGlvblRhYmxlPzogYXdzX2R5bmFtb2RiLklUYWJsZVYyO1xuICAvKipcbiAgICogQHN0YWJpbGl0eSBzdGFibGVcbiAgICovXG4gIHJlYWRvbmx5IG5leHRqc1R5cGU/OiBOZXh0anNUeXBlO1xuICAvKipcbiAgICogUzMgYnVja2V0IGZvciBjYWNoZSBzdG9yYWdlLlxuICAgKiBAc3RhYmlsaXR5IHN0YWJsZVxuICAgKi9cbiAgcmVhZG9ubHkgY2FjaGVCdWNrZXQ/OiBhd3NfczMuSUJ1Y2tldDtcbiAgLyoqXG4gICAqIEJ1aWxkIElEIGZvciBjYWNoZSBrZXkgcHJlZml4aW5nLlxuICAgKiBAc3RhYmlsaXR5IHN0YWJsZVxuICAgKi9cbiAgcmVhZG9ubHkgYnVpbGRJZD86IHN0cmluZztcbn1cbiJdfQ==
|
|
@@ -5,20 +5,22 @@ import type { NextjsType, PublicDirEntry } from '../';
|
|
|
5
5
|
*/
|
|
6
6
|
export interface OptionalNextjsDistributionProps {
|
|
7
7
|
/**
|
|
8
|
-
*
|
|
8
|
+
* The most cache behaviors the distribution may have, the default one included.
|
|
9
|
+
* cdk-nextjs counts what it adds against this at synth, so running
|
|
10
|
+
* out is a synth error naming what used them rather than a failed deploy.
|
|
11
|
+
*
|
|
12
|
+
* Raise it after raising the "Cache behaviors per distribution" quota for
|
|
13
|
+
* your account. Lower it by the behaviors a supplied {@link distribution}
|
|
14
|
+
* (or `overrides.distributionProps`) already has, which are not counted.
|
|
15
|
+
* @default 75 - CloudFront's default quota
|
|
9
16
|
* @stability stable
|
|
10
17
|
*/
|
|
11
|
-
readonly
|
|
18
|
+
readonly maxCacheBehaviors?: number;
|
|
12
19
|
/**
|
|
13
|
-
*
|
|
14
|
-
* Only applicable
|
|
15
|
-
* to `NextjsType.GLOBAL_FUNCTIONS`, and only when the dedicated image
|
|
16
|
-
* function is enabled. When omitted, the `_next/image*` behavior points at
|
|
17
|
-
* the dynamic origin, which serves image optimization from the Next.js
|
|
18
|
-
* server itself.
|
|
20
|
+
* Required if `NextjsType.GLOBAL_CONTAINERS` or `NextjsType.REGIONAL_CONTAINERS`.
|
|
19
21
|
* @stability stable
|
|
20
22
|
*/
|
|
21
|
-
readonly
|
|
23
|
+
readonly loadBalancer?: aws_elasticloadbalancingv2.IApplicationLoadBalancer;
|
|
22
24
|
/**
|
|
23
25
|
* Required if `NextjsType.GLOBAL_FUNCTIONS`.
|
|
24
26
|
* @stability stable
|
|
@@ -40,6 +42,26 @@ export interface OptionalNextjsDistributionProps {
|
|
|
40
42
|
* @stability stable
|
|
41
43
|
*/
|
|
42
44
|
readonly basePath?: string;
|
|
45
|
+
/**
|
|
46
|
+
* The app's own `assetPrefix`.
|
|
47
|
+
* Next.js emits `<assetPrefix>/_next/static/...`
|
|
48
|
+
* for every bundle while the objects stay at `<basePath>/_next/static/...` in
|
|
49
|
+
* S3, so the prefix's path gets a cache behavior of its own that rewrites it
|
|
50
|
+
* away.
|
|
51
|
+
*
|
|
52
|
+
* Either form is accepted: a path ("/cdn"), or an absolute URL, in which case
|
|
53
|
+
* only its path counts ("https://cdn.example.com/cdn" behaves as "/cdn", and
|
|
54
|
+
* "https://cdn.example.com" needs no behavior at all). An absolute prefix's path
|
|
55
|
+
* matters because `next build` compiles a `/cdn/_next/:path+` rewrite of its
|
|
56
|
+
* own, so `next start` serves every bundle under it — a CDN fronting this
|
|
57
|
+
* distribution there has to be answered too.
|
|
58
|
+
*
|
|
59
|
+
* Applied on top of `basePath`, not under it, because that is how Next.js
|
|
60
|
+
* builds the URL.
|
|
61
|
+
* @default - none; pass `NextjsBuild.nextConfigAssetPrefixPath`
|
|
62
|
+
* @stability stable
|
|
63
|
+
*/
|
|
64
|
+
readonly assetPrefix?: string;
|
|
43
65
|
/**
|
|
44
66
|
* Entries (files/directories) within Next.js app's public directory. Used to add static behaviors to distribution.
|
|
45
67
|
* @stability stable
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiT3B0aW9uYWxOZXh0anNEaXN0cmlidXRpb25Qcm9wcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9nZW5lcmF0ZWQtc3RydWN0cy9PcHRpb25hbE5leHRqc0Rpc3RyaWJ1dGlvblByb3BzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyIvLyB+
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiT3B0aW9uYWxOZXh0anNEaXN0cmlidXRpb25Qcm9wcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9nZW5lcmF0ZWQtc3RydWN0cy9PcHRpb25hbE5leHRqc0Rpc3RyaWJ1dGlvblByb3BzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyIvLyB+fiBHZW5lcmF0ZWQgYnkgcHJvamVuLiBUbyBtb2RpZnksIGVkaXQgLnByb2plbnJjLnRzIGFuZCBydW4gXCJwbnBtIGRseCBwcm9qZW5cIi5cbmltcG9ydCB0eXBlIHsgYXdzX2NlcnRpZmljYXRlbWFuYWdlciwgYXdzX2Nsb3VkZnJvbnQsIGF3c19lbGFzdGljbG9hZGJhbGFuY2luZ3YyLCBhd3NfbGFtYmRhLCBhd3NfczMgfSBmcm9tICdhd3MtY2RrLWxpYic7XG5pbXBvcnQgdHlwZSB7IE5leHRqc1R5cGUsIFB1YmxpY0RpckVudHJ5IH0gZnJvbSAnLi4vJztcblxuLyoqXG4gKiBPcHRpb25hbE5leHRqc0Rpc3RyaWJ1dGlvblByb3BzXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgT3B0aW9uYWxOZXh0anNEaXN0cmlidXRpb25Qcm9wcyB7XG4gIC8qKlxuICAgKiBUaGUgbW9zdCBjYWNoZSBiZWhhdmlvcnMgdGhlIGRpc3RyaWJ1dGlvbiBtYXkgaGF2ZSwgdGhlIGRlZmF1bHQgb25lIGluY2x1ZGVkLlxuICAgKiBjZGstbmV4dGpzIGNvdW50cyB3aGF0IGl0IGFkZHMgYWdhaW5zdCB0aGlzIGF0IHN5bnRoLCBzbyBydW5uaW5nXG4gICAqIG91dCBpcyBhIHN5bnRoIGVycm9yIG5hbWluZyB3aGF0IHVzZWQgdGhlbSByYXRoZXIgdGhhbiBhIGZhaWxlZCBkZXBsb3kuXG4gICAqXG4gICAqIFJhaXNlIGl0IGFmdGVyIHJhaXNpbmcgdGhlIFwiQ2FjaGUgYmVoYXZpb3JzIHBlciBkaXN0cmlidXRpb25cIiBxdW90YSBmb3JcbiAgICogeW91ciBhY2NvdW50LiBMb3dlciBpdCBieSB0aGUgYmVoYXZpb3JzIGEgc3VwcGxpZWQge0BsaW5rIGRpc3RyaWJ1dGlvbn1cbiAgICogKG9yIGBvdmVycmlkZXMuZGlzdHJpYnV0aW9uUHJvcHNgKSBhbHJlYWR5IGhhcywgd2hpY2ggYXJlIG5vdCBjb3VudGVkLlxuICAgKiBAZGVmYXVsdCA3NSAtIENsb3VkRnJvbnQncyBkZWZhdWx0IHF1b3RhXG4gICAqIEBzdGFiaWxpdHkgc3RhYmxlXG4gICAqL1xuICByZWFkb25seSBtYXhDYWNoZUJlaGF2aW9ycz86IG51bWJlcjtcbiAgLyoqXG4gICAqIFJlcXVpcmVkIGlmIGBOZXh0anNUeXBlLkdMT0JBTF9DT05UQUlORVJTYCBvciBgTmV4dGpzVHlwZS5SRUdJT05BTF9DT05UQUlORVJTYC5cbiAgICogQHN0YWJpbGl0eSBzdGFibGVcbiAgICovXG4gIHJlYWRvbmx5IGxvYWRCYWxhbmNlcj86IGF3c19lbGFzdGljbG9hZGJhbGFuY2luZ3YyLklBcHBsaWNhdGlvbkxvYWRCYWxhbmNlcjtcbiAgLyoqXG4gICAqIFJlcXVpcmVkIGlmIGBOZXh0anNUeXBlLkdMT0JBTF9GVU5DVElPTlNgLlxuICAgKiBAc3RhYmlsaXR5IHN0YWJsZVxuICAgKi9cbiAgcmVhZG9ubHkgZnVuY3Rpb25Vcmw/OiBhd3NfbGFtYmRhLklGdW5jdGlvblVybDtcbiAgLyoqXG4gICAqIEBzdGFiaWxpdHkgc3RhYmxlXG4gICAqL1xuICByZWFkb25seSBkaXN0cmlidXRpb24/OiBhd3NfY2xvdWRmcm9udC5EaXN0cmlidXRpb247XG4gIC8qKlxuICAgKiBPcHRpb25hbCBidXQgb25seSBhcHBsaWNhYmxlIGZvciBgTmV4dGpzVHlwZS5HTE9CQUxfQ09OVEFJTkVSU2AuXG4gICAqIEBzdGFiaWxpdHkgc3RhYmxlXG4gICAqL1xuICByZWFkb25seSBjZXJ0aWZpY2F0ZT86IGF3c19jZXJ0aWZpY2F0ZW1hbmFnZXIuSUNlcnRpZmljYXRlO1xuICAvKipcbiAgICogVVJJIHBhdGggcHJlZml4IHRoZSBhcHAgaXMgc2VydmVkIGF0LlxuICAgKiBTdXJyb3VuZGluZyBzbGFzaGVzIGFyZSBub3JtYWxpemVkXG4gICAqIGF3YXksIHNvIFwiL2Jhc2VcIiwgXCJiYXNlXCIgYW5kIFwiL2Jhc2UvXCIgYWxsIHByb2R1Y2UgdGhlIHNhbWUgY2FjaGUgYmVoYXZpb3JzLlxuICAgKiBAc3RhYmlsaXR5IHN0YWJsZVxuICAgKi9cbiAgcmVhZG9ubHkgYmFzZVBhdGg/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBUaGUgYXBwJ3Mgb3duIGBhc3NldFByZWZpeGAuXG4gICAqIE5leHQuanMgZW1pdHMgYDxhc3NldFByZWZpeD4vX25leHQvc3RhdGljLy4uLmBcbiAgICogZm9yIGV2ZXJ5IGJ1bmRsZSB3aGlsZSB0aGUgb2JqZWN0cyBzdGF5IGF0IGA8YmFzZVBhdGg+L19uZXh0L3N0YXRpYy8uLi5gIGluXG4gICAqIFMzLCBzbyB0aGUgcHJlZml4J3MgcGF0aCBnZXRzIGEgY2FjaGUgYmVoYXZpb3Igb2YgaXRzIG93biB0aGF0IHJld3JpdGVzIGl0XG4gICAqIGF3YXkuXG4gICAqXG4gICAqIEVpdGhlciBmb3JtIGlzIGFjY2VwdGVkOiBhIHBhdGggKFwiL2NkblwiKSwgb3IgYW4gYWJzb2x1dGUgVVJMLCBpbiB3aGljaCBjYXNlXG4gICAqIG9ubHkgaXRzIHBhdGggY291bnRzIChcImh0dHBzOi8vY2RuLmV4YW1wbGUuY29tL2NkblwiIGJlaGF2ZXMgYXMgXCIvY2RuXCIsIGFuZFxuICAgKiBcImh0dHBzOi8vY2RuLmV4YW1wbGUuY29tXCIgbmVlZHMgbm8gYmVoYXZpb3IgYXQgYWxsKS4gQW4gYWJzb2x1dGUgcHJlZml4J3MgcGF0aFxuICAgKiBtYXR0ZXJzIGJlY2F1c2UgYG5leHQgYnVpbGRgIGNvbXBpbGVzIGEgYC9jZG4vX25leHQvOnBhdGgrYCByZXdyaXRlIG9mIGl0c1xuICAgKiBvd24sIHNvIGBuZXh0IHN0YXJ0YCBzZXJ2ZXMgZXZlcnkgYnVuZGxlIHVuZGVyIGl0IOKAlCBhIENETiBmcm9udGluZyB0aGlzXG4gICAqIGRpc3RyaWJ1dGlvbiB0aGVyZSBoYXMgdG8gYmUgYW5zd2VyZWQgdG9vLlxuICAgKlxuICAgKiBBcHBsaWVkIG9uIHRvcCBvZiBgYmFzZVBhdGhgLCBub3QgdW5kZXIgaXQsIGJlY2F1c2UgdGhhdCBpcyBob3cgTmV4dC5qc1xuICAgKiBidWlsZHMgdGhlIFVSTC5cbiAgICogQGRlZmF1bHQgLSBub25lOyBwYXNzIGBOZXh0anNCdWlsZC5uZXh0Q29uZmlnQXNzZXRQcmVmaXhQYXRoYFxuICAgKiBAc3RhYmlsaXR5IHN0YWJsZVxuICAgKi9cbiAgcmVhZG9ubHkgYXNzZXRQcmVmaXg/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBFbnRyaWVzIChmaWxlcy9kaXJlY3Rvcmllcykgd2l0aGluIE5leHQuanMgYXBwJ3MgcHVibGljIGRpcmVjdG9yeS4gVXNlZCB0byBhZGQgc3RhdGljIGJlaGF2aW9ycyB0byBkaXN0cmlidXRpb24uXG4gICAqIEBzdGFiaWxpdHkgc3RhYmxlXG4gICAqL1xuICByZWFkb25seSBwdWJsaWNEaXJFbnRyaWVzPzogQXJyYXk8UHVibGljRGlyRW50cnk+O1xuICAvKipcbiAgICogQHN0YWJpbGl0eSBzdGFibGVcbiAgICovXG4gIHJlYWRvbmx5IG5leHRqc1R5cGU/OiBOZXh0anNUeXBlO1xuICAvKipcbiAgICogQnVja2V0IGNvbnRhaW5pbmcgc3RhdGljIGFzc2V0cy5cbiAgICogTXVzdCBiZSBwcm92aWRlZCBpZiB5b3Ugd2FudCB0byBzZXJ2ZSBzdGF0aWMgZmlsZXMuXG4gICAqIEBzdGFiaWxpdHkgc3RhYmxlXG4gICAqL1xuICByZWFkb25seSBhc3NldHNCdWNrZXQ/OiBhd3NfczMuSUJ1Y2tldDtcbn1cbiJdfQ==
|
|
@@ -34,6 +34,14 @@ export interface OptionalNextjsPostDeployProps {
|
|
|
34
34
|
* @stability stable
|
|
35
35
|
*/
|
|
36
36
|
readonly cacheBucket?: aws_s3.IBucket;
|
|
37
|
+
/**
|
|
38
|
+
* The app's `basePath`.
|
|
39
|
+
* Scopes the deploy's CloudFront invalidation to the
|
|
40
|
+
* app's URIs, so a deploy doesn't flush other apps on the same distribution.
|
|
41
|
+
* @default - the whole distribution (`/*`)
|
|
42
|
+
* @stability stable
|
|
43
|
+
*/
|
|
44
|
+
readonly basePath?: string;
|
|
37
45
|
/**
|
|
38
46
|
* @stability stable
|
|
39
47
|
*/
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiT3B0aW9uYWxOZXh0anNQb3N0RGVwbG95UHJvcHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZ2VuZXJhdGVkLXN0cnVjdHMvT3B0aW9uYWxOZXh0anNQb3N0RGVwbG95UHJvcHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbIi8vIH5+IEdlbmVyYXRlZCBieSBwcm9qZW4uIFRvIG1vZGlmeSwgZWRpdCAucHJvamVucmMudHMgYW5kIHJ1biBcInBucG0gZGx4IHByb2plblwiLlxuaW1wb3J0IHR5cGUgeyBhd3NfY2xvdWRmcm9udCwgYXdzX2R5bmFtb2RiLCBhd3NfczMgfSBmcm9tICdhd3MtY2RrLWxpYic7XG5cbi8qKlxuICogT3B0aW9uYWxOZXh0anNQb3N0RGVwbG95UHJvcHNcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBPcHRpb25hbE5leHRqc1Bvc3REZXBsb3lQcm9wcyB7XG4gIC8qKlxuICAgKiBTMyBrZXkgcHJlZml4IHRoZSBzdGF0aWMgYXNzZXRzIHdlcmUgdXBsb2FkZWQgdW5kZXIgKGBOZXh0anNTdGF0aWNBc3NldHMua2V5UHJlZml4YCkuIFNjb3BlcyBwcnVuaW5nIHRvIHRoaXMgYXBwJ3Mgb2JqZWN0cywgc28gdGhhdCBhcHBzIG9yIGJyYW5jaGVzIHNoYXJpbmcgb25lIGJ1Y2tldCB1bmRlciBkaWZmZXJlbnQgYGJhc2VQYXRoYHMgZG9uJ3QgcHJ1bmUgZWFjaCBvdGhlcidzIGFzc2V0cy5cbiAgICogQHN0YWJpbGl0eSBzdGFibGVcbiAgICovXG4gIHJlYWRvbmx5IHN0YXRpY0Fzc2V0c0tleVByZWZpeD86IHN0cmluZztcbiAgLyoqXG4gICAqIFJlcXVpcmVkIGZvciBgTmV4dGpzVHlwZS5HbG9iYWxGdW5jdGlvbnNgIGFuZCBgTmV4dGpzVHlwZS5HbG9iYWxDb250YWluZXJzYC5cbiAgICogQHN0YWJpbGl0eSBzdGFibGVcbiAgICovXG4gIHJlYWRvbmx5IHN0YXRpY0Fzc2V0c0J1Y2tldD86IGF3c19zMy5JQnVja2V0O1xuICAvKipcbiAgICogRHluYW1vREIgdGFibGUgZm9yIGNsZWFuaW5nIHVwIG9sZCBCVUlMRF9JRCBwcmVmaXhlZCByZXZhbGlkYXRpb24gZW50cmllcy5cbiAgICogQHN0YWJpbGl0eSBzdGFibGVcbiAgICovXG4gIHJlYWRvbmx5IHJldmFsaWRhdGlvblRhYmxlPzogYXdzX2R5bmFtb2RiLklUYWJsZVYyO1xuICAvKipcbiAgICogQ2xvdWRGcm9udCBEaXN0cmlidXRpb24gdG8gaW52YWxpZGF0ZS5cbiAgICogQHN0YWJpbGl0eSBzdGFibGVcbiAgICovXG4gIHJlYWRvbmx5IGRpc3RyaWJ1dGlvbj86IGF3c19jbG91ZGZyb250LklEaXN0cmlidXRpb247XG4gIC8qKlxuICAgKiBJZiB0cnVlLCBsb2dzIGRldGFpbHMgaW4gY3VzdG9tIHJlc291cmNlIGxhbWJkYS5cbiAgICogQGRlZmF1bHQgdHJ1ZVxuICAgKiBAc3RhYmlsaXR5IHN0YWJsZVxuICAgKi9cbiAgcmVhZG9ubHkgZGVidWc/
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiT3B0aW9uYWxOZXh0anNQb3N0RGVwbG95UHJvcHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZ2VuZXJhdGVkLXN0cnVjdHMvT3B0aW9uYWxOZXh0anNQb3N0RGVwbG95UHJvcHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbIi8vIH5+IEdlbmVyYXRlZCBieSBwcm9qZW4uIFRvIG1vZGlmeSwgZWRpdCAucHJvamVucmMudHMgYW5kIHJ1biBcInBucG0gZGx4IHByb2plblwiLlxuaW1wb3J0IHR5cGUgeyBhd3NfY2xvdWRmcm9udCwgYXdzX2R5bmFtb2RiLCBhd3NfczMgfSBmcm9tICdhd3MtY2RrLWxpYic7XG5cbi8qKlxuICogT3B0aW9uYWxOZXh0anNQb3N0RGVwbG95UHJvcHNcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBPcHRpb25hbE5leHRqc1Bvc3REZXBsb3lQcm9wcyB7XG4gIC8qKlxuICAgKiBTMyBrZXkgcHJlZml4IHRoZSBzdGF0aWMgYXNzZXRzIHdlcmUgdXBsb2FkZWQgdW5kZXIgKGBOZXh0anNTdGF0aWNBc3NldHMua2V5UHJlZml4YCkuIFNjb3BlcyBwcnVuaW5nIHRvIHRoaXMgYXBwJ3Mgb2JqZWN0cywgc28gdGhhdCBhcHBzIG9yIGJyYW5jaGVzIHNoYXJpbmcgb25lIGJ1Y2tldCB1bmRlciBkaWZmZXJlbnQgYGJhc2VQYXRoYHMgZG9uJ3QgcHJ1bmUgZWFjaCBvdGhlcidzIGFzc2V0cy5cbiAgICogQHN0YWJpbGl0eSBzdGFibGVcbiAgICovXG4gIHJlYWRvbmx5IHN0YXRpY0Fzc2V0c0tleVByZWZpeD86IHN0cmluZztcbiAgLyoqXG4gICAqIFJlcXVpcmVkIGZvciBgTmV4dGpzVHlwZS5HbG9iYWxGdW5jdGlvbnNgIGFuZCBgTmV4dGpzVHlwZS5HbG9iYWxDb250YWluZXJzYC5cbiAgICogQHN0YWJpbGl0eSBzdGFibGVcbiAgICovXG4gIHJlYWRvbmx5IHN0YXRpY0Fzc2V0c0J1Y2tldD86IGF3c19zMy5JQnVja2V0O1xuICAvKipcbiAgICogRHluYW1vREIgdGFibGUgZm9yIGNsZWFuaW5nIHVwIG9sZCBCVUlMRF9JRCBwcmVmaXhlZCByZXZhbGlkYXRpb24gZW50cmllcy5cbiAgICogQHN0YWJpbGl0eSBzdGFibGVcbiAgICovXG4gIHJlYWRvbmx5IHJldmFsaWRhdGlvblRhYmxlPzogYXdzX2R5bmFtb2RiLklUYWJsZVYyO1xuICAvKipcbiAgICogQ2xvdWRGcm9udCBEaXN0cmlidXRpb24gdG8gaW52YWxpZGF0ZS5cbiAgICogQHN0YWJpbGl0eSBzdGFibGVcbiAgICovXG4gIHJlYWRvbmx5IGRpc3RyaWJ1dGlvbj86IGF3c19jbG91ZGZyb250LklEaXN0cmlidXRpb247XG4gIC8qKlxuICAgKiBJZiB0cnVlLCBsb2dzIGRldGFpbHMgaW4gY3VzdG9tIHJlc291cmNlIGxhbWJkYS5cbiAgICogQGRlZmF1bHQgdHJ1ZVxuICAgKiBAc3RhYmlsaXR5IHN0YWJsZVxuICAgKi9cbiAgcmVhZG9ubHkgZGVidWc/OiBib29sZWFuO1xuICAvKipcbiAgICogQ2FjaGUgYnVja2V0IGZvciBjbGVhbmluZyB1cCBvbGQgQlVJTERfSUQgcHJlZml4ZWQgb2JqZWN0cy5cbiAgICogQHN0YWJpbGl0eSBzdGFibGVcbiAgICovXG4gIHJlYWRvbmx5IGNhY2hlQnVja2V0PzogYXdzX3MzLklCdWNrZXQ7XG4gIC8qKlxuICAgKiBUaGUgYXBwJ3MgYGJhc2VQYXRoYC5cbiAgICogU2NvcGVzIHRoZSBkZXBsb3kncyBDbG91ZEZyb250IGludmFsaWRhdGlvbiB0byB0aGVcbiAgICogYXBwJ3MgVVJJcywgc28gYSBkZXBsb3kgZG9lc24ndCBmbHVzaCBvdGhlciBhcHBzIG9uIHRoZSBzYW1lIGRpc3RyaWJ1dGlvbi5cbiAgICogQGRlZmF1bHQgLSB0aGUgd2hvbGUgZGlzdHJpYnV0aW9uIChgLypgKVxuICAgKiBAc3RhYmlsaXR5IHN0YWJsZVxuICAgKi9cbiAgcmVhZG9ubHkgYmFzZVBhdGg/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBAc3RhYmlsaXR5IHN0YWJsZVxuICAgKi9cbiAgcmVhZG9ubHkgYnVpbGRJZD86IHN0cmluZztcbn1cbiJdfQ==
|
|
@@ -4,8 +4,10 @@
|
|
|
4
4
|
export interface OptionalPostDeployCustomResourceProperties {
|
|
5
5
|
/**
|
|
6
6
|
* S3 key prefix to scope static asset pruning to.
|
|
7
|
-
*
|
|
8
|
-
*
|
|
7
|
+
* Only `<prefix>/_next/` is
|
|
8
|
+
* pruned, where every build-hashed asset lives, so `public/` files and other
|
|
9
|
+
* apps' prefixes are never touched. Empty or absent prunes `_next/` at the
|
|
10
|
+
* bucket root.
|
|
9
11
|
* @stability stable
|
|
10
12
|
*/
|
|
11
13
|
readonly staticAssetsKeyPrefix?: string;
|
|
@@ -24,8 +26,8 @@ export interface OptionalPostDeployCustomResourceProperties {
|
|
|
24
26
|
invalidationBatch: {
|
|
25
27
|
callerReference: new Date().toISOString(),
|
|
26
28
|
paths: {
|
|
27
|
-
quantity:
|
|
28
|
-
items:
|
|
29
|
+
quantity: paths.length,
|
|
30
|
+
items: paths, // wholeAppInvalidationPaths(basePath)
|
|
29
31
|
},
|
|
30
32
|
},
|
|
31
33
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
// ~~ Generated by projen. To modify, edit .projenrc.ts and run "pnpm dlx projen".
|
|
3
3
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
4
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiT3B0aW9uYWxQb3N0RGVwbG95Q3VzdG9tUmVzb3VyY2VQcm9wZXJ0aWVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2dlbmVyYXRlZC1zdHJ1Y3RzL09wdGlvbmFsUG9zdERlcGxveUN1c3RvbVJlc291cmNlUHJvcGVydGllcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsa0ZBQWtGIiwic291cmNlc0NvbnRlbnQiOlsiLy8gfn4gR2VuZXJhdGVkIGJ5IHByb2plbi4gVG8gbW9kaWZ5LCBlZGl0IC5wcm9qZW5yYy50cyBhbmQgcnVuIFwicG5wbSBkbHggcHJvamVuXCIuXG5cbi8qKlxuICogT3B0aW9uYWxQb3N0RGVwbG95Q3VzdG9tUmVzb3VyY2VQcm9wZXJ0aWVzXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgT3B0aW9uYWxQb3N0RGVwbG95Q3VzdG9tUmVzb3VyY2VQcm9wZXJ0aWVzIHtcbiAgLyoqXG4gICAqIFMzIGtleSBwcmVmaXggdG8gc2NvcGUgc3RhdGljIGFzc2V0IHBydW5pbmcgdG8uXG4gICAqIE9ubHkgYDxwcmVmaXg+L19uZXh0L2AgaXNcbiAgICogcHJ1bmVkLCB3aGVyZSBldmVyeSBidWlsZC1oYXNoZWQgYXNzZXQgbGl2ZXMsIHNvIGBwdWJsaWMvYCBmaWxlcyBhbmQgb3RoZXJcbiAgICogYXBwcycgcHJlZml4ZXMgYXJlIG5ldmVyIHRvdWNoZWQuIEVtcHR5IG9yIGFic2VudCBwcnVuZXMgYF9uZXh0L2AgYXQgdGhlXG4gICAqIGJ1Y2tldCByb290LlxuICAgKiBAc3RhYmlsaXR5IHN0YWJsZVxuICAgKi9cbiAgcmVhZG9ubHkgc3RhdGljQXNzZXRzS2V5UHJlZml4Pzogc3RyaW5nO1xuICAvKipcbiAgICogQHN0YWJpbGl0eSBzdGFibGVcbiAgICovXG4gIHJlYWRvbmx5IHN0YXRpY0Fzc2V0c0J1Y2tldE5hbWU/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBEeW5hbW9EQiByZXZhbGlkYXRpb24gdGFibGUgbmFtZSBmb3IgY2xlYW5pbmcgdXAgb2xkIEJVSUxEX0lEIHByZWZpeGVkIGVudHJpZXMuXG4gICAqIEBzdGFiaWxpdHkgc3RhYmxlXG4gICAqL1xuICByZWFkb25seSByZXZhbGlkYXRpb25UYWJsZU5hbWU/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBAZGVmYXVsdCB7XG4gICBkaXN0cmlidXRpb25JZDogdGhpcy5wcm9wcy5kaXN0cmlidXRpb24/LmRpc3RyaWJ1dGlvbklkLFxuICAgaW52YWxpZGF0aW9uQmF0Y2g6IHtcbiAgICAgY2FsbGVyUmVmZXJlbmNlOiBuZXcgRGF0ZSgpLnRvSVNPU3RyaW5nKCksXG4gICAgIHBhdGhzOiB7XG4gICAgICAgcXVhbnRpdHk6IHBhdGhzLmxlbmd0aCxcbiAgICAgICBpdGVtczogcGF0aHMsIC8vIHdob2xlQXBwSW52YWxpZGF0aW9uUGF0aHMoYmFzZVBhdGgpXG4gICAgIH0sXG4gICB9LFxuIH1cbiAgICogQHN0YWJpbGl0eSBzdGFibGVcbiAgICovXG4gIHJlYWRvbmx5IGNyZWF0ZUludmFsaWRhdGlvbkNvbW1hbmRJbnB1dD86IFJlY29yZDxzdHJpbmcsIGFueT47XG4gIC8qKlxuICAgKiBDYWNoZSBidWNrZXQgbmFtZSBmb3IgY2xlYW5pbmcgdXAgb2xkIEJVSUxEX0lEIHByZWZpeGVkIG9iamVjdHMuXG4gICAqIEBzdGFiaWxpdHkgc3RhYmxlXG4gICAqL1xuICByZWFkb25seSBjYWNoZUJ1Y2tldE5hbWU/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBUaW1lIHRvIGxpdmUgaW4gbWlsbGlzZWNvbmRzLlxuICAgKiBNdXN0IGJlIHN0cmluZyBiZWNhdXNlIG9mIENsb3VkRm9ybWF0aW9uIEN1c3RvbSBSZXNvdXJjZSBsaW1pdGF0aW9uXG4gICAqIEBkZWZhdWx0ICgxMDAwICogNjAgKiA2MCAqIDI0ICogMzApLnRvU3RyaW5nKClcbiAgICogQHN0YWJpbGl0eSBzdGFibGVcbiAgICovXG4gIHJlYWRvbmx5IG1zVHRsPzogc3RyaW5nO1xuICAvKipcbiAgICogQnVpbGQgSUQgb2YgY3VycmVudCBkZXBsb3ltZW50LlxuICAgKiBVc2VkIHRvIHBydW5lIGNhY2hlIGJ1Y2tldCBvZiBvYmplY3RzXG4gICAqIHdpdGggb2xkIGJ1aWxkIGlkcywgcHJ1bmUgRHluYW1vREIgcmV2YWxpZGF0aW9uIGVudHJpZXMgd2l0aCBvbGQgYnVpbGQgaWRzLFxuICAgKiBhbmQgcHJ1bmUgUzMgc3RhdGljIGFzc2V0cyBiYXNlZCBvbiBtZXRhZGF0YSBhbmQgYG1zVHRsYFxuICAgKiBAc3RhYmlsaXR5IHN0YWJsZVxuICAgKi9cbiAgcmVhZG9ubHkgYnVpbGRJZD86IHN0cmluZztcbn1cbiJdfQ==
|
package/lib/index.d.ts
CHANGED
|
@@ -1,12 +1,11 @@
|
|
|
1
1
|
export { NextjsType } from "./constants";
|
|
2
|
-
export { NextjsApi, NextjsApiProps, NextjsApiOverrides } from "./nextjs-api";
|
|
3
|
-
export { NextjsBaseConstructOverrides,
|
|
4
|
-
export { NextjsBuild, NextjsBuildProps, PublicDirEntry, } from "./nextjs-build/nextjs-build";
|
|
2
|
+
export { NextjsApi, NextjsApiProps, NextjsApiOverrides, NextjsApiFunctionGroup, } from "./nextjs-api";
|
|
3
|
+
export { NextjsBaseConstructOverrides, NextjsBaseOverrides, NextjsBaseConstruct, NextjsBaseProps, NextjsBaseConstructProps, } from "./root-constructs/nextjs-base-construct";
|
|
4
|
+
export { NextjsBuild, NextjsBuildProps, NextjsDeploymentRoot, NextjsFunctionGroupBehavior, NextjsFunctionGroupRoutes, PublicDirEntry, } from "./nextjs-build/nextjs-build";
|
|
5
5
|
export { NextjsComputeBaseProps } from "./nextjs-compute/nextjs-compute-base-props";
|
|
6
6
|
export { NextjsContainers, NextjsContainersOverrides, NextjsContainersProps, } from "./nextjs-compute/nextjs-containers";
|
|
7
|
-
export { NextjsDistribution, NextjsDistributionOverrides, NextjsDistributionProps, } from "./nextjs-distribution";
|
|
8
|
-
export { NextjsFunctions, NextjsFunctionsOverrides, NextjsFunctionsProps, } from "./nextjs-compute/nextjs-functions";
|
|
9
|
-
export { NextjsImageFunction, NextjsImageFunctionOverrides, NextjsImageFunctionProps, } from "./nextjs-compute/nextjs-image-function";
|
|
7
|
+
export { NextjsDistribution, NextjsDistributionFunctionGroup, NextjsDistributionOverrides, NextjsDistributionProps, } from "./nextjs-distribution";
|
|
8
|
+
export { NextjsFunctionGroup, NextjsFunctionGroupResources, NextjsFunctions, NextjsFunctionsOverrides, NextjsFunctionsProps, } from "./nextjs-compute/nextjs-functions";
|
|
10
9
|
export { NextjsCache, NextjsCacheOverrides, NextjsCacheProps, } from "./nextjs-cache";
|
|
11
10
|
export { NextjsGlobalContainers, NextjsGlobalContainersConstructOverrides, NextjsGlobalContainersOverrides, NextjsGlobalContainersProps, } from "./root-constructs/nextjs-global-containers";
|
|
12
11
|
export { NextjsGlobalFunctions, NextjsGlobalFunctionsConstructOverrides, NextjsGlobalFunctionsOverrides, NextjsGlobalFunctionsProps, } from "./root-constructs/nextjs-global-functions";
|
|
@@ -14,6 +13,7 @@ export { NextjsRegionalContainers, NextjsRegionalContainersConstructOverrides, N
|
|
|
14
13
|
export { NextjsRegionalFunctions, NextjsRegionalFunctionsConstructOverrides, NextjsRegionalFunctionsOverrides, NextjsRegionalFunctionsProps, } from "./root-constructs/nextjs-regional-functions";
|
|
15
14
|
export { NextjsPostDeploy, NextjsPostDeployOverrides, NextjsPostDeployProps, PostDeployCustomResourceProperties, } from "./nextjs-post-deploy";
|
|
16
15
|
export { NextjsStaticAssets, NextjsStaticAssetsOverrides, NextjsStaticAssetsProps, } from "./nextjs-static-assets";
|
|
16
|
+
export { OptionalNextjsApiProps } from "./generated-structs/OptionalNextjsApiProps";
|
|
17
17
|
export { OptionalNextjsBuildProps } from "./generated-structs/OptionalNextjsBuildProps";
|
|
18
18
|
export { OptionalNextjsContainersProps } from "./generated-structs/OptionalNextjsContainersProps";
|
|
19
19
|
export { OptionalNextjsDistributionProps } from "./generated-structs/OptionalNextjsDistributionProps";
|
|
@@ -23,7 +23,6 @@ export { OptionalCloudFrontFunctionProps } from "./generated-structs/OptionalClo
|
|
|
23
23
|
export { OptionalClusterProps } from "./generated-structs/OptionalClusterProps";
|
|
24
24
|
export { OptionalDistributionProps } from "./generated-structs/OptionalDistributionProps";
|
|
25
25
|
export { OptionalDockerImageAssetProps } from "./generated-structs/OptionalDockerImageAssetProps";
|
|
26
|
-
export { OptionalDockerImageFunctionProps } from "./generated-structs/OptionalDockerImageFunctionProps";
|
|
27
26
|
export { OptionalEdgeFunctionProps } from "./generated-structs/OptionalEdgeFunctionProps";
|
|
28
27
|
export { OptionalFunctionProps } from "./generated-structs/OptionalFunctionProps";
|
|
29
28
|
export { OptionalFunctionUrlProps } from "./generated-structs/OptionalFunctionUrlProps";
|
package/lib/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.NextjsStaticAssets = exports.NextjsPostDeploy = exports.NextjsRegionalFunctions = exports.NextjsRegionalContainers = exports.NextjsGlobalFunctions = exports.NextjsGlobalContainers = exports.NextjsCache = exports.
|
|
3
|
+
exports.NextjsStaticAssets = exports.NextjsPostDeploy = exports.NextjsRegionalFunctions = exports.NextjsRegionalContainers = exports.NextjsGlobalFunctions = exports.NextjsGlobalContainers = exports.NextjsCache = exports.NextjsFunctions = exports.NextjsDistribution = exports.NextjsContainers = exports.NextjsBuild = exports.NextjsBaseConstruct = exports.NextjsApi = exports.NextjsType = void 0;
|
|
4
4
|
var constants_1 = require("./constants");
|
|
5
5
|
Object.defineProperty(exports, "NextjsType", { enumerable: true, get: function () { return constants_1.NextjsType; } });
|
|
6
6
|
var nextjs_api_1 = require("./nextjs-api");
|
|
@@ -15,8 +15,6 @@ var nextjs_distribution_1 = require("./nextjs-distribution");
|
|
|
15
15
|
Object.defineProperty(exports, "NextjsDistribution", { enumerable: true, get: function () { return nextjs_distribution_1.NextjsDistribution; } });
|
|
16
16
|
var nextjs_functions_1 = require("./nextjs-compute/nextjs-functions");
|
|
17
17
|
Object.defineProperty(exports, "NextjsFunctions", { enumerable: true, get: function () { return nextjs_functions_1.NextjsFunctions; } });
|
|
18
|
-
var nextjs_image_function_1 = require("./nextjs-compute/nextjs-image-function");
|
|
19
|
-
Object.defineProperty(exports, "NextjsImageFunction", { enumerable: true, get: function () { return nextjs_image_function_1.NextjsImageFunction; } });
|
|
20
18
|
var nextjs_cache_1 = require("./nextjs-cache");
|
|
21
19
|
Object.defineProperty(exports, "NextjsCache", { enumerable: true, get: function () { return nextjs_cache_1.NextjsCache; } });
|
|
22
20
|
var nextjs_global_containers_1 = require("./root-constructs/nextjs-global-containers");
|
|
@@ -31,4 +29,4 @@ var nextjs_post_deploy_1 = require("./nextjs-post-deploy");
|
|
|
31
29
|
Object.defineProperty(exports, "NextjsPostDeploy", { enumerable: true, get: function () { return nextjs_post_deploy_1.NextjsPostDeploy; } });
|
|
32
30
|
var nextjs_static_assets_1 = require("./nextjs-static-assets");
|
|
33
31
|
Object.defineProperty(exports, "NextjsStaticAssets", { enumerable: true, get: function () { return nextjs_static_assets_1.NextjsStaticAssets; } });
|
|
34
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
32
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEseUNBQXlDO0FBQWhDLHVHQUFBLFVBQVUsT0FBQTtBQUNuQiwyQ0FLc0I7QUFKcEIsdUdBQUEsU0FBUyxPQUFBO0FBTVgsaUZBTWlEO0FBSC9DLDRIQUFBLG1CQUFtQixPQUFBO0FBSXJCLDREQU9xQztBQU5uQywyR0FBQSxXQUFXLE9BQUE7QUFRYix3RUFJNEM7QUFIMUMscUhBQUEsZ0JBQWdCLE9BQUE7QUFJbEIsNkRBSytCO0FBSjdCLHlIQUFBLGtCQUFrQixPQUFBO0FBS3BCLHNFQU0yQztBQUh6QyxtSEFBQSxlQUFlLE9BQUE7QUFJakIsK0NBSXdCO0FBSHRCLDJHQUFBLFdBQVcsT0FBQTtBQUliLHVGQUtvRDtBQUpsRCxrSUFBQSxzQkFBc0IsT0FBQTtBQUt4QixxRkFLbUQ7QUFKakQsZ0lBQUEscUJBQXFCLE9BQUE7QUFLdkIsMkZBS3NEO0FBSnBELHNJQUFBLHdCQUF3QixPQUFBO0FBSzFCLHlGQUtxRDtBQUpuRCxvSUFBQSx1QkFBdUIsT0FBQTtBQUt6QiwyREFLOEI7QUFKNUIsc0hBQUEsZ0JBQWdCLE9BQUE7QUFLbEIsK0RBSWdDO0FBSDlCLDBIQUFBLGtCQUFrQixPQUFBIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHsgTmV4dGpzVHlwZSB9IGZyb20gXCIuL2NvbnN0YW50c1wiO1xuZXhwb3J0IHtcbiAgTmV4dGpzQXBpLFxuICBOZXh0anNBcGlQcm9wcyxcbiAgTmV4dGpzQXBpT3ZlcnJpZGVzLFxuICBOZXh0anNBcGlGdW5jdGlvbkdyb3VwLFxufSBmcm9tIFwiLi9uZXh0anMtYXBpXCI7XG5cbmV4cG9ydCB7XG4gIE5leHRqc0Jhc2VDb25zdHJ1Y3RPdmVycmlkZXMsXG4gIE5leHRqc0Jhc2VPdmVycmlkZXMsXG4gIE5leHRqc0Jhc2VDb25zdHJ1Y3QsXG4gIE5leHRqc0Jhc2VQcm9wcyxcbiAgTmV4dGpzQmFzZUNvbnN0cnVjdFByb3BzLFxufSBmcm9tIFwiLi9yb290LWNvbnN0cnVjdHMvbmV4dGpzLWJhc2UtY29uc3RydWN0XCI7XG5leHBvcnQge1xuICBOZXh0anNCdWlsZCxcbiAgTmV4dGpzQnVpbGRQcm9wcyxcbiAgTmV4dGpzRGVwbG95bWVudFJvb3QsXG4gIE5leHRqc0Z1bmN0aW9uR3JvdXBCZWhhdmlvcixcbiAgTmV4dGpzRnVuY3Rpb25Hcm91cFJvdXRlcyxcbiAgUHVibGljRGlyRW50cnksXG59IGZyb20gXCIuL25leHRqcy1idWlsZC9uZXh0anMtYnVpbGRcIjtcbmV4cG9ydCB7IE5leHRqc0NvbXB1dGVCYXNlUHJvcHMgfSBmcm9tIFwiLi9uZXh0anMtY29tcHV0ZS9uZXh0anMtY29tcHV0ZS1iYXNlLXByb3BzXCI7XG5leHBvcnQge1xuICBOZXh0anNDb250YWluZXJzLFxuICBOZXh0anNDb250YWluZXJzT3ZlcnJpZGVzLFxuICBOZXh0anNDb250YWluZXJzUHJvcHMsXG59IGZyb20gXCIuL25leHRqcy1jb21wdXRlL25leHRqcy1jb250YWluZXJzXCI7XG5leHBvcnQge1xuICBOZXh0anNEaXN0cmlidXRpb24sXG4gIE5leHRqc0Rpc3RyaWJ1dGlvbkZ1bmN0aW9uR3JvdXAsXG4gIE5leHRqc0Rpc3RyaWJ1dGlvbk92ZXJyaWRlcyxcbiAgTmV4dGpzRGlzdHJpYnV0aW9uUHJvcHMsXG59IGZyb20gXCIuL25leHRqcy1kaXN0cmlidXRpb25cIjtcbmV4cG9ydCB7XG4gIE5leHRqc0Z1bmN0aW9uR3JvdXAsXG4gIE5leHRqc0Z1bmN0aW9uR3JvdXBSZXNvdXJjZXMsXG4gIE5leHRqc0Z1bmN0aW9ucyxcbiAgTmV4dGpzRnVuY3Rpb25zT3ZlcnJpZGVzLFxuICBOZXh0anNGdW5jdGlvbnNQcm9wcyxcbn0gZnJvbSBcIi4vbmV4dGpzLWNvbXB1dGUvbmV4dGpzLWZ1bmN0aW9uc1wiO1xuZXhwb3J0IHtcbiAgTmV4dGpzQ2FjaGUsXG4gIE5leHRqc0NhY2hlT3ZlcnJpZGVzLFxuICBOZXh0anNDYWNoZVByb3BzLFxufSBmcm9tIFwiLi9uZXh0anMtY2FjaGVcIjtcbmV4cG9ydCB7XG4gIE5leHRqc0dsb2JhbENvbnRhaW5lcnMsXG4gIE5leHRqc0dsb2JhbENvbnRhaW5lcnNDb25zdHJ1Y3RPdmVycmlkZXMsXG4gIE5leHRqc0dsb2JhbENvbnRhaW5lcnNPdmVycmlkZXMsXG4gIE5leHRqc0dsb2JhbENvbnRhaW5lcnNQcm9wcyxcbn0gZnJvbSBcIi4vcm9vdC1jb25zdHJ1Y3RzL25leHRqcy1nbG9iYWwtY29udGFpbmVyc1wiO1xuZXhwb3J0IHtcbiAgTmV4dGpzR2xvYmFsRnVuY3Rpb25zLFxuICBOZXh0anNHbG9iYWxGdW5jdGlvbnNDb25zdHJ1Y3RPdmVycmlkZXMsXG4gIE5leHRqc0dsb2JhbEZ1bmN0aW9uc092ZXJyaWRlcyxcbiAgTmV4dGpzR2xvYmFsRnVuY3Rpb25zUHJvcHMsXG59IGZyb20gXCIuL3Jvb3QtY29uc3RydWN0cy9uZXh0anMtZ2xvYmFsLWZ1bmN0aW9uc1wiO1xuZXhwb3J0IHtcbiAgTmV4dGpzUmVnaW9uYWxDb250YWluZXJzLFxuICBOZXh0anNSZWdpb25hbENvbnRhaW5lcnNDb25zdHJ1Y3RPdmVycmlkZXMsXG4gIE5leHRqc1JlZ2lvbmFsQ29udGFpbmVyc092ZXJyaWRlcyxcbiAgTmV4dGpzUmVnaW9uYWxDb250YWluZXJzUHJvcHMsXG59IGZyb20gXCIuL3Jvb3QtY29uc3RydWN0cy9uZXh0anMtcmVnaW9uYWwtY29udGFpbmVyc1wiO1xuZXhwb3J0IHtcbiAgTmV4dGpzUmVnaW9uYWxGdW5jdGlvbnMsXG4gIE5leHRqc1JlZ2lvbmFsRnVuY3Rpb25zQ29uc3RydWN0T3ZlcnJpZGVzLFxuICBOZXh0anNSZWdpb25hbEZ1bmN0aW9uc092ZXJyaWRlcyxcbiAgTmV4dGpzUmVnaW9uYWxGdW5jdGlvbnNQcm9wcyxcbn0gZnJvbSBcIi4vcm9vdC1jb25zdHJ1Y3RzL25leHRqcy1yZWdpb25hbC1mdW5jdGlvbnNcIjtcbmV4cG9ydCB7XG4gIE5leHRqc1Bvc3REZXBsb3ksXG4gIE5leHRqc1Bvc3REZXBsb3lPdmVycmlkZXMsXG4gIE5leHRqc1Bvc3REZXBsb3lQcm9wcyxcbiAgUG9zdERlcGxveUN1c3RvbVJlc291cmNlUHJvcGVydGllcyxcbn0gZnJvbSBcIi4vbmV4dGpzLXBvc3QtZGVwbG95XCI7XG5leHBvcnQge1xuICBOZXh0anNTdGF0aWNBc3NldHMsXG4gIE5leHRqc1N0YXRpY0Fzc2V0c092ZXJyaWRlcyxcbiAgTmV4dGpzU3RhdGljQXNzZXRzUHJvcHMsXG59IGZyb20gXCIuL25leHRqcy1zdGF0aWMtYXNzZXRzXCI7XG5cbmV4cG9ydCB7IE9wdGlvbmFsTmV4dGpzQXBpUHJvcHMgfSBmcm9tIFwiLi9nZW5lcmF0ZWQtc3RydWN0cy9PcHRpb25hbE5leHRqc0FwaVByb3BzXCI7XG5leHBvcnQgeyBPcHRpb25hbE5leHRqc0J1aWxkUHJvcHMgfSBmcm9tIFwiLi9nZW5lcmF0ZWQtc3RydWN0cy9PcHRpb25hbE5leHRqc0J1aWxkUHJvcHNcIjtcbmV4cG9ydCB7IE9wdGlvbmFsTmV4dGpzQ29udGFpbmVyc1Byb3BzIH0gZnJvbSBcIi4vZ2VuZXJhdGVkLXN0cnVjdHMvT3B0aW9uYWxOZXh0anNDb250YWluZXJzUHJvcHNcIjtcbmV4cG9ydCB7IE9wdGlvbmFsTmV4dGpzRGlzdHJpYnV0aW9uUHJvcHMgfSBmcm9tIFwiLi9nZW5lcmF0ZWQtc3RydWN0cy9PcHRpb25hbE5leHRqc0Rpc3RyaWJ1dGlvblByb3BzXCI7XG5leHBvcnQgeyBPcHRpb25hbE5leHRqc0NhY2hlUHJvcHMgfSBmcm9tIFwiLi9nZW5lcmF0ZWQtc3RydWN0cy9PcHRpb25hbE5leHRqc0NhY2hlUHJvcHNcIjtcbmV4cG9ydCB7IE9wdGlvbmFsQXBwbGljYXRpb25Mb2FkQmFsYW5jZWRUYXNrSW1hZ2VPcHRpb25zIH0gZnJvbSBcIi4vZ2VuZXJhdGVkLXN0cnVjdHMvT3B0aW9uYWxBcHBsaWNhdGlvbkxvYWRCYWxhbmNlZFRhc2tJbWFnZU9wdGlvbnNcIjtcbmV4cG9ydCB7IE9wdGlvbmFsQ2xvdWRGcm9udEZ1bmN0aW9uUHJvcHMgfSBmcm9tIFwiLi9nZW5lcmF0ZWQtc3RydWN0cy9PcHRpb25hbENsb3VkRnJvbnRGdW5jdGlvblByb3BzXCI7XG5leHBvcnQgeyBPcHRpb25hbENsdXN0ZXJQcm9wcyB9IGZyb20gXCIuL2dlbmVyYXRlZC1zdHJ1Y3RzL09wdGlvbmFsQ2x1c3RlclByb3BzXCI7XG5leHBvcnQgeyBPcHRpb25hbERpc3RyaWJ1dGlvblByb3BzIH0gZnJvbSBcIi4vZ2VuZXJhdGVkLXN0cnVjdHMvT3B0aW9uYWxEaXN0cmlidXRpb25Qcm9wc1wiO1xuZXhwb3J0IHsgT3B0aW9uYWxEb2NrZXJJbWFnZUFzc2V0UHJvcHMgfSBmcm9tIFwiLi9nZW5lcmF0ZWQtc3RydWN0cy9PcHRpb25hbERvY2tlckltYWdlQXNzZXRQcm9wc1wiO1xuZXhwb3J0IHsgT3B0aW9uYWxFZGdlRnVuY3Rpb25Qcm9wcyB9IGZyb20gXCIuL2dlbmVyYXRlZC1zdHJ1Y3RzL09wdGlvbmFsRWRnZUZ1bmN0aW9uUHJvcHNcIjtcbmV4cG9ydCB7IE9wdGlvbmFsRnVuY3Rpb25Qcm9wcyB9IGZyb20gXCIuL2dlbmVyYXRlZC1zdHJ1Y3RzL09wdGlvbmFsRnVuY3Rpb25Qcm9wc1wiO1xuZXhwb3J0IHsgT3B0aW9uYWxGdW5jdGlvblVybFByb3BzIH0gZnJvbSBcIi4vZ2VuZXJhdGVkLXN0cnVjdHMvT3B0aW9uYWxGdW5jdGlvblVybFByb3BzXCI7XG5leHBvcnQgeyBPcHRpb25hbFMzT3JpZ2luQnVja2V0V2l0aE9BQ1Byb3BzIH0gZnJvbSBcIi4vZ2VuZXJhdGVkLXN0cnVjdHMvT3B0aW9uYWxTM09yaWdpbkJ1Y2tldFdpdGhPQUNQcm9wc1wiO1xuZXhwb3J0IHsgT3B0aW9uYWxWcGNQcm9wcyB9IGZyb20gXCIuL2dlbmVyYXRlZC1zdHJ1Y3RzL09wdGlvbmFsVnBjUHJvcHNcIjtcbmV4cG9ydCB7IE9wdGlvbmFsQ3VzdG9tUmVzb3VyY2VQcm9wcyB9IGZyb20gXCIuL2dlbmVyYXRlZC1zdHJ1Y3RzL09wdGlvbmFsQ3VzdG9tUmVzb3VyY2VQcm9wc1wiO1xuZXhwb3J0IHsgT3B0aW9uYWxQb3N0RGVwbG95Q3VzdG9tUmVzb3VyY2VQcm9wZXJ0aWVzIH0gZnJvbSBcIi4vZ2VuZXJhdGVkLXN0cnVjdHMvT3B0aW9uYWxQb3N0RGVwbG95Q3VzdG9tUmVzb3VyY2VQcm9wZXJ0aWVzXCI7XG5leHBvcnQgeyBPcHRpb25hbE5leHRqc1Bvc3REZXBsb3lQcm9wcyB9IGZyb20gXCIuL2dlbmVyYXRlZC1zdHJ1Y3RzL09wdGlvbmFsTmV4dGpzUG9zdERlcGxveVByb3BzXCI7XG4iXX0=
|
|
@@ -3,9 +3,13 @@ interface PruneCacheBucketProps {
|
|
|
3
3
|
currentBuildId: string;
|
|
4
4
|
}
|
|
5
5
|
/**
|
|
6
|
-
* Given `bucketName` and `currentBuildId`,
|
|
7
|
-
*
|
|
8
|
-
*
|
|
6
|
+
* Given `bucketName` and `currentBuildId`, delete every cache object that isn't
|
|
7
|
+
* under the current build's `{buildId}/` prefix (no leading slash).
|
|
8
|
+
*
|
|
9
|
+
* The top level is listed with a delimiter, so the current build, which can
|
|
10
|
+
* hold any number of `'use cache: remote'` entries, is never walked. Each old
|
|
11
|
+
* build prefix is then listed and deleted page by page. Top-level keys outside
|
|
12
|
+
* any build prefix (legacy objects) are deleted too.
|
|
9
13
|
*/
|
|
10
14
|
export declare function pruneCacheBucket(props: PruneCacheBucketProps): Promise<void>;
|
|
11
15
|
export {};
|