cdk-nextjs 0.3.11 → 0.4.1

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 (106) hide show
  1. package/.jsii +1248 -748
  2. package/API.md +1033 -531
  3. package/README.md +1 -2
  4. package/assets/lambdas/assets-deployment/assets-deployment.lambda/assets-deployment.Dockerfile +12 -8
  5. package/assets/lambdas/assets-deployment/assets-deployment.lambda/index.js +67 -56
  6. package/assets/lambdas/post-deploy/post-deploy.lambda/index.js +246 -0
  7. package/docs/breaking-changes.md +9 -0
  8. package/docs/notes.md +170 -20
  9. package/lib/constants.d.ts +32 -0
  10. package/lib/constants.js +38 -0
  11. package/lib/generated-structs/OptionalCustomResourceProps.d.ts +104 -0
  12. package/lib/generated-structs/OptionalCustomResourceProps.js +3 -0
  13. package/lib/generated-structs/OptionalDockerImageAssetProps.d.ts +21 -0
  14. package/lib/generated-structs/OptionalDockerImageAssetProps.js +1 -1
  15. package/lib/generated-structs/OptionalNextjsAssetsDeploymentProps.d.ts +4 -3
  16. package/lib/generated-structs/OptionalNextjsAssetsDeploymentProps.js +1 -1
  17. package/lib/generated-structs/OptionalNextjsBuildProps.d.ts +1 -1
  18. package/lib/generated-structs/OptionalNextjsBuildProps.js +1 -1
  19. package/lib/generated-structs/OptionalNextjsContainersProps.d.ts +3 -3
  20. package/lib/generated-structs/OptionalNextjsContainersProps.js +1 -1
  21. package/lib/generated-structs/OptionalNextjsPostDeployProps.d.ts +42 -0
  22. package/lib/generated-structs/OptionalNextjsPostDeployProps.js +3 -0
  23. package/lib/generated-structs/OptionalPostDeployCustomResourceProperties.d.ts +41 -0
  24. package/lib/generated-structs/OptionalPostDeployCustomResourceProperties.js +4 -0
  25. package/lib/index.d.ts +6 -5
  26. package/lib/index.js +6 -8
  27. package/lib/lambdas/assets-deployment/assets-deployment.lambda.js +5 -23
  28. package/lib/lambdas/assets-deployment/fs-to-fs.js +18 -3
  29. package/lib/lambdas/assets-deployment/fs-to-s3.d.ts +8 -2
  30. package/lib/lambdas/assets-deployment/fs-to-s3.js +14 -8
  31. package/lib/lambdas/post-deploy/create-invalidation.d.ts +2 -0
  32. package/lib/lambdas/post-deploy/create-invalidation.js +19 -0
  33. package/lib/lambdas/post-deploy/post-deploy-function.d.ts +13 -0
  34. package/lib/lambdas/post-deploy/post-deploy-function.js +22 -0
  35. package/lib/lambdas/post-deploy/post-deploy.lambda.d.ts +9 -0
  36. package/lib/lambdas/post-deploy/post-deploy.lambda.js +56 -0
  37. package/lib/lambdas/post-deploy/prune-fs.d.ts +10 -0
  38. package/lib/lambdas/post-deploy/prune-fs.js +33 -0
  39. package/lib/lambdas/post-deploy/prune-s3.d.ts +15 -0
  40. package/lib/lambdas/post-deploy/prune-s3.js +101 -0
  41. package/lib/lambdas/utils.js +35 -0
  42. package/lib/nextjs-assets-deployment.d.ts +15 -51
  43. package/lib/nextjs-assets-deployment.js +27 -25
  44. package/lib/nextjs-build/builder.Dockerfile +12 -8
  45. package/lib/nextjs-build/cdk-nextjs-cache-handler.cjs +63 -0
  46. package/lib/nextjs-build/cdk-nextjs-cache-handler.d.ts +21 -0
  47. package/lib/nextjs-build/cdk-nextjs-cache-handler.js +49 -0
  48. package/lib/nextjs-build/global-containers.Dockerfile +29 -19
  49. package/lib/nextjs-build/global-functions.Dockerfile +30 -24
  50. package/lib/nextjs-build/nextjs-build.d.ts +51 -26
  51. package/lib/nextjs-build/nextjs-build.js +108 -88
  52. package/lib/nextjs-build/regional-containers.Dockerfile +30 -20
  53. package/lib/nextjs-compute/nextjs-compute-base-props.d.ts +0 -1
  54. package/lib/nextjs-compute/nextjs-compute-base-props.js +1 -1
  55. package/lib/nextjs-compute/nextjs-containers.d.ts +2 -1
  56. package/lib/nextjs-compute/nextjs-containers.js +7 -5
  57. package/lib/nextjs-compute/nextjs-functions.d.ts +1 -0
  58. package/lib/nextjs-compute/nextjs-functions.js +8 -11
  59. package/lib/nextjs-distribution.d.ts +1 -1
  60. package/lib/nextjs-distribution.js +4 -4
  61. package/lib/nextjs-file-system.js +1 -1
  62. package/lib/nextjs-post-deploy.d.ts +101 -0
  63. package/lib/nextjs-post-deploy.js +78 -0
  64. package/lib/nextjs-static-assets.js +1 -1
  65. package/lib/nextjs-vpc.d.ts +1 -1
  66. package/lib/nextjs-vpc.js +4 -4
  67. package/lib/root-constructs/nextjs-base-overrides.d.ts +4 -0
  68. package/lib/root-constructs/nextjs-base-overrides.js +1 -1
  69. package/lib/root-constructs/nextjs-base-props.d.ts +15 -7
  70. package/lib/root-constructs/nextjs-base-props.js +1 -1
  71. package/lib/root-constructs/nextjs-global-containers.d.ts +8 -8
  72. package/lib/root-constructs/nextjs-global-containers.js +25 -15
  73. package/lib/root-constructs/nextjs-global-functions.d.ts +8 -11
  74. package/lib/root-constructs/nextjs-global-functions.js +25 -25
  75. package/lib/root-constructs/nextjs-regional-containers.d.ts +8 -0
  76. package/lib/root-constructs/nextjs-regional-containers.js +26 -9
  77. package/lib/utils/get-architecture.d.ts +2 -0
  78. package/lib/utils/get-architecture.js +8 -0
  79. package/lib/utils/handle-deprecated-properties.d.ts +7 -0
  80. package/lib/utils/handle-deprecated-properties.js +14 -0
  81. package/package.json +17 -19
  82. package/assets/lambdas/revalidate/revalidate.lambda/index.js +0 -67
  83. package/lib/common.d.ts +0 -25
  84. package/lib/common.js +0 -30
  85. package/lib/generated-structs/OptionalNextjsInvalidationProps.d.ts +0 -11
  86. package/lib/generated-structs/OptionalNextjsInvalidationProps.js +0 -3
  87. package/lib/lambdas/assets-deployment/prune-s3.d.ts +0 -15
  88. package/lib/lambdas/assets-deployment/prune-s3.js +0 -42
  89. package/lib/lambdas/assets-deployment/s3.d.ts +0 -2
  90. package/lib/lambdas/assets-deployment/s3.js +0 -7
  91. package/lib/lambdas/assets-deployment/utils.js +0 -35
  92. package/lib/lambdas/revalidate/revalidate-function.d.ts +0 -13
  93. package/lib/lambdas/revalidate/revalidate-function.js +0 -22
  94. package/lib/lambdas/revalidate/revalidate.lambda.d.ts +0 -2
  95. package/lib/lambdas/revalidate/revalidate.lambda.js +0 -53
  96. package/lib/nextjs-build/add-cache-handler.d.ts +0 -1
  97. package/lib/nextjs-build/add-cache-handler.js +0 -23
  98. package/lib/nextjs-build/add-cache-handler.mjs +0 -18
  99. package/lib/nextjs-build/cache-handler.cjs +0 -21878
  100. package/lib/nextjs-build/cache-handler.d.ts +0 -6
  101. package/lib/nextjs-build/cache-handler.js +0 -26
  102. package/lib/nextjs-invalidation.d.ts +0 -19
  103. package/lib/nextjs-invalidation.js +0 -52
  104. package/lib/nextjs-revalidation.d.ts +0 -30
  105. package/lib/nextjs-revalidation.js +0 -65
  106. /package/lib/lambdas/{assets-deployment/utils.d.ts → utils.d.ts} +0 -0
