@remkoj/optimizely-cms-nextjs 5.1.5 → 6.0.0-pre10
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.
- package/dist/client.d.ts +6 -1
- package/dist/client.js +29 -3
- package/dist/client.js.map +1 -1
- package/dist/cms-page/_getInfoByPath.d.ts +1 -1
- package/dist/cms-page/_getInfoByPath.js +4 -4
- package/dist/cms-page/_getInfoByPath.js.map +1 -1
- package/dist/cms-page/_globals.d.ts +1 -0
- package/dist/cms-page/_globals.js +2 -0
- package/dist/cms-page/_globals.js.map +1 -0
- package/dist/cms-page/_loadContentByPath.d.ts +1 -1
- package/dist/cms-page/_loadContentByPath.js +2 -1
- package/dist/cms-page/_loadContentByPath.js.map +1 -1
- package/dist/cms-page/data.d.ts +3 -2
- package/dist/cms-page/layout.d.ts +1 -1
- package/dist/cms-page/layout.js +2 -1
- package/dist/cms-page/layout.js.map +1 -1
- package/dist/cms-page/middleware.js +2 -0
- package/dist/cms-page/middleware.js.map +1 -1
- package/dist/cms-page/page.d.ts +17 -6
- package/dist/cms-page/page.js +128 -57
- package/dist/cms-page/page.js.map +1 -1
- package/dist/components/on-page-edit.js +1 -1
- package/dist/components/on-page-edit.js.map +1 -1
- package/dist/ope/data.js +3 -0
- package/dist/ope/data.js.map +1 -1
- package/dist/ope/page.js +21 -7
- package/dist/ope/page.js.map +1 -1
- package/dist/ope/tools.d.ts +2 -2
- package/dist/ope/tools.js +1 -1
- package/dist/ope/tools.js.map +1 -1
- package/dist/ope/types.d.ts +38 -35
- package/dist/publish/index.js +1 -1
- package/dist/publish/index.js.map +1 -1
- package/package.json +22 -21
package/dist/client.d.ts
CHANGED
|
@@ -2,7 +2,8 @@ import 'server-only';
|
|
|
2
2
|
import { type IOptiGraphClient, type OptimizelyGraphConfig } from '@remkoj/optimizely-graph-client';
|
|
3
3
|
/**
|
|
4
4
|
* Create a new client instance. This is a direct wrapper for the `createClient` function
|
|
5
|
-
* exported from `@remkoj/optimizely-graph-client`.
|
|
5
|
+
* exported from `@remkoj/optimizely-graph-client`. It creates the instance with the
|
|
6
|
+
* recommended configuration for published content in a Next.JS frontend.
|
|
6
7
|
*
|
|
7
8
|
* @returns The newly created GraphQL Client
|
|
8
9
|
*/
|
|
@@ -12,6 +13,10 @@ export declare function createClient(): IOptiGraphClient;
|
|
|
12
13
|
* wraps the `createClient` function from `@remkoj/optimizely-graph-client` and applies some
|
|
13
14
|
* configuration defaults.
|
|
14
15
|
*
|
|
16
|
+
* It creates the instance with the recommended configuration for published content in a Next.JS
|
|
17
|
+
* frontend. When the token is a non-empty string, the configuration applied is intended to access
|
|
18
|
+
* non-published content in a Next.JS frontend, for example in the preview endpoint of Optimizely CMS.
|
|
19
|
+
*
|
|
15
20
|
* @returns The newly created GraphQL Client
|
|
16
21
|
*/
|
|
17
22
|
export declare function createAuthorizedClient(token?: string, config?: OptimizelyGraphConfig): IOptiGraphClient;
|
package/dist/client.js
CHANGED
|
@@ -1,8 +1,15 @@
|
|
|
1
1
|
import 'server-only';
|
|
2
2
|
import { createClient as createBaseClient, AuthMode } from '@remkoj/optimizely-graph-client';
|
|
3
|
+
import { isNonEmptyString } from '@remkoj/optimizely-cms-react/utils';
|
|
4
|
+
const AuthModeValues = Object.getOwnPropertyNames(AuthMode).reduce((a, b) => {
|
|
5
|
+
//@ts-ignore
|
|
6
|
+
a.push(AuthMode[b]);
|
|
7
|
+
return a;
|
|
8
|
+
}, []);
|
|
3
9
|
/**
|
|
4
10
|
* Create a new client instance. This is a direct wrapper for the `createClient` function
|
|
5
|
-
* exported from `@remkoj/optimizely-graph-client`.
|
|
11
|
+
* exported from `@remkoj/optimizely-graph-client`. It creates the instance with the
|
|
12
|
+
* recommended configuration for published content in a Next.JS frontend.
|
|
6
13
|
*
|
|
7
14
|
* @returns The newly created GraphQL Client
|
|
8
15
|
*/
|
|
@@ -14,18 +21,37 @@ export function createClient() {
|
|
|
14
21
|
* wraps the `createClient` function from `@remkoj/optimizely-graph-client` and applies some
|
|
15
22
|
* configuration defaults.
|
|
16
23
|
*
|
|
24
|
+
* It creates the instance with the recommended configuration for published content in a Next.JS
|
|
25
|
+
* frontend. When the token is a non-empty string, the configuration applied is intended to access
|
|
26
|
+
* non-published content in a Next.JS frontend, for example in the preview endpoint of Optimizely CMS.
|
|
27
|
+
*
|
|
17
28
|
* @returns The newly created GraphQL Client
|
|
18
29
|
*/
|
|
19
30
|
export function createAuthorizedClient(token, config) {
|
|
20
|
-
|
|
31
|
+
// Check the token
|
|
32
|
+
const isPotentialValidToken = isNonEmptyString(token);
|
|
33
|
+
// Create the client, but keep the cache disabled if we've got a non-empty string as token
|
|
34
|
+
const client = createBaseClient(config, undefined, {
|
|
35
|
+
nextJsFetchDirectives: true,
|
|
36
|
+
cache: !isPotentialValidToken,
|
|
37
|
+
queryCache: !isPotentialValidToken,
|
|
38
|
+
});
|
|
21
39
|
if (client.debug)
|
|
22
40
|
console.log('⚪ [ContentGraph Client] Created new Optimizely Graph client');
|
|
23
41
|
// Apply token if needed
|
|
24
|
-
if (
|
|
42
|
+
if (isPotentialValidToken) {
|
|
25
43
|
if (token == client.siteInfo.publishToken) {
|
|
26
44
|
console.warn(`🔐 [ContentGraph Client] Allowed authenticated access by publish token, switching to HMAC`);
|
|
27
45
|
client.updateAuthentication(AuthMode.HMAC);
|
|
28
46
|
}
|
|
47
|
+
else if (AuthModeValues.includes(token)) {
|
|
48
|
+
if (client.isDebugOrDevelopment() && (token === AuthMode.HMAC || token === AuthMode.Basic)) {
|
|
49
|
+
console.warn(`🔐 [ContentGraph Client] Allowing authenticated access by using a mode as token in development or debug`);
|
|
50
|
+
client.updateAuthentication(token);
|
|
51
|
+
}
|
|
52
|
+
else
|
|
53
|
+
console.warn(`🔐 [ContentGraph Client] Blocked authenticated access by using a mode as token`);
|
|
54
|
+
}
|
|
29
55
|
else {
|
|
30
56
|
client.updateAuthentication(token);
|
|
31
57
|
}
|
package/dist/client.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA,OAAO,aAAa,CAAA;AACpB,OAAO,EAAE,YAAY,IAAI,gBAAgB,EAAE,QAAQ,EAAqD,MAAM,iCAAiC,CAAA;
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA,OAAO,aAAa,CAAA;AACpB,OAAO,EAAE,YAAY,IAAI,gBAAgB,EAAE,QAAQ,EAAqD,MAAM,iCAAiC,CAAA;AAC/I,OAAO,EAAE,gBAAgB,EAAE,MAAM,oCAAoC,CAAA;AAErE,MAAM,cAAc,GAAG,MAAM,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAW,CAAC,CAAW,EAAE,CAAS,EAAE,EAAE;IACtG,YAAY;IACZ,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;IACpB,OAAO,CAAC,CAAA;AACV,CAAC,EAAE,EAAc,CAAC,CAAA;AAElB;;;;;;GAMG;AACH,MAAM,UAAU,YAAY;IAC1B,OAAO,sBAAsB,EAAE,CAAA;AACjC,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,sBAAsB,CAAC,KAAc,EAAE,MAA8B;IACnF,kBAAkB;IAClB,MAAM,qBAAqB,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAA;IAErD,0FAA0F;IAC1F,MAAM,MAAM,GAAG,gBAAgB,CAAC,MAAM,EAAE,SAAS,EAAE;QACjD,qBAAqB,EAAE,IAAI;QAC3B,KAAK,EAAE,CAAC,qBAAqB;QAC7B,UAAU,EAAE,CAAC,qBAAqB;KACnC,CAAC,CAAA;IACF,IAAI,MAAM,CAAC,KAAK;QACd,OAAO,CAAC,GAAG,CAAC,6DAA6D,CAAC,CAAA;IAE5E,wBAAwB;IACxB,IAAI,qBAAqB,EAAE,CAAC;QAC1B,IAAI,KAAK,IAAI,MAAM,CAAC,QAAQ,CAAC,YAAY,EAAE,CAAC;YAC1C,OAAO,CAAC,IAAI,CAAC,2FAA2F,CAAC,CAAA;YACzG,MAAM,CAAC,oBAAoB,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAA;QAC5C,CAAC;aAAM,IAAI,cAAc,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;YAC1C,IAAI,MAAM,CAAC,oBAAoB,EAAE,IAAI,CAAC,KAAK,KAAK,QAAQ,CAAC,IAAI,IAAI,KAAK,KAAK,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC3F,OAAO,CAAC,IAAI,CAAC,yGAAyG,CAAC,CAAA;gBACvH,MAAM,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAA;YACpC,CAAC;;gBACC,OAAO,CAAC,IAAI,CAAC,gFAAgF,CAAC,CAAA;QAClG,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAA;QACpC,CAAC;QAED,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;YACjB,OAAO,CAAC,IAAI,CAAC,kEAAkE,MAAM,CAAC,eAAe,EAAE,CAAC,CAAA;YACxG,OAAO,CAAC,GAAG,CAAC,6DAA6D,CAAC,CAAA;QAC5E,CAAC;QACD,MAAM,CAAC,WAAW,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,EAAE,KAAK,CAAC,CAAA;IACnF,CAAC;IACD,OAAO,MAAM,CAAA;AACf,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAG,sBAAsB,CAAA;AAE/D;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,YAAY,CAAA;AAE3C,eAAe,YAAY,CAAA"}
|
|
@@ -2,4 +2,4 @@ import { type IOptiGraphClient } from "@remkoj/optimizely-graph-client/client";
|
|
|
2
2
|
import { type IRouteResolver } from "@remkoj/optimizely-graph-client/router";
|
|
3
3
|
import { type ChannelDefinition } from "@remkoj/optimizely-graph-client/channels";
|
|
4
4
|
import { type LookupResponse } from "./_base.js";
|
|
5
|
-
export declare function getInfoByPath(client: IOptiGraphClient, routerFactory: (client?: IOptiGraphClient) => IRouteResolver, requestPath: string, channel?: ChannelDefinition | string): Promise<LookupResponse | undefined>;
|
|
5
|
+
export declare function getInfoByPath(client: IOptiGraphClient, routerFactory: (client?: IOptiGraphClient) => IRouteResolver, requestPath: string, channel?: ChannelDefinition | string, variation?: string): Promise<LookupResponse | undefined>;
|
|
@@ -3,12 +3,10 @@ import { ifChannelDefinition } from "@remkoj/optimizely-graph-client/channels";
|
|
|
3
3
|
import { getChannelId } from "./_base.js";
|
|
4
4
|
import { localeToGraphLocale } from "./utils.js";
|
|
5
5
|
// Helper function to obtain the info by path
|
|
6
|
-
export async function getInfoByPath(client, routerFactory, requestPath, channel) {
|
|
7
|
-
if (client.debug)
|
|
8
|
-
console.log(`⚪ [CmsPage.getInfoByPath] Loading content for path "${requestPath}" using RouteResolver`);
|
|
6
|
+
export async function getInfoByPath(client, routerFactory, requestPath, channel, variation) {
|
|
9
7
|
const channelId = getChannelId(client, channel);
|
|
10
8
|
const router = routerFactory(client);
|
|
11
|
-
const route = await router.getContentInfoByPath(requestPath, channelId);
|
|
9
|
+
const route = await router.getContentInfoByPath(requestPath, channelId, variation);
|
|
12
10
|
if (!route) {
|
|
13
11
|
if (client.debug)
|
|
14
12
|
console.warn(`🟠 [CmsPage.getInfoByPath] The RouteResolver was unable to resolve the route information for "${requestPath}"`);
|
|
@@ -17,6 +15,8 @@ export async function getInfoByPath(client, routerFactory, requestPath, channel)
|
|
|
17
15
|
const contentLink = router.routeToContentLink(route);
|
|
18
16
|
const contentType = route.contentType;
|
|
19
17
|
const graphLocale = localeToGraphLocale(route.locale, ifChannelDefinition(channel));
|
|
18
|
+
if (client.debug)
|
|
19
|
+
console.log(`⚪ [CmsPage.getInfoByPath] Resolved path "${requestPath}"${variation ? ` in variation ${variation}` : ""} to content ${JSON.stringify(contentLink)} of type ${contentType.join('/')} using RouteResolver`);
|
|
20
20
|
return [route, contentLink, contentType, graphLocale, null];
|
|
21
21
|
}
|
|
22
22
|
//# sourceMappingURL=_getInfoByPath.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"_getInfoByPath.js","sourceRoot":"","sources":["../../src/cms-page/_getInfoByPath.ts"],"names":[],"mappings":"AAAA,YAAY,CAAA;AAIZ,OAAO,EAA0B,mBAAmB,EAAE,MAAM,0CAA0C,CAAC;AAEvG,OAAO,EAAE,YAAY,EAAuB,MAAM,YAAY,CAAC;AAC/D,OAAO,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAEjD,6CAA6C;AAC7C,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,MAAwB,EACxB,aAA4D,EAC5D,WAAmB,EACnB,OAAoC
|
|
1
|
+
{"version":3,"file":"_getInfoByPath.js","sourceRoot":"","sources":["../../src/cms-page/_getInfoByPath.ts"],"names":[],"mappings":"AAAA,YAAY,CAAA;AAIZ,OAAO,EAA0B,mBAAmB,EAAE,MAAM,0CAA0C,CAAC;AAEvG,OAAO,EAAE,YAAY,EAAuB,MAAM,YAAY,CAAC;AAC/D,OAAO,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAEjD,6CAA6C;AAC7C,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,MAAwB,EACxB,aAA4D,EAC5D,WAAmB,EACnB,OAAoC,EACpC,SAAkB;IAElB,MAAM,SAAS,GAAG,YAAY,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAC/C,MAAM,MAAM,GAAG,aAAa,CAAC,MAAM,CAAC,CAAA;IACpC,MAAM,KAAK,GAAG,MAAM,MAAM,CAAC,oBAAoB,CAAC,WAAW,EAAE,SAAS,EAAE,SAAS,CAAC,CAAA;IAClF,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,IAAI,MAAM,CAAC,KAAK;YACd,OAAO,CAAC,IAAI,CACV,iGAAiG,WAAW,GAAG,CAChH,CAAA;QACH,OAAO,SAAS,CAAA;IAClB,CAAC;IACD,MAAM,WAAW,GAAG,MAAM,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAA;IACpD,MAAM,WAAW,GAAG,KAAK,CAAC,WAAW,CAAA;IACrC,MAAM,WAAW,GAAG,mBAAmB,CAAC,KAAK,CAAC,MAAM,EAAE,mBAAmB,CAAC,OAAO,CAAC,CAAC,CAAA;IACnF,IAAI,MAAM,CAAC,KAAK;QACd,OAAO,CAAC,GAAG,CACT,4CAA4C,WAAW,IAAI,SAAS,CAAC,CAAC,CAAC,iBAAiB,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,eAAe,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,YAAY,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,sBAAsB,CAC1M,CAAA;IACH,OAAO,CAAC,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,IAAI,CAAmB,CAAA;AAC/E,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"_globals.js","sourceRoot":"","sources":["../../src/cms-page/_globals.ts"],"names":[],"mappings":""}
|
|
@@ -2,4 +2,4 @@ import { type IOptiGraphClient } from "@remkoj/optimizely-graph-client";
|
|
|
2
2
|
import { type ChannelDefinition } from "@remkoj/optimizely-graph-client/channels";
|
|
3
3
|
import { type GetContentByPathMethod } from './data.js';
|
|
4
4
|
import { SystemLocales, type LookupResponse } from "./_base.js";
|
|
5
|
-
export declare function loadContentByPath<LocaleEnum = SystemLocales>(client: IOptiGraphClient, getContentByPath: GetContentByPathMethod<LocaleEnum>, requestPath: string, channel?: ChannelDefinition | string, locale?: LocaleEnum | LocaleEnum[]): Promise<LookupResponse | undefined | null>;
|
|
5
|
+
export declare function loadContentByPath<LocaleEnum = SystemLocales>(client: IOptiGraphClient, getContentByPath: GetContentByPathMethod<LocaleEnum>, requestPath: string, channel?: ChannelDefinition | string, locale?: LocaleEnum | LocaleEnum[], variation?: string): Promise<LookupResponse | undefined | null>;
|
|
@@ -4,7 +4,7 @@ import { normalizeContentLinkWithLocale, isContentLinkWithSetLocale } from '@rem
|
|
|
4
4
|
import { Utils } from '@remkoj/optimizely-cms-react/rsc';
|
|
5
5
|
import { getChannelId } from "./_base.js";
|
|
6
6
|
import { localeToGraphLocale } from './utils.js';
|
|
7
|
-
export async function loadContentByPath(client, getContentByPath, requestPath, channel, locale) {
|
|
7
|
+
export async function loadContentByPath(client, getContentByPath, requestPath, channel, locale, variation) {
|
|
8
8
|
if (client.debug)
|
|
9
9
|
console.log(`⚪ [CmsPage.loadContentByPath] Loading content for path "${requestPath}" using getContentByPath method`);
|
|
10
10
|
const channelId = getChannelId(client, channel);
|
|
@@ -18,6 +18,7 @@ export async function loadContentByPath(client, getContentByPath, requestPath, c
|
|
|
18
18
|
path: pathForRequest,
|
|
19
19
|
siteId: channelId,
|
|
20
20
|
locale,
|
|
21
|
+
variation: variation ? { include: "SOME", value: [variation] } : undefined
|
|
21
22
|
};
|
|
22
23
|
if (client.isPreviewEnabled())
|
|
23
24
|
requestVars.changeset = client?.getChangeset();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"_loadContentByPath.js","sourceRoot":"","sources":["../../src/cms-page/_loadContentByPath.ts"],"names":[],"mappings":"AAAA,YAAY,CAAA;AAGZ,OAAO,EAA0B,mBAAmB,EAAE,MAAM,0CAA0C,CAAC;AACvG,OAAO,EAAE,8BAA8B,EAAE,0BAA0B,EAAE,MAAM,uCAAuC,CAAC;AAEnH,OAAO,EAAE,KAAK,EAAE,MAAM,kCAAkC,CAAC;AAGzD,OAAO,EAAE,YAAY,EAAsC,MAAM,YAAY,CAAC;AAC9E,OAAO,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAA;AAEhD,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,MAAwB,EACxB,gBAAoD,EACpD,WAAmB,EACnB,OAAoC,EACpC,MAAkC;
|
|
1
|
+
{"version":3,"file":"_loadContentByPath.js","sourceRoot":"","sources":["../../src/cms-page/_loadContentByPath.ts"],"names":[],"mappings":"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"}
|
package/dist/cms-page/data.d.ts
CHANGED
|
@@ -1,9 +1,11 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import type { IOptiGraphClient, VariationInput } from "@remkoj/optimizely-graph-client";
|
|
2
|
+
export type { VariationInput } from "@remkoj/optimizely-graph-client";
|
|
2
3
|
export type GetContentByPathVariables<LocaleType = string> = {
|
|
3
4
|
path: string | string[];
|
|
4
5
|
locale?: Array<LocaleType> | LocaleType;
|
|
5
6
|
siteId?: string;
|
|
6
7
|
changeset?: string | null;
|
|
8
|
+
variation?: VariationInput | null;
|
|
7
9
|
};
|
|
8
10
|
type MayBe<T> = T extends Array<infer R> ? Array<R | null> | null : T | null;
|
|
9
11
|
export type GetContentByPathResponse = {
|
|
@@ -32,4 +34,3 @@ export type GetMetaDataByPathResponse = {
|
|
|
32
34
|
};
|
|
33
35
|
export type GetContentByPathMethod<LocaleType = string> = (client: IOptiGraphClient, variables: GetContentByPathVariables<LocaleType>) => Promise<GetContentByPathResponse>;
|
|
34
36
|
export type GetMetaDataByPathMethod<LocaleType = string> = (client: IOptiGraphClient, variables: GetContentByPathVariables<LocaleType>) => Promise<GetMetaDataByPathResponse>;
|
|
35
|
-
export {};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { type PropsWithChildren, type ReactNode } from 'react';
|
|
1
|
+
import { type PropsWithChildren, type ReactNode, type JSX } from 'react';
|
|
2
2
|
import { type Metadata, type ResolvingMetadata } from 'next';
|
|
3
3
|
import type { ChannelDefinition, ClientFactory } from '@remkoj/optimizely-graph-client';
|
|
4
4
|
import type { DefaultCmsPageProps } from './page.js';
|
package/dist/cms-page/layout.js
CHANGED
|
@@ -17,7 +17,8 @@ export function createLayout(options) {
|
|
|
17
17
|
* @param props The layout properties
|
|
18
18
|
* @returns The metadata that must be merged into the defaults
|
|
19
19
|
*/
|
|
20
|
-
generateMetadata: async ({ params }, resolving) => {
|
|
20
|
+
generateMetadata: async ({ params: asyncParams }, resolving) => {
|
|
21
|
+
const params = await asyncParams;
|
|
21
22
|
const relativePath = `/${params.path ? '/' + params.path.join('/') : ''}`;
|
|
22
23
|
if (isDebug())
|
|
23
24
|
console.log(`⚪ [CmsPageLayout] Generating metadata for: ${relativePath}`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"layout.js","sourceRoot":"","sources":["../../src/cms-page/layout.tsx"],"names":[],"mappings":"AAQA,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA;AAC3C,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,kCAAkC,CAAA;AAmBjE,MAAM,0BAA0B,GAAwB;IACtD,aAAa,EAAE,IAAI;IACnB,MAAM,EAAE,YAAY;CACrB,CAAA;AAED,MAAM,UAAU,YAAY,CAC1B,OAAsC;IAEtC,MAAM,EACJ,aAAa,EACb,iBAAiB,EACjB,MAAM,EAAE,aAAa,EACrB,OAAO,GACR,GAAwB;QACvB,GAAG,0BAA0B;QAC7B,GAAG,OAAO;KACX,CAAA;IAED,MAAM,oBAAoB,GAAkB;QAC1C;;;;;;WAMG;QACH,gBAAgB,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,EAAE,SAAS,EAAE,EAAE;
|
|
1
|
+
{"version":3,"file":"layout.js","sourceRoot":"","sources":["../../src/cms-page/layout.tsx"],"names":[],"mappings":"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"}
|
|
@@ -24,6 +24,8 @@ export function withLanguagePrefix(next, channel) {
|
|
|
24
24
|
}
|
|
25
25
|
const newMiddleware = (request, ...params) => {
|
|
26
26
|
const pathname = request.nextUrl.pathname;
|
|
27
|
+
if (pathname.startsWith("/_") || pathname.startsWith("/."))
|
|
28
|
+
return next(request, ...params);
|
|
27
29
|
const DEBUG = process.env.NODE_ENV == 'development';
|
|
28
30
|
const pathnameIsMissingLocale = !slugs.some(slug => pathname.toLowerCase().startsWith(`/${slug.toLowerCase()}/`) || pathname.toLowerCase() === `/${slug.toLowerCase()}`);
|
|
29
31
|
if (pathnameIsMissingLocale) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"middleware.js","sourceRoot":"","sources":["../../src/cms-page/middleware.ts"],"names":[],"mappings":"AAAA,OAAO,aAAa,CAAA;AACpB,OAAO,EAAE,YAAY,EAAyC,MAAM,gBAAgB,CAAA;AAEpF,OAAO,EAAE,KAAK,EAAE,MAAM,8BAA8B,CAAA;AACpD,OAAO,UAAU,MAAM,YAAY,CAAA;AAEnC;;;;;;;GAOG;AACH,MAAM,UAAU,kBAAkB,CAA2B,IAAO,EAAE,OAA0B;
|
|
1
|
+
{"version":3,"file":"middleware.js","sourceRoot":"","sources":["../../src/cms-page/middleware.ts"],"names":[],"mappings":"AAAA,OAAO,aAAa,CAAA;AACpB,OAAO,EAAE,YAAY,EAAyC,MAAM,gBAAgB,CAAA;AAEpF,OAAO,EAAE,KAAK,EAAE,MAAM,8BAA8B,CAAA;AACpD,OAAO,UAAU,MAAM,YAAY,CAAA;AAEnC;;;;;;;GAOG;AACH,MAAM,UAAU,kBAAkB,CAA2B,IAAO,EAAE,OAA0B;IAC9F,IAAI,CAAC,OAAO;QACV,MAAM,IAAI,KAAK,CAAC,gEAAgE,CAAC,CAAA;IAEnF,MAAM,aAAa,GAAG,OAAO,CAAC,aAAa,CAAA;IAC3C,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAA;IAChD,MAAM,KAAK,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAA;IAEhC,SAAS,SAAS,CAAC,OAAoB;QACrC,MAAM,OAAO,GAA8B,EAAE,CAAA;QAC7C,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,GAAG,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAA,CAAC,CAAC,CAAC,CAAA;QACrD,MAAM,SAAS,GAAG,IAAI,UAAU,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,SAAS,EAAE,CAAA;QACzD,OAAO,KAAK,CAAC,SAAS,EAAE,OAAO,EAAE,aAAa,CAAC,CAAA;IACjD,CAAC;IAED,MAAM,aAAa,GAAmB,CAAC,OAAO,EAAE,GAAG,MAAM,EAAE,EAAE;QAC3D,MAAM,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAA;QACzC,IAAI,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC;YACxD,OAAO,IAAI,CAAC,OAAO,EAAE,GAAG,MAAM,CAAC,CAAA;QACjC,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,QAAQ,IAAI,aAAa,CAAA;QACnD,MAAM,uBAAuB,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,IAAI,IAAI,CAAC,WAAW,EAAE,GAAG,CAAC,IAAI,QAAQ,CAAC,WAAW,EAAE,KAAK,IAAI,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC,CAAA;QACxK,IAAI,uBAAuB,EAAE,CAAC;YAC5B,MAAM,MAAM,GAAG,SAAS,CAAC,OAAO,CAAC,CAAA;YACjC,MAAM,IAAI,GAAG,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC,CAAA;YACxC,IAAI,KAAK;gBACP,OAAO,CAAC,GAAG,CAAC,8CAA8C,QAAQ,qBAAqB,IAAI,GAAG,QAAQ,EAAE,CAAC,CAAA;YAC3G,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,CAAA;YACtC,MAAM,CAAC,QAAQ,GAAG,IAAI,IAAI,GAAG,QAAQ,EAAE,CAAA;YACvC,OAAO,YAAY,CAAC,QAAQ,CAAC,MAAM,EAAE;gBACnC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG;aAC1B,CAAC,CAAA;QACJ,CAAC;QACD,OAAO,IAAI,CAAC,OAAO,EAAE,GAAG,MAAM,CAAC,CAAA;IACjC,CAAC,CAAA;IACD,OAAO,aAAkB,CAAA;AAC3B,CAAC"}
|
package/dist/cms-page/page.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import 'server-only';
|
|
2
2
|
import type { Metadata, ResolvingMetadata } from 'next';
|
|
3
|
+
import { type JSX } from 'react';
|
|
3
4
|
import { type IRouteResolver, type Route } from '@remkoj/optimizely-graph-client/router';
|
|
4
5
|
import { type ChannelDefinition } from '@remkoj/optimizely-graph-client/channels';
|
|
5
6
|
import { type IOptiGraphClient } from '@remkoj/optimizely-graph-client/client';
|
|
@@ -12,8 +13,8 @@ export type DefaultCmsPageParams = {
|
|
|
12
13
|
};
|
|
13
14
|
export type DefaultCmsPageSearchParams = {};
|
|
14
15
|
export type DefaultCmsPageProps<TParams extends Record<string, string | Array<string> | undefined> = DefaultCmsPageParams, TSearchParams extends Record<string, string | Array<string> | undefined> = DefaultCmsPageSearchParams> = {
|
|
15
|
-
params: TParams
|
|
16
|
-
searchParams: TSearchParams
|
|
16
|
+
params: Promise<TParams>;
|
|
17
|
+
searchParams: Promise<TSearchParams>;
|
|
17
18
|
};
|
|
18
19
|
export type OptiCmsNextJsPage<TParams extends Record<string, string | Array<string> | undefined> = DefaultCmsPageParams, TSearchParams extends Record<string, string | Array<string> | undefined> = DefaultCmsPageSearchParams> = {
|
|
19
20
|
/**
|
|
@@ -31,7 +32,7 @@ export type OptiCmsNextJsPage<TParams extends Record<string, string | Array<stri
|
|
|
31
32
|
* @param resolving The metadata that is currently resolving
|
|
32
33
|
* @returns Updated metadat
|
|
33
34
|
*/
|
|
34
|
-
generateMetadata: (props: DefaultCmsPageProps<TParams, TSearchParams>, resolving: ResolvingMetadata) => Promise<Metadata
|
|
35
|
+
generateMetadata: (props: DefaultCmsPageProps<TParams, TSearchParams>, resolving: ResolvingMetadata) => Promise<Metadata> | Metadata;
|
|
35
36
|
/**
|
|
36
37
|
* The actual component that performs the page rendering
|
|
37
38
|
*
|
|
@@ -54,7 +55,7 @@ export type CreatePageOptions<LocaleEnum = SystemLocales, TParams extends Record
|
|
|
54
55
|
* draftMode in configuring the client
|
|
55
56
|
* @returns The client instance
|
|
56
57
|
*/
|
|
57
|
-
client: (token?: string, scope?: 'request' | 'metadata') => IOptiGraphClient;
|
|
58
|
+
client: ((token?: string, scope?: 'request' | 'metadata') => IOptiGraphClient) | ((token?: string, scope?: 'request' | 'metadata') => Promise<IOptiGraphClient>);
|
|
58
59
|
/**
|
|
59
60
|
* The channel information used to resolve locales, domains and more.
|
|
60
61
|
*
|
|
@@ -83,7 +84,17 @@ export type CreatePageOptions<LocaleEnum = SystemLocales, TParams extends Record
|
|
|
83
84
|
* @return The path to be retrieved from Router or getContentByPath
|
|
84
85
|
* function
|
|
85
86
|
*/
|
|
86
|
-
propsToCmsPath: (props: DefaultCmsPageProps<TParams, TSearchParams>) => string | null
|
|
87
|
+
propsToCmsPath: (props: DefaultCmsPageProps<TParams, TSearchParams>) => Promise<string | null>;
|
|
88
|
+
/**
|
|
89
|
+
* Take the props received by the CmsPage from Next.JS and tranform those
|
|
90
|
+
* into a the page variant used by the CMS.
|
|
91
|
+
*
|
|
92
|
+
* @param props The Properties (slugs & search params) received
|
|
93
|
+
* by Next.JS
|
|
94
|
+
* @return The path to be retrieved from Router or getContentByPath
|
|
95
|
+
* function
|
|
96
|
+
*/
|
|
97
|
+
propsToVariant: (props: DefaultCmsPageProps<TParams, TSearchParams>) => Promise<string | null | undefined>;
|
|
87
98
|
/**
|
|
88
99
|
* Take the route from the Routing Service and transform that to the route
|
|
89
100
|
* params used by Next.JS. The default implementation assumes that the CMS
|
|
@@ -101,7 +112,7 @@ export type CreatePageOptions<LocaleEnum = SystemLocales, TParams extends Record
|
|
|
101
112
|
* @param slugs The slugs to resolve
|
|
102
113
|
* @returns The resolved locale
|
|
103
114
|
*/
|
|
104
|
-
paramsToLocale: (params?: TParams
|
|
115
|
+
paramsToLocale: (params?: Promise<TParams | undefined>, channel?: ChannelDefinition) => Promise<string | undefined>;
|
|
105
116
|
};
|
|
106
117
|
/**
|
|
107
118
|
* Generate the React Server Side component and Next.JS functions needed to render an
|
package/dist/cms-page/page.js
CHANGED
|
@@ -1,38 +1,49 @@
|
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
2
|
import 'server-only';
|
|
3
|
-
import deepmerge from 'deepmerge';
|
|
4
3
|
import { notFound } from 'next/navigation.js';
|
|
4
|
+
import { cache } from 'react';
|
|
5
5
|
// GraphQL Client & Services
|
|
6
6
|
import { RouteResolver, } from '@remkoj/optimizely-graph-client/router';
|
|
7
7
|
import { ifChannelDefinition, } from '@remkoj/optimizely-graph-client/channels';
|
|
8
8
|
// React Support
|
|
9
|
-
import { CmsContent, ServerContext,
|
|
9
|
+
import { CmsContent, ServerContext, } from '@remkoj/optimizely-cms-react/rsc';
|
|
10
10
|
// Within package
|
|
11
11
|
import { MetaDataResolver } from '../metadata.js';
|
|
12
12
|
import { urlToPath } from './utils.js';
|
|
13
13
|
import { createClient } from '../client.js';
|
|
14
14
|
import { getChannelId } from './_base.js';
|
|
15
|
-
import { loadContentByPath } from './_loadContentByPath.js';
|
|
16
|
-
import { getInfoByPath } from './_getInfoByPath.js';
|
|
15
|
+
import { loadContentByPath as loadContentByPathBase } from './_loadContentByPath.js';
|
|
16
|
+
import { getInfoByPath as getInfoByPathBase } from './_getInfoByPath.js';
|
|
17
|
+
const getInfoByPath = cache(getInfoByPathBase);
|
|
18
|
+
const loadContentByPath = cache(loadContentByPathBase);
|
|
17
19
|
export { SystemLocales } from './_base.js';
|
|
18
20
|
const CreatePageOptionDefaults = {
|
|
19
21
|
client: createClient,
|
|
20
22
|
routerFactory: (client) => new RouteResolver(client),
|
|
21
|
-
propsToCmsPath: ({ params }) => buildRequestPath(params),
|
|
23
|
+
propsToCmsPath: async ({ params }) => buildRequestPath(await params),
|
|
24
|
+
propsToVariant: async ({ params }) => {
|
|
25
|
+
const pathSegments = (await params).path;
|
|
26
|
+
const variantPrefix = encodeURIComponent('var:');
|
|
27
|
+
const variantSegment = Array.isArray(pathSegments) ? pathSegments.filter(x => typeof x === 'string' && x.startsWith(variantPrefix)).at(0) : undefined;
|
|
28
|
+
return variantSegment ? variantSegment.substring(variantPrefix.length) : undefined;
|
|
29
|
+
},
|
|
22
30
|
routeToParams: (route) => {
|
|
23
|
-
|
|
31
|
+
const pathSegments = urlToPath(route.url);
|
|
32
|
+
if (route.variation)
|
|
33
|
+
pathSegments.push(`var:${route.variation}`);
|
|
34
|
+
return { path: pathSegments, lang: route.locale };
|
|
24
35
|
},
|
|
25
|
-
paramsToLocale: (params, channel) => {
|
|
36
|
+
paramsToLocale: async (params, channel) => {
|
|
26
37
|
// If there's no channel, just return undefined
|
|
27
38
|
if (!channel)
|
|
28
39
|
return undefined;
|
|
29
40
|
// Check if we have a language, and if so, resolve based upon that language
|
|
30
|
-
const lang = params?.lang;
|
|
41
|
+
const lang = (await params)?.lang;
|
|
31
42
|
const toTest = Array.isArray(lang) ? lang.at(0) : lang;
|
|
32
43
|
if (toTest)
|
|
33
44
|
return channel.slugToLocale(toTest.toString()) ?? channel.defaultLocale;
|
|
34
45
|
// Check if we have a path, and if so, resolve based upon the first slug in the path
|
|
35
|
-
const path = params?.path;
|
|
46
|
+
const path = (await params)?.path;
|
|
36
47
|
const firstSlug = Array.isArray(path) ? path.at(0) : path;
|
|
37
48
|
if (firstSlug)
|
|
38
49
|
return channel.slugToLocale(firstSlug) ?? channel.defaultLocale;
|
|
@@ -51,104 +62,164 @@ const CreatePageOptionDefaults = {
|
|
|
51
62
|
*/
|
|
52
63
|
export function createPage(factory, options) {
|
|
53
64
|
// Build the global/shared configuration for the Optimizely CMS Page
|
|
54
|
-
const { getContentByPath, client: clientFactory, channel, propsToCmsPath, routeToParams, routerFactory, paramsToLocale, } = {
|
|
65
|
+
const { getContentByPath, client: clientFactory, channel, propsToCmsPath, propsToVariant, routeToParams, routerFactory, paramsToLocale, } = {
|
|
55
66
|
...CreatePageOptionDefaults,
|
|
56
67
|
...options,
|
|
57
68
|
};
|
|
58
|
-
function buildContext(initialLocale = 'en') {
|
|
69
|
+
async function buildContext(initialLocale = 'en') {
|
|
59
70
|
return new ServerContext({
|
|
60
71
|
factory,
|
|
61
|
-
client: clientFactory(undefined, 'request'),
|
|
72
|
+
client: await clientFactory(undefined, 'request'),
|
|
62
73
|
mode: 'public',
|
|
63
74
|
locale: initialLocale,
|
|
64
75
|
});
|
|
65
76
|
}
|
|
66
77
|
const pageDefintion = {
|
|
67
78
|
generateStaticParams: async () => {
|
|
68
|
-
const client = clientFactory(undefined, 'metadata');
|
|
79
|
+
const client = await clientFactory(undefined, 'metadata');
|
|
69
80
|
const router = routerFactory(client);
|
|
70
81
|
const channelId = getChannelId(client, channel);
|
|
71
|
-
const allRoutes = await router.getRoutes(channelId, channel ? undefined : true);
|
|
82
|
+
const allRoutes = await router.getRoutes(channelId, channel ? undefined : true, true);
|
|
72
83
|
return allRoutes.map((r) => routeToParams(r));
|
|
73
84
|
},
|
|
74
|
-
generateMetadata: async ({ params, searchParams },
|
|
75
|
-
//
|
|
76
|
-
const context = buildContext();
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
85
|
+
generateMetadata: async ({ params, searchParams }, resolvingMetadata) => {
|
|
86
|
+
// Prepare the context
|
|
87
|
+
const context = await buildContext();
|
|
88
|
+
// Analyze the Next.JS Request props
|
|
89
|
+
const [requestPath, initialLocale, variation] = await Promise.all([
|
|
90
|
+
propsToCmsPath({ params, searchParams }),
|
|
91
|
+
paramsToLocale(params, ifChannelDefinition(channel)),
|
|
92
|
+
(await propsToVariant({ params, searchParams })) ?? undefined
|
|
93
|
+
]);
|
|
94
|
+
// Valdiate path
|
|
80
95
|
if (!requestPath)
|
|
81
|
-
return
|
|
82
|
-
|
|
96
|
+
return {};
|
|
97
|
+
// Track initial locale
|
|
83
98
|
if (initialLocale)
|
|
84
99
|
context.setLocale(initialLocale);
|
|
100
|
+
// Resolve route
|
|
101
|
+
const [route, contentLink, contentType, graphLocale] = (await getInfoByPath(context.client, routerFactory, requestPath, channel, variation)) || {};
|
|
102
|
+
if (!contentLink || !contentType)
|
|
103
|
+
return {};
|
|
104
|
+
// Update context from route
|
|
105
|
+
if (route)
|
|
106
|
+
context.setLocale(route.locale);
|
|
107
|
+
// Fetch the metadata based upon the actual content type and resolve parent
|
|
108
|
+
const metaResolver = new MetaDataResolver(context.client);
|
|
109
|
+
const [pageMetadata, baseMetadata] = await Promise.all([
|
|
110
|
+
metaResolver.resolve(factory, contentLink, contentType, graphLocale),
|
|
111
|
+
resolvingMetadata,
|
|
112
|
+
]);
|
|
113
|
+
return pageMetadata;
|
|
114
|
+
/*// Get context
|
|
115
|
+
const context = await buildContext()
|
|
116
|
+
const channelId = getChannelId(context.client, channel)
|
|
117
|
+
|
|
118
|
+
// Read variables from request
|
|
119
|
+
const [requestPath, initialLocale] = await Promise.all([
|
|
120
|
+
propsToCmsPath({ params, searchParams }),
|
|
121
|
+
paramsToLocale(params, ifChannelDefinition(channel)),
|
|
122
|
+
])
|
|
123
|
+
if (!requestPath) return {}
|
|
124
|
+
if (initialLocale) context.setLocale(initialLocale)
|
|
125
|
+
|
|
126
|
+
const awaitedParams = await params
|
|
127
|
+
|
|
85
128
|
// Debug output
|
|
86
129
|
if (context.isDebug)
|
|
87
|
-
|
|
130
|
+
console.log(
|
|
131
|
+
`⚪ [CmsPage.generateMetadata] Processed Next.JS route: ${JSON.stringify(awaitedParams)} => Optimizely CMS route: ${JSON.stringify({ path: requestPath, siteId: channelId })}`
|
|
132
|
+
)
|
|
133
|
+
|
|
88
134
|
// Resolve the route to a content link
|
|
89
|
-
const routeInfo = await getInfoByPath(
|
|
135
|
+
const routeInfo = await getInfoByPath(
|
|
136
|
+
context.client,
|
|
137
|
+
routerFactory,
|
|
138
|
+
requestPath,
|
|
139
|
+
channel
|
|
140
|
+
)
|
|
90
141
|
if (!routeInfo || !routeInfo[0]) {
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
142
|
+
if (context.isDebug)
|
|
143
|
+
console.log('⚪ [CmsPage.generateMetadata] No data received')
|
|
144
|
+
return {}
|
|
94
145
|
}
|
|
95
|
-
const [route, contentLink, contentType, graphLocale] = routeInfo
|
|
146
|
+
const [route, contentLink, contentType, graphLocale] = routeInfo
|
|
96
147
|
if (context.isDebug)
|
|
97
|
-
|
|
148
|
+
console.log(
|
|
149
|
+
`⚪ [CmsPage.generateMetadata] Retrieved content info:`,
|
|
150
|
+
route
|
|
151
|
+
)
|
|
152
|
+
|
|
98
153
|
// Update context from route
|
|
99
|
-
context.setLocale(route.locale)
|
|
100
|
-
|
|
101
|
-
updateSharedServerContext(context);
|
|
154
|
+
context.setLocale(route.locale)
|
|
155
|
+
|
|
102
156
|
// Fetch the metadata based upon the actual content type and resolve parent
|
|
103
|
-
const metaResolver = new MetaDataResolver(context.client)
|
|
157
|
+
const metaResolver = new MetaDataResolver(context.client)
|
|
104
158
|
const [pageMetadata, baseMetadata] = await Promise.all([
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
])
|
|
159
|
+
metaResolver.resolve(factory, contentLink, contentType, graphLocale),
|
|
160
|
+
parent,
|
|
161
|
+
])
|
|
162
|
+
|
|
108
163
|
if (context.isDebug)
|
|
109
|
-
|
|
164
|
+
console.log(
|
|
165
|
+
`⚪ [CmsPage.generateMetadata] Component yielded metadata:`,
|
|
166
|
+
pageMetadata
|
|
167
|
+
)
|
|
168
|
+
|
|
110
169
|
// Make sure merging of objects goes correctly
|
|
111
|
-
for (const metaKey of Object.getOwnPropertyNames(
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
170
|
+
for (const metaKey of Object.getOwnPropertyNames(
|
|
171
|
+
pageMetadata
|
|
172
|
+
) as (keyof Metadata)[]) {
|
|
173
|
+
if (
|
|
174
|
+
isObject(pageMetadata[metaKey]) &&
|
|
175
|
+
isObject(baseMetadata[metaKey])
|
|
176
|
+
) {
|
|
177
|
+
//@ts-expect-error Silence error due to failed introspection...
|
|
178
|
+
pageMetadata[metaKey] = deepmerge<object>(
|
|
179
|
+
baseMetadata[metaKey],
|
|
180
|
+
pageMetadata[metaKey],
|
|
181
|
+
{ arrayMerge: (target, source) => [...source] }
|
|
182
|
+
)
|
|
183
|
+
}
|
|
117
184
|
}
|
|
185
|
+
|
|
118
186
|
// Not sure, but needed somehow...
|
|
119
|
-
if (
|
|
120
|
-
|
|
121
|
-
|
|
187
|
+
if (
|
|
188
|
+
typeof baseMetadata.metadataBase == 'string' &&
|
|
189
|
+
(baseMetadata.metadataBase as string).length > 1
|
|
190
|
+
) {
|
|
191
|
+
pageMetadata.metadataBase = new URL(baseMetadata.metadataBase)
|
|
122
192
|
}
|
|
123
|
-
return pageMetadata
|
|
193
|
+
return pageMetadata*/
|
|
124
194
|
},
|
|
125
195
|
CmsPage: async ({ params, searchParams }) => {
|
|
126
196
|
// Prepare the context
|
|
127
|
-
const context = buildContext();
|
|
197
|
+
const context = await buildContext();
|
|
128
198
|
// Analyze the Next.JS Request props
|
|
129
|
-
const requestPath
|
|
199
|
+
const [requestPath, initialLocale, requestVariant] = await Promise.all([
|
|
200
|
+
propsToCmsPath({ params, searchParams }),
|
|
201
|
+
paramsToLocale(params, ifChannelDefinition(channel)),
|
|
202
|
+
(await propsToVariant({ params, searchParams })) ?? undefined
|
|
203
|
+
]);
|
|
130
204
|
if (context.isDebug)
|
|
131
|
-
console.log(`⚪ [CmsPage] Processed Next.JS route: ${JSON.stringify(params)} => Optimizely CMS route: ${JSON.stringify({ path: requestPath })}`);
|
|
205
|
+
console.log(`⚪ [CmsPage] Processed Next.JS route: ${JSON.stringify(await params)} => Optimizely CMS route: ${JSON.stringify({ path: requestPath, variant: requestVariant })}`);
|
|
132
206
|
// If we don't have the path, or the path is an internal Next.js route reject it.
|
|
133
207
|
if (!requestPath || requestPath.startsWith('/_next/'))
|
|
134
208
|
return notFound();
|
|
135
209
|
// Determine the initial locale
|
|
136
|
-
const initialLocale = paramsToLocale(params, ifChannelDefinition(channel));
|
|
137
210
|
if (initialLocale)
|
|
138
211
|
context.setLocale(initialLocale);
|
|
139
212
|
// Resolve the content based upon the path
|
|
140
213
|
const lookupData = await (getContentByPath
|
|
141
|
-
? loadContentByPath(context.client, getContentByPath, requestPath, channel, initialLocale)
|
|
142
|
-
: getInfoByPath(context.client, routerFactory, requestPath, channel));
|
|
214
|
+
? loadContentByPath(context.client, getContentByPath, requestPath, channel, initialLocale, requestVariant)
|
|
215
|
+
: getInfoByPath(context.client, routerFactory, requestPath, channel, requestVariant));
|
|
143
216
|
if (!lookupData) {
|
|
144
|
-
console.error(`🔴 [CmsPage] Unable to resolve the content for ${JSON.stringify(params)}!`);
|
|
217
|
+
console.error(`🔴 [CmsPage] Unable to resolve the content for ${JSON.stringify(await params)}!`);
|
|
145
218
|
return notFound();
|
|
146
219
|
}
|
|
147
220
|
const [route, contentLink, contentType, graphLocale, contentData] = lookupData;
|
|
148
221
|
if (contentLink?.locale)
|
|
149
222
|
context.setLocale(contentLink.locale);
|
|
150
|
-
// Make the shared server context available
|
|
151
|
-
updateSharedServerContext(context);
|
|
152
223
|
// Render the content link
|
|
153
224
|
return (_jsx(CmsContent, { contentType: contentType, contentLink: contentLink, fragmentData: contentData ?? undefined, ctx: context }));
|
|
154
225
|
},
|
|
@@ -171,7 +242,7 @@ function buildRequestPath({ lang, path, }) {
|
|
|
171
242
|
return '/';
|
|
172
243
|
const fullPath = '/' +
|
|
173
244
|
slugs
|
|
174
|
-
.filter((x) => x && x.length > 0)
|
|
245
|
+
.filter((x) => x && x.length > 0 && !x.startsWith(encodeURIComponent('var:')))
|
|
175
246
|
.map((x) => decodeURIComponent(x))
|
|
176
247
|
.join('/');
|
|
177
248
|
if (!slugs[slugs.length - 1].includes('.'))
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"page.js","sourceRoot":"","sources":["../../src/cms-page/page.tsx"],"names":[],"mappings":";AAAA,OAAO,aAAa,CAAA;
|
|
1
|
+
{"version":3,"file":"page.js","sourceRoot":"","sources":["../../src/cms-page/page.tsx"],"names":[],"mappings":"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"}
|
|
@@ -4,7 +4,7 @@ import { useRouter } from 'next/navigation.js';
|
|
|
4
4
|
export const OnPageEdit = ({ children, refreshTimeout = false }) => {
|
|
5
5
|
const router = useRouter();
|
|
6
6
|
const [showMask, setShowMask] = useState(false);
|
|
7
|
-
const reloadDelay = useRef();
|
|
7
|
+
const reloadDelay = useRef(undefined);
|
|
8
8
|
function onContentSaved(eventData) {
|
|
9
9
|
const previewUrl = window.location.href;
|
|
10
10
|
setShowMask(true);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"on-page-edit.js","sourceRoot":"","sources":["../../src/components/on-page-edit.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;AAEZ,OAAO,EACL,QAAQ,EACR,SAAS,EACT,MAAM,GAGP,MAAM,OAAO,CAAA;AACd,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAA;AAS9C,MAAM,CAAC,MAAM,UAAU,GAEnB,CAAC,EAAE,QAAQ,EAAE,cAAc,GAAG,KAAK,EAAE,EAAE,EAAE;IAC3C,MAAM,MAAM,GAAG,SAAS,EAAE,CAAA;IAC1B,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,QAAQ,CAAU,KAAK,CAAC,CAAA;IACxD,MAAM,WAAW,GAAG,MAAM,
|
|
1
|
+
{"version":3,"file":"on-page-edit.js","sourceRoot":"","sources":["../../src/components/on-page-edit.tsx"],"names":[],"mappings":"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"}
|
package/dist/ope/data.js
CHANGED
|
@@ -11,6 +11,7 @@ const gqlQuery = gql `query getContentByIdBase($key: String!, $version: String,
|
|
|
11
11
|
]
|
|
12
12
|
}
|
|
13
13
|
locale: $locale
|
|
14
|
+
variation: {include: ALL}
|
|
14
15
|
) {
|
|
15
16
|
total
|
|
16
17
|
items {
|
|
@@ -20,6 +21,8 @@ const gqlQuery = gql `query getContentByIdBase($key: String!, $version: String,
|
|
|
20
21
|
types
|
|
21
22
|
displayName
|
|
22
23
|
version
|
|
24
|
+
changeset
|
|
25
|
+
variation
|
|
23
26
|
}
|
|
24
27
|
_type: __typename
|
|
25
28
|
}
|
package/dist/ope/data.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"data.js","sourceRoot":"","sources":["../../src/ope/data.ts"],"names":[],"mappings":"AAEA,OAAO,
|
|
1
|
+
{"version":3,"file":"data.js","sourceRoot":"","sources":["../../src/ope/data.ts"],"names":[],"mappings":"AAEA,OAAO,EAAsB,GAAG,EAAE,MAAM,iBAAiB,CAAA;AAEzD,MAAM,CAAC,MAAM,cAAc,GAAyB,KAAK,EAAuB,MAAqB,EAAE,SAAwC,EAAE,EAAE;IACjJ,OAAO,MAAM,MAAM,CAAC,OAAO,CAAoD,QAAQ,EAAE,SAAS,CAAC,CAAA;AACrG,CAAC,CAAA;AAED,MAAM,QAAQ,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;EAyBlB,CAAA"}
|
package/dist/ope/page.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { Fragment as _Fragment, jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import 'server-only';
|
|
3
3
|
import { contentLinkToString, localeToGraphLocale, } from '@remkoj/optimizely-graph-client/utils';
|
|
4
|
-
import { ServerContext, Utils, CmsContent,
|
|
4
|
+
import { ServerContext, Utils, CmsContent, OptimizelyComposition, isNode, } from '@remkoj/optimizely-cms-react/rsc';
|
|
5
5
|
import { notFound } from 'next/navigation.js';
|
|
6
6
|
import OnPageEdit from '../components/on-page-edit.js';
|
|
7
7
|
import { createAuthorizedClient } from '../client.js';
|
|
@@ -32,7 +32,11 @@ export function createEditPageComponent(factory, options) {
|
|
|
32
32
|
function isDevelopment() {
|
|
33
33
|
return process.env.NODE_ENV == 'development';
|
|
34
34
|
}
|
|
35
|
-
async function EditPage(
|
|
35
|
+
async function EditPage({ params, searchParams, }) {
|
|
36
|
+
const props = {
|
|
37
|
+
params: await params,
|
|
38
|
+
searchParams: await searchParams,
|
|
39
|
+
};
|
|
36
40
|
// Validate the search parameters
|
|
37
41
|
if (!validateRequest(props, false, isDevelopment())) {
|
|
38
42
|
console.error('🔴 [OnPageEdit] Invalid edit mode request');
|
|
@@ -46,7 +50,7 @@ export function createEditPageComponent(factory, options) {
|
|
|
46
50
|
}
|
|
47
51
|
const { token, ctx, ...contentRequest } = contentRequestInfo;
|
|
48
52
|
// Build context
|
|
49
|
-
const client = clientFactory(token);
|
|
53
|
+
const client = await clientFactory(token);
|
|
50
54
|
const context = new ServerContext({
|
|
51
55
|
client,
|
|
52
56
|
factory,
|
|
@@ -101,12 +105,22 @@ export function createEditPageComponent(factory, options) {
|
|
|
101
105
|
context.setEditableContentId(contentLink);
|
|
102
106
|
if (contentLink.locale)
|
|
103
107
|
context.setLocale(contentLink.locale);
|
|
104
|
-
//
|
|
105
|
-
updateSharedServerContext(context);
|
|
106
|
-
// Render the content, with edit mode context
|
|
108
|
+
// Determine rendering flow controls
|
|
107
109
|
const isPage = contentType.some((x) => x?.toLowerCase() == 'page') ?? false;
|
|
110
|
+
const isSection = contentType.some(x => x?.toLowerCase() == 'section') ?? false;
|
|
111
|
+
const sectionData = isSection && contentItem['composition'] && isNode(contentItem['composition']) ? contentItem['composition'] : undefined;
|
|
112
|
+
if (sectionData) {
|
|
113
|
+
delete contentItem['composition'];
|
|
114
|
+
sectionData.component = contentItem;
|
|
115
|
+
context.setEditableContentIsExperience(true);
|
|
116
|
+
}
|
|
117
|
+
// Prepare communication injector
|
|
118
|
+
const injectorUrl = new URL(communicationInjectorPath, client.siteInfo.cmsURL).href;
|
|
119
|
+
// Render edit page
|
|
108
120
|
const Layout = isPage ? PageLayout : React.Fragment;
|
|
109
|
-
const output = (_jsxs(_Fragment, { children: [_jsx(Script, { src:
|
|
121
|
+
const output = (_jsxs(_Fragment, { children: [_jsx(Script, { src: injectorUrl, strategy: "afterInteractive" }), _jsxs(Layout, { locale: contentItem.locale?.name ?? '', children: [_jsx(OnPageEdit, { refreshTimeout: refreshTimeout, children: _jsx(RefreshNotice, {}) }), sectionData ?
|
|
122
|
+
_jsx(OptimizelyComposition, { node: sectionData, ctx: context }) :
|
|
123
|
+
_jsx(CmsContent, { contentType: contentType, contentLink: contentLink, fragmentData: contentItem, ctx: context })] }), context.isDebug && (_jsxs("div", { className: "optly-contentLink", children: ["ContentItem:", ' ', contentLink
|
|
110
124
|
? contentLinkToString(contentLink)
|
|
111
125
|
: 'Invalid content link returned from Optimizely Graph'] }))] }));
|
|
112
126
|
return output;
|
package/dist/ope/page.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"page.js","sourceRoot":"","sources":["../../src/ope/page.tsx"],"names":[],"mappings":";AAAA,OAAO,aAAa,CAAA;AAOpB,OAAO,EACL,mBAAmB,EACnB,mBAAmB,GACpB,MAAM,uCAAuC,CAAA;AAE9C,OAAO,EACL,aAAa,EACb,KAAK,EACL,UAAU,EACV,
|
|
1
|
+
{"version":3,"file":"page.js","sourceRoot":"","sources":["../../src/ope/page.tsx"],"names":[],"mappings":"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"}
|
package/dist/ope/tools.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
export declare function isValidRequest(toTest:
|
|
1
|
+
import type { AwaitedEditPageProps, ValidatedEditPageProps, ContentRequest } from './types.js';
|
|
2
|
+
export declare function isValidRequest(toTest: AwaitedEditPageProps, throwOnInvalid?: boolean, isDevelopment?: boolean): toTest is ValidatedEditPageProps;
|
|
3
3
|
export declare function getContentRequest({ params: { path, lang }, searchParams: { preview_token: token, ...searchParams } }: ValidatedEditPageProps): ContentRequest | undefined;
|
|
4
4
|
export declare function readValue<T extends string | undefined>(variableName: string, defaultValue?: T): T extends string ? string : string | undefined;
|
|
5
5
|
export declare function readValueAsInt<T extends number | undefined>(variableName: string, defaultValue?: T): T extends number ? number : number | undefined;
|
package/dist/ope/tools.js
CHANGED
|
@@ -57,7 +57,7 @@ export function getContentRequest({ params: { path, lang }, searchParams: { prev
|
|
|
57
57
|
token,
|
|
58
58
|
ctx: searchParams.ctx,
|
|
59
59
|
key: searchParams.key,
|
|
60
|
-
locale: searchParams.
|
|
60
|
+
locale: searchParams.loc,
|
|
61
61
|
version: searchParams.ver,
|
|
62
62
|
path: searchParams.path ?? null
|
|
63
63
|
};
|
package/dist/ope/tools.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tools.js","sourceRoot":"","sources":["../../src/ope/tools.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,iCAAiC,CAAA;AAE1D,MAAM,UAAU,cAAc,CAAC,
|
|
1
|
+
{"version":3,"file":"tools.js","sourceRoot":"","sources":["../../src/ope/tools.ts"],"names":[],"mappings":"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"}
|
package/dist/ope/types.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { type ComponentType, type PropsWithChildren } from 'react';
|
|
2
|
-
import { type
|
|
1
|
+
import { type ComponentType, type PropsWithChildren, type JSX } from 'react';
|
|
2
|
+
import { type IOptiGraphClient } from '@remkoj/optimizely-graph-client';
|
|
3
3
|
import { type GraphQLClient } from 'graphql-request';
|
|
4
4
|
import { type ContentQueryProps } from '@remkoj/optimizely-cms-react/rsc';
|
|
5
5
|
export type ContentRequest = (Omit<ContentQueryProps<string>, 'path'> & {
|
|
@@ -8,46 +8,49 @@ export type ContentRequest = (Omit<ContentQueryProps<string>, 'path'> & {
|
|
|
8
8
|
ctx: 'edit' | 'preview';
|
|
9
9
|
});
|
|
10
10
|
type ServerPageProps = {
|
|
11
|
-
params: Record<string, string | Array<string
|
|
12
|
-
searchParams: Record<string, string
|
|
11
|
+
params: Promise<Record<string, string | Array<string>>>;
|
|
12
|
+
searchParams: Promise<Record<string, string>>;
|
|
13
13
|
};
|
|
14
14
|
export type EditPageComponent<T extends ServerPageProps = EditPageProps> = ({ params, searchParams }: T) => Promise<JSX.Element>;
|
|
15
15
|
export type EditPageProps = {
|
|
16
|
-
params: {
|
|
17
|
-
path?: string[] | string;
|
|
18
|
-
lang?: string;
|
|
19
|
-
}
|
|
20
|
-
searchParams: {
|
|
21
|
-
preview_token: string;
|
|
22
|
-
key?: string;
|
|
23
|
-
ver?: string;
|
|
24
|
-
loc?: string;
|
|
25
|
-
ctx?: 'edit' | 'preview';
|
|
26
|
-
path?: string;
|
|
27
|
-
epieditmode?: string;
|
|
28
|
-
}
|
|
16
|
+
readonly params: Promise<{
|
|
17
|
+
readonly path?: string[] | string;
|
|
18
|
+
readonly lang?: string;
|
|
19
|
+
}>;
|
|
20
|
+
readonly searchParams: Promise<{
|
|
21
|
+
readonly preview_token: string;
|
|
22
|
+
readonly key?: string;
|
|
23
|
+
readonly ver?: string;
|
|
24
|
+
readonly loc?: string;
|
|
25
|
+
readonly ctx?: 'edit' | 'preview';
|
|
26
|
+
readonly path?: string;
|
|
27
|
+
readonly epieditmode?: string;
|
|
28
|
+
}>;
|
|
29
|
+
};
|
|
30
|
+
export type AwaitedEditPageProps = {
|
|
31
|
+
[K in keyof EditPageProps]: Awaited<EditPageProps[K]>;
|
|
29
32
|
};
|
|
30
33
|
export type ValidatedEditPageProps = {
|
|
31
|
-
params: {
|
|
32
|
-
path?: string[] | string;
|
|
33
|
-
lang?: string;
|
|
34
|
+
readonly params: {
|
|
35
|
+
readonly path?: string[] | string;
|
|
36
|
+
readonly lang?: string;
|
|
34
37
|
};
|
|
35
38
|
searchParams: {
|
|
36
|
-
preview_token: string;
|
|
39
|
+
readonly preview_token: string;
|
|
37
40
|
} & ({
|
|
38
|
-
key: string;
|
|
39
|
-
ver: string;
|
|
40
|
-
loc: string;
|
|
41
|
-
ctx: 'edit' | 'preview';
|
|
42
|
-
path?: string;
|
|
43
|
-
epieditmode: never;
|
|
41
|
+
readonly key: string;
|
|
42
|
+
readonly ver: string;
|
|
43
|
+
readonly loc: string;
|
|
44
|
+
readonly ctx: 'edit' | 'preview';
|
|
45
|
+
readonly path?: string;
|
|
46
|
+
readonly epieditmode: never;
|
|
44
47
|
} | {
|
|
45
|
-
key: never;
|
|
46
|
-
ver: never;
|
|
47
|
-
loc: never;
|
|
48
|
-
ctx: never;
|
|
49
|
-
path: never;
|
|
50
|
-
epieditmode: 'true' | 'false';
|
|
48
|
+
readonly key: never;
|
|
49
|
+
readonly ver: never;
|
|
50
|
+
readonly loc: never;
|
|
51
|
+
readonly ctx: never;
|
|
52
|
+
readonly path: never;
|
|
53
|
+
readonly epieditmode: 'true' | 'false';
|
|
51
54
|
});
|
|
52
55
|
};
|
|
53
56
|
export type EditViewOptions<LocaleType = string> = {
|
|
@@ -76,7 +79,7 @@ export type EditViewOptions<LocaleType = string> = {
|
|
|
76
79
|
* @param token The token to be used
|
|
77
80
|
* @returns The Optimizely Graph Client
|
|
78
81
|
*/
|
|
79
|
-
clientFactory:
|
|
82
|
+
clientFactory: (token?: string, scope?: 'request' | 'metadata') => IOptiGraphClient | Promise<IOptiGraphClient>;
|
|
80
83
|
/**
|
|
81
84
|
* If provided, this allows to override the CommunicationInjector
|
|
82
85
|
* path.
|
|
@@ -101,7 +104,7 @@ export type EditViewOptions<LocaleType = string> = {
|
|
|
101
104
|
* @param isDevelopment Whether this request runs in development mode
|
|
102
105
|
* @returns If the request is valid
|
|
103
106
|
*/
|
|
104
|
-
requestValidator: (props:
|
|
107
|
+
requestValidator: (props: AwaitedEditPageProps, throwOnInvalid?: boolean, isDevelopment?: boolean) => props is ValidatedEditPageProps;
|
|
105
108
|
/**
|
|
106
109
|
* Enforce a refresh delay in the on page editing / preview, between a signal
|
|
107
110
|
* has been received from the CMS and the instruction to Next.JS to actually
|
package/dist/publish/index.js
CHANGED
|
@@ -69,7 +69,7 @@ export function createPublishApi(options) {
|
|
|
69
69
|
});
|
|
70
70
|
});
|
|
71
71
|
// Publish the tags te published
|
|
72
|
-
targetTags.forEach(tag => revalidateTag(tag));
|
|
72
|
+
targetTags.forEach(tag => revalidateTag(tag, 'max'));
|
|
73
73
|
// Build the outcome
|
|
74
74
|
return { revalidated: { paths: publishedPathAndScopes, tags: targetTags }, optimized };
|
|
75
75
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/publish/index.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/publish/index.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"name": "@remkoj/optimizely-cms-nextjs",
|
|
3
3
|
"description": "Next.JS integration for Optimizely SaaS CMS",
|
|
4
4
|
"license": "Apache-2.0",
|
|
5
|
-
"version": "
|
|
5
|
+
"version": "6.0.0-pre10",
|
|
6
6
|
"repository": "https://github.com/remkoj/optimizely-dxp-clients.git",
|
|
7
7
|
"author": "Remko Jantzen <693172+remkoj@users.noreply.github.com>",
|
|
8
8
|
"homepage": "https://github.com/remkoj/optimizely-dxp-clients",
|
|
@@ -44,38 +44,39 @@
|
|
|
44
44
|
}
|
|
45
45
|
},
|
|
46
46
|
"devDependencies": {
|
|
47
|
-
"@remkoj/optimizely-cms-react": "
|
|
48
|
-
"@remkoj/optimizely-graph-client": "
|
|
47
|
+
"@remkoj/optimizely-cms-react": "6.0.0-pre10",
|
|
48
|
+
"@remkoj/optimizely-graph-client": "6.0.0-pre10",
|
|
49
49
|
"@types/negotiator": "^0.6.4",
|
|
50
|
-
"@types/node": "^22.
|
|
51
|
-
"@types/react": "^
|
|
52
|
-
"@types/react-dom": "
|
|
53
|
-
"
|
|
54
|
-
"graphql-request": "^6.1.0",
|
|
55
|
-
"next": "^14.2.30",
|
|
50
|
+
"@types/node": "^22.18.12",
|
|
51
|
+
"@types/react": "^19.2.2",
|
|
52
|
+
"@types/react-dom": "19.2.2",
|
|
53
|
+
"next": "^16.0.0",
|
|
56
54
|
"prop-types": "^15.8.1",
|
|
57
|
-
"react": "^
|
|
58
|
-
"react-dom": "^
|
|
59
|
-
"scheduler": "^0.
|
|
60
|
-
"typescript": "^5.
|
|
55
|
+
"react": "^19.2.0",
|
|
56
|
+
"react-dom": "^19.2.0",
|
|
57
|
+
"scheduler": "^0.27.0",
|
|
58
|
+
"typescript": "^5.9.3"
|
|
61
59
|
},
|
|
62
60
|
"dependencies": {
|
|
63
|
-
"@formatjs/intl-localematcher": "^0.6.
|
|
61
|
+
"@formatjs/intl-localematcher": "^0.6.2",
|
|
62
|
+
"@remkoj/optimizely-cms-react": "^6.0.0-pre10",
|
|
63
|
+
"@remkoj/optimizely-graph-client": "^6.0.0-pre10",
|
|
64
64
|
"deepmerge": "^4.3.1",
|
|
65
|
+
"entities": "^7.0.0",
|
|
66
|
+
"graphql": "^16.11.0",
|
|
67
|
+
"graphql-request": "^7.3.1",
|
|
65
68
|
"negotiator": "^1.0.0"
|
|
66
69
|
},
|
|
67
70
|
"peerDependencies": {
|
|
68
|
-
"
|
|
69
|
-
"
|
|
70
|
-
"
|
|
71
|
-
"graphql-request": "^6",
|
|
72
|
-
"next": "^14",
|
|
73
|
-
"react": "^18"
|
|
71
|
+
"next": "^15 || ^16",
|
|
72
|
+
"react": "^19",
|
|
73
|
+
"react-dom": "^19"
|
|
74
74
|
},
|
|
75
75
|
"scripts": {
|
|
76
76
|
"clean": "yarn tsc --build --clean",
|
|
77
77
|
"prepare": "yarn tsc --build --force",
|
|
78
78
|
"watch": "yarn tsc --watch",
|
|
79
79
|
"recompile": "yarn tsc --build --clean && yarn tsc --build --force"
|
|
80
|
-
}
|
|
80
|
+
},
|
|
81
|
+
"stableVersion": "5.1.0"
|
|
81
82
|
}
|