cdk-nextjs 0.5.14 → 0.5.16

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 (51) hide show
  1. package/.jsii +719 -258
  2. package/.jsii.tabl.json +1 -1
  3. package/API.md +543 -14
  4. package/README.md +1 -1
  5. package/docs/breaking-changes.md +33 -0
  6. package/docs/caching-guide.md +9 -0
  7. package/docs/plans/adapter-runtime-release.md +362 -0
  8. package/docs/plans/phase-0-image-function-opt-in.md +295 -0
  9. package/lib/adapter/cache-handler.mjs +50916 -13061
  10. package/lib/adapter/memory-cache-handler.d.ts +1 -1
  11. package/lib/adapter/memory-cache-handler.js +17 -11
  12. package/lib/adapter/memory-cache-handler.test.js +57 -1
  13. package/lib/adapter/s3-cache-handler.d.ts +33 -0
  14. package/lib/adapter/s3-cache-handler.js +96 -1
  15. package/lib/adapter/s3-cache-handler.test.js +66 -1
  16. package/lib/generated-structs/OptionalNextjsDistributionProps.d.ts +10 -0
  17. package/lib/generated-structs/OptionalNextjsDistributionProps.js +1 -1
  18. package/lib/image-optimization/handler-utils.d.ts +32 -0
  19. package/lib/image-optimization/handler-utils.js +77 -0
  20. package/lib/image-optimization/handler-utils.test.d.ts +1 -0
  21. package/lib/image-optimization/handler-utils.test.js +142 -0
  22. package/lib/image-optimization/handler.mjs +56112 -0
  23. package/lib/index.d.ts +2 -1
  24. package/lib/index.js +4 -2
  25. package/lib/nextjs-api.d.ts +18 -0
  26. package/lib/nextjs-api.js +25 -9
  27. package/lib/nextjs-build/nextjs-build.d.ts +52 -0
  28. package/lib/nextjs-build/nextjs-build.js +174 -27
  29. package/lib/nextjs-cache.js +1 -1
  30. package/lib/nextjs-compute/nextjs-containers.js +1 -1
  31. package/lib/nextjs-compute/nextjs-functions.js +1 -1
  32. package/lib/nextjs-compute/nextjs-image-function.d.ts +43 -0
  33. package/lib/nextjs-compute/nextjs-image-function.js +58 -0
  34. package/lib/nextjs-distribution.d.ts +22 -0
  35. package/lib/nextjs-distribution.js +25 -3
  36. package/lib/nextjs-post-deploy.js +1 -1
  37. package/lib/nextjs-static-assets.js +1 -1
  38. package/lib/root-constructs/nextjs-base-construct.d.ts +24 -1
  39. package/lib/root-constructs/nextjs-base-construct.js +42 -2
  40. package/lib/root-constructs/nextjs-global-containers.d.ts +15 -0
  41. package/lib/root-constructs/nextjs-global-containers.js +57 -2
  42. package/lib/root-constructs/nextjs-global-functions.d.ts +27 -5
  43. package/lib/root-constructs/nextjs-global-functions.js +67 -17
  44. package/lib/root-constructs/nextjs-regional-containers.js +1 -1
  45. package/lib/root-constructs/nextjs-regional-functions.d.ts +11 -5
  46. package/lib/root-constructs/nextjs-regional-functions.js +14 -18
  47. package/lib/utils/experimental-flags.d.ts +24 -0
  48. package/lib/utils/experimental-flags.js +30 -0
  49. package/lib/utils/get-architecture.d.ts +10 -0
  50. package/lib/utils/get-architecture.js +17 -2
  51. package/package.json +4 -1
@@ -1,8 +1,23 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getNodeArchitecture = getNodeArchitecture;
3
4
  exports.getLambdaArchitecture = getLambdaArchitecture;
4
5
  const aws_lambda_1 = require("aws-cdk-lib/aws-lambda");
6
+ /**
7
+ * Host architecture normalized to the two Lambda supports, spelled the way
8
+ * Sharp's `@img/sharp-<platform>-<arch>` packages spell it.
9
+ *
10
+ * The Lambda's architecture and the Sharp binaries bundled into its asset must
11
+ * come from this one value: deriving them separately lets them disagree on a
12
+ * host that is neither x64 nor arm (e.g. s390x), which produces a Lambda that
13
+ * fails to load its own bindings.
14
+ */
15
+ function getNodeArchitecture() {
16
+ return process.arch.startsWith("arm") ? "arm64" : "x64";
17
+ }
5
18
  function getLambdaArchitecture() {
6
- return process.arch === "x64" ? aws_lambda_1.Architecture.X86_64 : aws_lambda_1.Architecture.ARM_64;
19
+ return getNodeArchitecture() === "arm64"
20
+ ? aws_lambda_1.Architecture.ARM_64
21
+ : aws_lambda_1.Architecture.X86_64;
7
22
  }