@@ -1,3 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiT3B0aW9uYWxOZXh0anNJbnZhbGlkYXRpb25Qcm9wcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9nZW5lcmF0ZWQtc3RydWN0cy9PcHRpb25hbE5leHRqc0ludmFsaWRhdGlvblByb3BzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyIvLyB+fiBHZW5lcmF0ZWQgYnkgcHJvamVuLiBUbyBtb2RpZnksIGVkaXQgLnByb2plbnJjLnRzIGFuZCBydW4gXCJwbnBtIGRseCBwcm9qZW5cIi5cbmltcG9ydCB0eXBlIHsgYXdzX2Nsb3VkZnJvbnQgfSBmcm9tICdhd3MtY2RrLWxpYic7XG5cbi8qKlxuICogT3B0aW9uYWxOZXh0anNJbnZhbGlkYXRpb25Qcm9wc1xuICovXG5leHBvcnQgaW50ZXJmYWNlIE9wdGlvbmFsTmV4dGpzSW52YWxpZGF0aW9uUHJvcHMge1xuICAvKipcbiAgICogQ2xvdWRGcm9udCBEaXN0cmlidXRpb24gdG8gaW52YWxpZGF0ZS5cbiAgICogQHN0YWJpbGl0eSBzdGFibGVcbiAgICovXG4gIHJlYWRvbmx5IGRpc3RyaWJ1dGlvbj86IGF3c19jbG91ZGZyb250LklEaXN0cmlidXRpb247XG59XG4iXX0=
@@ -1,15 +0,0 @@
1
- import type { PruneS3Action } from "../../nextjs-assets-deployment";
2
- /**
3
- * Safely removes assets that were deployed > 1 deployment ago AND were deployed
4
- * greater than a month ago. Those values should be configurable.
5
- */
6
- export declare function pruneS3(props: PruneS3Action): Promise<void>;
7
- interface ListObjectKeysProps {
8
- bucketName: string;
9
- keyPrefix?: string;
10
- }
11
- /**
12
- * List all object keys in bucket
13
- */
14
- export declare function listObjectKeys({ bucketName, keyPrefix, }: ListObjectKeysProps): Promise<string[]>;
15
- export {};
@@ -1,42 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.pruneS3 = pruneS3;
4
- exports.listObjectKeys = listObjectKeys;
5
- // eslint-disable-next-line import/no-extraneous-dependencies
6
- const client_s3_1 = require("@aws-sdk/client-s3");
7
- const s3_1 = require("./s3");
8
- /**
9
- * Safely removes assets that were deployed > 1 deployment ago AND were deployed
10
- * greater than a month ago. Those values should be configurable.
11
- */
12
- async function pruneS3(props) {
13
- props;
14
- }
15
- /**
16
- * List all object keys in bucket
17
- */
18
- async function listObjectKeys({ bucketName, keyPrefix, }) {
19
- const oldObjectKeys = [];
20
- let nextToken = undefined;
21
- do {
22
- const cmd = {
23
- Bucket: bucketName,
24
- Prefix: keyPrefix,
25
- };
26
- if (nextToken) {
27
- cmd.ContinuationToken = nextToken;
28
- }
29
- const res = await s3_1.s3.send(new client_s3_1.ListObjectsV2Command(cmd));
30
- const contents = res.Contents;
31
- nextToken = res.NextContinuationToken;
32
- if (contents?.length) {
33
- for (const { Key: key } of contents) {
34
- if (key) {
35
- oldObjectKeys.push(key);
36
- }
37
- }
38
- }
39
- } while (nextToken);
40
- return oldObjectKeys;
41
- }
42
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJ1bmUtczMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGFtYmRhcy9hc3NldHMtZGVwbG95bWVudC9wcnVuZS1zMy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQVlBLDBCQUVDO0FBVUQsd0NBMEJDO0FBbERELDZEQUE2RDtBQUM3RCxrREFHNEI7QUFDNUIsNkJBQTBCO0FBRzFCOzs7R0FHRztBQUNJLEtBQUssVUFBVSxPQUFPLENBQUMsS0FBb0I7SUFDaEQsS0FBSyxDQUFDO0FBQ1IsQ0FBQztBQU9EOztHQUVHO0FBQ0ksS0FBSyxVQUFVLGNBQWMsQ0FBQyxFQUNuQyxVQUFVLEVBQ1YsU0FBUyxHQUNXO0lBQ3BCLE1BQU0sYUFBYSxHQUFhLEVBQUUsQ0FBQztJQUNuQyxJQUFJLFNBQVMsR0FBdUIsU0FBUyxDQUFDO0lBQzlDLEdBQUcsQ0FBQztRQUNGLE1BQU0sR0FBRyxHQUE4QjtZQUNyQyxNQUFNLEVBQUUsVUFBVTtZQUNsQixNQUFNLEVBQUUsU0FBUztTQUNsQixDQUFDO1FBQ0YsSUFBSSxTQUFTLEVBQUUsQ0FBQztZQUNkLEdBQUcsQ0FBQyxpQkFBaUIsR0FBRyxTQUFTLENBQUM7UUFDcEMsQ0FBQztRQUNELE1BQU0sR0FBRyxHQUFHLE1BQU0sT0FBRSxDQUFDLElBQUksQ0FBQyxJQUFJLGdDQUFvQixDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFDekQsTUFBTSxRQUFRLEdBQUcsR0FBRyxDQUFDLFFBQVEsQ0FBQztRQUM5QixTQUFTLEdBQUcsR0FBRyxDQUFDLHFCQUFxQixDQUFDO1FBQ3RDLElBQUksUUFBUSxFQUFFLE1BQU0sRUFBRSxDQUFDO1lBQ3JCLEtBQUssTUFBTSxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsSUFBSSxRQUFRLEVBQUUsQ0FBQztnQkFDcEMsSUFBSSxHQUFHLEVBQUUsQ0FBQztvQkFDUixhQUFhLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO2dCQUMxQixDQUFDO1lBQ0gsQ0FBQztRQUNILENBQUM7SUFDSCxDQUFDLFFBQVEsU0FBUyxFQUFFO0lBQ3BCLE9BQU8sYUFBYSxDQUFDO0FBQ3ZCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgaW1wb3J0L25vLWV4dHJhbmVvdXMtZGVwZW5kZW5jaWVzXG5pbXBvcnQge1xuICBMaXN0T2JqZWN0c1YyQ29tbWFuZCxcbiAgTGlzdE9iamVjdHNWMkNvbW1hbmRJbnB1dCxcbn0gZnJvbSBcIkBhd3Mtc2RrL2NsaWVudC1zM1wiO1xuaW1wb3J0IHsgczMgfSBmcm9tIFwiLi9zM1wiO1xuaW1wb3J0IHR5cGUgeyBQcnVuZVMzQWN0aW9uIH0gZnJvbSBcIi4uLy4uL25leHRqcy1hc3NldHMtZGVwbG95bWVudFwiO1xuXG4vKipcbiAqIFNhZmVseSByZW1vdmVzIGFzc2V0cyB0aGF0IHdlcmUgZGVwbG95ZWQgPiAxIGRlcGxveW1lbnQgYWdvIEFORCB3ZXJlIGRlcGxveWVkXG4gKiBncmVhdGVyIHRoYW4gYSBtb250aCBhZ28uIFRob3NlIHZhbHVlcyBzaG91bGQgYmUgY29uZmlndXJhYmxlLlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gcHJ1bmVTMyhwcm9wczogUHJ1bmVTM0FjdGlvbikge1xuICBwcm9wcztcbn1cblxuaW50ZXJmYWNlIExpc3RPYmplY3RLZXlzUHJvcHMge1xuICBidWNrZXROYW1lOiBzdHJpbmc7XG4gIGtleVByZWZpeD86IHN0cmluZztcbn1cblxuLyoqXG4gKiBMaXN0IGFsbCBvYmplY3Qga2V5cyBpbiBidWNrZXRcbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGxpc3RPYmplY3RLZXlzKHtcbiAgYnVja2V0TmFtZSxcbiAga2V5UHJlZml4LFxufTogTGlzdE9iamVjdEtleXNQcm9wcyk6IFByb21pc2U8c3RyaW5nW10+IHtcbiAgY29uc3Qgb2xkT2JqZWN0S2V5czogc3RyaW5nW10gPSBbXTtcbiAgbGV0IG5leHRUb2tlbjogc3RyaW5nIHwgdW5kZWZpbmVkID0gdW5kZWZpbmVkO1xuICBkbyB7XG4gICAgY29uc3QgY21kOiBMaXN0T2JqZWN0c1YyQ29tbWFuZElucHV0ID0ge1xuICAgICAgQnVja2V0OiBidWNrZXROYW1lLFxuICAgICAgUHJlZml4OiBrZXlQcmVmaXgsXG4gICAgfTtcbiAgICBpZiAobmV4dFRva2VuKSB7XG4gICAgICBjbWQuQ29udGludWF0aW9uVG9rZW4gPSBuZXh0VG9rZW47XG4gICAgfVxuICAgIGNvbnN0IHJlcyA9IGF3YWl0IHMzLnNlbmQobmV3IExpc3RPYmplY3RzVjJDb21tYW5kKGNtZCkpO1xuICAgIGNvbnN0IGNvbnRlbnRzID0gcmVzLkNvbnRlbnRzO1xuICAgIG5leHRUb2tlbiA9IHJlcy5OZXh0Q29udGludWF0aW9uVG9rZW47XG4gICAgaWYgKGNvbnRlbnRzPy5sZW5ndGgpIHtcbiAgICAgIGZvciAoY29uc3QgeyBLZXk6IGtleSB9IG9mIGNvbnRlbnRzKSB7XG4gICAgICAgIGlmIChrZXkpIHtcbiAgICAgICAgICBvbGRPYmplY3RLZXlzLnB1c2goa2V5KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfSB3aGlsZSAobmV4dFRva2VuKTtcbiAgcmV0dXJuIG9sZE9iamVjdEtleXM7XG59XG4iXX0=
@@ -1,2 +0,0 @@
1
- import { S3Client } from "@aws-sdk/client-s3";
2
- export declare const s3: S3Client;
@@ -1,7 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.s3 = void 0;
4
- // eslint-disable-next-line import/no-extraneous-dependencies
5
- const client_s3_1 = require("@aws-sdk/client-s3");
6
- exports.s3 = new client_s3_1.S3Client({});
7
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiczMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGFtYmRhcy9hc3NldHMtZGVwbG95bWVudC9zMy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSw2REFBNkQ7QUFDN0Qsa0RBQThDO0FBRWpDLFFBQUEsRUFBRSxHQUFHLElBQUksb0JBQVEsQ0FBQyxFQUFFLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBpbXBvcnQvbm8tZXh0cmFuZW91cy1kZXBlbmRlbmNpZXNcbmltcG9ydCB7IFMzQ2xpZW50IH0gZnJvbSBcIkBhd3Mtc2RrL2NsaWVudC1zM1wiO1xuXG5leHBvcnQgY29uc3QgczMgPSBuZXcgUzNDbGllbnQoe30pO1xuIl19
@@ -1,35 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.CfnResponseStatus = void 0;
4
- exports.cfnResponse = cfnResponse;
5
- exports.debug = debug;
6
- var CfnResponseStatus;
7
- (function (CfnResponseStatus) {
8
- CfnResponseStatus["Success"] = "SUCCESS";
9
- CfnResponseStatus["Failed"] = "FAILED";
10
- })(CfnResponseStatus || (exports.CfnResponseStatus = CfnResponseStatus = {}));
11
- /**
12
- * Inspired by: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/cfn-lambda-function-code-cfnresponsemodule.html
13
- */
14
- function cfnResponse(props) {
15
- const body = JSON.stringify({
16
- Status: props.responseStatus,
17
- Reason: "See the details in CloudWatch Log Stream: " +
18
- props.context.logStreamName,
19
- PhysicalResourceId: props.physicalResourceId || props.context.logStreamName,
20
- StackId: props.event.StackId,
21
- RequestId: props.event.RequestId,
22
- LogicalResourceId: props.event.LogicalResourceId,
23
- Data: props.responseData,
24
- });
25
- return fetch(props.event.ResponseURL, {
26
- method: "PUT",
27
- body,
28
- headers: { "content-type": "", "content-length": body.length.toString() },
29
- });
30
- }
31
- function debug(value) {
32
- if (process.env.DEBUG)
33
- console.log(JSON.stringify(value, null, 2));
34
- }
35
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGFtYmRhcy9hc3NldHMtZGVwbG95bWVudC91dGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFrQkEsa0NBaUJDO0FBRUQsc0JBRUM7QUFyQ0QsSUFBWSxpQkFHWDtBQUhELFdBQVksaUJBQWlCO0lBQzNCLHdDQUFtQixDQUFBO0lBQ25CLHNDQUFpQixDQUFBO0FBQ25CLENBQUMsRUFIVyxpQkFBaUIsaUNBQWpCLGlCQUFpQixRQUc1QjtBQVVEOztHQUVHO0FBQ0gsU0FBZ0IsV0FBVyxDQUFDLEtBQXVCO0lBQ2pELE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUM7UUFDMUIsTUFBTSxFQUFFLEtBQUssQ0FBQyxjQUFjO1FBQzVCLE1BQU0sRUFDSiw0Q0FBNEM7WUFDNUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxhQUFhO1FBQzdCLGtCQUFrQixFQUFFLEtBQUssQ0FBQyxrQkFBa0IsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLGFBQWE7UUFDM0UsT0FBTyxFQUFFLEtBQUssQ0FBQyxLQUFLLENBQUMsT0FBTztRQUM1QixTQUFTLEVBQUUsS0FBSyxDQUFDLEtBQUssQ0FBQyxTQUFTO1FBQ2hDLGlCQUFpQixFQUFFLEtBQUssQ0FBQyxLQUFLLENBQUMsaUJBQWlCO1FBQ2hELElBQUksRUFBRSxLQUFLLENBQUMsWUFBWTtLQUN6QixDQUFDLENBQUM7SUFDSCxPQUFPLEtBQUssQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLFdBQVcsRUFBRTtRQUNwQyxNQUFNLEVBQUUsS0FBSztRQUNiLElBQUk7UUFDSixPQUFPLEVBQUUsRUFBRSxjQUFjLEVBQUUsRUFBRSxFQUFFLGdCQUFnQixFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxFQUFFLEVBQUU7S0FDMUUsQ0FBQyxDQUFDO0FBQ0wsQ0FBQztBQUVELFNBQWdCLEtBQUssQ0FBQyxLQUFjO0lBQ2xDLElBQUksT0FBTyxDQUFDLEdBQUcsQ0FBQyxLQUFLO1FBQUUsT0FBTyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNyRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBDbG91ZEZvcm1hdGlvbkN1c3RvbVJlc291cmNlSGFuZGxlciB9IGZyb20gXCJhd3MtbGFtYmRhXCI7XG5cbmV4cG9ydCBlbnVtIENmblJlc3BvbnNlU3RhdHVzIHtcbiAgU3VjY2VzcyA9IFwiU1VDQ0VTU1wiLFxuICBGYWlsZWQgPSBcIkZBSUxFRFwiLFxufVxuXG5pbnRlcmZhY2UgQ2ZuUmVzcG9uc2VQcm9wcyB7XG4gIGV2ZW50OiBQYXJhbWV0ZXJzPENsb3VkRm9ybWF0aW9uQ3VzdG9tUmVzb3VyY2VIYW5kbGVyPlswXTtcbiAgY29udGV4dDogUGFyYW1ldGVyczxDbG91ZEZvcm1hdGlvbkN1c3RvbVJlc291cmNlSGFuZGxlcj5bMV07XG4gIHJlc3BvbnNlU3RhdHVzOiBDZm5SZXNwb25zZVN0YXR1cztcbiAgcmVzcG9uc2VEYXRhPzogUmVjb3JkPHN0cmluZywgc3RyaW5nPjtcbiAgcGh5c2ljYWxSZXNvdXJjZUlkPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIEluc3BpcmVkIGJ5OiBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vQVdTQ2xvdWRGb3JtYXRpb24vbGF0ZXN0L1VzZXJHdWlkZS9jZm4tbGFtYmRhLWZ1bmN0aW9uLWNvZGUtY2ZucmVzcG9uc2Vtb2R1bGUuaHRtbFxuICovXG5leHBvcnQgZnVuY3Rpb24gY2ZuUmVzcG9uc2UocHJvcHM6IENmblJlc3BvbnNlUHJvcHMpIHtcbiAgY29uc3QgYm9keSA9IEpTT04uc3RyaW5naWZ5KHtcbiAgICBTdGF0dXM6IHByb3BzLnJlc3BvbnNlU3RhdHVzLFxuICAgIFJlYXNvbjpcbiAgICAgIFwiU2VlIHRoZSBkZXRhaWxzIGluIENsb3VkV2F0Y2ggTG9nIFN0cmVhbTogXCIgK1xuICAgICAgcHJvcHMuY29udGV4dC5sb2dTdHJlYW1OYW1lLFxuICAgIFBoeXNpY2FsUmVzb3VyY2VJZDogcHJvcHMucGh5c2ljYWxSZXNvdXJjZUlkIHx8IHByb3BzLmNvbnRleHQubG9nU3RyZWFtTmFtZSxcbiAgICBTdGFja0lkOiBwcm9wcy5ldmVudC5TdGFja0lkLFxuICAgIFJlcXVlc3RJZDogcHJvcHMuZXZlbnQuUmVxdWVzdElkLFxuICAgIExvZ2ljYWxSZXNvdXJjZUlkOiBwcm9wcy5ldmVudC5Mb2dpY2FsUmVzb3VyY2VJZCxcbiAgICBEYXRhOiBwcm9wcy5yZXNwb25zZURhdGEsXG4gIH0pO1xuICByZXR1cm4gZmV0Y2gocHJvcHMuZXZlbnQuUmVzcG9uc2VVUkwsIHtcbiAgICBtZXRob2Q6IFwiUFVUXCIsXG4gICAgYm9keSxcbiAgICBoZWFkZXJzOiB7IFwiY29udGVudC10eXBlXCI6IFwiXCIsIFwiY29udGVudC1sZW5ndGhcIjogYm9keS5sZW5ndGgudG9TdHJpbmcoKSB9LFxuICB9KTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGRlYnVnKHZhbHVlOiB1bmtub3duKSB7XG4gIGlmIChwcm9jZXNzLmVudi5ERUJVRykgY29uc29sZS5sb2coSlNPTi5zdHJpbmdpZnkodmFsdWUsIG51bGwsIDIpKTtcbn1cbiJdfQ==
@@ -1,13 +0,0 @@
1
- import * as lambda from 'aws-cdk-lib/aws-lambda';
2
- import { Construct } from 'constructs';
3
- /**
4
- * Props for RevalidateFunction
5
- */
6
- export interface RevalidateFunctionProps extends lambda.FunctionOptions {
7
- }
8
- /**
9
- * An AWS Lambda function which executes src/lambdas/revalidate/revalidate.
10
- */
11
- export declare class RevalidateFunction extends lambda.Function {
12
- constructor(scope: Construct, id: string, props?: RevalidateFunctionProps);
13
- }
@@ -1,22 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.RevalidateFunction = void 0;
4
- // ~~ Generated by projen. To modify, edit .projenrc.ts and run "pnpm dlx projen".
5
- const path = require("path");
6
- const lambda = require("aws-cdk-lib/aws-lambda");
7
- /**
8
- * An AWS Lambda function which executes src/lambdas/revalidate/revalidate.
9
- */
10
- class RevalidateFunction extends lambda.Function {
11
- constructor(scope, id, props) {
12
- super(scope, id, {
13
- description: 'src/lambdas/revalidate/revalidate.lambda.ts',
14
- ...props,
15
- runtime: new lambda.Runtime('nodejs22.x', lambda.RuntimeFamily.NODEJS),
16
- handler: 'index.handler',
17
- code: lambda.Code.fromAsset(path.join(__dirname, '../../../assets/lambdas/revalidate/revalidate.lambda')),
18
- });
19
- }
20
- }
21
- exports.RevalidateFunction = RevalidateFunction;
22
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmV2YWxpZGF0ZS1mdW5jdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9sYW1iZGFzL3JldmFsaWRhdGUvcmV2YWxpZGF0ZS1mdW5jdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxrRkFBa0Y7QUFDbEYsNkJBQTZCO0FBQzdCLGlEQUFpRDtBQVNqRDs7R0FFRztBQUNILE1BQWEsa0JBQW1CLFNBQVEsTUFBTSxDQUFDLFFBQVE7SUFDckQsWUFBWSxLQUFnQixFQUFFLEVBQVUsRUFBRSxLQUErQjtRQUN2RSxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsRUFBRTtZQUNmLFdBQVcsRUFBRSw2Q0FBNkM7WUFDMUQsR0FBRyxLQUFLO1lBQ1IsT0FBTyxFQUFFLElBQUksTUFBTSxDQUFDLE9BQU8sQ0FBQyxZQUFZLEVBQUUsTUFBTSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUM7WUFDdEUsT0FBTyxFQUFFLGVBQWU7WUFDeEIsSUFBSSxFQUFFLE1BQU0sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLHNEQUFzRCxDQUFDLENBQUM7U0FDMUcsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztDQUNGO0FBVkQsZ0RBVUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyB+fiBHZW5lcmF0ZWQgYnkgcHJvamVuLiBUbyBtb2RpZnksIGVkaXQgLnByb2plbnJjLnRzIGFuZCBydW4gXCJwbnBtIGRseCBwcm9qZW5cIi5cbmltcG9ydCAqIGFzIHBhdGggZnJvbSAncGF0aCc7XG5pbXBvcnQgKiBhcyBsYW1iZGEgZnJvbSAnYXdzLWNkay1saWIvYXdzLWxhbWJkYSc7XG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tICdjb25zdHJ1Y3RzJztcblxuLyoqXG4gKiBQcm9wcyBmb3IgUmV2YWxpZGF0ZUZ1bmN0aW9uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUmV2YWxpZGF0ZUZ1bmN0aW9uUHJvcHMgZXh0ZW5kcyBsYW1iZGEuRnVuY3Rpb25PcHRpb25zIHtcbn1cblxuLyoqXG4gKiBBbiBBV1MgTGFtYmRhIGZ1bmN0aW9uIHdoaWNoIGV4ZWN1dGVzIHNyYy9sYW1iZGFzL3JldmFsaWRhdGUvcmV2YWxpZGF0ZS5cbiAqL1xuZXhwb3J0IGNsYXNzIFJldmFsaWRhdGVGdW5jdGlvbiBleHRlbmRzIGxhbWJkYS5GdW5jdGlvbiB7XG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzPzogUmV2YWxpZGF0ZUZ1bmN0aW9uUHJvcHMpIHtcbiAgICBzdXBlcihzY29wZSwgaWQsIHtcbiAgICAgIGRlc2NyaXB0aW9uOiAnc3JjL2xhbWJkYXMvcmV2YWxpZGF0ZS9yZXZhbGlkYXRlLmxhbWJkYS50cycsXG4gICAgICAuLi5wcm9wcyxcbiAgICAgIHJ1bnRpbWU6IG5ldyBsYW1iZGEuUnVudGltZSgnbm9kZWpzMjIueCcsIGxhbWJkYS5SdW50aW1lRmFtaWx5Lk5PREVKUyksXG4gICAgICBoYW5kbGVyOiAnaW5kZXguaGFuZGxlcicsXG4gICAgICBjb2RlOiBsYW1iZGEuQ29kZS5mcm9tQXNzZXQocGF0aC5qb2luKF9fZGlybmFtZSwgJy4uLy4uLy4uL2Fzc2V0cy9sYW1iZGFzL3JldmFsaWRhdGUvcmV2YWxpZGF0ZS5sYW1iZGEnKSksXG4gICAgfSk7XG4gIH1cbn0iXX0=
@@ -1,2 +0,0 @@
1
- import { SQSHandler } from "aws-lambda";
2
- export declare const handler: SQSHandler;
@@ -1,53 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.handler = void 0;
4
- const handler = async (event, context) => {
5
- console.log({ event });
6
- context;
7
- const batchItemFailures = [];
8
- try {
9
- for (const record of event.Records) {
10
- const url = record.body;
11
- const previewModeId = process.env.PREVIEW_MODE_ID;
12
- if (!url)
13
- throw new Error("Missing url");
14
- if (!previewModeId)
15
- throw new Error("Missing previewModeId");
16
- // see: https://github.com/sst/open-next/blob/ab844db7a21a056155992ccf0bdf9b835362cd19/packages/open-next/src/adapters/revalidate.ts#L43
17
- // Make a HEAD request to the page to revalidate it.
18
- // - HEAD request is used b/c it's not necessary to make a GET request
19
- // and have CloudFront cache the request. This is because the request
20
- // does not have real life headers and the cache won't be used anyway.
21
- // - "previewModeId" is used to ensure the page is revalidated in a
22
- // blocking way in lambda
23
- // https://github.com/vercel/next.js/blob/1088b3f682cbe411be2d1edc502f8a090e36dee4/packages/next/src/server/api-utils/node.ts#L353
24
- try {
25
- const res = await fetch(url, {
26
- method: "HEAD",
27
- headers: {
28
- "x-prerender-revalidate": previewModeId,
29
- "x-isr": "1",
30
- },
31
- });
32
- const xNextjsCacheHeader = res.headers.get("x-nextjs-cache");
33
- if (!res.ok || xNextjsCacheHeader !== "REVALIDATED") {
34
- throw new Error(`Response code: ${res.status}, x-nextjs-cache: ${xNextjsCacheHeader}`);
35
- }
36
- }
37
- catch (err) {
38
- batchItemFailures.push({
39
- itemIdentifier: record.messageId,
40
- });
41
- }
42
- }
43
- }
44
- catch (err) {
45
- console.error(err);
46
- throw err;
47
- }
48
- return {
49
- batchItemFailures,
50
- };
51
- };
52
- exports.handler = handler;
53
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmV2YWxpZGF0ZS5sYW1iZGEuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGFtYmRhcy9yZXZhbGlkYXRlL3JldmFsaWRhdGUubGFtYmRhLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUdPLE1BQU0sT0FBTyxHQUFlLEtBQUssRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLEVBQUU7SUFDMUQsT0FBTyxDQUFDLEdBQUcsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUM7SUFDdkIsT0FBTyxDQUFDO0lBQ1IsTUFBTSxpQkFBaUIsR0FBMEIsRUFBRSxDQUFDO0lBQ3BELElBQUksQ0FBQztRQUNILEtBQUssTUFBTSxNQUFNLElBQUksS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ25DLE1BQU0sR0FBRyxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUM7WUFDeEIsTUFBTSxhQUFhLEdBQUcsT0FBTyxDQUFDLEdBQUcsQ0FBQyxlQUFlLENBQUM7WUFDbEQsSUFBSSxDQUFDLEdBQUc7Z0JBQUUsTUFBTSxJQUFJLEtBQUssQ0FBQyxhQUFhLENBQUMsQ0FBQztZQUN6QyxJQUFJLENBQUMsYUFBYTtnQkFBRSxNQUFNLElBQUksS0FBSyxDQUFDLHVCQUF1QixDQUFDLENBQUM7WUFDN0Qsd0lBQXdJO1lBQ3hJLG9EQUFvRDtZQUNwRCxzRUFBc0U7WUFDdEUsdUVBQXVFO1lBQ3ZFLHdFQUF3RTtZQUN4RSxtRUFBbUU7WUFDbkUsMkJBQTJCO1lBQzNCLG9JQUFvSTtZQUNwSSxJQUFJLENBQUM7Z0JBQ0gsTUFBTSxHQUFHLEdBQUcsTUFBTSxLQUFLLENBQUMsR0FBRyxFQUFFO29CQUMzQixNQUFNLEVBQUUsTUFBTTtvQkFDZCxPQUFPLEVBQUU7d0JBQ1Asd0JBQXdCLEVBQUUsYUFBYTt3QkFDdkMsT0FBTyxFQUFFLEdBQUc7cUJBQ2I7aUJBQ0YsQ0FBQyxDQUFDO2dCQUNILE1BQU0sa0JBQWtCLEdBQUcsR0FBRyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztnQkFDN0QsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLElBQUksa0JBQWtCLEtBQUssYUFBYSxFQUFFLENBQUM7b0JBQ3BELE1BQU0sSUFBSSxLQUFLLENBQ2Isa0JBQWtCLEdBQUcsQ0FBQyxNQUFNLHFCQUFxQixrQkFBa0IsRUFBRSxDQUN0RSxDQUFDO2dCQUNKLENBQUM7WUFDSCxDQUFDO1lBQUMsT0FBTyxHQUFHLEVBQUUsQ0FBQztnQkFDYixpQkFBaUIsQ0FBQyxJQUFJLENBQUM7b0JBQ3JCLGNBQWMsRUFBRSxNQUFNLENBQUMsU0FBUztpQkFDakMsQ0FBQyxDQUFDO1lBQ0wsQ0FBQztRQUNILENBQUM7SUFDSCxDQUFDO0lBQUMsT0FBTyxHQUFHLEVBQUUsQ0FBQztRQUNiLE9BQU8sQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDbkIsTUFBTSxHQUFHLENBQUM7SUFDWixDQUFDO0lBQ0QsT0FBTztRQUNMLGlCQUFpQjtLQUNsQixDQUFDO0FBQ0osQ0FBQyxDQUFDO0FBN0NXLFFBQUEsT0FBTyxXQTZDbEIiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgaW1wb3J0L25vLWV4dHJhbmVvdXMtZGVwZW5kZW5jaWVzXG5pbXBvcnQgeyBTUVNCYXRjaEl0ZW1GYWlsdXJlLCBTUVNIYW5kbGVyIH0gZnJvbSBcImF3cy1sYW1iZGFcIjtcblxuZXhwb3J0IGNvbnN0IGhhbmRsZXI6IFNRU0hhbmRsZXIgPSBhc3luYyAoZXZlbnQsIGNvbnRleHQpID0+IHtcbiAgY29uc29sZS5sb2coeyBldmVudCB9KTtcbiAgY29udGV4dDtcbiAgY29uc3QgYmF0Y2hJdGVtRmFpbHVyZXM6IFNRU0JhdGNoSXRlbUZhaWx1cmVbXSA9IFtdO1xuICB0cnkge1xuICAgIGZvciAoY29uc3QgcmVjb3JkIG9mIGV2ZW50LlJlY29yZHMpIHtcbiAgICAgIGNvbnN0IHVybCA9IHJlY29yZC5ib2R5O1xuICAgICAgY29uc3QgcHJldmlld01vZGVJZCA9IHByb2Nlc3MuZW52LlBSRVZJRVdfTU9ERV9JRDtcbiAgICAgIGlmICghdXJsKSB0aHJvdyBuZXcgRXJyb3IoXCJNaXNzaW5nIHVybFwiKTtcbiAgICAgIGlmICghcHJldmlld01vZGVJZCkgdGhyb3cgbmV3IEVycm9yKFwiTWlzc2luZyBwcmV2aWV3TW9kZUlkXCIpO1xuICAgICAgLy8gc2VlOiBodHRwczovL2dpdGh1Yi5jb20vc3N0L29wZW4tbmV4dC9ibG9iL2FiODQ0ZGI3YTIxYTA1NjE1NTk5MmNjZjBiZGY5YjgzNTM2MmNkMTkvcGFja2FnZXMvb3Blbi1uZXh0L3NyYy9hZGFwdGVycy9yZXZhbGlkYXRlLnRzI0w0M1xuICAgICAgLy8gTWFrZSBhIEhFQUQgcmVxdWVzdCB0byB0aGUgcGFnZSB0byByZXZhbGlkYXRlIGl0LlxuICAgICAgLy8gLSBIRUFEIHJlcXVlc3QgaXMgdXNlZCBiL2MgaXQncyBub3QgbmVjZXNzYXJ5IHRvIG1ha2UgYSBHRVQgcmVxdWVzdFxuICAgICAgLy8gICBhbmQgaGF2ZSBDbG91ZEZyb250IGNhY2hlIHRoZSByZXF1ZXN0LiBUaGlzIGlzIGJlY2F1c2UgdGhlIHJlcXVlc3RcbiAgICAgIC8vICAgZG9lcyBub3QgaGF2ZSByZWFsIGxpZmUgaGVhZGVycyBhbmQgdGhlIGNhY2hlIHdvbid0IGJlIHVzZWQgYW55d2F5LlxuICAgICAgLy8gLSBcInByZXZpZXdNb2RlSWRcIiBpcyB1c2VkIHRvIGVuc3VyZSB0aGUgcGFnZSBpcyByZXZhbGlkYXRlZCBpbiBhXG4gICAgICAvLyAgIGJsb2NraW5nIHdheSBpbiBsYW1iZGFcbiAgICAgIC8vICAgaHR0cHM6Ly9naXRodWIuY29tL3ZlcmNlbC9uZXh0LmpzL2Jsb2IvMTA4OGIzZjY4MmNiZTQxMWJlMmQxZWRjNTAyZjhhMDkwZTM2ZGVlNC9wYWNrYWdlcy9uZXh0L3NyYy9zZXJ2ZXIvYXBpLXV0aWxzL25vZGUudHMjTDM1M1xuICAgICAgdHJ5IHtcbiAgICAgICAgY29uc3QgcmVzID0gYXdhaXQgZmV0Y2godXJsLCB7XG4gICAgICAgICAgbWV0aG9kOiBcIkhFQURcIixcbiAgICAgICAgICBoZWFkZXJzOiB7XG4gICAgICAgICAgICBcIngtcHJlcmVuZGVyLXJldmFsaWRhdGVcIjogcHJldmlld01vZGVJZCxcbiAgICAgICAgICAgIFwieC1pc3JcIjogXCIxXCIsXG4gICAgICAgICAgfSxcbiAgICAgICAgfSk7XG4gICAgICAgIGNvbnN0IHhOZXh0anNDYWNoZUhlYWRlciA9IHJlcy5oZWFkZXJzLmdldChcIngtbmV4dGpzLWNhY2hlXCIpO1xuICAgICAgICBpZiAoIXJlcy5vayB8fCB4TmV4dGpzQ2FjaGVIZWFkZXIgIT09IFwiUkVWQUxJREFURURcIikge1xuICAgICAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgICAgIGBSZXNwb25zZSBjb2RlOiAke3Jlcy5zdGF0dXN9LCB4LW5leHRqcy1jYWNoZTogJHt4TmV4dGpzQ2FjaGVIZWFkZXJ9YCxcbiAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgICAgYmF0Y2hJdGVtRmFpbHVyZXMucHVzaCh7XG4gICAgICAgICAgaXRlbUlkZW50aWZpZXI6IHJlY29yZC5tZXNzYWdlSWQsXG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH1cbiAgfSBjYXRjaCAoZXJyKSB7XG4gICAgY29uc29sZS5lcnJvcihlcnIpO1xuICAgIHRocm93IGVycjtcbiAgfVxuICByZXR1cm4ge1xuICAgIGJhdGNoSXRlbUZhaWx1cmVzLFxuICB9O1xufTtcbiJdfQ==
@@ -1 +0,0 @@
1
- export {};
@@ -1,23 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const fs_1 = require("fs");
4
- /**
5
- * For `NextjsGlobalFunctions`, adds custom [Cache Handler](https://nextjs.org/docs/app/api-reference/next-config-js/incrementalCacheHandlerPath)
6
- * so that time-based revalidation works. In serverless environment, functions
7
- * spin down after request is complete but Next.js depends upon compute to still
8
- * be running for time-based revalidation to work properly so we need to perform
9
- * work async and use SQS Queue to do so.
10
- */
11
- function addCacheHandler(requiredServerFilesPath) {
12
- if (!(0, fs_1.existsSync)(requiredServerFilesPath)) {
13
- throw new Error(`Could not find required server files path: ${requiredServerFilesPath}`);
14
- }
15
- const requiredServerFiles = JSON.parse((0, fs_1.readFileSync)(requiredServerFilesPath, {
16
- encoding: "utf-8",
17
- }));
18
- requiredServerFiles.config.cacheHandler = "../cache-handler.cjs";
19
- (0, fs_1.writeFileSync)(requiredServerFilesPath, JSON.stringify(requiredServerFiles));
20
- }
21
- const [requiredServerFilesPath] = process.argv.slice(2);
22
- addCacheHandler(requiredServerFilesPath);
23
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRkLWNhY2hlLWhhbmRsZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbmV4dGpzLWJ1aWxkL2FkZC1jYWNoZS1oYW5kbGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsMkJBQTZEO0FBRTdEOzs7Ozs7R0FNRztBQUNILFNBQVMsZUFBZSxDQUFDLHVCQUErQjtJQUN0RCxJQUFJLENBQUMsSUFBQSxlQUFVLEVBQUMsdUJBQXVCLENBQUMsRUFBRSxDQUFDO1FBQ3pDLE1BQU0sSUFBSSxLQUFLLENBQ2IsOENBQThDLHVCQUF1QixFQUFFLENBQ3hFLENBQUM7SUFDSixDQUFDO0lBQ0QsTUFBTSxtQkFBbUIsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUNwQyxJQUFBLGlCQUFZLEVBQUMsdUJBQXVCLEVBQUU7UUFDcEMsUUFBUSxFQUFFLE9BQU87S0FDbEIsQ0FBQyxDQUNILENBQUM7SUFDRixtQkFBbUIsQ0FBQyxNQUFNLENBQUMsWUFBWSxHQUFHLHNCQUFzQixDQUFDO0lBQ2pFLElBQUEsa0JBQWEsRUFBQyx1QkFBdUIsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLG1CQUFtQixDQUFDLENBQUMsQ0FBQztBQUM5RSxDQUFDO0FBRUQsTUFBTSxDQUFDLHVCQUF1QixDQUFDLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDeEQsZUFBZSxDQUFDLHVCQUF1QixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBleGlzdHNTeW5jLCByZWFkRmlsZVN5bmMsIHdyaXRlRmlsZVN5bmMgfSBmcm9tIFwiZnNcIjtcblxuLyoqXG4gKiBGb3IgYE5leHRqc0dsb2JhbEZ1bmN0aW9uc2AsIGFkZHMgY3VzdG9tIFtDYWNoZSBIYW5kbGVyXShodHRwczovL25leHRqcy5vcmcvZG9jcy9hcHAvYXBpLXJlZmVyZW5jZS9uZXh0LWNvbmZpZy1qcy9pbmNyZW1lbnRhbENhY2hlSGFuZGxlclBhdGgpXG4gKiBzbyB0aGF0IHRpbWUtYmFzZWQgcmV2YWxpZGF0aW9uIHdvcmtzLiBJbiBzZXJ2ZXJsZXNzIGVudmlyb25tZW50LCBmdW5jdGlvbnNcbiAqIHNwaW4gZG93biBhZnRlciByZXF1ZXN0IGlzIGNvbXBsZXRlIGJ1dCBOZXh0LmpzIGRlcGVuZHMgdXBvbiBjb21wdXRlIHRvIHN0aWxsXG4gKiBiZSBydW5uaW5nIGZvciB0aW1lLWJhc2VkIHJldmFsaWRhdGlvbiB0byB3b3JrIHByb3Blcmx5IHNvIHdlIG5lZWQgdG8gcGVyZm9ybVxuICogd29yayBhc3luYyBhbmQgdXNlIFNRUyBRdWV1ZSB0byBkbyBzby5cbiAqL1xuZnVuY3Rpb24gYWRkQ2FjaGVIYW5kbGVyKHJlcXVpcmVkU2VydmVyRmlsZXNQYXRoOiBzdHJpbmcpIHtcbiAgaWYgKCFleGlzdHNTeW5jKHJlcXVpcmVkU2VydmVyRmlsZXNQYXRoKSkge1xuICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgIGBDb3VsZCBub3QgZmluZCByZXF1aXJlZCBzZXJ2ZXIgZmlsZXMgcGF0aDogJHtyZXF1aXJlZFNlcnZlckZpbGVzUGF0aH1gLFxuICAgICk7XG4gIH1cbiAgY29uc3QgcmVxdWlyZWRTZXJ2ZXJGaWxlcyA9IEpTT04ucGFyc2UoXG4gICAgcmVhZEZpbGVTeW5jKHJlcXVpcmVkU2VydmVyRmlsZXNQYXRoLCB7XG4gICAgICBlbmNvZGluZzogXCJ1dGYtOFwiLFxuICAgIH0pLFxuICApO1xuICByZXF1aXJlZFNlcnZlckZpbGVzLmNvbmZpZy5jYWNoZUhhbmRsZXIgPSBcIi4uL2NhY2hlLWhhbmRsZXIuY2pzXCI7XG4gIHdyaXRlRmlsZVN5bmMocmVxdWlyZWRTZXJ2ZXJGaWxlc1BhdGgsIEpTT04uc3RyaW5naWZ5KHJlcXVpcmVkU2VydmVyRmlsZXMpKTtcbn1cblxuY29uc3QgW3JlcXVpcmVkU2VydmVyRmlsZXNQYXRoXSA9IHByb2Nlc3MuYXJndi5zbGljZSgyKTtcbmFkZENhY2hlSGFuZGxlcihyZXF1aXJlZFNlcnZlckZpbGVzUGF0aCk7XG4iXX0=
@@ -1,18 +0,0 @@
1
- // src/nextjs-build/add-cache-handler.ts
2
- import { existsSync, readFileSync, writeFileSync } from "fs";
3
- function addCacheHandler(requiredServerFilesPath2) {
4
- if (!existsSync(requiredServerFilesPath2)) {
5
- throw new Error(
6
- `Could not find required server files path: ${requiredServerFilesPath2}`
7
- );
8
- }
9
- const requiredServerFiles = JSON.parse(
10
- readFileSync(requiredServerFilesPath2, {
11
- encoding: "utf-8"
12
- })
13
- );
14
- requiredServerFiles.config.cacheHandler = "../cache-handler.cjs";
15
- writeFileSync(requiredServerFilesPath2, JSON.stringify(requiredServerFiles));
16
- }
17
- var [requiredServerFilesPath] = process.argv.slice(2);
18
- addCacheHandler(requiredServerFilesPath);