cdk-nextjs 0.4.1 → 0.4.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (47) hide show
  1. package/.jsii +1254 -733
  2. package/API.md +2458 -1108
  3. package/README.md +220 -7
  4. package/docs/1k-concurrent-users-executions.png +0 -0
  5. package/docs/cdk-nextjs-NextjsGlobalContainers.png +0 -0
  6. package/docs/cdk-nextjs-NextjsGlobalFunctions.png +0 -0
  7. package/docs/cdk-nextjs-NextjsRegionalContainers.png +0 -0
  8. package/docs/cdk-nextjs-NextjsRegionalFunctions.png +0 -0
  9. package/docs/cdk-nextjs-cfn-exec-policy.json +27 -0
  10. package/docs/cdk-nextjs.drawio +147 -76
  11. package/docs/usage.xlsx +0 -0
  12. package/lib/constants.d.ts +2 -1
  13. package/lib/constants.js +2 -1
  14. package/lib/generated-structs/OptionalNextjsDistributionProps.d.ts +1 -1
  15. package/lib/generated-structs/OptionalNextjsDistributionProps.js +1 -1
  16. package/lib/index.d.ts +3 -2
  17. package/lib/index.js +8 -2
  18. package/lib/nextjs-api.d.ts +71 -0
  19. package/lib/nextjs-api.js +173 -0
  20. package/lib/nextjs-assets-deployment.js +2 -2
  21. package/lib/nextjs-build/nextjs-build.d.ts +1 -1
  22. package/lib/nextjs-build/nextjs-build.js +2 -2
  23. package/lib/nextjs-compute/nextjs-containers.js +1 -1
  24. package/lib/nextjs-compute/nextjs-functions.d.ts +3 -1
  25. package/lib/nextjs-compute/nextjs-functions.js +11 -10
  26. package/lib/nextjs-distribution.d.ts +3 -3
  27. package/lib/nextjs-distribution.js +3 -3
  28. package/lib/nextjs-file-system.js +1 -1
  29. package/lib/nextjs-post-deploy.js +1 -1
  30. package/lib/nextjs-static-assets.d.ts +0 -4
  31. package/lib/nextjs-static-assets.js +2 -2
  32. package/lib/nextjs-vpc.js +1 -1
  33. package/lib/root-constructs/nextjs-base-construct.d.ts +137 -0
  34. package/lib/root-constructs/nextjs-base-construct.js +112 -0
  35. package/lib/root-constructs/nextjs-global-containers.d.ts +5 -32
  36. package/lib/root-constructs/nextjs-global-containers.js +10 -83
  37. package/lib/root-constructs/nextjs-global-functions.d.ts +5 -32
  38. package/lib/root-constructs/nextjs-global-functions.js +12 -84
  39. package/lib/root-constructs/nextjs-regional-containers.d.ts +5 -21
  40. package/lib/root-constructs/nextjs-regional-containers.js +10 -71
  41. package/lib/root-constructs/nextjs-regional-functions.d.ts +37 -0
  42. package/lib/root-constructs/nextjs-regional-functions.js +58 -0
  43. package/package.json +6 -6
  44. package/lib/root-constructs/nextjs-base-overrides.d.ts +0 -30
  45. package/lib/root-constructs/nextjs-base-overrides.js +0 -3
  46. package/lib/root-constructs/nextjs-base-props.d.ts +0 -64
  47. package/lib/root-constructs/nextjs-base-props.js +0 -3