8
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LWFyY2hpdGVjdHVyZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlscy9nZXQtYXJjaGl0ZWN0dXJlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBRUEsc0RBRUM7QUFKRCx1REFBc0Q7QUFFdEQsU0FBZ0IscUJBQXFCO0lBQ25DLE9BQU8sT0FBTyxDQUFDLElBQUksS0FBSyxLQUFLLENBQUMsQ0FBQyxDQUFDLHlCQUFZLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyx5QkFBWSxDQUFDLE1BQU0sQ0FBQztBQUM1RSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQXJjaGl0ZWN0dXJlIH0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1sYW1iZGFcIjtcblxuZXhwb3J0IGZ1bmN0aW9uIGdldExhbWJkYUFyY2hpdGVjdHVyZSgpOiBBcmNoaXRlY3R1cmUge1xuICByZXR1cm4gcHJvY2Vzcy5hcmNoID09PSBcIng2NFwiID8gQXJjaGl0ZWN0dXJlLlg4Nl82NCA6IEFyY2hpdGVjdHVyZS5BUk1fNjQ7XG59XG4iXX0=
23
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LWFyY2hpdGVjdHVyZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlscy9nZXQtYXJjaGl0ZWN0dXJlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBV0Esa0RBRUM7QUFFRCxzREFJQztBQW5CRCx1REFBc0Q7QUFFdEQ7Ozs7Ozs7O0dBUUc7QUFDSCxTQUFnQixtQkFBbUI7SUFDakMsT0FBTyxPQUFPLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7QUFDMUQsQ0FBQztBQUVELFNBQWdCLHFCQUFxQjtJQUNuQyxPQUFPLG1CQUFtQixFQUFFLEtBQUssT0FBTztRQUN0QyxDQUFDLENBQUMseUJBQVksQ0FBQyxNQUFNO1FBQ3JCLENBQUMsQ0FBQyx5QkFBWSxDQUFDLE1BQU0sQ0FBQztBQUMxQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQXJjaGl0ZWN0dXJlIH0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1sYW1iZGFcIjtcblxuLyoqXG4gKiBIb3N0IGFyY2hpdGVjdHVyZSBub3JtYWxpemVkIHRvIHRoZSB0d28gTGFtYmRhIHN1cHBvcnRzLCBzcGVsbGVkIHRoZSB3YXlcbiAqIFNoYXJwJ3MgYEBpbWcvc2hhcnAtPHBsYXRmb3JtPi08YXJjaD5gIHBhY2thZ2VzIHNwZWxsIGl0LlxuICpcbiAqIFRoZSBMYW1iZGEncyBhcmNoaXRlY3R1cmUgYW5kIHRoZSBTaGFycCBiaW5hcmllcyBidW5kbGVkIGludG8gaXRzIGFzc2V0IG11c3RcbiAqIGNvbWUgZnJvbSB0aGlzIG9uZSB2YWx1ZTogZGVyaXZpbmcgdGhlbSBzZXBhcmF0ZWx5IGxldHMgdGhlbSBkaXNhZ3JlZSBvbiBhXG4gKiBob3N0IHRoYXQgaXMgbmVpdGhlciB4NjQgbm9yIGFybSAoZS5nLiBzMzkweCksIHdoaWNoIHByb2R1Y2VzIGEgTGFtYmRhIHRoYXRcbiAqIGZhaWxzIHRvIGxvYWQgaXRzIG93biBiaW5kaW5ncy5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldE5vZGVBcmNoaXRlY3R1cmUoKTogc3RyaW5nIHtcbiAgcmV0dXJuIHByb2Nlc3MuYXJjaC5zdGFydHNXaXRoKFwiYXJtXCIpID8gXCJhcm02NFwiIDogXCJ4NjRcIjtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldExhbWJkYUFyY2hpdGVjdHVyZSgpOiBBcmNoaXRlY3R1cmUge1xuICByZXR1cm4gZ2V0Tm9kZUFyY2hpdGVjdHVyZSgpID09PSBcImFybTY0XCJcbiAgICA/IEFyY2hpdGVjdHVyZS5BUk1fNjRcbiAgICA6IEFyY2hpdGVjdHVyZS5YODZfNjQ7XG59XG4iXX0=
package/package.json CHANGED
@@ -17,6 +17,7 @@
17
17
  "@aws-sdk/client-cloudfront": "^3.1121.0",
18
18
  "@aws-sdk/client-dynamodb": "^3.1121.0",
19
19
  "@aws-sdk/client-s3": "^3.1121.0",
20
+ "@aws-sdk/client-ssm": "^3.1136.0",
20
21
  "@aws-sdk/lib-storage": "^3.1121.0",
21
22
  "@mrgrain/jsii-struct-builder": "^0.7.64",
22
23
  "@smithy/signature-v4": "^2.3.0",
@@ -80,7 +81,7 @@
80
81
  "publishConfig": {
81
82
  "access": "public"
82
83
  },
83
- "version": "0.5.14",
84
+ "version": "0.5.16",
84
85
  "jest": {
85
86
  "coverageProvider": "v8",
86
87
  "testPathIgnorePatterns": [
@@ -160,6 +161,8 @@
160
161
  "bundle:adapter/adapter:watch": "pnpm dlx projen bundle:adapter/adapter:watch",
161
162
  "bundle:adapter/cache-handler": "pnpm dlx projen bundle:adapter/cache-handler",
162
163
  "bundle:adapter/cache-handler:watch": "pnpm dlx projen bundle:adapter/cache-handler:watch",
164
+ "bundle:image-optimization/handler": "pnpm dlx projen bundle:image-optimization/handler",
165
+ "bundle:image-optimization/handler:watch": "pnpm dlx projen bundle:image-optimization/handler:watch",
163
166
  "bundle:lambdas/post-deploy/post-deploy.lambda": "pnpm dlx projen bundle:lambdas/post-deploy/post-deploy.lambda",
164
167
  "bundle:lambdas/post-deploy/post-deploy.lambda:watch": "pnpm dlx projen bundle:lambdas/post-deploy/post-deploy.lambda:watch",
165
168
  "bundle:nextjs-build/patch-fetch": "pnpm dlx projen bundle:nextjs-build/patch-fetch",