@aws-amplify/adapter-nextjs 0.0.2-ui-preview.1aa6ecb.0 → 1.0.1-ssr-api.df60e41.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.
Files changed (46) hide show
  1. package/internals/package.json +7 -0
  2. package/lib/generateServerClient.d.ts +15 -0
  3. package/lib/generateServerClient.js +65 -0
  4. package/lib/generateServerClient.js.map +1 -0
  5. package/lib/internals/index.d.ts +2 -0
  6. package/lib/internals/index.js +8 -0
  7. package/lib/internals/index.js.map +1 -0
  8. package/lib/runWithAmplifyServerContext.d.ts +43 -0
  9. package/lib/runWithAmplifyServerContext.js +73 -66
  10. package/lib/runWithAmplifyServerContext.js.map +1 -1
  11. package/lib/types/NextServer.d.ts +6 -0
  12. package/lib/utils/createCookieStorageAdapterFromNextServerContext.js +92 -72
  13. package/lib/utils/createCookieStorageAdapterFromNextServerContext.js.map +1 -1
  14. package/lib/utils/getAmplifyConfig.d.ts +1 -1
  15. package/lib/utils/getAmplifyConfig.js +20 -5
  16. package/lib/utils/getAmplifyConfig.js.map +1 -1
  17. package/lib/withAmplify.d.ts +6 -3
  18. package/lib/withAmplify.js +13 -16
  19. package/lib/withAmplify.js.map +1 -1
  20. package/lib-esm/generateServerClient.d.ts +15 -0
  21. package/lib-esm/generateServerClient.js +60 -0
  22. package/lib-esm/generateServerClient.js.map +1 -0
  23. package/lib-esm/internals/index.d.ts +2 -0
  24. package/lib-esm/internals/index.js +4 -0
  25. package/lib-esm/internals/index.js.map +1 -0
  26. package/lib-esm/runWithAmplifyServerContext.d.ts +43 -0
  27. package/lib-esm/runWithAmplifyServerContext.js +72 -65
  28. package/lib-esm/runWithAmplifyServerContext.js.map +1 -1
  29. package/lib-esm/types/NextServer.d.ts +6 -0
  30. package/lib-esm/utils/createCookieStorageAdapterFromNextServerContext.js +92 -72
  31. package/lib-esm/utils/createCookieStorageAdapterFromNextServerContext.js.map +1 -1
  32. package/lib-esm/utils/getAmplifyConfig.d.ts +1 -1
  33. package/lib-esm/utils/getAmplifyConfig.js +16 -4
  34. package/lib-esm/utils/getAmplifyConfig.js.map +1 -1
  35. package/lib-esm/withAmplify.d.ts +6 -3
  36. package/lib-esm/withAmplify.js +13 -16
  37. package/lib-esm/withAmplify.js.map +1 -1
  38. package/package.json +121 -109
  39. package/src/generateServerClient.ts +94 -0
  40. package/src/internals/index.ts +5 -0
  41. package/src/runWithAmplifyServerContext.ts +50 -7
  42. package/src/types/NextServer.ts +6 -0
  43. package/src/utils/createCookieStorageAdapterFromNextServerContext.ts +71 -28
  44. package/src/utils/getAmplifyConfig.ts +16 -3
  45. package/src/withAmplify.ts +13 -5
  46. package/with-amplify/package.json +7 -0
