@aws-amplify/adapter-nextjs 0.0.2-server-generate-client.1e317a1.0 → 1.0.1-api-v6-models.c495d1b.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 (94) hide show
  1. package/internals/package.json +7 -0
  2. package/lib/api/createServerRunnerForAPI.d.ts +5 -0
  3. package/lib/api/createServerRunnerForAPI.js +17 -0
  4. package/lib/api/createServerRunnerForAPI.js.map +1 -0
  5. package/lib/api/generateServerClient.d.ts +33 -0
  6. package/lib/api/generateServerClient.js +80 -0
  7. package/lib/api/generateServerClient.js.map +1 -0
  8. package/lib/api/index.d.ts +1 -0
  9. package/lib/api/index.js +9 -0
  10. package/lib/api/index.js.map +1 -0
  11. package/lib/createServerRunner.d.ts +2 -0
  12. package/lib/createServerRunner.js +23 -0
  13. package/lib/createServerRunner.js.map +1 -0
  14. package/lib/index.d.ts +1 -2
  15. package/lib/index.js +3 -5
  16. package/lib/index.js.map +1 -1
  17. package/lib/internals/index.d.ts +2 -0
  18. package/lib/internals/index.js +8 -0
  19. package/lib/internals/index.js.map +1 -0
  20. package/lib/types/NextServer.d.ts +11 -0
  21. package/lib/utils/createCookieStorageAdapterFromNextServerContext.js +57 -69
  22. package/lib/utils/createCookieStorageAdapterFromNextServerContext.js.map +1 -1
  23. package/lib/utils/createRunWithAmplifyServerContext.d.ts +5 -0
  24. package/lib/utils/createRunWithAmplifyServerContext.js +35 -0
  25. package/lib/utils/createRunWithAmplifyServerContext.js.map +1 -0
  26. package/lib/utils/getAmplifyConfig.d.ts +2 -1
  27. package/lib/utils/getAmplifyConfig.js +4 -28
  28. package/lib/utils/getAmplifyConfig.js.map +1 -1
  29. package/lib/utils/index.d.ts +1 -1
  30. package/lib/utils/index.js +3 -3
  31. package/lib/utils/index.js.map +1 -1
  32. package/lib-esm/api/createServerRunnerForAPI.d.ts +5 -0
  33. package/lib-esm/api/createServerRunnerForAPI.js +13 -0
  34. package/lib-esm/api/createServerRunnerForAPI.js.map +1 -0
  35. package/lib-esm/api/generateServerClient.d.ts +33 -0
  36. package/lib-esm/api/generateServerClient.js +75 -0
  37. package/lib-esm/api/generateServerClient.js.map +1 -0
  38. package/lib-esm/api/index.d.ts +1 -0
  39. package/lib-esm/api/index.js +4 -0
  40. package/lib-esm/api/index.js.map +1 -0
  41. package/lib-esm/createServerRunner.d.ts +2 -0
  42. package/lib-esm/createServerRunner.js +19 -0
  43. package/lib-esm/createServerRunner.js.map +1 -0
  44. package/lib-esm/index.d.ts +1 -2
  45. package/lib-esm/index.js +1 -2
  46. package/lib-esm/index.js.map +1 -1
  47. package/lib-esm/internals/index.d.ts +2 -0
  48. package/lib-esm/internals/index.js +4 -0
  49. package/lib-esm/internals/index.js.map +1 -0
  50. package/lib-esm/types/NextServer.d.ts +11 -0
  51. package/lib-esm/utils/createCookieStorageAdapterFromNextServerContext.js +56 -68
  52. package/lib-esm/utils/createCookieStorageAdapterFromNextServerContext.js.map +1 -1
  53. package/lib-esm/utils/createRunWithAmplifyServerContext.d.ts +5 -0
  54. package/lib-esm/utils/createRunWithAmplifyServerContext.js +31 -0
  55. package/lib-esm/utils/createRunWithAmplifyServerContext.js.map +1 -0
  56. package/lib-esm/utils/getAmplifyConfig.d.ts +2 -1
  57. package/lib-esm/utils/getAmplifyConfig.js +3 -24
  58. package/lib-esm/utils/getAmplifyConfig.js.map +1 -1
  59. package/lib-esm/utils/index.d.ts +1 -1
  60. package/lib-esm/utils/index.js +1 -1
  61. package/lib-esm/utils/index.js.map +1 -1
  62. package/package.json +23 -15
  63. package/src/api/createServerRunnerForAPI.ts +21 -0
  64. package/src/api/generateServerClient.ts +110 -0
  65. package/src/api/index.ts +7 -0
  66. package/src/createServerRunner.ts +28 -0
  67. package/src/index.ts +1 -2
  68. package/src/internals/index.ts +5 -0
  69. package/src/types/NextServer.ts +14 -0
  70. package/src/utils/createRunWithAmplifyServerContext.ts +61 -0
  71. package/src/utils/getAmplifyConfig.ts +7 -29
  72. package/src/utils/index.ts +1 -1
  73. package/lib/generateServerClient.d.ts +0 -7
  74. package/lib/generateServerClient.js +0 -31
  75. package/lib/generateServerClient.js.map +0 -1
  76. package/lib/runWithAmplifyServerContext.d.ts +0 -45
  77. package/lib/runWithAmplifyServerContext.js +0 -118
  78. package/lib/runWithAmplifyServerContext.js.map +0 -1
  79. package/lib/withAmplify.d.ts +0 -12
  80. package/lib/withAmplify.js +0 -35
  81. package/lib/withAmplify.js.map +0 -1
  82. package/lib-esm/generateServerClient.d.ts +0 -7
  83. package/lib-esm/generateServerClient.js +0 -27
  84. package/lib-esm/generateServerClient.js.map +0 -1
  85. package/lib-esm/runWithAmplifyServerContext.d.ts +0 -45
  86. package/lib-esm/runWithAmplifyServerContext.js +0 -114
  87. package/lib-esm/runWithAmplifyServerContext.js.map +0 -1
  88. package/lib-esm/withAmplify.d.ts +0 -12
  89. package/lib-esm/withAmplify.js +0 -31
  90. package/lib-esm/withAmplify.js.map +0 -1
  91. package/src/generateServerClient.ts +0 -39
  92. package/src/runWithAmplifyServerContext.ts +0 -103
  93. package/src/withAmplify.ts +0 -36
  94. package/with-amplify/package.json +0 -7