@@ -1,64 +0,0 @@
1
- export interface NextjsBaseProps {
2
- /**
3
- * Command to generate optimized version of your Next.js app in container;
4
- * @default "npm run build"
5
- */
6
- readonly buildCommand?: string;
7
- /**
8
- * [Build context](https://docs.docker.com/build/building/context/) for
9
- * `docker build`. This directory should contain your lockfile (i.e.
10
- * pnpm-lock.yaml) for your Next.js app. If you're not in a monorepo, then
11
- * this will be the same directory as your Next.js app. If you are in a
12
- * monorepo, then this value should be the root of your monorepo. You then
13
- * must pass the relative path to your Next.js app via {@link NextjsBaseProps.relativePathToPackage}
14
- *
15
- * Note, by default cdk-nextjs' `builder.Dockerfile` is used to build your
16
- * Next.js app. You can customize this by specifying `overrides.{nextjs...}.nextjsBuildProps.builderImageProps.file`.
17
- * If you override the default, then you are responsible for ensuring the
18
- * Dockerfile is in the build context directory before cdk-nextjs construct
19
- * is instantiated.
20
- * @example join(import.meta.dirname, "..") (monorepo)
21
- */
22
- readonly buildContext: string;
23
- /**
24
- * Path to API Route Handler that returns HTTP 200 to ensure compute health.
25
- * @example "/api/health"
26
- * @example
27
- * // api/health/route.ts
28
- * import { NextResponse } from "next/server";
29
- *
30
- * export function GET() {
31
- * return NextResponse.json("");
32
- * }
33
- */
34
- readonly healthCheckPath: string;
35
- /**
36
- * Use this if building in monorepo. This is the relative path from
37
- * {@link NextjsBaseProps.buildContext} or root workspace to nested package
38
- * containing Next.js app. See example below:
39
- *
40
- * Let's say you have a monorepo with the following folder structure:
41
- * - my-monorepo/
42
- * - packages/
43
- * - ui/
44
- * - package.json (nested)
45
- * - package.json (root)
46
- *
47
- * And your Next.js app directory is the ui folder. Then you would set {@link NextjsBaseProps.buildContext}
48
- * to `"/absolute/path/to/my-monorepo"` and {@link NextjsBaseProps.relativePathToPackage}
49
- * to `"./packages/ui"`.
50
- *
51
- * Note, setting {@link NextjsBaseProps.buildContext} to the root of your
52
- * monorepo will invalidate container runtime (i.e. docker) build cache when any file is
53
- * changed in your monorepo. This is slows down deployments. Checkout how you
54
- * can use [turbo](https://turbo.build/) in [Deploying with Docker Guide](https://turbo.build/repo/docs/handbook/deploying-with-docker)
55
- * in the cdk-nextjs/examples/turbo.
56
- *
57
- * @example "./packages/ui"
58
- */
59
- readonly relativePathToPackage?: string;
60
- /**
61
- * @deprecated use relativePathToPackage
62
- */
63
- readonly relativePathToWorkspace?: string;
64
- }
@@ -1,3 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmV4dGpzLWJhc2UtcHJvcHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcm9vdC1jb25zdHJ1Y3RzL25leHRqcy1iYXNlLXByb3BzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIE5leHRqc0Jhc2VQcm9wcyB7XG4gIC8qKlxuICAgKiBDb21tYW5kIHRvIGdlbmVyYXRlIG9wdGltaXplZCB2ZXJzaW9uIG9mIHlvdXIgTmV4dC5qcyBhcHAgaW4gY29udGFpbmVyO1xuICAgKiBAZGVmYXVsdCBcIm5wbSBydW4gYnVpbGRcIlxuICAgKi9cbiAgcmVhZG9ubHkgYnVpbGRDb21tYW5kPzogc3RyaW5nO1xuICAvKipcbiAgICogW0J1aWxkIGNvbnRleHRdKGh0dHBzOi8vZG9jcy5kb2NrZXIuY29tL2J1aWxkL2J1aWxkaW5nL2NvbnRleHQvKSBmb3JcbiAgICogYGRvY2tlciBidWlsZGAuIFRoaXMgZGlyZWN0b3J5IHNob3VsZCBjb250YWluIHlvdXIgbG9ja2ZpbGUgKGkuZS5cbiAgICogcG5wbS1sb2NrLnlhbWwpIGZvciB5b3VyIE5leHQuanMgYXBwLiBJZiB5b3UncmUgbm90IGluIGEgbW9ub3JlcG8sIHRoZW5cbiAgICogdGhpcyB3aWxsIGJlIHRoZSBzYW1lIGRpcmVjdG9yeSBhcyB5b3VyIE5leHQuanMgYXBwLiBJZiB5b3UgYXJlIGluIGFcbiAgICogbW9ub3JlcG8sIHRoZW4gdGhpcyB2YWx1ZSBzaG91bGQgYmUgdGhlIHJvb3Qgb2YgeW91ciBtb25vcmVwby4gWW91IHRoZW5cbiAgICogbXVzdCBwYXNzIHRoZSByZWxhdGl2ZSBwYXRoIHRvIHlvdXIgTmV4dC5qcyBhcHAgdmlhIHtAbGluayBOZXh0anNCYXNlUHJvcHMucmVsYXRpdmVQYXRoVG9QYWNrYWdlfVxuICAgKlxuICAgKiBOb3RlLCBieSBkZWZhdWx0IGNkay1uZXh0anMnIGBidWlsZGVyLkRvY2tlcmZpbGVgIGlzIHVzZWQgdG8gYnVpbGQgeW91clxuICAgKiBOZXh0LmpzIGFwcC4gWW91IGNhbiBjdXN0b21pemUgdGhpcyBieSBzcGVjaWZ5aW5nIGBvdmVycmlkZXMue25leHRqcy4uLn0ubmV4dGpzQnVpbGRQcm9wcy5idWlsZGVySW1hZ2VQcm9wcy5maWxlYC5cbiAgICogSWYgeW91IG92ZXJyaWRlIHRoZSBkZWZhdWx0LCB0aGVuIHlvdSBhcmUgcmVzcG9uc2libGUgZm9yIGVuc3VyaW5nIHRoZVxuICAgKiBEb2NrZXJmaWxlIGlzIGluIHRoZSBidWlsZCBjb250ZXh0IGRpcmVjdG9yeSBiZWZvcmUgY2RrLW5leHRqcyBjb25zdHJ1Y3RcbiAgICogaXMgaW5zdGFudGlhdGVkLlxuICAgKiBAZXhhbXBsZSBqb2luKGltcG9ydC5tZXRhLmRpcm5hbWUsIFwiLi5cIikgKG1vbm9yZXBvKVxuICAgKi9cbiAgcmVhZG9ubHkgYnVpbGRDb250ZXh0OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBQYXRoIHRvIEFQSSBSb3V0ZSBIYW5kbGVyIHRoYXQgcmV0dXJucyBIVFRQIDIwMCB0byBlbnN1cmUgY29tcHV0ZSBoZWFsdGguXG4gICAqIEBleGFtcGxlIFwiL2FwaS9oZWFsdGhcIlxuICAgKiBAZXhhbXBsZVxuICAgKiAvLyBhcGkvaGVhbHRoL3JvdXRlLnRzXG4gICAqIGltcG9ydCB7IE5leHRSZXNwb25zZSB9IGZyb20gXCJuZXh0L3NlcnZlclwiO1xuICAgKlxuICAgKiBleHBvcnQgZnVuY3Rpb24gR0VUKCkge1xuICAgKiAgIHJldHVybiBOZXh0UmVzcG9uc2UuanNvbihcIlwiKTtcbiAgICogfVxuICAgKi9cbiAgcmVhZG9ubHkgaGVhbHRoQ2hlY2tQYXRoOiBzdHJpbmc7XG4gIC8qKlxuICAgKiBVc2UgdGhpcyBpZiBidWlsZGluZyBpbiBtb25vcmVwby4gVGhpcyBpcyB0aGUgcmVsYXRpdmUgcGF0aCBmcm9tXG4gICAqIHtAbGluayBOZXh0anNCYXNlUHJvcHMuYnVpbGRDb250ZXh0fSBvciByb290IHdvcmtzcGFjZSB0byBuZXN0ZWQgcGFja2FnZVxuICAgKiBjb250YWluaW5nIE5leHQuanMgYXBwLiBTZWUgZXhhbXBsZSBiZWxvdzpcbiAgICpcbiAgICogTGV0J3Mgc2F5IHlvdSBoYXZlIGEgbW9ub3JlcG8gd2l0aCB0aGUgZm9sbG93aW5nIGZvbGRlciBzdHJ1Y3R1cmU6XG4gICAqIC0gbXktbW9ub3JlcG8vXG4gICAqICAgLSBwYWNrYWdlcy9cbiAgICogICAgIC0gdWkvXG4gICAqICAgICAgIC0gcGFja2FnZS5qc29uIChuZXN0ZWQpXG4gICAqICAgLSBwYWNrYWdlLmpzb24gKHJvb3QpXG4gICAqXG4gICAqIEFuZCB5b3VyIE5leHQuanMgYXBwIGRpcmVjdG9yeSBpcyB0aGUgdWkgZm9sZGVyLiBUaGVuIHlvdSB3b3VsZCBzZXQge0BsaW5rIE5leHRqc0Jhc2VQcm9wcy5idWlsZENvbnRleHR9XG4gICAqIHRvIGBcIi9hYnNvbHV0ZS9wYXRoL3RvL215LW1vbm9yZXBvXCJgIGFuZCB7QGxpbmsgTmV4dGpzQmFzZVByb3BzLnJlbGF0aXZlUGF0aFRvUGFja2FnZX1cbiAgICogdG8gYFwiLi9wYWNrYWdlcy91aVwiYC5cbiAgICpcbiAgICogTm90ZSwgc2V0dGluZyB7QGxpbmsgTmV4dGpzQmFzZVByb3BzLmJ1aWxkQ29udGV4dH0gdG8gdGhlIHJvb3Qgb2YgeW91clxuICAgKiBtb25vcmVwbyB3aWxsIGludmFsaWRhdGUgY29udGFpbmVyIHJ1bnRpbWUgKGkuZS4gZG9ja2VyKSBidWlsZCBjYWNoZSB3aGVuIGFueSBmaWxlIGlzXG4gICAqIGNoYW5nZWQgaW4geW91ciBtb25vcmVwby4gVGhpcyBpcyBzbG93cyBkb3duIGRlcGxveW1lbnRzLiBDaGVja291dCBob3cgeW91XG4gICAqIGNhbiB1c2UgW3R1cmJvXShodHRwczovL3R1cmJvLmJ1aWxkLykgaW4gW0RlcGxveWluZyB3aXRoIERvY2tlciBHdWlkZV0oaHR0cHM6Ly90dXJiby5idWlsZC9yZXBvL2RvY3MvaGFuZGJvb2svZGVwbG95aW5nLXdpdGgtZG9ja2VyKVxuICAgKiBpbiB0aGUgY2RrLW5leHRqcy9leGFtcGxlcy90dXJiby5cbiAgICpcbiAgICogQGV4YW1wbGUgXCIuL3BhY2thZ2VzL3VpXCJcbiAgICovXG4gIHJlYWRvbmx5IHJlbGF0aXZlUGF0aFRvUGFja2FnZT86IHN0cmluZztcbiAgLyoqXG4gICAqIEBkZXByZWNhdGVkIHVzZSByZWxhdGl2ZVBhdGhUb1BhY2thZ2VcbiAgICovXG4gIHJlYWRvbmx5IHJlbGF0aXZlUGF0aFRvV29ya3NwYWNlPzogc3RyaW5nO1xufVxuIl19