@@ -0,0 +1,7 @@
1
+ {
2
+ "name": "@aws-amplify/adapter-nextjs/internals",
3
+ "main": "../lib/internals/index.js",
4
+ "browser": "../lib-esm/internals/index.js",
5
+ "module": "../lib-esm/internals/index.js",
6
+ "typings": "../lib-esm/internals/index.d.ts"
7
+ }
@@ -0,0 +1,15 @@
1
+ import { V6Client, V6ClientSSR } from '@aws-amplify/api-graphql';
2
+ import { NextServer } from './types';
3
+ /**
4
+ * Generates an API client that can be used inside a Next.js Server Component
5
+ *
6
+ * @example
7
+ * ```ts
8
+ * import { cookies } from "next/headers";
9
+ *
10
+ * const client = generateServerClientUsingCookies({ cookies })
11
+ * client.graphql()
12
+ * ```
13
+ */
14
+ export declare function generateServerClientUsingCookies<T extends Record<any, any> = never>(nextServerContext: NextServer.ServerComponentContext): V6Client<T>;
15
+ export declare function generateServerClient<T extends Record<any, any> = never>(): V6ClientSSR<T>;
@@ -0,0 +1,65 @@
1
+ "use strict";
2
+ // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
3
+ // SPDX-License-Identifier: Apache-2.0
4
+ Object.defineProperty(exports, "__esModule", { value: true });
5
+ exports.generateServerClient = exports.generateServerClientUsingCookies = void 0;
6
+ const server_1 = require("@aws-amplify/api/server");
7
+ const adapter_core_1 = require("@aws-amplify/core/internals/adapter-core");
8
+ const api_graphql_1 = require("@aws-amplify/api-graphql");
9
+ const runWithAmplifyServerContext_1 = require("./runWithAmplifyServerContext");
10
+ const getAmplifyConfig_1 = require("./utils/getAmplifyConfig");
11
+ /**
12
+ * Generates an API client that can be used inside a Next.js Server Component
13
+ *
14
+ * @example
15
+ * ```ts
16
+ * import { cookies } from "next/headers";
17
+ *
18
+ * const client = generateServerClientUsingCookies({ cookies })
19
+ * client.graphql()
20
+ * ```
21
+ */
22
+ function generateServerClientUsingCookies(nextServerContext) {
23
+ if (!nextServerContext.cookies ||
24
+ nextServerContext.request !== undefined) {
25
+ throw new adapter_core_1.AmplifyServerContextError({
26
+ message: 'generateServerClientUsingCookies is only compatible with the `cookies` Dynamic Function available in Server Components',
27
+ // TODO: link to docs
28
+ recoverySuggestion: 'use generateServerClient inside of runWithAmplifyServerContext with the `request` object',
29
+ });
30
+ }
31
+ // This function reference gets passed down to InternalGraphQLAPI.ts.graphql
32
+ // where this._graphql is passed through as the `fn` argument
33
+ // causing it to always get invoked inside `runWithAmplifyServerContext`
34
+ const getAmplify = (fn) => (0, runWithAmplifyServerContext_1.runWithAmplifyServerContext)({
35
+ nextServerContext,
36
+ operation: contextSpec => fn((0, adapter_core_1.getAmplifyServerContext)(contextSpec).amplify),
37
+ });
38
+ // retrieve general SSR config. This is used only to retrieve the
39
+ // modelIntroSchema for future model-based use cases
40
+ const config = (0, getAmplifyConfig_1.getAmplifyConfig)();
41
+ return (0, server_1.generateClient)({
42
+ amplify: getAmplify,
43
+ config,
44
+ });
45
+ }
46
+ exports.generateServerClientUsingCookies = generateServerClientUsingCookies;
47
+ function generateServerClient() {
48
+ const config = (0, getAmplifyConfig_1.getAmplifyConfig)();
49
+ // passing `null` instance because each (future model) method must retrieve a valid instance
50
+ // from server context
51
+ const client = (0, server_1.generateClient)({
52
+ amplify: null,
53
+ config,
54
+ });
55
+ // TODO: improve this and the next type
56
+ const prevGraphql = client.graphql;
57
+ const wrappedGraphql = (contextSpec, options, additionalHeaders) => {
58
+ const amplifyInstance = (0, adapter_core_1.getAmplifyServerContext)(contextSpec).amplify;
59
+ return prevGraphql.call({ [api_graphql_1.__amplify]: amplifyInstance }, options, additionalHeaders);
60
+ };
61
+ client.graphql = wrappedGraphql;
62
+ return client;
63
+ }
64
+ exports.generateServerClient = generateServerClient;
65
+ //# sourceMappingURL=generateServerClient.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generateServerClient.js","sourceRoot":"","sources":["../src/generateServerClient.ts"],"names":[],"mappings":";AAAA,qEAAqE;AACrE,sCAAsC;;;AAEtC,oDAAmF;AACnF,2EAGkD;AAClD,0DAMkC;AAElC,+EAA4E;AAC5E,+DAA4D;AAG5D;;;;;;;;;;GAUG;AACH,SAAgB,gCAAgC,CAE9C,iBAAoD;IACrD,IACC,CAAC,iBAAiB,CAAC,OAAO;QACzB,iBAAyB,CAAC,OAAO,KAAK,SAAS,EAC/C;QACD,MAAM,IAAI,wCAAyB,CAAC;YACnC,OAAO,EACN,wHAAwH;YACzH,qBAAqB;YACrB,kBAAkB,EACjB,0FAA0F;SAC3F,CAAC,CAAC;KACH;IAED,4EAA4E;IAC5E,6DAA6D;IAC7D,wEAAwE;IACxE,MAAM,UAAU,GAAG,CAAC,EAAkC,EAAE,EAAE,CACzD,IAAA,yDAA2B,EAAC;QAC3B,iBAAiB;QACjB,SAAS,EAAE,WAAW,CAAC,EAAE,CACxB,EAAE,CAAC,IAAA,sCAAuB,EAAC,WAAW,CAAC,CAAC,OAAO,CAAC;KACjD,CAAC,CAAC;IAEJ,iEAAiE;IACjE,oDAAoD;IACpD,MAAM,MAAM,GAAG,IAAA,mCAAgB,GAAE,CAAC;IAElC,OAAO,IAAA,uBAAsB,EAAiB;QAC7C,OAAO,EAAE,UAAU;QACnB,MAAM;KACN,CAAC,CAAC;AACJ,CAAC;AAlCD,4EAkCC;AAED,SAAgB,oBAAoB;IAGnC,MAAM,MAAM,GAAG,IAAA,mCAAgB,GAAE,CAAC;IAElC,4FAA4F;IAC5F,sBAAsB;IACtB,MAAM,MAAM,GAAG,IAAA,uBAAsB,EAAoB;QACxD,OAAO,EAAE,IAAI;QACb,MAAM;KACN,CAAC,CAAC;IAEH,uCAAuC;IACvC,MAAM,WAAW,GAAG,MAAM,CAAC,OAAmC,CAAC;IAE/D,MAAM,cAAc,GAAG,CAAC,WAAW,EAAE,OAAO,EAAE,iBAAkB,EAAE,EAAE;QACnE,MAAM,eAAe,GAAG,IAAA,sCAAuB,EAAC,WAAW,CAAC,CAAC,OAAO,CAAC;QACrE,OAAO,WAAW,CAAC,IAAI,CACtB,EAAE,CAAC,uBAAS,CAAC,EAAE,eAAe,EAAE,EAChC,OAAO,EACP,iBAAwB,CACxB,CAAC;IACH,CAAC,CAAC;IAEF,MAAM,CAAC,OAAO,GAAG,cAA6C,CAAC;IAC/D,OAAO,MAAM,CAAC;AACf,CAAC;AA1BD,oDA0BC"}
@@ -0,0 +1,2 @@
1
+ export { getAmplifyConfig } from '../utils';
2
+ export { NextServer } from '../types';
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
3
+ // SPDX-License-Identifier: Apache-2.0
4
+ Object.defineProperty(exports, "__esModule", { value: true });
5
+ exports.getAmplifyConfig = void 0;
6
+ var utils_1 = require("../utils");
7
+ Object.defineProperty(exports, "getAmplifyConfig", { enumerable: true, get: function () { return utils_1.getAmplifyConfig; } });
8
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/internals/index.ts"],"names":[],"mappings":";AAAA,qEAAqE;AACrE,sCAAsC;;;AAEtC,kCAA4C;AAAnC,yGAAA,gBAAgB,OAAA"}
@@ -1,2 +1,45 @@
1
1
  import { NextServer } from './types';