@@ -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,5 @@
1
+ import { ResourcesConfig } from '@aws-amplify/core';
2
+ import { NextServer } from '../types';
3
+ export declare const createServerRunnerForAPI: ({ config, }: NextServer.CreateServerRunnerInput) => NextServer.CreateServerRunnerOutput & {
4
+ resourcesConfig: ResourcesConfig;
5
+ };
@@ -0,0 +1,17 @@
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.createServerRunnerForAPI = void 0;
6
+ const utils_1 = require("../utils");
7
+ const createServerRunnerForAPI = ({ config, }) => {
8
+ const amplifyConfig = (0, utils_1.getAmplifyConfig)(config);
9
+ return {
10
+ runWithAmplifyServerContext: (0, utils_1.createRunWithAmplifyServerContext)({
11
+ config: amplifyConfig,
12
+ }),
13
+ resourcesConfig: amplifyConfig,
14
+ };
15
+ };
16
+ exports.createServerRunnerForAPI = createServerRunnerForAPI;
17
+ //# sourceMappingURL=createServerRunnerForAPI.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createServerRunnerForAPI.js","sourceRoot":"","sources":["../../src/api/createServerRunnerForAPI.ts"],"names":[],"mappings":";AAAA,qEAAqE;AACrE,sCAAsC;;;AAGtC,oCAA+E;AAGxE,MAAM,wBAAwB,GAAG,CAAC,EACxC,MAAM,GAC8B,EAEnC,EAAE;IACH,MAAM,aAAa,GAAG,IAAA,wBAAgB,EAAC,MAAM,CAAC,CAAC;IAE/C,OAAO;QACN,2BAA2B,EAAE,IAAA,yCAAiC,EAAC;YAC9D,MAAM,EAAE,aAAa;SACrB,CAAC;QACF,eAAe,EAAE,aAAa;KAC9B,CAAC;AACH,CAAC,CAAC;AAbW,QAAA,wBAAwB,4BAanC"}
@@ -0,0 +1,33 @@
1
+ import { V6ClientSSRRequest, V6ClientSSRCookies } 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 with Dynamic Rendering
5
+ *
6
+ * @example
7
+ * ```ts
8
+ * import { cookies } from "next/headers"
9
+ *
10
+ * const client = generateServerClientUsingCookies({ cookies })
11
+ * const result = await client.graphql({query: listPosts})
12
+ * ```
13
+ */
14
+ export declare function generateServerClientUsingCookies<T extends Record<any, any> = never>({ config, cookies, }: NextServer.ServerComponentContext & NextServer.CreateServerRunnerInput): V6ClientSSRCookies<T>;
15
+ /**
16
+ * Generates an API client that can be used with both Pages Router and App Router
17
+ *
18
+ * @example
19
+ * ```ts
20
+ *
21
+ * const client = generateServerClient()
22
+ *
23
+ * result = await runWithAmplifyServerContext({
24
+ nextServerContext: { request, response },
25
+ operation: async (contextSpec) => {
26
+ return await client.graphql(contextSpec, {
27
+ query: listPosts,
28
+ })
29
+ },
30
+ })
31
+ * ```
32
+ */
33
+ export declare function generateServerClientUsingReqRes<T extends Record<any, any> = never>({ config }: NextServer.CreateServerRunnerInput): V6ClientSSRRequest<T>;
@@ -0,0 +1,80 @@
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.generateServerClientUsingReqRes = 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 createServerRunnerForAPI_1 = require("./createServerRunnerForAPI");
10
+ const utils_1 = require("../utils");
11
+ /**
12
+ * Generates an API client that can be used inside a Next.js Server Component with Dynamic Rendering
13
+ *
14
+ * @example
15
+ * ```ts
16
+ * import { cookies } from "next/headers"
17
+ *
18
+ * const client = generateServerClientUsingCookies({ cookies })
19
+ * const result = await client.graphql({query: listPosts})
20
+ * ```
21
+ */
22
+ function generateServerClientUsingCookies({ config, cookies, }) {
23
+ if (typeof cookies !== 'function') {
24
+ throw new adapter_core_1.AmplifyServerContextError({
25
+ message: 'generateServerClientUsingCookies is only compatible with the `cookies` Dynamic Function available in Server Components.',
26
+ // TODO: link to docs
27
+ recoverySuggestion: 'use `generateServerClient` inside of `runWithAmplifyServerContext` with the `request` object.',
28
+ });
29
+ }
30
+ const { runWithAmplifyServerContext, resourcesConfig } = (0, createServerRunnerForAPI_1.createServerRunnerForAPI)({ config });
31
+ // This function reference gets passed down to InternalGraphQLAPI.ts.graphql
32
+ // where this._graphql is passed in as the `fn` argument
33
+ // causing it to always get invoked inside `runWithAmplifyServerContext`
34
+ const getAmplify = (fn) => runWithAmplifyServerContext({
35
+ nextServerContext: { cookies },
36
+ operation: contextSpec => fn((0, adapter_core_1.getAmplifyServerContext)(contextSpec).amplify),
37
+ });
38
+ return (0, server_1.generateClient)({
39
+ amplify: getAmplify,
40
+ config: resourcesConfig,
41
+ });
42
+ }
43
+ exports.generateServerClientUsingCookies = generateServerClientUsingCookies;
44
+ /**
45
+ * Generates an API client that can be used with both Pages Router and App Router
46
+ *
47
+ * @example
48
+ * ```ts
49
+ *
50
+ * const client = generateServerClient()
51
+ *
52
+ * result = await runWithAmplifyServerContext({
53
+ nextServerContext: { request, response },
54
+ operation: async (contextSpec) => {
55
+ return await client.graphql(contextSpec, {
56
+ query: listPosts,
57
+ })
58
+ },
59
+ })
60
+ * ```
61
+ */
62
+ function generateServerClientUsingReqRes({ config }) {
63
+ const amplifyConfig = (0, utils_1.getAmplifyConfig)(config);
64
+ // passing `null` instance because each (future model) method must retrieve a valid instance
65
+ // from server context
66
+ const client = (0, server_1.generateClient)({
67
+ amplify: null,
68
+ config: amplifyConfig,
69
+ });
70
+ // TODO: improve this and the next type
71
+ const prevGraphql = client.graphql;
72
+ const wrappedGraphql = (contextSpec, options, additionalHeaders) => {
73
+ const amplifyInstance = (0, adapter_core_1.getAmplifyServerContext)(contextSpec).amplify;
74
+ return prevGraphql.call({ [api_graphql_1.__amplify]: amplifyInstance }, options, additionalHeaders);
75
+ };
76
+ client.graphql = wrappedGraphql;
77
+ return client;
78
+ }
79
+ exports.generateServerClientUsingReqRes = generateServerClientUsingReqRes;
80
+ //# sourceMappingURL=generateServerClient.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generateServerClient.js","sourceRoot":"","sources":["../../src/api/generateServerClient.ts"],"names":[],"mappings":";AAAA,qEAAqE;AACrE,sCAAsC;;;AAEtC,oDAAmF;AACnF,2EAGkD;AAClD,0DAMkC;AAElC,yEAAsE;AACtE,oCAA4C;AAE5C;;;;;;;;;;GAUG;AACH,SAAgB,gCAAgC,CAE9C,EACD,MAAM,EACN,OAAO,GAE2B;IAClC,IAAI,OAAO,OAAO,KAAK,UAAU,EAAE;QAClC,MAAM,IAAI,wCAAyB,CAAC;YACnC,OAAO,EACN,yHAAyH;YAC1H,qBAAqB;YACrB,kBAAkB,EACjB,+FAA+F;SAChG,CAAC,CAAC;KACH;IAED,MAAM,EAAE,2BAA2B,EAAE,eAAe,EAAE,GACrD,IAAA,mDAAwB,EAAC,EAAE,MAAM,EAAE,CAAC,CAAC;IAEtC,4EAA4E;IAC5E,wDAAwD;IACxD,wEAAwE;IACxE,MAAM,UAAU,GAAG,CAAC,EAAkC,EAAE,EAAE,CACzD,2BAA2B,CAAC;QAC3B,iBAAiB,EAAE,EAAE,OAAO,EAAE;QAC9B,SAAS,EAAE,WAAW,CAAC,EAAE,CACxB,EAAE,CAAC,IAAA,sCAAuB,EAAC,WAAW,CAAC,CAAC,OAAO,CAAC;KACjD,CAAC,CAAC;IAEJ,OAAO,IAAA,uBAAsB,EAA2B;QACvD,OAAO,EAAE,UAAU;QACnB,MAAM,EAAE,eAAe;KACvB,CAAC,CAAC;AACJ,CAAC;AAlCD,4EAkCC;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,SAAgB,+BAA+B,CAE7C,EAAE,MAAM,EAAsC;IAC/C,MAAM,aAAa,GAAG,IAAA,wBAAgB,EAAC,MAAM,CAAC,CAAC;IAC/C,4FAA4F;IAC5F,sBAAsB;IACtB,MAAM,MAAM,GAAG,IAAA,uBAAsB,EAA2B;QAC/D,OAAO,EAAE,IAAI;QACb,MAAM,EAAE,aAAa;KACrB,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;AAzBD,0EAyBC"}
@@ -0,0 +1 @@
1
+ export { generateServerClientUsingReqRes, generateServerClientUsingCookies, } from './generateServerClient';
@@ -0,0 +1,9 @@
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.generateServerClientUsingCookies = exports.generateServerClientUsingReqRes = void 0;
6
+ var generateServerClient_1 = require("./generateServerClient");
7
+ Object.defineProperty(exports, "generateServerClientUsingReqRes", { enumerable: true, get: function () { return generateServerClient_1.generateServerClientUsingReqRes; } });
8
+ Object.defineProperty(exports, "generateServerClientUsingCookies", { enumerable: true, get: function () { return generateServerClient_1.generateServerClientUsingCookies; } });
9
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/api/index.ts"],"names":[],"mappings":";AAAA,qEAAqE;AACrE,sCAAsC;;;AAEtC,+DAGgC;AAF/B,uIAAA,+BAA+B,OAAA;AAC/B,wIAAA,gCAAgC,OAAA"}
@@ -0,0 +1,2 @@
1
+ import { NextServer } from './types';
2
+ export declare const createServerRunner: NextServer.CreateServerRunner;
@@ -0,0 +1,23 @@
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.createServerRunner = void 0;
6
+ const adapter_core_1 = require("@aws-amplify/core/internals/adapter-core");
7
+ const utils_1 = require("./utils");
8
+ let amplifyConfig;
9
+ const createServerRunner = ({ config, }) => {
10
+ if (amplifyConfig) {
11
+ throw new adapter_core_1.AmplifyServerContextError({
12
+ message: '`createServerRunner` needs to be called only once.',
13
+ });
14
+ }
15
+ amplifyConfig = (0, utils_1.getAmplifyConfig)(config);
16
+ return {
17
+ runWithAmplifyServerContext: (0, utils_1.createRunWithAmplifyServerContext)({
18
+ config: amplifyConfig,
19
+ }),
20
+ };
21
+ };
22
+ exports.createServerRunner = createServerRunner;
23
+ //# sourceMappingURL=createServerRunner.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createServerRunner.js","sourceRoot":"","sources":["../src/createServerRunner.ts"],"names":[],"mappings":";AAAA,qEAAqE;AACrE,sCAAsC;;;AAItC,2EAAqF;AACrF,mCAA8E;AAG9E,IAAI,aAA0C,CAAC;AAExC,MAAM,kBAAkB,GAAkC,CAAC,EACjE,MAAM,GACN,EAAE,EAAE;IACJ,IAAI,aAAa,EAAE;QAClB,MAAM,IAAI,wCAAyB,CAAC;YACnC,OAAO,EAAE,oDAAoD;SAC7D,CAAC,CAAC;KACH;IAED,aAAa,GAAG,IAAA,wBAAgB,EAAC,MAAM,CAAC,CAAC;IAEzC,OAAO;QACN,2BAA2B,EAAE,IAAA,yCAAiC,EAAC;YAC9D,MAAM,EAAE,aAAa;SACrB,CAAC;KACF,CAAC;AACH,CAAC,CAAC;AAhBW,QAAA,kBAAkB,sBAgB7B"}
package/lib/index.d.ts CHANGED
@@ -1,2 +1 @@
1
- export { runWithAmplifyServerContext } from './runWithAmplifyServerContext';
2
- export { generateServerClient } from './generateServerClient';
1
+ export { createServerRunner } from './createServerRunner';
package/lib/index.js CHANGED
@@ -2,9 +2,7 @@
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.generateServerClient = exports.runWithAmplifyServerContext = void 0;
6
- var runWithAmplifyServerContext_1 = require("./runWithAmplifyServerContext");
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; } });
5
+ exports.createServerRunner = void 0;
6
+ var createServerRunner_1 = require("./createServerRunner");
7
+ Object.defineProperty(exports, "createServerRunner", { enumerable: true, get: function () { return createServerRunner_1.createServerRunner; } });
10
8
  //# 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;AACpC,+DAA8D;AAArD,4HAAA,oBAAoB,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA,qEAAqE;AACrE,sCAAsC;;;AAEtC,2DAA0D;AAAjD,wHAAA,kBAAkB,OAAA"}
