@aws-amplify/adapter-nextjs 0.0.2-preview-testing.034e780.0 → 0.0.2-server-generate-client.1e317a1.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.
@@ -0,0 +1,7 @@
1
+ import { V6Client } from '@aws-amplify/api-graphql';
2
+ import { NextServer } from './types';
3
+ export type { GraphQLResult, GraphQLReturnType, } from '@aws-amplify/api-graphql';
4
+ /**
5
+ * Generates an API client that can work with models or raw GraphQL
6
+ */
7
+ export declare function generateServerClient<T extends Record<any, any> = never>(nextServerContext: NextServer.Context): V6Client<T>;
@@ -0,0 +1,31 @@
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 = void 0;
6
+ var internals_1 = require("@aws-amplify/api-graphql/internals");
7
+ var adapter_core_1 = require("@aws-amplify/core/internals/adapter-core");
8
+ var runWithAmplifyServerContext_1 = require("./runWithAmplifyServerContext");
9
+ var getAmplifyConfig_1 = require("./utils/getAmplifyConfig");
10
+ /**
11
+ * Generates an API client that can work with models or raw GraphQL
12
+ */
13
+ function generateServerClient(nextServerContext) {
14
+ // This function reference gets passed down to InternalGraphQLAPI.graphql
15
+ // where this._graphql is passed through as the `fn` argument
16
+ // causing it to always get invoked inside `runWithAmplifyServerContext`
17
+ var getAmplify = function (fn) {
18
+ return (0, runWithAmplifyServerContext_1.runWithAmplifyServerContext)({
19
+ nextServerContext: nextServerContext,
20
+ operation: function (contextSpec) {
21
+ return fn((0, adapter_core_1.getAmplifyServerContext)(contextSpec).amplify);
22
+ },
23
+ });
24
+ };
25
+ // retrieve general SSR config. This is used only for get the
26
+ // modelIntroSchema in generateModelsProperty
27
+ var config = (0, getAmplifyConfig_1.getAmplifyConfig)();
28
+ return (0, internals_1.generateClient)({ amplify: getAmplify, config: config });
29
+ }
30
+ exports.generateServerClient = generateServerClient;
31
+ //# 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,gEAA8F;AAC9F,yEAAmF;AAInF,6EAA4E;AAC5E,6DAA4D;AAQ5D;;GAEG;AACH,SAAgB,oBAAoB,CACnC,iBAAqC;IAErC,yEAAyE;IACzE,6DAA6D;IAC7D,wEAAwE;IACxE,IAAM,UAAU,GAAG,UAAC,EAAkC;QACrD,OAAA,IAAA,yDAA2B,EAAC;YAC3B,iBAAiB,mBAAA;YACjB,SAAS,EAAE,UAAA,WAAW;gBACrB,OAAA,EAAE,CAAC,IAAA,sCAAuB,EAAC,WAAW,CAAC,CAAC,OAAO,CAAC;YAAhD,CAAgD;SACjD,CAAC;IAJF,CAIE,CAAC;IAEJ,6DAA6D;IAC7D,6CAA6C;IAC7C,IAAM,MAAM,GAAG,IAAA,mCAAgB,GAAE,CAAC;IAElC,OAAO,IAAA,0BAAsB,EAAC,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,QAAA,EAAE,CAAC,CAAC;AAChE,CAAC;AAlBD,oDAkBC"}
package/lib/index.d.ts CHANGED
@@ -1 +1,2 @@
1
1
  export { runWithAmplifyServerContext } from './runWithAmplifyServerContext';
2
+ export { generateServerClient } from './generateServerClient';
package/lib/index.js CHANGED
@@ -2,7 +2,9 @@
2
2
  // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
3
3
  // SPDX-License-Identifier: Apache-2.0
4
4
  Object.defineProperty(exports, "__esModule", { value: true });
5
- exports.runWithAmplifyServerContext = void 0;
5
+ exports.generateServerClient = exports.runWithAmplifyServerContext = void 0;
6
6
  var runWithAmplifyServerContext_1 = require("./runWithAmplifyServerContext");
7
7
  Object.defineProperty(exports, "runWithAmplifyServerContext", { enumerable: true, get: function () { return runWithAmplifyServerContext_1.runWithAmplifyServerContext; } });
8
+ var generateServerClient_1 = require("./generateServerClient");
9
+ Object.defineProperty(exports, "generateServerClient", { enumerable: true, get: function () { return generateServerClient_1.generateServerClient; } });
8
10
  //# sourceMappingURL=index.js.map