2
+ /**
3
+ * Runs the {@link operation} with the the context created from the {@link nextServerContext}.
4
+ *
5
+ * @param input The input to call the {@link runWithAmplifyServerContext}.
6
+ * @param input.nextServerContext The Next.js server context. It varies depends
7
+ * where the {@link runWithAmplifyServerContext} is being called.
8
+ * - In the [middleware](https://nextjs.org/docs/app/building-your-application/routing/middleware):
9
+ * the context consists of an instance of the `NextRequest` and an instance
10
+ * of the `NextResponse`.
11
+ * - In a [Page server component](https://nextjs.org/docs/app/building-your-application/routing/pages-and-layouts#pages):
12
+ * the context is the [`cookies`](https://nextjs.org/docs/app/api-reference/functions/cookies)
13
+ * function provided by Next.js.
14
+ * - In a [Route Handler](https://nextjs.org/docs/app/building-your-application/routing/route-handlers):
15
+ * the context can be the [`cookies`](https://nextjs.org/docs/app/api-reference/functions/cookies)
16
+ * function or a combination of an instance of the `NextRequest` and an instance
17
+ * of the `NextResponse`.
18
+ * - In a [Server Action](https://nextjs.org/docs/app/building-your-application/data-fetching/forms-and-mutations#how-server-actions-work):
19
+ * the context is the [`cookies`](https://nextjs.org/docs/app/api-reference/functions/cookies)
20
+ * function provided by Next.js.
21
+ * @param input.operation The function that contains the business logic calling
22
+ * Amplify APIs. It expects a `contextSpec` parameter.
23
+ * @returns The result returned by the {@link operation}.
24
+ * @example
25
+ * // Use the `fetchAuthSession` API in the Next.js `middleware`.
26
+ * import { NextRequest, NextResponse } from "next/server";
27
+ * import { fetchAuthSession } from "aws-amplify/auth/server";
28
+ * import { runWithAmplifyServerContext } from "@aws-amplify/adapter-nextjs";
29
+
30
+ * export async function middleware(request: NextRequest) {
31
+ * const response = NextResponse.next();
32
+ * const authenticated = await runWithAmplifyServerContext({
33
+ * nextServerContext: { request, response },
34
+ * operation: async (contextSpec) => {
35
+ * const session = await fetchAuthSession(contextSpec);
36
+ * return session.tokens !== undefined;
37
+ * }
38
+ * });
39
+ * if (authenticated) {
40
+ * return response;
41
+ * }
42
+ * return NextResponse.redirect(new URL('/sign-in', request.url));
43
+ * }
44
+ */
2
45
  export declare const runWithAmplifyServerContext: NextServer.RunOperationWithContext;
@@ -1,74 +1,81 @@
1
1
  "use strict";
2
2
  // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
3
3
  // SPDX-License-Identifier: Apache-2.0
4
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
5
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
6
- return new (P || (P = Promise))(function (resolve, reject) {
7
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
8
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
9
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
10
- step((generator = generator.apply(thisArg, _arguments || [])).next());
11
- });
12
- };
13
- var __generator = (this && this.__generator) || function (thisArg, body) {
14
- var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
15
- return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
16
- function verb(n) { return function (v) { return step([n, v]); }; }
17
- function step(op) {
18
- if (f) throw new TypeError("Generator is already executing.");
19
- while (g && (g = 0, op[0] && (_ = 0)), _) try {
20
- if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
21
- if (y = 0, t) op = [op[0] & 2, t.value];
22
- switch (op[0]) {
23
- case 0: case 1: t = op; break;
24
- case 4: _.label++; return { value: op[1], done: false };
25
- case 5: _.label++; y = op[1]; op = [0]; continue;
26
- case 7: op = _.ops.pop(); _.trys.pop(); continue;
27
- default:
28
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
29
- if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
30
- if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
31
- if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
32
- if (t[2]) _.ops.pop();
33
- _.trys.pop(); continue;
34
- }
35
- op = body.call(thisArg, _);
36
- } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
37
- if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
38
- }
39
- };
40
4
  Object.defineProperty(exports, "__esModule", { value: true });