@@ -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,7 +1,9 @@
1
1
  import { GetServerSidePropsContext as NextGetServerSidePropsContext } from 'next';
2
2
  import { NextRequest, NextResponse } from 'next/server';
3
3
  import { cookies } from 'next/headers';
4
+ import { LegacyConfig } from 'aws-amplify/adapter-core';
4
5
  import { AmplifyServer } from '@aws-amplify/core/internals/adapter-core';
6
+ import { ResourcesConfig } from '@aws-amplify/core';
5
7
  export declare namespace NextServer {
6
8
  /**
7
9
  * This context is normally available in the following:
@@ -56,4 +58,13 @@ export declare namespace NextServer {
56
58
  interface RunOperationWithContext {
57
59
  <OperationResult>(input: RunWithContextInput<OperationResult>): Promise<OperationResult>;
58
60
  }
61
+ interface CreateServerRunnerInput {
62
+ config: ResourcesConfig | LegacyConfig;
63
+ }
64
+ interface CreateServerRunnerOutput {
65
+ runWithAmplifyServerContext: RunOperationWithContext;
66
+ }
67
+ interface CreateServerRunner {
68
+ (input: CreateServerRunnerInput): CreateServerRunnerOutput;
69
+ }
59
70
  }
@@ -1,24 +1,13 @@
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");
6
+ const server_1 = require("next/server");
7
+ const adapter_core_1 = require("@aws-amplify/core/internals/adapter-core");
19
8
  exports.DATE_IN_THE_PAST = new Date(0);
20
- var createCookieStorageAdapterFromNextServerContext = function (context) {
21
- var _a = context, req = _a.request, res = _a.response;
9
+ const createCookieStorageAdapterFromNextServerContext = (context) => {
10
+ const { request: req, response: res } = context;
22
11
  // When the server context is from `getServerSideProps`, the `req` is an instance
23
12
  // of IncomingMessage, and the `res` is an instance of ServerResponse.
24
13
  // We cannot import these two classes here from `http` as it breaks in Next
@@ -30,7 +19,7 @@ var createCookieStorageAdapterFromNextServerContext = function (context) {
30
19
  typeof res.setHeader === 'function') {
31
20
  return createCookieStorageAdapterFromGetServerSidePropsContext(req, res);
32
21
  }
33
- var _b = context, request = _b.request, response = _b.response;
22
+ const { request, response } = context;
34
23
  // When the server context is from `middleware`, the `request` is an instance
35
24
  // of `NextRequest`.
36
25
  // When the server context is from a route handler, the `request` is an `Proxy`
@@ -45,7 +34,7 @@ var createCookieStorageAdapterFromNextServerContext = function (context) {
45
34
  return createCookieStorageAdapterFromNextRequestAndHttpResponse(request, response);
46
35
  }
47
36
  }
48
- var cookies = context.cookies;
37
+ const { cookies } = context;
49
38
  if (typeof cookies === 'function') {
50
39
  return createCookieStorageAdapterFromNextCookies(cookies);
51
40
  }
@@ -55,54 +44,58 @@ var createCookieStorageAdapterFromNextServerContext = function (context) {
55
44
  });
56
45
  };
57
46
  exports.createCookieStorageAdapterFromNextServerContext = createCookieStorageAdapterFromNextServerContext;
58
- var createCookieStorageAdapterFromNextRequestAndNextResponse = function (request, response) {
59
- var readonlyCookieStore = request.cookies;
60
- var mutableCookieStore = response.cookies;
47
+ const createCookieStorageAdapterFromNextRequestAndNextResponse = (request, response) => {
48
+ const readonlyCookieStore = request.cookies;
49
+ const mutableCookieStore = response.cookies;
61
50
  return {
62
- get: function (name) {
51
+ get(name) {
63
52
  return readonlyCookieStore.get(ensureEncodedForJSCookie(name));
64
53
  },
65
54
  getAll: readonlyCookieStore.getAll.bind(readonlyCookieStore),
66
- set: function (name, value, options) {
55
+ set(name, value, options) {
67
56
  mutableCookieStore.set(ensureEncodedForJSCookie(name), value, options);
68
57
  },
69
- delete: function (name) {
58
+ delete(name) {
70
59
  mutableCookieStore.delete(ensureEncodedForJSCookie(name));
71
60
  },
72
61
  };
73
62
  };
74
- var createCookieStorageAdapterFromNextRequestAndHttpResponse = function (request, response) {
75
- var readonlyCookieStore = request.cookies;
76
- var mutableCookieStore = createMutableCookieStoreFromHeaders(response.headers);
77
- return __assign({ get: function (name) {
63
+ const createCookieStorageAdapterFromNextRequestAndHttpResponse = (request, response) => {
64
+ const readonlyCookieStore = request.cookies;
65
+ const mutableCookieStore = createMutableCookieStoreFromHeaders(response.headers);
66
+ return {
67
+ get(name) {
78
68
  return readonlyCookieStore.get(ensureEncodedForJSCookie(name));
79
- }, getAll: readonlyCookieStore.getAll.bind(readonlyCookieStore) }, mutableCookieStore);
69
+ },
70
+ getAll: readonlyCookieStore.getAll.bind(readonlyCookieStore),
71
+ ...mutableCookieStore,
72
+ };
80
73
  };
81
- var createCookieStorageAdapterFromNextCookies = function (cookies) {
82
- var cookieStore = cookies();
74
+ const createCookieStorageAdapterFromNextCookies = (cookies) => {
75
+ const cookieStore = cookies();
83
76
  // When Next cookies() is called in a server component, it returns a readonly
84
77
  // cookie store. Hence calling set and delete throws an error. However,
85
78
  // cookies() returns a mutable cookie store when called in a server action.
86
79
  // We have no way to detect which one is returned, so we try to call set and delete
87
80
  // and safely ignore the error if it is thrown.
88
- var setFunc = function (name, value, options) {
81
+ const setFunc = (name, value, options) => {
89
82
  try {
90
83
  cookieStore.set(ensureEncodedForJSCookie(name), value, options);
91
84
  }
92
- catch (_a) {
85
+ catch {
93
86
  // no-op
94
87
  }
95
88
  };
96
- var deleteFunc = function (name) {
89
+ const deleteFunc = name => {
97
90
  try {
98
91
  cookieStore.delete(ensureEncodedForJSCookie(name));
99
92
  }
100
- catch (_a) {
93
+ catch {
101
94
  // no-op
102
95
  }
103
96
  };
104
97
  return {
105
- get: function (name) {
98
+ get(name) {
106
99
  return cookieStore.get(ensureEncodedForJSCookie(name));
107
100
  },
108
101
  getAll: cookieStore.getAll.bind(cookieStore),
@@ -110,65 +103,62 @@ var createCookieStorageAdapterFromNextCookies = function (cookies) {
110
103
  delete: deleteFunc,
111
104
  };
112
105
  };
113
- var createCookieStorageAdapterFromGetServerSidePropsContext = function (request, response) {
114
- var cookiesMap = __assign({}, request.cookies);
115
- var allCookies = Object.entries(cookiesMap).map(function (_a) {
116
- var name = _a[0], value = _a[1];
117
- return ({
118
- name: name,
119
- value: value,
120
- });
121
- });
106
+ const createCookieStorageAdapterFromGetServerSidePropsContext = (request, response) => {
107
+ const cookiesMap = { ...request.cookies };
108
+ const allCookies = Object.entries(cookiesMap).map(([name, value]) => ({
109
+ name,
110
+ value,
111
+ }));
122
112
  return {
123
- get: function (name) {
124
- var value = cookiesMap[ensureEncodedForJSCookie(name)];
113
+ get(name) {
114
+ const value = cookiesMap[ensureEncodedForJSCookie(name)];
125
115
  return value
126
116
  ? {
127
- name: name,
128
- value: value,
117
+ name,
118
+ value,
129
119
  }
130
120
  : undefined;
131
121
  },
132
- getAll: function () {
122
+ getAll() {
133
123
  return allCookies;
134
124
  },
135
- set: function (name, value, options) {
136
- response.setHeader('Set-Cookie', "".concat(ensureEncodedForJSCookie(name), "=").concat(value, ";").concat(options ? serializeSetCookieOptions(options) : ''));
125
+ set(name, value, options) {
126
+ response.setHeader('Set-Cookie', `${ensureEncodedForJSCookie(name)}=${value};${options ? serializeSetCookieOptions(options) : ''}`);
137
127
  },
138
- delete: function (name) {
139
- response.setHeader('Set-Cookie', "".concat(ensureEncodedForJSCookie(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()}`);
140
130
  },
141
131
  };
142
132
  };
143
- var createMutableCookieStoreFromHeaders = function (headers) {
144
- var setFunc = function (name, value, options) {
145
- headers.append('Set-Cookie', "".concat(ensureEncodedForJSCookie(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) : ''}`);
146
136
  };
147
- var deleteFunc = function (name) {
148
- headers.append('Set-Cookie', "".concat(ensureEncodedForJSCookie(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()}`);
149
139
  };
150
140
  return {
151
141
  set: setFunc,
152
142
  delete: deleteFunc,
153
143
  };
154
144
  };
155
- var serializeSetCookieOptions = function (options) {
156
- var expires = options.expires, domain = options.domain, httpOnly = options.httpOnly, sameSite = options.sameSite, secure = options.secure;
157
- var serializedOptions = [];
145
+ const serializeSetCookieOptions = (options) => {
146
+ const { expires, domain, httpOnly, sameSite, secure } = options;
147
+ const serializedOptions = [];
158
148
  if (domain) {
159
- serializedOptions.push("Domain=".concat(domain));
149
+ serializedOptions.push(`Domain=${domain}`);
160
150
  }
161
151
  if (expires) {
162
- serializedOptions.push("Expires=".concat(expires.toUTCString()));
152
+ serializedOptions.push(`Expires=${expires.toUTCString()}`);
163
153
  }
164
154
  if (httpOnly) {
165
- serializedOptions.push("HttpOnly");
155
+ serializedOptions.push(`HttpOnly`);
166
156
  }
167
157
  if (sameSite) {
168
- serializedOptions.push("SameSite=".concat(sameSite));
158
+ serializedOptions.push(`SameSite=${sameSite}`);
169
159
  }
170
160
  if (secure) {
171
- serializedOptions.push("Secure");
161
+ serializedOptions.push(`Secure`);
172
162
  }
173
163
  return serializedOptions.join(';');
174
164
  };
@@ -178,7 +168,5 @@ var serializeSetCookieOptions = function (options) {
178
168
  // https://github.com/js-cookie/js-cookie#encoding
179
169
  // The implementation is borrowed from js-cookie without escaping `[()]` as
180
170
  // 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
- };
171
+ const ensureEncodedForJSCookie = (name) => encodeURIComponent(name).replace(/%(2[346B]|5E|60|7C)/g, decodeURIComponent);
184
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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"}
@@ -0,0 +1,5 @@
1
+ import { ResourcesConfig } from '@aws-amplify/core';
2
+ import { NextServer } from '../types';
3
+ export declare const createRunWithAmplifyServerContext: ({ config: resourcesConfig, }: {
4
+ config: ResourcesConfig;
5
+ }) => NextServer.RunOperationWithContext;
@@ -0,0 +1,35 @@
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.createRunWithAmplifyServerContext = void 0;
6
+ const core_1 = require("@aws-amplify/core");
7
+ const adapter_core_1 = require("aws-amplify/adapter-core");
8
+ const createCookieStorageAdapterFromNextServerContext_1 = require("./createCookieStorageAdapterFromNextServerContext");
9
+ const createRunWithAmplifyServerContext = ({ config: resourcesConfig, }) => {
10
+ const runWithAmplifyServerContext = async ({ nextServerContext, operation }) => {
11
+ // When the Auth config is presented, attempt to create a Amplify server
12
+ // context with token and credentials provider.
13
+ if (resourcesConfig.Auth) {
14
+ const keyValueStorage =
15
+ // When `null` is passed as the value of `nextServerContext`, opt-in
16
+ // unauthenticated role (primarily for static rendering). It's
17
+ // safe to use the singleton `MemoryKeyValueStorage` here, as the
18
+ // static rendering uses the same unauthenticated role cross-sever.
19
+ nextServerContext === null
20
+ ? core_1.sharedInMemoryStorage
21
+ : (0, adapter_core_1.createKeyValueStorageFromCookieStorageAdapter)((0, createCookieStorageAdapterFromNextServerContext_1.createCookieStorageAdapterFromNextServerContext)(nextServerContext));
22
+ const credentialsProvider = (0, adapter_core_1.createAWSCredentialsAndIdentityIdProvider)(resourcesConfig.Auth, keyValueStorage);
23
+ const tokenProvider = (0, adapter_core_1.createUserPoolsTokenProvider)(resourcesConfig.Auth, keyValueStorage);
24
+ return (0, adapter_core_1.runWithAmplifyServerContext)(resourcesConfig, {
25
+ Auth: { credentialsProvider, tokenProvider },
26
+ }, operation);
27
+ }
28
+ // Otherwise it may be the case that auth is not used, e.g. API key.
29
+ // Omitting the `Auth` in the second parameter.
30
+ return (0, adapter_core_1.runWithAmplifyServerContext)(resourcesConfig, {}, operation);
31
+ };
32
+ return runWithAmplifyServerContext;
33
+ };
34
+ exports.createRunWithAmplifyServerContext = createRunWithAmplifyServerContext;
35
+ //# sourceMappingURL=createRunWithAmplifyServerContext.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createRunWithAmplifyServerContext.js","sourceRoot":"","sources":["../../src/utils/createRunWithAmplifyServerContext.ts"],"names":[],"mappings":";AAAA,qEAAqE;AACrE,sCAAsC;;;AAEtC,4CAA2E;AAC3E,2DAKkC;AAElC,uHAAoH;AAG7G,MAAM,iCAAiC,GAAG,CAAC,EACjD,MAAM,EAAE,eAAe,GAGvB,EAAE,EAAE;IACJ,MAAM,2BAA2B,GAChC,KAAK,EAAE,EAAE,iBAAiB,EAAE,SAAS,EAAE,EAAE,EAAE;QAC1C,wEAAwE;QACxE,+CAA+C;QAC/C,IAAI,eAAe,CAAC,IAAI,EAAE;YACzB,MAAM,eAAe;YACpB,oEAAoE;YACpE,8DAA8D;YAC9D,iEAAiE;YACjE,mEAAmE;YACnE,iBAAiB,KAAK,IAAI;gBACzB,CAAC,CAAC,4BAAqB;gBACvB,CAAC,CAAC,IAAA,4DAA6C,EAC7C,IAAA,iGAA+C,EAC9C,iBAAiB,CACjB,CACA,CAAC;YACN,MAAM,mBAAmB,GAAG,IAAA,wDAAyC,EACpE,eAAe,CAAC,IAAI,EACpB,eAAe,CACf,CAAC;YACF,MAAM,aAAa,GAAG,IAAA,2CAA4B,EACjD,eAAe,CAAC,IAAI,EACpB,eAAe,CACf,CAAC;YAEF,OAAO,IAAA,0CAA+B,EACrC,eAAe,EACf;gBACC,IAAI,EAAE,EAAE,mBAAmB,EAAE,aAAa,EAAE;aAC5C,EACD,SAAS,CACT,CAAC;SACF;QAED,oEAAoE;QACpE,+CAA+C;QAC/C,OAAO,IAAA,0CAA+B,EAAC,eAAe,EAAE,EAAE,EAAE,SAAS,CAAC,CAAC;IACxE,CAAC,CAAC;IAEH,OAAO,2BAA2B,CAAC;AACpC,CAAC,CAAC;AA9CW,QAAA,iCAAiC,qCA8C5C"}
@@ -1,2 +1,3 @@
1
1
  import { ResourcesConfig } from 'aws-amplify';
2
- export declare const getAmplifyConfig: () => ResourcesConfig;
2
+ import { LegacyConfig } from 'aws-amplify/adapter-core';
3
+ export declare const getAmplifyConfig: (config: ResourcesConfig | LegacyConfig) => ResourcesConfig;
@@ -1,35 +1,11 @@
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 __importDefault = (this && this.__importDefault) || function (mod) {
5
- return (mod && mod.__esModule) ? mod : { "default": mod };
6
- };
7
4
  Object.defineProperty(exports, "__esModule", { value: true });
8
5
  exports.getAmplifyConfig = void 0;
9
- var utils_1 = require("@aws-amplify/core/internals/utils");
10
- var adapter_core_1 = require("@aws-amplify/core/internals/adapter-core");
11
- var config_1 = __importDefault(require("next/config"));
12
- var getAmplifyConfig = function () {
13
- var configStr = process.env.amplifyConfig;
14
- // With a Next.js app that uses the Pages Router, the key-value pairs
15
- // listed under the `env` field in the `next.config.js` is not accessible
16
- // via process.env.<key> at some occasion. Using the following as a fallback
17
- // See: https://github.com/vercel/next.js/issues/39299
18
- if (!configStr) {
19
- var serverRuntimeConfig = (0, config_1.default)().serverRuntimeConfig;
20
- configStr = serverRuntimeConfig === null || serverRuntimeConfig === void 0 ? void 0 : serverRuntimeConfig.amplifyConfig;
21
- }
22
- if (!configStr) {
23
- throw new adapter_core_1.AmplifyServerContextError({
24
- message: 'Amplify configuration is missing from `process.env`.',
25
- recoverySuggestion: 'Ensure to use `withAmplify` function in your `next.config.js`.',
26
- });
27
- }
28
- var configObject = JSON.parse(configStr);
29
- // TODO(HuiSF): adds ResourcesConfig validation when it has one.
30
- return Object.keys(configObject).some(function (key) { return key.startsWith('aws_'); })
31
- ? (0, utils_1.parseAWSExports)(configObject)
32
- : configObject;
33
- };
6
+ const utils_1 = require("@aws-amplify/core/internals/utils");
7
+ const getAmplifyConfig = (config) => Object.keys(config).some(key => key.startsWith('aws_'))
8
+ ? (0, utils_1.parseAWSExports)(config)
9
+ : config;
34
10
  exports.getAmplifyConfig = getAmplifyConfig;
35
11
  //# sourceMappingURL=getAmplifyConfig.js.map