package/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA,qEAAqE;AACrE,sCAAsC;;;AAEtC,6EAA4E;AAAnE,0IAAA,2BAA2B,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA,qEAAqE;AACrE,sCAAsC;;;AAEtC,6EAA4E;AAAnE,0IAAA,2BAA2B,OAAA;AACpC,+DAA8D;AAArD,4HAAA,oBAAoB,OAAA"}
@@ -100,7 +100,7 @@ var runWithAmplifyServerContext = function (_a) {
100
100
  // safe to use the singleton `MemoryKeyValueStorage` here, as the
101
101
  // static rendering uses the same unauthenticated role cross-sever.
102
102
  nextServerContext === null
103
- ? core_1.MemoryKeyValueStorage
103
+ ? core_1.sharedInMemoryStorage
104
104
  : (0, adapter_core_1.createKeyValueStorageFromCookieStorageAdapter)((0, utils_1.createCookieStorageAdapterFromNextServerContext)(nextServerContext));
105
105
  credentialsProvider = (0, adapter_core_1.createAWSCredentialsAndIdentityIdProvider)(amplifyConfig.Auth, keyValueStorage);
106
106
  tokenProvider = (0, adapter_core_1.createUserPoolsTokenProvider)(amplifyConfig.Auth, keyValueStorage);
@@ -59,16 +59,24 @@ var createCookieStorageAdapterFromNextRequestAndNextResponse = function (request
59
59
  var readonlyCookieStore = request.cookies;
60
60
  var mutableCookieStore = response.cookies;
61
61
  return {
62
- get: readonlyCookieStore.get.bind(readonlyCookieStore),
62
+ get: function (name) {
63
+ return readonlyCookieStore.get(ensureEncodedForJSCookie(name));
64
+ },
63
65
  getAll: readonlyCookieStore.getAll.bind(readonlyCookieStore),
64
- set: mutableCookieStore.set.bind(mutableCookieStore),
65
- delete: mutableCookieStore.delete.bind(mutableCookieStore),
66
+ set: function (name, value, options) {
67
+ mutableCookieStore.set(ensureEncodedForJSCookie(name), value, options);
68
+ },
69
+ delete: function (name) {
70
+ mutableCookieStore.delete(ensureEncodedForJSCookie(name));
71
+ },
66
72
  };
67
73
  };
68
74
  var createCookieStorageAdapterFromNextRequestAndHttpResponse = function (request, response) {
69
75
  var readonlyCookieStore = request.cookies;
70
76
  var mutableCookieStore = createMutableCookieStoreFromHeaders(response.headers);
71
- return __assign({ get: readonlyCookieStore.get.bind(readonlyCookieStore), getAll: readonlyCookieStore.getAll.bind(readonlyCookieStore) }, mutableCookieStore);
77
+ return __assign({ get: function (name) {
78
+ return readonlyCookieStore.get(ensureEncodedForJSCookie(name));
79
+ }, getAll: readonlyCookieStore.getAll.bind(readonlyCookieStore) }, mutableCookieStore);
72
80
  };
73
81
  var createCookieStorageAdapterFromNextCookies = function (cookies) {
74
82
  var cookieStore = cookies();
@@ -79,7 +87,7 @@ var createCookieStorageAdapterFromNextCookies = function (cookies) {
79
87
  // and safely ignore the error if it is thrown.
80
88
  var setFunc = function (name, value, options) {
81
89
  try {
82
- cookieStore.set(name, value, options);
90
+ cookieStore.set(ensureEncodedForJSCookie(name), value, options);
83
91
  }
84
92
  catch (_a) {
85
93
  // no-op
@@ -87,14 +95,16 @@ var createCookieStorageAdapterFromNextCookies = function (cookies) {
87
95
  };
88
96
  var deleteFunc = function (name) {
89
97
  try {
90
- cookieStore.delete(name);
98
+ cookieStore.delete(ensureEncodedForJSCookie(name));
91
99
  }
92
100
  catch (_a) {
93
101
  // no-op
94
102
  }
95
103
  };
96
104
  return {
97
- get: cookieStore.get.bind(cookieStore),
105
+ get: function (name) {
106
+ return cookieStore.get(ensureEncodedForJSCookie(name));
107
+ },
98
108
  getAll: cookieStore.getAll.bind(cookieStore),
99
109
  set: setFunc,
100
110
  delete: deleteFunc,
@@ -111,7 +121,7 @@ var createCookieStorageAdapterFromGetServerSidePropsContext = function (request,
111
121
  });
112
122
  return {
113
123
  get: function (name) {
114
- var value = cookiesMap[name];
124
+ var value = cookiesMap[ensureEncodedForJSCookie(name)];
115
125
  return value
116
126
  ? {
117
127
  name: name,
@@ -123,19 +133,19 @@ var createCookieStorageAdapterFromGetServerSidePropsContext = function (request,
123
133
  return allCookies;
124
134
  },
125
135
  set: function (name, value, options) {
126
- response.setHeader('Set-Cookie', "".concat(name, "=").concat(value, ";").concat(options ? serializeSetCookieOptions(options) : ''));
136
+ response.setHeader('Set-Cookie', "".concat(ensureEncodedForJSCookie(name), "=").concat(value, ";").concat(options ? serializeSetCookieOptions(options) : ''));
127
137
  },
128
138
  delete: function (name) {
129
- response.setHeader('Set-Cookie', "".concat(name, "=;Expires=").concat(exports.DATE_IN_THE_PAST.toUTCString()));
139
+ response.setHeader('Set-Cookie', "".concat(ensureEncodedForJSCookie(name), "=;Expires=").concat(exports.DATE_IN_THE_PAST.toUTCString()));
130
140
  },
131
141
  };
132
142
  };
133
143
  var createMutableCookieStoreFromHeaders = function (headers) {
134
144
  var setFunc = function (name, value, options) {
135
- headers.append('Set-Cookie', "".concat(name, "=").concat(value, ";").concat(options ? serializeSetCookieOptions(options) : ''));
145
+ headers.append('Set-Cookie', "".concat(ensureEncodedForJSCookie(name), "=").concat(value, ";").concat(options ? serializeSetCookieOptions(options) : ''));
136
146
  };
137
147
  var deleteFunc = function (name) {
138
- headers.append('Set-Cookie', "".concat(name, "=;Expires=").concat(exports.DATE_IN_THE_PAST.toUTCString()));
148
+ headers.append('Set-Cookie', "".concat(ensureEncodedForJSCookie(name), "=;Expires=").concat(exports.DATE_IN_THE_PAST.toUTCString()));
139
149
  };
140
150
  return {
141
151
  set: setFunc,
@@ -143,7 +153,7 @@ var createMutableCookieStoreFromHeaders = function (headers) {
143
153
  };
144
154
  };
145
155
  var serializeSetCookieOptions = function (options) {
146
- var expires = options.expires, maxAge = options.maxAge, domain = options.domain, httpOnly = options.httpOnly, sameSite = options.sameSite, secure = options.secure;
156
+ var expires = options.expires, domain = options.domain, httpOnly = options.httpOnly, sameSite = options.sameSite, secure = options.secure;
147
157
  var serializedOptions = [];
148
158
  if (domain) {
149
159
  serializedOptions.push("Domain=".concat(domain));
@@ -162,4 +172,13 @@ var serializeSetCookieOptions = function (options) {
162
172
  }
163
173
  return serializedOptions.join(';');
164
174
  };
175
+ // Ensures the cookie names are encoded in order to look up the cookie store
176
+ // that is manipulated by js-cookie on the client side.
177
+ // Details of the js-cookie encoding behavior see:
178
+ // https://github.com/js-cookie/js-cookie#encoding
179
+ // The implementation is borrowed from js-cookie without escaping `[()]` as
180
+ // we are not using those chars in the auth keys.
181
+ var ensureEncodedForJSCookie = function (name) {
182
+ return encodeURIComponent(name).replace(/%(2[346B]|5E|60|7C)/g, decodeURIComponent);
183
+ };
165
184
  //# 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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"}
@@ -0,0 +1,7 @@
1
+ import { V6Client } from '@aws-amplify/api-graphql';
2
+ import { NextServer } from './types';
3
+ export type { GraphQLResult, GraphQLReturnType, } from '@aws-amplify/api-graphql';
4
+ /**
5
+ * Generates an API client that can work with models or raw GraphQL
6
+ */
7
+ export declare function generateServerClient<T extends Record<any, any> = never>(nextServerContext: NextServer.Context): V6Client<T>;
@@ -0,0 +1,27 @@
1
+ // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
2
+ // SPDX-License-Identifier: Apache-2.0
3
+ import { generateClient as internalGenerateClient } from '@aws-amplify/api-graphql/internals';
4
+ import { getAmplifyServerContext } from '@aws-amplify/core/internals/adapter-core';
5
+ import { runWithAmplifyServerContext } from './runWithAmplifyServerContext';
6
+ import { getAmplifyConfig } from './utils/getAmplifyConfig';
7
+ /**
8
+ * Generates an API client that can work with models or raw GraphQL
9
+ */
10
+ export function generateServerClient(nextServerContext) {
11
+ // This function reference gets passed down to InternalGraphQLAPI.graphql
12
+ // where this._graphql is passed through as the `fn` argument
13
+ // causing it to always get invoked inside `runWithAmplifyServerContext`
14
+ var getAmplify = function (fn) {
15
+ return runWithAmplifyServerContext({
16
+ nextServerContext: nextServerContext,
17
+ operation: function (contextSpec) {
18
+ return fn(getAmplifyServerContext(contextSpec).amplify);
19
+ },
20
+ });
21
+ };
22
+ // retrieve general SSR config. This is used only for get the
23
+ // modelIntroSchema in generateModelsProperty
24
+ var config = getAmplifyConfig();
25
+ return internalGenerateClient({ amplify: getAmplify, config: config });
26
+ }
27
+ //# 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,OAAO,EAAE,cAAc,IAAI,sBAAsB,EAAE,MAAM,oCAAoC,CAAC;AAC9F,OAAO,EAAE,uBAAuB,EAAE,MAAM,0CAA0C,CAAC;AAInF,OAAO,EAAE,2BAA2B,EAAE,MAAM,+BAA+B,CAAC;AAC5E,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAQ5D;;GAEG;AACH,MAAM,UAAU,oBAAoB,CACnC,iBAAqC;IAErC,yEAAyE;IACzE,6DAA6D;IAC7D,wEAAwE;IACxE,IAAM,UAAU,GAAG,UAAC,EAAkC;QACrD,OAAA,2BAA2B,CAAC;YAC3B,iBAAiB,mBAAA;YACjB,SAAS,EAAE,UAAA,WAAW;gBACrB,OAAA,EAAE,CAAC,uBAAuB,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC;YAAhD,CAAgD;SACjD,CAAC;IAJF,CAIE,CAAC;IAEJ,6DAA6D;IAC7D,6CAA6C;IAC7C,IAAM,MAAM,GAAG,gBAAgB,EAAE,CAAC;IAElC,OAAO,sBAAsB,CAAC,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,QAAA,EAAE,CAAC,CAAC;AAChE,CAAC"}
@@ -1 +1,2 @@
1
1
  export { runWithAmplifyServerContext } from './runWithAmplifyServerContext';
2
+ export { generateServerClient } from './generateServerClient';
package/lib-esm/index.js CHANGED
@@ -1,4 +1,5 @@
1
1
  // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
2
2
  // SPDX-License-Identifier: Apache-2.0
3
3
  export { runWithAmplifyServerContext } from './runWithAmplifyServerContext';
4
+ export { generateServerClient } from './generateServerClient';
4
5
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,sCAAsC;AAEtC,OAAO,EAAE,2BAA2B,EAAE,MAAM,+BAA+B,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,sCAAsC;AAEtC,OAAO,EAAE,2BAA2B,EAAE,MAAM,+BAA+B,CAAC;AAC5E,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC"}
@@ -37,7 +37,7 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
37
37
  }
38
38
  };
39
39
  import { createCookieStorageAdapterFromNextServerContext, getAmplifyConfig, } from './utils';
40
- import { MemoryKeyValueStorage } from '@aws-amplify/core';
40
+ import { sharedInMemoryStorage } from '@aws-amplify/core';
41
41
  import { createAWSCredentialsAndIdentityIdProvider, createKeyValueStorageFromCookieStorageAdapter, createUserPoolsTokenProvider, runWithAmplifyServerContext as runWithAmplifyServerContextCore, } from 'aws-amplify/internals/adapter-core';
42
42
  /**
43
43
  * Runs the {@link operation} with the the context created from the {@link nextServerContext}.
@@ -97,7 +97,7 @@ export var runWithAmplifyServerContext = function (_a) {
97
97
  // safe to use the singleton `MemoryKeyValueStorage` here, as the
98
98
  // static rendering uses the same unauthenticated role cross-sever.
99
99
  nextServerContext === null
100
- ? MemoryKeyValueStorage
100
+ ? sharedInMemoryStorage
101
101
  : createKeyValueStorageFromCookieStorageAdapter(createCookieStorageAdapterFromNextServerContext(nextServerContext));
102
102
  credentialsProvider = createAWSCredentialsAndIdentityIdProvider(amplifyConfig.Auth, keyValueStorage);
103
103
  tokenProvider = createUserPoolsTokenProvider(amplifyConfig.Auth, keyValueStorage);
@@ -55,16 +55,24 @@ var createCookieStorageAdapterFromNextRequestAndNextResponse = function (request
55
55
  var readonlyCookieStore = request.cookies;
56
56
  var mutableCookieStore = response.cookies;
57
57
  return {
58
- get: readonlyCookieStore.get.bind(readonlyCookieStore),
58
+ get: function (name) {
59
+ return readonlyCookieStore.get(ensureEncodedForJSCookie(name));
60
+ },
59
61
  getAll: readonlyCookieStore.getAll.bind(readonlyCookieStore),
60
- set: mutableCookieStore.set.bind(mutableCookieStore),
61
- delete: mutableCookieStore.delete.bind(mutableCookieStore),
62
+ set: function (name, value, options) {
63
+ mutableCookieStore.set(ensureEncodedForJSCookie(name), value, options);
64
+ },
65
+ delete: function (name) {
66
+ mutableCookieStore.delete(ensureEncodedForJSCookie(name));
67
+ },
62
68
  };
63
69
  };
64
70
  var createCookieStorageAdapterFromNextRequestAndHttpResponse = function (request, response) {
65
71
  var readonlyCookieStore = request.cookies;
66
72
  var mutableCookieStore = createMutableCookieStoreFromHeaders(response.headers);
67
- return __assign({ get: readonlyCookieStore.get.bind(readonlyCookieStore), getAll: readonlyCookieStore.getAll.bind(readonlyCookieStore) }, mutableCookieStore);
73
+ return __assign({ get: function (name) {
74
+ return readonlyCookieStore.get(ensureEncodedForJSCookie(name));
75
+ }, getAll: readonlyCookieStore.getAll.bind(readonlyCookieStore) }, mutableCookieStore);
68
76
  };
69
77
  var createCookieStorageAdapterFromNextCookies = function (cookies) {
70
78
  var cookieStore = cookies();
@@ -75,7 +83,7 @@ var createCookieStorageAdapterFromNextCookies = function (cookies) {
75
83
  // and safely ignore the error if it is thrown.
76
84
  var setFunc = function (name, value, options) {
77
85
  try {
78
- cookieStore.set(name, value, options);
86
+ cookieStore.set(ensureEncodedForJSCookie(name), value, options);
79
87
  }
80
88
  catch (_a) {
81
89
  // no-op
@@ -83,14 +91,16 @@ var createCookieStorageAdapterFromNextCookies = function (cookies) {
83
91
  };
84
92
  var deleteFunc = function (name) {
85
93
  try {
86
- cookieStore.delete(name);
94
+ cookieStore.delete(ensureEncodedForJSCookie(name));
87
95
  }
88
96
  catch (_a) {
89
97
  // no-op
90
98
  }
91
99
  };
92
100
  return {
93
- get: cookieStore.get.bind(cookieStore),
101
+ get: function (name) {
102
+ return cookieStore.get(ensureEncodedForJSCookie(name));
103
+ },
94
104
  getAll: cookieStore.getAll.bind(cookieStore),
95
105
  set: setFunc,
96
106
  delete: deleteFunc,
@@ -107,7 +117,7 @@ var createCookieStorageAdapterFromGetServerSidePropsContext = function (request,
107
117
  });
108
118
  return {
109
119
  get: function (name) {
110
- var value = cookiesMap[name];
120
+ var value = cookiesMap[ensureEncodedForJSCookie(name)];
111
121
  return value
112
122
  ? {
113
123
  name: name,
@@ -119,19 +129,19 @@ var createCookieStorageAdapterFromGetServerSidePropsContext = function (request,
119
129
  return allCookies;
120
130
  },
121
131
  set: function (name, value, options) {
122
- response.setHeader('Set-Cookie', "".concat(name, "=").concat(value, ";").concat(options ? serializeSetCookieOptions(options) : ''));
132
+ response.setHeader('Set-Cookie', "".concat(ensureEncodedForJSCookie(name), "=").concat(value, ";").concat(options ? serializeSetCookieOptions(options) : ''));
123
133
  },
124
134
  delete: function (name) {
125
- response.setHeader('Set-Cookie', "".concat(name, "=;Expires=").concat(DATE_IN_THE_PAST.toUTCString()));
135
+ response.setHeader('Set-Cookie', "".concat(ensureEncodedForJSCookie(name), "=;Expires=").concat(DATE_IN_THE_PAST.toUTCString()));
126
136
  },
127
137
  };
128
138
  };
129
139
  var createMutableCookieStoreFromHeaders = function (headers) {
130
140
  var setFunc = function (name, value, options) {
131
- headers.append('Set-Cookie', "".concat(name, "=").concat(value, ";").concat(options ? serializeSetCookieOptions(options) : ''));
141
+ headers.append('Set-Cookie', "".concat(ensureEncodedForJSCookie(name), "=").concat(value, ";").concat(options ? serializeSetCookieOptions(options) : ''));
132
142
  };
133
143
  var deleteFunc = function (name) {
134
- headers.append('Set-Cookie', "".concat(name, "=;Expires=").concat(DATE_IN_THE_PAST.toUTCString()));
144
+ headers.append('Set-Cookie', "".concat(ensureEncodedForJSCookie(name), "=;Expires=").concat(DATE_IN_THE_PAST.toUTCString()));
135
145
  };
136
146
  return {
137
147
  set: setFunc,
@@ -139,7 +149,7 @@ var createMutableCookieStoreFromHeaders = function (headers) {
139
149
  };
140
150
  };
141
151
  var serializeSetCookieOptions = function (options) {
142
- var expires = options.expires, maxAge = options.maxAge, domain = options.domain, httpOnly = options.httpOnly, sameSite = options.sameSite, secure = options.secure;
152
+ var expires = options.expires, domain = options.domain, httpOnly = options.httpOnly, sameSite = options.sameSite, secure = options.secure;
143
153
  var serializedOptions = [];
144
154
  if (domain) {
145
155
  serializedOptions.push("Domain=".concat(domain));
@@ -158,4 +168,13 @@ var serializeSetCookieOptions = function (options) {
158
168
  }
159
169
  return serializedOptions.join(';');
160
170
  };
171
+ // Ensures the cookie names are encoded in order to look up the cookie store
172
+ // that is manipulated by js-cookie on the client side.
173
+ // Details of the js-cookie encoding behavior see:
174
+ // https://github.com/js-cookie/js-cookie#encoding
175
+ // The implementation is borrowed from js-cookie without escaping `[()]` as
176
+ // we are not using those chars in the auth keys.
177
+ var ensureEncodedForJSCookie = function (name) {
178
+ return encodeURIComponent(name).replace(/%(2[346B]|5E|60|7C)/g, decodeURIComponent);
179
+ };
161
180
  //# 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":"AAAA,qEAAqE;AACrE,sCAAsC;;;;;;;;;;;;AAEtC,OAAO,EAAe,YAAY,EAAE,MAAM,aAAa,CAAC;AAExD,OAAO,EACN,yBAAyB,GAEzB,MAAM,0CAA0C,CAAC;AAElD,MAAM,CAAC,IAAM,gBAAgB,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC;AAE5C,MAAM,CAAC,IAAM,+CAA+C,GAAG,UAC9D,OAA2B;IAErB,IAAA,KACL,OAAwD,EADxC,GAAG,aAAA,EAAY,GAAG,cACsB,CAAC;IAE1D,iFAAiF;IACjF,sEAAsE;IACtE,2EAA2E;IAC3E,6EAA6E;IAC7E,kBAAkB;IAClB,IACC,GAAG;QACH,GAAG;QACH,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,iBAAiB;QACjE,OAAO,GAAG,CAAC,SAAS,KAAK,UAAU,EAClC;QACD,OAAO,uDAAuD,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;KACzE;IAEK,IAAA,KAAwB,OAG7B,EAHO,OAAO,aAAA,EAAE,QAAQ,cAGxB,CAAC;IAEF,6EAA6E;IAC7E,oBAAoB;IACpB,+EAA+E;IAC/E,qBAAqB;IACrB,2EAA2E;IAC3E,6DAA6D;IAC7D,IAAI,OAAO,IAAI,QAAQ,EAAE;QACxB,IAAI,QAAQ,YAAY,YAAY,EAAE;YACrC,OAAO,wDAAwD,CAC9D,OAAO,EACP,QAAQ,CACR,CAAC;SACF;aAAM;YACN,OAAO,wDAAwD,CAC9D,OAAO,EACP,QAAQ,CACR,CAAC;SACF;KACD;IAEO,IAAA,OAAO,GAAK,OAEnB,QAFc,CAEb;IAEF,IAAI,OAAO,OAAO,KAAK,UAAU,EAAE;QAClC,OAAO,yCAAyC,CAAC,OAAO,CAAC,CAAC;KAC1D;IAED,mCAAmC;IACnC,MAAM,IAAI,yBAAyB,CAAC;QACnC,OAAO,EACN,wFAAwF;KACzF,CAAC,CAAC;AACJ,CAAC,CAAC;AAEF,IAAM,wDAAwD,GAAG,UAChE,OAAoB,EACpB,QAAsB;IAEtB,IAAM,mBAAmB,GAAG,OAAO,CAAC,OAAO,CAAC;IAC5C,IAAM,kBAAkB,GAAG,QAAQ,CAAC,OAAO,CAAC;IAE5C,OAAO;QACN,GAAG,YAAC,IAAI;YACP,OAAO,mBAAmB,CAAC,GAAG,CAAC,wBAAwB,CAAC,IAAI,CAAC,CAAC,CAAC;QAChE,CAAC;QACD,MAAM,EAAE,mBAAmB,CAAC,MAAM,CAAC,IAAI,CAAC,mBAAmB,CAAC;QAC5D,GAAG,YAAC,IAAI,EAAE,KAAK,EAAE,OAAO;YACvB,kBAAkB,CAAC,GAAG,CAAC,wBAAwB,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;QACxE,CAAC;QACD,MAAM,YAAC,IAAI;YACV,kBAAkB,CAAC,MAAM,CAAC,wBAAwB,CAAC,IAAI,CAAC,CAAC,CAAC;QAC3D,CAAC;KACD,CAAC;AACH,CAAC,CAAC;AAEF,IAAM,wDAAwD,GAAG,UAChE,OAAoB,EACpB,QAAkB;IAElB,IAAM,mBAAmB,GAAG,OAAO,CAAC,OAAO,CAAC;IAC5C,IAAM,kBAAkB,GAAG,mCAAmC,CAC7D,QAAQ,CAAC,OAAO,CAChB,CAAC;IAEF,kBACC,GAAG,YAAC,IAAI;YACP,OAAO,mBAAmB,CAAC,GAAG,CAAC,wBAAwB,CAAC,IAAI,CAAC,CAAC,CAAC;QAChE,CAAC,EACD,MAAM,EAAE,mBAAmB,CAAC,MAAM,CAAC,IAAI,CAAC,mBAAmB,CAAC,IACzD,kBAAkB,EACpB;AACH,CAAC,CAAC;AAEF,IAAM,yCAAyC,GAAG,UACjD,OAAqD;IAErD,IAAM,WAAW,GAAG,OAAO,EAAE,CAAC;IAE9B,6EAA6E;IAC7E,uEAAuE;IACvE,2EAA2E;IAC3E,mFAAmF;IACnF,+CAA+C;IAC/C,IAAM,OAAO,GAAiC,UAAC,IAAI,EAAE,KAAK,EAAE,OAAO;QAClE,IAAI;YACH,WAAW,CAAC,GAAG,CAAC,wBAAwB,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;SAChE;QAAC,WAAM;YACP,QAAQ;SACR;IACF,CAAC,CAAC;IAEF,IAAM,UAAU,GAAoC,UAAA,IAAI;QACvD,IAAI;YACH,WAAW,CAAC,MAAM,CAAC,wBAAwB,CAAC,IAAI,CAAC,CAAC,CAAC;SACnD;QAAC,WAAM;YACP,QAAQ;SACR;IACF,CAAC,CAAC;IAEF,OAAO;QACN,GAAG,YAAC,IAAI;YACP,OAAO,WAAW,CAAC,GAAG,CAAC,wBAAwB,CAAC,IAAI,CAAC,CAAC,CAAC;QACxD,CAAC;QACD,MAAM,EAAE,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC;QAC5C,GAAG,EAAE,OAAO;QACZ,MAAM,EAAE,UAAU;KAClB,CAAC;AACH,CAAC,CAAC;AAEF,IAAM,uDAAuD,GAAG,UAC/D,OAAwD,EACxD,QAA0D;IAE1D,IAAM,UAAU,gBAAQ,OAAO,CAAC,OAAO,CAAE,CAAC;IAC1C,IAAM,UAAU,GAAG,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,UAAC,EAAa;YAAZ,IAAI,QAAA,EAAE,KAAK,QAAA;QAAM,OAAA,CAAC;YACrE,IAAI,MAAA;YACJ,KAAK,OAAA;SACL,CAAC;IAHmE,CAGnE,CAAC,CAAC;IAEJ,OAAO;QACN,GAAG,YAAC,IAAI;YACP,IAAM,KAAK,GAAG,UAAU,CAAC,wBAAwB,CAAC,IAAI,CAAC,CAAC,CAAC;YACzD,OAAO,KAAK;gBACX,CAAC,CAAC;oBACA,IAAI,MAAA;oBACJ,KAAK,OAAA;iBACJ;gBACH,CAAC,CAAC,SAAS,CAAC;QACd,CAAC;QACD,MAAM;YACL,OAAO,UAAU,CAAC;QACnB,CAAC;QACD,GAAG,YAAC,IAAI,EAAE,KAAK,EAAE,OAAO;YACvB,QAAQ,CAAC,SAAS,CACjB,YAAY,EACZ,UAAG,wBAAwB,CAAC,IAAI,CAAC,cAAI,KAAK,cACzC,OAAO,CAAC,CAAC,CAAC,yBAAyB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAChD,CACF,CAAC;QACH,CAAC;QACD,MAAM,YAAC,IAAI;YACV,QAAQ,CAAC,SAAS,CACjB,YAAY,EACZ,UAAG,wBAAwB,CAC1B,IAAI,CACJ,uBAAa,gBAAgB,CAAC,WAAW,EAAE,CAAE,CAC9C,CAAC;QACH,CAAC;KACD,CAAC;AACH,CAAC,CAAC;AAEF,IAAM,mCAAmC,GAAG,UAC3C,OAAgB;IAEhB,IAAM,OAAO,GAAiC,UAAC,IAAI,EAAE,KAAK,EAAE,OAAO;QAClE,OAAO,CAAC,MAAM,CACb,YAAY,EACZ,UAAG,wBAAwB,CAAC,IAAI,CAAC,cAAI,KAAK,cACzC,OAAO,CAAC,CAAC,CAAC,yBAAyB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAChD,CACF,CAAC;IACH,CAAC,CAAC;IACF,IAAM,UAAU,GAAoC,UAAA,IAAI;QACvD,OAAO,CAAC,MAAM,CACb,YAAY,EACZ,UAAG,wBAAwB,CAC1B,IAAI,CACJ,uBAAa,gBAAgB,CAAC,WAAW,EAAE,CAAE,CAC9C,CAAC;IACH,CAAC,CAAC;IACF,OAAO;QACN,GAAG,EAAE,OAAO;QACZ,MAAM,EAAE,UAAU;KAClB,CAAC;AACH,CAAC,CAAC;AAEF,IAAM,yBAAyB,GAAG,UACjC,OAAuC;IAE/B,IAAA,OAAO,GAAyC,OAAO,QAAhD,EAAE,MAAM,GAAiC,OAAO,OAAxC,EAAE,QAAQ,GAAuB,OAAO,SAA9B,EAAE,QAAQ,GAAa,OAAO,SAApB,EAAE,MAAM,GAAK,OAAO,OAAZ,CAAa;IAChE,IAAM,iBAAiB,GAAa,EAAE,CAAC;IACvC,IAAI,MAAM,EAAE;QACX,iBAAiB,CAAC,IAAI,CAAC,iBAAU,MAAM,CAAE,CAAC,CAAC;KAC3C;IACD,IAAI,OAAO,EAAE;QACZ,iBAAiB,CAAC,IAAI,CAAC,kBAAW,OAAO,CAAC,WAAW,EAAE,CAAE,CAAC,CAAC;KAC3D;IACD,IAAI,QAAQ,EAAE;QACb,iBAAiB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;KACnC;IACD,IAAI,QAAQ,EAAE;QACb,iBAAiB,CAAC,IAAI,CAAC,mBAAY,QAAQ,CAAE,CAAC,CAAC;KAC/C;IACD,IAAI,MAAM,EAAE;QACX,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;KACjC;IACD,OAAO,iBAAiB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACpC,CAAC,CAAC;AAEF,4EAA4E;AAC5E,uDAAuD;AACvD,kDAAkD;AAClD,kDAAkD;AAClD,2EAA2E;AAC3E,iDAAiD;AACjD,IAAM,wBAAwB,GAAG,UAAC,IAAY;IAC7C,OAAA,kBAAkB,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,sBAAsB,EAAE,kBAAkB,CAAC;AAA5E,CAA4E,CAAC"}
package/package.json CHANGED
@@ -1,112 +1,112 @@
1
1
  {
2
- "author": "Amazon Web Services",
3
- "name": "@aws-amplify/adapter-nextjs",
4
- "description": "The adapter for the supporting of using Amplify APIs in Next.js.",
5
- "peerDependencies": {
6
- "aws-amplify": "^6.0.0",
7
- "next": ">=13.4.0 <14.0.0"
8
- },
9
- "dependencies": {
10
- "cookie": "0.5.0",
11
- "server-only": "^0.0.1"
12
- },
13
- "devDependencies": {
14
- "@types/cookie": "0.5.1",
15
- "@types/node": "^20.3.1",
16
- "@types/react": "^18.2.13",
17
- "@types/react-dom": "^18.2.6",
18
- "aws-amplify": "6.0.1-preview-testing.034e780.0+034e780",
19
- "jest-fetch-mock": "3.0.3",
20
- "next": ">= 13.4.0 < 14.0.0",
21
- "typescript": "5.1.6"
22
- },
23
- "publishConfig": {
24
- "access": "public"
25
- },
26
- "bugs": {
27
- "url": "https://github.com/aws/aws-amplify/issues"
28
- },
29
- "exports": {
30
- ".": {
31
- "types": "./lib-esm/index.d.ts",
32
- "import": "./lib-esm/index.js",
33
- "require": "./lib/index.js"
34
- },
35
- "./with-amplify": {
36
- "types": "./lib-esm/withAmplify.d.ts",
37
- "import": "./lib-esm/withAmplify.js",
38
- "require": "./lib/withAmplify.js"
39
- },
40
- "./package.json": "./package.json"
41
- },
42
- "files": [
43
- "lib",
44
- "lib-esm",
45
- "src",
46
- "withAmplify"
47
- ],
48
- "homepage": "https://aws-amplify.github.io/",
49
- "jest": {
50
- "coveragePathIgnorePatterns": [
51
- "/node_modules/",
52
- "dist",
53
- "lib",
54
- "lib-esm"
55
- ],
56
- "coverageThreshold": {
57
- "global": {
58
- "branches": 100,
59
- "functions": 100,
60
- "lines": 100,
61
- "statements": 100
62
- }
63
- },
64
- "globals": {
65
- "ts-jest": {
66
- "diagnostics": {
67
- "pathRegex": "(/__tests__/.*|\\.(test|spec))\\.(tsx?|jsx?)$"
68
- },
69
- "tsConfig": false
70
- }
71
- },
72
- "moduleFileExtensions": [
73
- "ts",
74
- "tsx",
75
- "js",
76
- "json",
77
- "jsx"
78
- ],
79
- "testEnvironment": "node",
80
- "testPathIgnorePatterns": [
81
- "xmlParser-fixture.ts",
82
- "testUtils",
83
- "cases"
84
- ],
85
- "testRegex": "(/__tests__/.*|\\.(test|spec))\\.(tsx?|jsx?)$",
86
- "testURL": "http://localhost/",
87
- "transform": {
88
- "^.+\\.(js|jsx|ts|tsx)$": "ts-jest"
89
- }
90
- },
91
- "license": "Apache-2.0",
92
- "main": "./lib/index.js",
93
- "module": "./lib-esm/index.js",
94
- "sideEffects": false,
95
- "scripts": {
96
- "build": "npm run clean && npm run build:esm && npm run build:cjs",
97
- "build-with-test": "npm test && npm run build",
98
- "build:cjs": "rimraf lib && tsc -m commonjs --outDir lib",
99
- "build:cjs:watch": "rimraf lib && tsc -m commonjs --outDir lib --watch",
100
- "build:esm": "rimraf lib-esm && tsc -m esnext --outDir lib-esm",
101
- "build:esm:watch": "rimraf lib-esm && tsc -m esnext --outDir lib-esm --watch",
102
- "clean": "npm run clean:size && rimraf lib-esm lib",
103
- "clean:size": "rimraf dual-publish-tmp tmp*",
104
- "format": "echo \"Not implemented\"",
105
- "lint": "tslint 'src/**/*.ts' && npm run ts-coverage",
106
- "test": "npm run lint && jest -w 1 --coverage",
107
- "ts-coverage": "typescript-coverage-report -p ./tsconfig.build.json -t 90.31"
108
- },
109
- "typings": "./lib-esm/index.d.ts",
110
- "version": "0.0.2-preview-testing.034e780.0+034e780",
111
- "gitHead": "034e780c26d821aba19fa29a397a5f35ed8874de"
2
+ "author": "Amazon Web Services",
3
+ "name": "@aws-amplify/adapter-nextjs",
4
+ "description": "The adapter for the supporting of using Amplify APIs in Next.js.",
5
+ "peerDependencies": {
6
+ "aws-amplify": "6.0.1-server-generate-client.1e317a1.0+1e317a1",
7
+ "next": ">=13.4.0 <14.0.0"
8
+ },
9
+ "dependencies": {
10
+ "cookie": "0.5.0",
11
+ "server-only": "^0.0.1"
12
+ },
13
+ "devDependencies": {
14
+ "@types/cookie": "0.5.1",
15
+ "@types/node": "^20.3.1",
16
+ "@types/react": "^18.2.13",
17
+ "@types/react-dom": "^18.2.6",
18
+ "aws-amplify": "6.0.1-server-generate-client.1e317a1.0+1e317a1",
19
+ "jest-fetch-mock": "3.0.3",
20
+ "next": ">= 13.4.0 < 14.0.0",
21
+ "typescript": "5.1.6"
22
+ },
23
+ "publishConfig": {
24
+ "access": "public"
25
+ },
26
+ "bugs": {
27
+ "url": "https://github.com/aws/aws-amplify/issues"
28
+ },
29
+ "exports": {
30
+ ".": {
31
+ "types": "./lib-esm/index.d.ts",
32
+ "import": "./lib-esm/index.js",
33
+ "require": "./lib/index.js"
34
+ },
35
+ "./with-amplify": {
36
+ "types": "./lib-esm/withAmplify.d.ts",
37
+ "import": "./lib-esm/withAmplify.js",
38
+ "require": "./lib/withAmplify.js"
39
+ },
40
+ "./package.json": "./package.json"
41
+ },
42
+ "files": [
43
+ "lib",
44
+ "lib-esm",
45
+ "src",
46
+ "with-amplify"
47
+ ],
48
+ "homepage": "https://aws-amplify.github.io/",
49
+ "jest": {
50
+ "coveragePathIgnorePatterns": [
51
+ "/node_modules/",
52
+ "dist",
53
+ "lib",
54
+ "lib-esm"
55
+ ],
56
+ "coverageThreshold": {
57
+ "global": {
58
+ "branches": 80,
59
+ "functions": 80,
60
+ "lines": 80,
61
+ "statements": 80
62
+ }
63
+ },
64
+ "globals": {
65
+ "ts-jest": {
66
+ "diagnostics": {
67
+ "pathRegex": "(/__tests__/.*|\\.(test|spec))\\.(tsx?|jsx?)$"
68
+ },
69
+ "tsConfig": false
70
+ }
71
+ },
72
+ "moduleFileExtensions": [
73
+ "ts",
74
+ "tsx",
75
+ "js",
76
+ "json",
77
+ "jsx"
78
+ ],
79
+ "testEnvironment": "node",
80
+ "testPathIgnorePatterns": [
81
+ "xmlParser-fixture.ts",
82
+ "testUtils",
83
+ "cases"
84
+ ],
85
+ "testRegex": "(/__tests__/.*|\\.(test|spec))\\.(tsx?|jsx?)$",
86
+ "testURL": "http://localhost/",
87
+ "transform": {
88
+ "^.+\\.(js|jsx|ts|tsx)$": "ts-jest"
89
+ }
90
+ },
91
+ "license": "Apache-2.0",
92
+ "main": "./lib/index.js",
93
+ "module": "./lib-esm/index.js",
94
+ "sideEffects": false,
95
+ "scripts": {
96
+ "build": "npm run clean && npm run build:esm && npm run build:cjs",
97
+ "build-with-test": "npm test && npm run build",
98
+ "build:cjs": "rimraf lib && tsc -m commonjs --outDir lib",
99
+ "build:cjs:watch": "rimraf lib && tsc -m commonjs --outDir lib --watch",
100
+ "build:esm": "rimraf lib-esm && tsc -m esnext --outDir lib-esm",
101
+ "build:esm:watch": "rimraf lib-esm && tsc -m esnext --outDir lib-esm --watch",
102
+ "clean": "npm run clean:size && rimraf lib-esm lib",
103
+ "clean:size": "rimraf dual-publish-tmp tmp*",
104
+ "format": "echo \"Not implemented\"",
105
+ "lint": "tslint 'src/**/*.ts' && npm run ts-coverage",
106
+ "test": "npm run lint && jest -w 1 --coverage",
107
+ "ts-coverage": "typescript-coverage-report -p ./tsconfig.build.json -t 90.31"
108
+ },
109
+ "typings": "./lib-esm/index.d.ts",
110
+ "version": "0.0.2-server-generate-client.1e317a1.0+1e317a1",
111
+ "gitHead": "1e317a10a7a7e980919b0d78e397bcff1461fec5"
112
112
  }
@@ -0,0 +1,39 @@
1
+ // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
2
+ // SPDX-License-Identifier: Apache-2.0
3
+
4
+ import { generateClient as internalGenerateClient } from '@aws-amplify/api-graphql/internals';
5
+ import { getAmplifyServerContext } from '@aws-amplify/core/internals/adapter-core';
6
+
7
+ import { V6Client } from '@aws-amplify/api-graphql';
8
+
9
+ import { runWithAmplifyServerContext } from './runWithAmplifyServerContext';
10
+ import { getAmplifyConfig } from './utils/getAmplifyConfig';
11
+ import { NextServer } from './types';
12
+
13
+ export type {
14
+ GraphQLResult,
15
+ GraphQLReturnType,
16
+ } from '@aws-amplify/api-graphql';
17
+
18
+ /**
19
+ * Generates an API client that can work with models or raw GraphQL
20
+ */
21
+ export function generateServerClient<T extends Record<any, any> = never>(
22
+ nextServerContext: NextServer.Context
23
+ ): V6Client<T> {
24
+ // This function reference gets passed down to InternalGraphQLAPI.graphql
25
+ // where this._graphql is passed through as the `fn` argument
26
+ // causing it to always get invoked inside `runWithAmplifyServerContext`
27
+ const getAmplify = (fn: (amplify: any) => Promise<any>) =>
28
+ runWithAmplifyServerContext({
29
+ nextServerContext,
30
+ operation: contextSpec =>
31
+ fn(getAmplifyServerContext(contextSpec).amplify),
32
+ });
33
+
34
+ // retrieve general SSR config. This is used only for get the
35
+ // modelIntroSchema in generateModelsProperty
36
+ const config = getAmplifyConfig();
37
+
38
+ return internalGenerateClient({ amplify: getAmplify, config });
39
+ }
package/src/index.ts CHANGED
@@ -2,3 +2,4 @@
2
2
  // SPDX-License-Identifier: Apache-2.0
3
3
 
4
4
  export { runWithAmplifyServerContext } from './runWithAmplifyServerContext';
5
+ export { generateServerClient } from './generateServerClient';
@@ -6,7 +6,7 @@ import {
6
6
  createCookieStorageAdapterFromNextServerContext,
7
7
  getAmplifyConfig,
8
8
  } from './utils';
9
- import { MemoryKeyValueStorage } from '@aws-amplify/core';
9
+ import { sharedInMemoryStorage } from '@aws-amplify/core';
10
10
  import {
11
11
  createAWSCredentialsAndIdentityIdProvider,
12
12
  createKeyValueStorageFromCookieStorageAdapter,
@@ -75,7 +75,7 @@ export const runWithAmplifyServerContext: NextServer.RunOperationWithContext =
75
75
  // safe to use the singleton `MemoryKeyValueStorage` here, as the
76
76
  // static rendering uses the same unauthenticated role cross-sever.
77
77
  nextServerContext === null
78
- ? MemoryKeyValueStorage
78
+ ? sharedInMemoryStorage
79
79
  : createKeyValueStorageFromCookieStorageAdapter(
80
80
  createCookieStorageAdapterFromNextServerContext(nextServerContext)
81
81
  );
@@ -78,10 +78,16 @@ const createCookieStorageAdapterFromNextRequestAndNextResponse = (
78
78
  const mutableCookieStore = response.cookies;
79
79
 
80
80
  return {
81
- get: readonlyCookieStore.get.bind(readonlyCookieStore),
81
+ get(name) {
82
+ return readonlyCookieStore.get(ensureEncodedForJSCookie(name));
83
+ },
82
84
  getAll: readonlyCookieStore.getAll.bind(readonlyCookieStore),
83
- set: mutableCookieStore.set.bind(mutableCookieStore),
84
- delete: mutableCookieStore.delete.bind(mutableCookieStore),
85
+ set(name, value, options) {
86
+ mutableCookieStore.set(ensureEncodedForJSCookie(name), value, options);
87
+ },
88
+ delete(name) {
89
+ mutableCookieStore.delete(ensureEncodedForJSCookie(name));
90
+ },
85
91
  };
86
92
  };
87
93
 
@@ -95,7 +101,9 @@ const createCookieStorageAdapterFromNextRequestAndHttpResponse = (
95
101
  );
96
102
 
97
103
  return {
98
- get: readonlyCookieStore.get.bind(readonlyCookieStore),
104
+ get(name) {
105
+ return readonlyCookieStore.get(ensureEncodedForJSCookie(name));
106
+ },
99
107
  getAll: readonlyCookieStore.getAll.bind(readonlyCookieStore),
100
108
  ...mutableCookieStore,
101
109
  };
@@ -113,7 +121,7 @@ const createCookieStorageAdapterFromNextCookies = (
113
121
  // and safely ignore the error if it is thrown.
114
122
  const setFunc: CookieStorage.Adapter['set'] = (name, value, options) => {
115
123
  try {
116
- cookieStore.set(name, value, options);
124
+ cookieStore.set(ensureEncodedForJSCookie(name), value, options);
117
125
  } catch {
118
126
  // no-op
119
127
  }
@@ -121,14 +129,16 @@ const createCookieStorageAdapterFromNextCookies = (
121
129
 
122
130
  const deleteFunc: CookieStorage.Adapter['delete'] = name => {
123
131
  try {
124
- cookieStore.delete(name);
132
+ cookieStore.delete(ensureEncodedForJSCookie(name));
125
133
  } catch {
126
134
  // no-op
127
135
  }
128
136
  };
129
137
 
130
138
  return {
131
- get: cookieStore.get.bind(cookieStore),
139
+ get(name) {
140
+ return cookieStore.get(ensureEncodedForJSCookie(name));
141
+ },
132
142
  getAll: cookieStore.getAll.bind(cookieStore),
133
143
  set: setFunc,
134
144
  delete: deleteFunc,
@@ -147,7 +157,7 @@ const createCookieStorageAdapterFromGetServerSidePropsContext = (
147
157
 
148
158
  return {
149
159
  get(name) {
150
- const value = cookiesMap[name];
160
+ const value = cookiesMap[ensureEncodedForJSCookie(name)];
151
161
  return value
152
162
  ? {
153
163
  name,
@@ -161,13 +171,17 @@ const createCookieStorageAdapterFromGetServerSidePropsContext = (
161
171
  set(name, value, options) {
162
172
  response.setHeader(
163
173
  'Set-Cookie',
164
- `${name}=${value};${options ? serializeSetCookieOptions(options) : ''}`
174
+ `${ensureEncodedForJSCookie(name)}=${value};${
175
+ options ? serializeSetCookieOptions(options) : ''
176
+ }`
165
177
  );
166
178
  },
167
179
  delete(name) {
168
180
  response.setHeader(
169
181
  'Set-Cookie',
170
- `${name}=;Expires=${DATE_IN_THE_PAST.toUTCString()}`
182
+ `${ensureEncodedForJSCookie(
183
+ name
184
+ )}=;Expires=${DATE_IN_THE_PAST.toUTCString()}`
171
185
  );
172
186
  },
173
187
  };
@@ -179,13 +193,17 @@ const createMutableCookieStoreFromHeaders = (
179
193
  const setFunc: CookieStorage.Adapter['set'] = (name, value, options) => {
180
194
  headers.append(
181
195
  'Set-Cookie',
182
- `${name}=${value};${options ? serializeSetCookieOptions(options) : ''}`
196
+ `${ensureEncodedForJSCookie(name)}=${value};${
197
+ options ? serializeSetCookieOptions(options) : ''
198
+ }`
183
199
  );
184
200
  };
185
201
  const deleteFunc: CookieStorage.Adapter['delete'] = name => {
186
202
  headers.append(
187
203
  'Set-Cookie',
188
- `${name}=;Expires=${DATE_IN_THE_PAST.toUTCString()}`
204
+ `${ensureEncodedForJSCookie(
205
+ name
206
+ )}=;Expires=${DATE_IN_THE_PAST.toUTCString()}`
189
207
  );
190
208
  };
191
209
  return {
@@ -197,7 +215,7 @@ const createMutableCookieStoreFromHeaders = (
197
215
  const serializeSetCookieOptions = (
198
216
  options: CookieStorage.SetCookieOptions
199
217
  ): string => {
200
- const { expires, maxAge, domain, httpOnly, sameSite, secure } = options;
218
+ const { expires, domain, httpOnly, sameSite, secure } = options;
201
219
  const serializedOptions: string[] = [];
202
220
  if (domain) {
203
221
  serializedOptions.push(`Domain=${domain}`);
@@ -216,3 +234,12 @@ const serializeSetCookieOptions = (
216
234
  }
217
235
  return serializedOptions.join(';');
218
236
  };
237
+
238
+ // Ensures the cookie names are encoded in order to look up the cookie store
239
+ // that is manipulated by js-cookie on the client side.
240
+ // Details of the js-cookie encoding behavior see:
241
+ // https://github.com/js-cookie/js-cookie#encoding
242
+ // The implementation is borrowed from js-cookie without escaping `[()]` as
243
+ // we are not using those chars in the auth keys.
244
+ const ensureEncodedForJSCookie = (name: string): string =>
245
+ encodeURIComponent(name).replace(/%(2[346B]|5E|60|7C)/g, decodeURIComponent);
@@ -0,0 +1,7 @@
1
+ {
2
+ "name": "@aws-amplify/adapter-nextjs/with-amplify",
3
+ "main": "../lib/withAmplify.js",
4
+ "browser": "../lib-esm/withAmplify.js",
5
+ "module": "../lib-esm/withAmplify.js",
6
+ "typings": "../lib-esm/withAmplify.js"
7
+ }