41
5
  exports.runWithAmplifyServerContext = void 0;
42
- var utils_1 = require("./utils");
43
- var core_1 = require("@aws-amplify/core");
44
- var adapter_core_1 = require("aws-amplify/internals/adapter-core");
45
- var runWithAmplifyServerContext = function (_a) {
46
- var nextServerContext = _a.nextServerContext, operation = _a.operation;
47
- return __awaiter(void 0, void 0, void 0, function () {
48
- var amplifyConfig, keyValueStorage, credentialsProvider, tokenProvider;
49
- return __generator(this, function (_b) {
50
- amplifyConfig = (0, utils_1.getAmplifyConfig)();
51
- // When the Auth config is presented, attempt to create a Amplify server
52
- // context with token and credentials provider.
53
- if (amplifyConfig.Auth) {
54
- keyValueStorage = nextServerContext === null
55
- ? // When `null` is passed as the value of `nextServerContext`, opt-in
56
- // unauthenticated role (primarily for static rendering). It's
57
- // safe to use the singleton `MemoryKeyValueStorage` here, as the
58
- // static rendering uses the same unauthenticated role cross-sever.
59
- core_1.MemoryKeyValueStorage
60
- : (0, adapter_core_1.createKeyValueStorageFromCookieStorageAdapter)((0, utils_1.createCookieStorageAdapterFromNextServerContext)(nextServerContext));
61
- credentialsProvider = (0, adapter_core_1.createAWSCredentialsAndIdentityIdProvider)(amplifyConfig.Auth, keyValueStorage);
62
- tokenProvider = (0, adapter_core_1.createUserPoolsTokenProvider)(amplifyConfig.Auth, keyValueStorage);
63
- return [2 /*return*/, (0, adapter_core_1.runWithAmplifyServerContext)(amplifyConfig, {
64
- Auth: { credentialsProvider: credentialsProvider, tokenProvider: tokenProvider },
65
- }, operation)];
66
- }
67
- // Otherwise it may be the case that auth is not used, e.g. API key.
68
- // Omitting the `Auth` in the second parameter.
69
- return [2 /*return*/, (0, adapter_core_1.runWithAmplifyServerContext)(amplifyConfig, {}, operation)];
70
- });
71
- });
6
+ const utils_1 = require("./utils");
7
+ const core_1 = require("@aws-amplify/core");
8
+ const adapter_core_1 = require("aws-amplify/adapter-core");
9
+ /**
10
+ * Runs the {@link operation} with the the context created from the {@link nextServerContext}.
11
+ *
12
+ * @param input The input to call the {@link runWithAmplifyServerContext}.
13
+ * @param input.nextServerContext The Next.js server context. It varies depends
14
+ * where the {@link runWithAmplifyServerContext} is being called.
15
+ * - In the [middleware](https://nextjs.org/docs/app/building-your-application/routing/middleware):
16
+ * the context consists of an instance of the `NextRequest` and an instance
17
+ * of the `NextResponse`.
18
+ * - In a [Page server component](https://nextjs.org/docs/app/building-your-application/routing/pages-and-layouts#pages):
19
+ * the context is the [`cookies`](https://nextjs.org/docs/app/api-reference/functions/cookies)
20
+ * function provided by Next.js.
21
+ * - In a [Route Handler](https://nextjs.org/docs/app/building-your-application/routing/route-handlers):
22
+ * the context can be the [`cookies`](https://nextjs.org/docs/app/api-reference/functions/cookies)
23
+ * function or a combination of an instance of the `NextRequest` and an instance
24
+ * of the `NextResponse`.
25
+ * - In a [Server Action](https://nextjs.org/docs/app/building-your-application/data-fetching/forms-and-mutations#how-server-actions-work):
26
+ * the context is the [`cookies`](https://nextjs.org/docs/app/api-reference/functions/cookies)
27
+ * function provided by Next.js.
28
+ * @param input.operation The function that contains the business logic calling
29
+ * Amplify APIs. It expects a `contextSpec` parameter.
30
+ * @returns The result returned by the {@link operation}.
31
+ * @example
32
+ * // Use the `fetchAuthSession` API in the Next.js `middleware`.
33
+ * import { NextRequest, NextResponse } from "next/server";
34
+ * import { fetchAuthSession } from "aws-amplify/auth/server";
35
+ * import { runWithAmplifyServerContext } from "@aws-amplify/adapter-nextjs";
36
+
37
+ * export async function middleware(request: NextRequest) {
38
+ * const response = NextResponse.next();
39
+ * const authenticated = await runWithAmplifyServerContext({
40
+ * nextServerContext: { request, response },
41
+ * operation: async (contextSpec) => {
42
+ * const session = await fetchAuthSession(contextSpec);
43
+ * return session.tokens !== undefined;
44
+ * }
45
+ * });
46
+ * if (authenticated) {
47
+ * return response;
48
+ * }
49
+ * return NextResponse.redirect(new URL('/sign-in', request.url));
50
+ * }
51
+ */
52
+ const runWithAmplifyServerContext = async ({ nextServerContext, operation }) => {
53
+ // 1. get amplify config from env vars
54
+ // 2. create key-value storage from nextServerContext
55
+ // 3. create credentials provider
56
+ // 4. create token provider
57
+ // 5. call low level runWithAmplifyServerContext
58
+ const amplifyConfig = (0, utils_1.getAmplifyConfig)();
59
+ // When the Auth config is presented, attempt to create a Amplify server
60
+ // context with token and credentials provider.
61
+ if (amplifyConfig.Auth) {
62
+ const keyValueStorage =
63
+ // When `null` is passed as the value of `nextServerContext`, opt-in
64
+ // unauthenticated role (primarily for static rendering). It's
65
+ // safe to use the singleton `MemoryKeyValueStorage` here, as the
66
+ // static rendering uses the same unauthenticated role cross-sever.
67
+ nextServerContext === null
68
+ ? core_1.sharedInMemoryStorage
69
+ : (0, adapter_core_1.createKeyValueStorageFromCookieStorageAdapter)((0, utils_1.createCookieStorageAdapterFromNextServerContext)(nextServerContext));
70
+ const credentialsProvider = (0, adapter_core_1.createAWSCredentialsAndIdentityIdProvider)(amplifyConfig.Auth, keyValueStorage);
71
+ const tokenProvider = (0, adapter_core_1.createUserPoolsTokenProvider)(amplifyConfig.Auth, keyValueStorage);
72
+ return (0, adapter_core_1.runWithAmplifyServerContext)(amplifyConfig, {
73
+ Auth: { credentialsProvider, tokenProvider },
74
+ }, operation);
75
+ }
76
+ // Otherwise it may be the case that auth is not used, e.g. API key.
77
+ // Omitting the `Auth` in the second parameter.
78
+ return (0, adapter_core_1.runWithAmplifyServerContext)(amplifyConfig, {}, operation);
72
79
  };
73
80
  exports.runWithAmplifyServerContext = runWithAmplifyServerContext;
74
81
  //# sourceMappingURL=runWithAmplifyServerContext.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"runWithAmplifyServerContext.js","sourceRoot":"","sources":["../src/runWithAmplifyServerContext.ts"],"names":[],"mappings":";AAAA,qEAAqE;AACrE,sCAAsC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAGtC,iCAGiB;AACjB,0CAA0D;AAC1D,mEAK4C;AAErC,IAAM,2BAA2B,GACvC,UAAO,EAAgC;QAA9B,iBAAiB,uBAAA,EAAE,SAAS,eAAA;;;;YAM9B,aAAa,GAAG,IAAA,wBAAgB,GAAE,CAAC;YAEzC,wEAAwE;YACxE,+CAA+C;YAC/C,IAAI,aAAa,CAAC,IAAI,EAAE;gBACjB,eAAe,GACpB,iBAAiB,KAAK,IAAI;oBACzB,CAAC,CAAC,oEAAoE;wBACpE,8DAA8D;wBAC9D,iEAAiE;wBACjE,mEAAmE;wBACnE,4BAAqB;oBACvB,CAAC,CAAC,IAAA,4DAA6C,EAC7C,IAAA,uDAA+C,EAAC,iBAAiB,CAAC,CACjE,CAAC;gBACA,mBAAmB,GAAG,IAAA,wDAAyC,EACpE,aAAa,CAAC,IAAI,EAClB,eAAe,CACf,CAAC;gBACI,aAAa,GAAG,IAAA,2CAA4B,EACjD,aAAa,CAAC,IAAI,EAClB,eAAe,CACf,CAAC;gBAEF,sBAAO,IAAA,0CAA+B,EACrC,aAAa,EACb;wBACC,IAAI,EAAE,EAAE,mBAAmB,qBAAA,EAAE,aAAa,eAAA,EAAE;qBAC5C,EACD,SAAS,CACT,EAAC;aACF;YAED,oEAAoE;YACpE,+CAA+C;YAC/C,sBAAO,IAAA,0CAA+B,EAAC,aAAa,EAAE,EAAE,EAAE,SAAS,CAAC,EAAC;;;CACrE,CAAC;AA3CU,QAAA,2BAA2B,+BA2CrC"}
1
+ {"version":3,"file":"runWithAmplifyServerContext.js","sourceRoot":"","sources":["../src/runWithAmplifyServerContext.ts"],"names":[],"mappings":";AAAA,qEAAqE;AACrE,sCAAsC;;;AAGtC,mCAGiB;AACjB,4CAA0D;AAC1D,2DAKkC;AAElC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0CG;AACI,MAAM,2BAA2B,GACvC,KAAK,EAAE,EAAE,iBAAiB,EAAE,SAAS,EAAE,EAAE,EAAE;IAC1C,sCAAsC;IACtC,qDAAqD;IACrD,iCAAiC;IACjC,2BAA2B;IAC3B,gDAAgD;IAChD,MAAM,aAAa,GAAG,IAAA,wBAAgB,GAAE,CAAC;IAEzC,wEAAwE;IACxE,+CAA+C;IAC/C,IAAI,aAAa,CAAC,IAAI,EAAE;QACvB,MAAM,eAAe;QACpB,oEAAoE;QACpE,8DAA8D;QAC9D,iEAAiE;QACjE,mEAAmE;QACnE,iBAAiB,KAAK,IAAI;YACzB,CAAC,CAAC,4BAAqB;YACvB,CAAC,CAAC,IAAA,4DAA6C,EAC7C,IAAA,uDAA+C,EAAC,iBAAiB,CAAC,CACjE,CAAC;QACN,MAAM,mBAAmB,GAAG,IAAA,wDAAyC,EACpE,aAAa,CAAC,IAAI,EAClB,eAAe,CACf,CAAC;QACF,MAAM,aAAa,GAAG,IAAA,2CAA4B,EACjD,aAAa,CAAC,IAAI,EAClB,eAAe,CACf,CAAC;QAEF,OAAO,IAAA,0CAA+B,EACrC,aAAa,EACb;YACC,IAAI,EAAE,EAAE,mBAAmB,EAAE,aAAa,EAAE;SAC5C,EACD,SAAS,CACT,CAAC;KACF;IAED,oEAAoE;IACpE,+CAA+C;IAC/C,OAAO,IAAA,0CAA+B,EAAC,aAAa,EAAE,EAAE,EAAE,SAAS,CAAC,CAAC;AACtE,CAAC,CAAC;AA3CU,QAAA,2BAA2B,+BA2CrC"}
@@ -42,7 +42,13 @@ export declare namespace NextServer {
42
42
  request: NextGetServerSidePropsContext['req'];
43
43
  response: NextGetServerSidePropsContext['res'];
44
44
  };
45
+ /**
46
+ * The union of possible Next.js app server context types.
47
+ */
45
48
  type Context = NextRequestAndNextResponseContext | NextRequestAndResponseContext | ServerComponentContext | GetServerSidePropsContext;
49
+ /**
50
+ * The interface of the input of {@link RunOperationWithContext}.
51
+ */
46
52
  interface RunWithContextInput<OperationResult> {
47
53
  nextServerContext: Context | null;
48
54
  operation: (contextSpec: AmplifyServer.ContextSpec) => OperationResult | Promise<OperationResult>;
@@ -1,26 +1,32 @@
1
1
  "use strict";
2
2
  // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
3
3
  // SPDX-License-Identifier: Apache-2.0
4
- var __assign = (this && this.__assign) || function () {
5
- __assign = Object.assign || function(t) {
6
- for (var s, i = 1, n = arguments.length; i < n; i++) {
7
- s = arguments[i];
8
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
9
- t[p] = s[p];
10
- }
11
- return t;
12
- };
13
- return __assign.apply(this, arguments);
14
- };
15
4
  Object.defineProperty(exports, "__esModule", { value: true });
16
5
  exports.createCookieStorageAdapterFromNextServerContext = exports.DATE_IN_THE_PAST = void 0;
17
- var server_1 = require("next/server");
18
- var adapter_core_1 = require("@aws-amplify/core/internals/adapter-core");
19
- var http_1 = require("http");
6
+ const server_1 = require("next/server");
7
+ const adapter_core_1 = require("@aws-amplify/core/internals/adapter-core");
20
8
  exports.DATE_IN_THE_PAST = new Date(0);
21
- var createCookieStorageAdapterFromNextServerContext = function (context) {
22
- var _a = context, request = _a.request, response = _a.response;
23
- if (request instanceof server_1.NextRequest && response) {
9
+ const createCookieStorageAdapterFromNextServerContext = (context) => {
10
+ const { request: req, response: res } = context;
11
+ // When the server context is from `getServerSideProps`, the `req` is an instance
12
+ // of IncomingMessage, and the `res` is an instance of ServerResponse.
13
+ // We cannot import these two classes here from `http` as it breaks in Next
14
+ // Edge Runtime. Hence, we check the methods that we need to use for creating
15
+ // cookie adapter.
16
+ if (req &&
17
+ res &&
18
+ Object.prototype.toString.call(req.cookies) === '[object Object]' &&
19
+ typeof res.setHeader === 'function') {
20
+ return createCookieStorageAdapterFromGetServerSidePropsContext(req, res);
21
+ }
22
+ const { request, response } = context;
23
+ // When the server context is from `middleware`, the `request` is an instance
24
+ // of `NextRequest`.
25
+ // When the server context is from a route handler, the `request` is an `Proxy`
26
+ // wrapped `Request`.
27
+ // The `NextRequest` and the `Proxy` are sharing the same interface by Next
28
+ // implementation. So we don't need to detect the difference.
29
+ if (request && response) {
24
30
  if (response instanceof server_1.NextResponse) {
25
31
  return createCookieStorageAdapterFromNextRequestAndNextResponse(request, response);
26
32
  }
@@ -28,125 +34,139 @@ var createCookieStorageAdapterFromNextServerContext = function (context) {
28
34
  return createCookieStorageAdapterFromNextRequestAndHttpResponse(request, response);
29
35
  }
30
36
  }
31
- var cookies = context.cookies;
37
+ const { cookies } = context;
32
38
  if (typeof cookies === 'function') {
33
39
  return createCookieStorageAdapterFromNextCookies(cookies);
34
40
  }
35
- var _b = context, req = _b.request, res = _b.response;
36
- if (req instanceof http_1.IncomingMessage && res instanceof http_1.ServerResponse) {
37
- return createCookieStorageAdapterFromGetServerSidePropsContext(req, res);
38
- }
39
41
  // This should not happen normally.
40
42
  throw new adapter_core_1.AmplifyServerContextError({
41
43
  message: 'Attempted to create cookie storage adapter from an unsupported Next.js server context.',
42
44
  });
43
45
  };
44
46
  exports.createCookieStorageAdapterFromNextServerContext = createCookieStorageAdapterFromNextServerContext;
45
- var createCookieStorageAdapterFromNextRequestAndNextResponse = function (request, response) {
46
- var readonlyCookieStore = request.cookies;
47
- var mutableCookieStore = response.cookies;
47
+ const createCookieStorageAdapterFromNextRequestAndNextResponse = (request, response) => {
48
+ const readonlyCookieStore = request.cookies;
49
+ const mutableCookieStore = response.cookies;
48
50
  return {
49
- get: readonlyCookieStore.get.bind(readonlyCookieStore),
51
+ get(name) {
52
+ return readonlyCookieStore.get(ensureEncodedForJSCookie(name));
53
+ },
50
54
  getAll: readonlyCookieStore.getAll.bind(readonlyCookieStore),
51
- set: mutableCookieStore.set.bind(mutableCookieStore),
52
- delete: mutableCookieStore.delete.bind(mutableCookieStore),
55
+ set(name, value, options) {
56
+ mutableCookieStore.set(ensureEncodedForJSCookie(name), value, options);
57
+ },
58
+ delete(name) {
59
+ mutableCookieStore.delete(ensureEncodedForJSCookie(name));
60
+ },
53
61
  };
54
62
  };
55
- var createCookieStorageAdapterFromNextRequestAndHttpResponse = function (request, response) {
56
- var readonlyCookieStore = request.cookies;
57
- var mutableCookieStore = createMutableCookieStoreFromHeaders(response.headers);
58
- return __assign({ get: readonlyCookieStore.get.bind(readonlyCookieStore), getAll: readonlyCookieStore.getAll.bind(readonlyCookieStore) }, mutableCookieStore);
63
+ const createCookieStorageAdapterFromNextRequestAndHttpResponse = (request, response) => {
64
+ const readonlyCookieStore = request.cookies;
65
+ const mutableCookieStore = createMutableCookieStoreFromHeaders(response.headers);
66
+ return {
67
+ get(name) {
68
+ return readonlyCookieStore.get(ensureEncodedForJSCookie(name));
69
+ },
70
+ getAll: readonlyCookieStore.getAll.bind(readonlyCookieStore),
71
+ ...mutableCookieStore,
72
+ };
59
73
  };
60
- var createCookieStorageAdapterFromNextCookies = function (cookies) {
61
- var cookieStore = cookies();
74
+ const createCookieStorageAdapterFromNextCookies = (cookies) => {
75
+ const cookieStore = cookies();
62
76
  // When Next cookies() is called in a server component, it returns a readonly
63
77
  // cookie store. Hence calling set and delete throws an error. However,
64
78
  // cookies() returns a mutable cookie store when called in a server action.
65
79
  // We have no way to detect which one is returned, so we try to call set and delete
66
80
  // and safely ignore the error if it is thrown.
67
- var setFunc = function (name, value, options) {
81
+ const setFunc = (name, value, options) => {
68
82
  try {
69
- cookieStore.set(name, value, options);
83
+ cookieStore.set(ensureEncodedForJSCookie(name), value, options);
70
84
  }
71
- catch (_a) {
85
+ catch {
72
86
  // no-op
73
87
  }
74
88
  };
75
- var deleteFunc = function (name) {
89
+ const deleteFunc = name => {
76
90
  try {
77
- cookieStore.delete(name);
91
+ cookieStore.delete(ensureEncodedForJSCookie(name));
78
92
  }
79
- catch (_a) {
93
+ catch {
80
94
  // no-op
81
95
  }
82
96
  };
83
97
  return {
84
- get: cookieStore.get.bind(cookieStore),
98
+ get(name) {
99
+ return cookieStore.get(ensureEncodedForJSCookie(name));
100
+ },
85
101
  getAll: cookieStore.getAll.bind(cookieStore),
86
102
  set: setFunc,
87
103
  delete: deleteFunc,
88
104
  };
89
105
  };
90
- var createCookieStorageAdapterFromGetServerSidePropsContext = function (request, response) {
91
- var cookiesMap = __assign({}, request.cookies);
92
- var allCookies = Object.entries(cookiesMap).map(function (_a) {
93
- var name = _a[0], value = _a[1];
94
- return ({
95
- name: name,
96
- value: value,
97
- });
98
- });
106
+ const createCookieStorageAdapterFromGetServerSidePropsContext = (request, response) => {
107
+ const cookiesMap = { ...request.cookies };
108
+ const allCookies = Object.entries(cookiesMap).map(([name, value]) => ({
109
+ name,
110
+ value,
111
+ }));
99
112
  return {
100
- get: function (name) {
101
- var value = cookiesMap[name];
113
+ get(name) {
114
+ const value = cookiesMap[ensureEncodedForJSCookie(name)];
102
115
  return value
103
116
  ? {
104
- name: name,
105
- value: value,
117
+ name,
118
+ value,
106
119
  }
107
120
  : undefined;
108
121
  },
109
- getAll: function () {
122
+ getAll() {
110
123
  return allCookies;
111
124
  },
112
- set: function (name, value, options) {
113
- response.setHeader('Set-Cookie', "".concat(name, "=").concat(value, ";").concat(options ? serializeSetCookieOptions(options) : ''));
125
+ set(name, value, options) {
126
+ response.setHeader('Set-Cookie', `${ensureEncodedForJSCookie(name)}=${value};${options ? serializeSetCookieOptions(options) : ''}`);
114
127
  },
115
- delete: function (name) {
116
- response.setHeader('Set-Cookie', "".concat(name, "=;Expires=").concat(exports.DATE_IN_THE_PAST.toUTCString()));
128
+ delete(name) {
129
+ response.setHeader('Set-Cookie', `${ensureEncodedForJSCookie(name)}=;Expires=${exports.DATE_IN_THE_PAST.toUTCString()}`);
117
130
  },
118
131
  };
119
132
  };
120
- var createMutableCookieStoreFromHeaders = function (headers) {
121
- var setFunc = function (name, value, options) {
122
- headers.append('Set-Cookie', "".concat(name, "=").concat(value, ";").concat(options ? serializeSetCookieOptions(options) : ''));
133
+ const createMutableCookieStoreFromHeaders = (headers) => {
134
+ const setFunc = (name, value, options) => {
135
+ headers.append('Set-Cookie', `${ensureEncodedForJSCookie(name)}=${value};${options ? serializeSetCookieOptions(options) : ''}`);
123
136
  };
124
- var deleteFunc = function (name) {
125
- headers.append('Set-Cookie', "".concat(name, "=;Expires=").concat(exports.DATE_IN_THE_PAST.toUTCString()));
137
+ const deleteFunc = name => {
138
+ headers.append('Set-Cookie', `${ensureEncodedForJSCookie(name)}=;Expires=${exports.DATE_IN_THE_PAST.toUTCString()}`);
126
139
  };
127
140
  return {
128
141
  set: setFunc,
129
142
  delete: deleteFunc,
130
143
  };
131
144
  };
132
- var serializeSetCookieOptions = function (options) {
133
- var expires = options.expires, maxAge = options.maxAge, domain = options.domain, httpOnly = options.httpOnly, sameSite = options.sameSite, secure = options.secure;
134
- var serializedOptions = [];
145
+ const serializeSetCookieOptions = (options) => {
146
+ const { expires, domain, httpOnly, sameSite, secure } = options;
147
+ const serializedOptions = [];
135
148
  if (domain) {
136
- serializedOptions.push("Domain=".concat(domain));
149
+ serializedOptions.push(`Domain=${domain}`);
137
150
  }
138
151
  if (expires) {
139
- serializedOptions.push("Expires=".concat(expires.toUTCString()));
152
+ serializedOptions.push(`Expires=${expires.toUTCString()}`);
140
153
  }
141
154
  if (httpOnly) {
142
- serializedOptions.push("HttpOnly");
155
+ serializedOptions.push(`HttpOnly`);
143
156
  }
144
157
  if (sameSite) {
145
- serializedOptions.push("SameSite=".concat(sameSite));
158
+ serializedOptions.push(`SameSite=${sameSite}`);
146
159
  }
147
160
  if (secure) {
148
- serializedOptions.push("Secure");
161
+ serializedOptions.push(`Secure`);
149
162
  }
150
163
  return serializedOptions.join(';');
151
164
  };
165
+ // Ensures the cookie names are encoded in order to look up the cookie store
166
+ // that is manipulated by js-cookie on the client side.
167
+ // Details of the js-cookie encoding behavior see:
168
+ // https://github.com/js-cookie/js-cookie#encoding
169
+ // The implementation is borrowed from js-cookie without escaping `[()]` as
170
+ // we are not using those chars in the auth keys.
171
+ const ensureEncodedForJSCookie = (name) => encodeURIComponent(name).replace(/%(2[346B]|5E|60|7C)/g, decodeURIComponent);
152
172
  //# sourceMappingURL=createCookieStorageAdapterFromNextServerContext.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"createCookieStorageAdapterFromNextServerContext.js","sourceRoot":"","sources":["../../src/utils/createCookieStorageAdapterFromNextServerContext.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"createCookieStorageAdapterFromNextServerContext.js","sourceRoot":"","sources":["../../src/utils/createCookieStorageAdapterFromNextServerContext.ts"],"names":[],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- import { ResourcesConfig } from '@aws-amplify/core';
1
+ import { ResourcesConfig } from 'aws-amplify';
2
2
  export declare const getAmplifyConfig: () => ResourcesConfig;