@remkoj/optimizely-cms-nextjs 6.0.0-pre1 → 6.0.0-pre3
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/cms-page/_base.d.ts +16 -0
- package/dist/cms-page/_base.js +28 -0
- package/dist/cms-page/_base.js.map +1 -0
- package/dist/cms-page/_getInfoByPath.d.ts +5 -0
- package/dist/cms-page/_getInfoByPath.js +22 -0
- package/dist/cms-page/_getInfoByPath.js.map +1 -0
- package/dist/cms-page/_loadContentByPath.d.ts +5 -0
- package/dist/cms-page/_loadContentByPath.js +51 -0
- package/dist/cms-page/_loadContentByPath.js.map +1 -0
- package/dist/cms-page/page.d.ts +10 -7
- package/dist/cms-page/page.js +24 -92
- package/dist/cms-page/page.js.map +1 -1
- package/package.json +6 -6
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { type IOptiGraphClient } from '@remkoj/optimizely-graph-client/client';
|
|
2
|
+
import { type ChannelDefinition } from "@remkoj/optimizely-graph-client/channels";
|
|
3
|
+
import { type Route } from "@remkoj/optimizely-graph-client/router";
|
|
4
|
+
import { type ContentLinkWithLocale } from "@remkoj/optimizely-graph-client";
|
|
5
|
+
export declare enum SystemLocales {
|
|
6
|
+
All = "ALL",
|
|
7
|
+
Neutral = "NEUTRAL"
|
|
8
|
+
}
|
|
9
|
+
export type LookupResponse = [
|
|
10
|
+
Route | null,
|
|
11
|
+
ContentLinkWithLocale,
|
|
12
|
+
string[],
|
|
13
|
+
string,
|
|
14
|
+
Record<string, any> | null
|
|
15
|
+
];
|
|
16
|
+
export declare function getChannelId(client: IOptiGraphClient, channel?: ChannelDefinition | string): string | undefined;
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { OptiCmsSchema } from '@remkoj/optimizely-graph-client/client';
|
|
2
|
+
export var SystemLocales;
|
|
3
|
+
(function (SystemLocales) {
|
|
4
|
+
SystemLocales["All"] = "ALL";
|
|
5
|
+
SystemLocales["Neutral"] = "NEUTRAL";
|
|
6
|
+
})(SystemLocales || (SystemLocales = {}));
|
|
7
|
+
export function getChannelId(client, channel) {
|
|
8
|
+
if (!channel)
|
|
9
|
+
return undefined;
|
|
10
|
+
if (isString(channel))
|
|
11
|
+
return channel;
|
|
12
|
+
return client.currentOptiCmsSchema == OptiCmsSchema.CMS12
|
|
13
|
+
? channel.id
|
|
14
|
+
: getPrimaryURL(channel).origin;
|
|
15
|
+
}
|
|
16
|
+
function getPrimaryURL(chnl) {
|
|
17
|
+
const dd = chnl.domains.filter((x) => x.isPrimary).at(0) ?? chnl.domains.at(0);
|
|
18
|
+
if (!dd)
|
|
19
|
+
return chnl.getPrimaryDomain();
|
|
20
|
+
const s = dd.name.startsWith('localhost') || dd.name.indexOf('.local') > 0
|
|
21
|
+
? 'http:'
|
|
22
|
+
: 'https:';
|
|
23
|
+
return new URL(`${s}//${dd.name}`);
|
|
24
|
+
}
|
|
25
|
+
function isString(toTest) {
|
|
26
|
+
return typeof toTest === 'string';
|
|
27
|
+
}
|
|
28
|
+
//# sourceMappingURL=_base.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"_base.js","sourceRoot":"","sources":["../../src/cms-page/_base.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAyB,MAAM,wCAAwC,CAAA;AAK7F,MAAM,CAAN,IAAY,aAGX;AAHD,WAAY,aAAa;IACvB,4BAAW,CAAA;IACX,oCAAmB,CAAA;AACrB,CAAC,EAHW,aAAa,KAAb,aAAa,QAGxB;AAUD,MAAM,UAAU,YAAY,CAAC,MAAwB,EAAE,OAAoC;IACzF,IAAI,CAAC,OAAO;QACV,OAAO,SAAS,CAAA;IAClB,IAAI,QAAQ,CAAC,OAAO,CAAC;QACnB,OAAO,OAAO,CAAA;IAChB,OAAO,MAAM,CAAC,oBAAoB,IAAI,aAAa,CAAC,KAAK;QACvD,CAAC,CAAC,OAAO,CAAC,EAAE;QACZ,CAAC,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,MAAM,CAAA;AACnC,CAAC;AAED,SAAS,aAAa,CAAC,IAAuB;IAC5C,MAAM,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;IAC9E,IAAI,CAAC,EAAE;QAAE,OAAO,IAAI,CAAC,gBAAgB,EAAE,CAAA;IACvC,MAAM,CAAC,GACL,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC;QAC9D,CAAC,CAAC,OAAO;QACT,CAAC,CAAC,QAAQ,CAAA;IACd,OAAO,IAAI,GAAG,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,IAAI,EAAE,CAAC,CAAA;AACpC,CAAC;AAED,SAAS,QAAQ,CAAC,MAAW;IAC3B,OAAO,OAAO,MAAM,KAAK,QAAQ,CAAC;AACpC,CAAC"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { type IOptiGraphClient } from "@remkoj/optimizely-graph-client/client";
|
|
2
|
+
import { type IRouteResolver } from "@remkoj/optimizely-graph-client/router";
|
|
3
|
+
import { type ChannelDefinition } from "@remkoj/optimizely-graph-client/channels";
|
|
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>;
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
'use server';
|
|
2
|
+
import { ifChannelDefinition } from "@remkoj/optimizely-graph-client/channels";
|
|
3
|
+
import { getChannelId } from "./_base.js";
|
|
4
|
+
import { localeToGraphLocale } from "./utils.js";
|
|
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`);
|
|
9
|
+
const channelId = getChannelId(client, channel);
|
|
10
|
+
const router = routerFactory(client);
|
|
11
|
+
const route = await router.getContentInfoByPath(requestPath, channelId);
|
|
12
|
+
if (!route) {
|
|
13
|
+
if (client.debug)
|
|
14
|
+
console.warn(`🟠 [CmsPage.getInfoByPath] The RouteResolver was unable to resolve the route information for "${requestPath}"`);
|
|
15
|
+
return undefined;
|
|
16
|
+
}
|
|
17
|
+
const contentLink = router.routeToContentLink(route);
|
|
18
|
+
const contentType = route.contentType;
|
|
19
|
+
const graphLocale = localeToGraphLocale(route.locale, ifChannelDefinition(channel));
|
|
20
|
+
return [route, contentLink, contentType, graphLocale, null];
|
|
21
|
+
}
|
|
22
|
+
//# sourceMappingURL=_getInfoByPath.js.map
|
|
@@ -0,0 +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;IAEpC,IAAI,MAAM,CAAC,KAAK;QACd,OAAO,CAAC,GAAG,CACT,uDAAuD,WAAW,uBAAuB,CAC1F,CAAA;IACH,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,CAAC,CAAA;IACvE,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,OAAO,CAAC,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,IAAI,CAAmB,CAAA;AAC/E,CAAC"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { type IOptiGraphClient } from "@remkoj/optimizely-graph-client";
|
|
2
|
+
import { type ChannelDefinition } from "@remkoj/optimizely-graph-client/channels";
|
|
3
|
+
import { type GetContentByPathMethod } from './data.js';
|
|
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>;
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
'use server';
|
|
2
|
+
import { ifChannelDefinition } from "@remkoj/optimizely-graph-client/channels";
|
|
3
|
+
import { normalizeContentLinkWithLocale, isContentLinkWithSetLocale } from '@remkoj/optimizely-graph-client/utils';
|
|
4
|
+
import { Utils } from '@remkoj/optimizely-cms-react/rsc';
|
|
5
|
+
import { getChannelId } from "./_base.js";
|
|
6
|
+
import { localeToGraphLocale } from './utils.js';
|
|
7
|
+
export async function loadContentByPath(client, getContentByPath, requestPath, channel, locale) {
|
|
8
|
+
if (client.debug)
|
|
9
|
+
console.log(`⚪ [CmsPage.loadContentByPath] Loading content for path "${requestPath}" using getContentByPath method`);
|
|
10
|
+
const channelId = getChannelId(client, channel);
|
|
11
|
+
const pathForRequest = [
|
|
12
|
+
requestPath,
|
|
13
|
+
requestPath.endsWith('/')
|
|
14
|
+
? requestPath.substring(0, requestPath.length - 1)
|
|
15
|
+
: requestPath + '/',
|
|
16
|
+
].filter((x) => x);
|
|
17
|
+
const requestVars = {
|
|
18
|
+
path: pathForRequest,
|
|
19
|
+
siteId: channelId,
|
|
20
|
+
locale,
|
|
21
|
+
};
|
|
22
|
+
if (client.isPreviewEnabled())
|
|
23
|
+
requestVars.changeset = client?.getChangeset();
|
|
24
|
+
if (client.debug)
|
|
25
|
+
console.log(`⚪ [CmsPage.loadContentByPath] Processed Next.JS route => getContentByPath Variables: ${JSON.stringify(requestVars)}`);
|
|
26
|
+
const response = await getContentByPath(client, requestVars);
|
|
27
|
+
if ((response?.content?.total ?? 0) === 0) {
|
|
28
|
+
console.error(`🔴 [CmsPage.loadContentByPath] Unable to load content for ${requestPath}, empty resultset received`);
|
|
29
|
+
return undefined;
|
|
30
|
+
}
|
|
31
|
+
const info = Array.isArray(response?.content?.items)
|
|
32
|
+
? response?.content?.items[0]
|
|
33
|
+
: response?.content?.items;
|
|
34
|
+
if (!info) {
|
|
35
|
+
console.error(`🔴 [CmsPage.loadContentByPath] Unable to load content for ${requestPath}, data received: `, response);
|
|
36
|
+
return undefined;
|
|
37
|
+
}
|
|
38
|
+
else if ((response?.content?.total ?? 0) > 1) {
|
|
39
|
+
console.warn(`🟠 [CmsPage.loadContentByPath] Resolving content for ${requestPath}, yielded ${response?.content?.total ?? 0} items, picked:`, info);
|
|
40
|
+
}
|
|
41
|
+
// Extract the type & link
|
|
42
|
+
const contentType = Utils.normalizeContentType(info._metadata?.types);
|
|
43
|
+
const contentLink = normalizeContentLinkWithLocale(info._metadata);
|
|
44
|
+
if (!isContentLinkWithSetLocale(contentLink)) {
|
|
45
|
+
console.error('🔴 [CmsPage.loadContentByPath] Unable to infer the contentLink from the retrieved content, this should not have happened!');
|
|
46
|
+
return undefined;
|
|
47
|
+
}
|
|
48
|
+
const graphLocale = localeToGraphLocale(contentLink.locale, ifChannelDefinition(channel));
|
|
49
|
+
return [null, contentLink, contentType, graphLocale, info];
|
|
50
|
+
}
|
|
51
|
+
//# sourceMappingURL=_loadContentByPath.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"_loadContentByPath.js","sourceRoot":"","sources":["../../src/cms-page/_loadContentByPath.ts"],"names":[],"mappings":"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"}
|
package/dist/cms-page/page.d.ts
CHANGED
|
@@ -6,6 +6,8 @@ import { type ChannelDefinition } from '@remkoj/optimizely-graph-client/channels
|
|
|
6
6
|
import { type IOptiGraphClient } from '@remkoj/optimizely-graph-client/client';
|
|
7
7
|
import { type ComponentFactory } from '@remkoj/optimizely-cms-react/rsc';
|
|
8
8
|
import { type GetContentByPathMethod } from './data.js';
|
|
9
|
+
import { SystemLocales } from './_base.js';
|
|
10
|
+
export { SystemLocales } from './_base.js';
|
|
9
11
|
export type DefaultCmsPageParams = {
|
|
10
12
|
path?: string[];
|
|
11
13
|
};
|
|
@@ -39,10 +41,6 @@ export type OptiCmsNextJsPage<TParams extends Record<string, string | Array<stri
|
|
|
39
41
|
*/
|
|
40
42
|
CmsPage: (props: DefaultCmsPageProps<TParams, TSearchParams>) => Promise<JSX.Element>;
|
|
41
43
|
};
|
|
42
|
-
export declare enum SystemLocales {
|
|
43
|
-
All = "ALL",
|
|
44
|
-
Neutral = "NEUTRAL"
|
|
45
|
-
}
|
|
46
44
|
export type CreatePageOptions<LocaleEnum = SystemLocales, TParams extends Record<string, string | Array<string> | undefined> = DefaultCmsPageParams, TSearchParams extends Record<string, string | Array<string> | undefined> = DefaultCmsPageSearchParams> = {
|
|
47
45
|
/**
|
|
48
46
|
* Main function used to retrieve the content by path
|
|
@@ -53,14 +51,19 @@ export type CreatePageOptions<LocaleEnum = SystemLocales, TParams extends Record
|
|
|
53
51
|
* page.
|
|
54
52
|
*
|
|
55
53
|
* @param token The token retrieved by the CMS Page from the context, always undefined
|
|
56
|
-
* @param scope The scope in which the client is being created, this allows for checking
|
|
54
|
+
* @param scope The scope in which the client is being created, this allows for checking
|
|
55
|
+
* draftMode in configuring the client
|
|
57
56
|
* @returns The client instance
|
|
58
57
|
*/
|
|
59
58
|
client: (token?: string, scope?: 'request' | 'metadata') => IOptiGraphClient | Promise<IOptiGraphClient>;
|
|
60
59
|
/**
|
|
61
|
-
* The channel information used to resolve locales, domains and more
|
|
60
|
+
* The channel information used to resolve locales, domains and more.
|
|
61
|
+
*
|
|
62
|
+
* If provided with a string value, this is assumed to be the Application/Website identifier
|
|
63
|
+
* for the deployment (Base URL ***without trailing slash*** for SaaS CMS; Website GUID for
|
|
64
|
+
* CMS 12).
|
|
62
65
|
*/
|
|
63
|
-
channel?: ChannelDefinition;
|
|
66
|
+
channel?: ChannelDefinition | string;
|
|
64
67
|
/**
|
|
65
68
|
* Override the default RouteResolver that is used to discover the routes
|
|
66
69
|
* provided by the Optimizely CMS and to retrieve the content reference for
|
package/dist/cms-page/page.js
CHANGED
|
@@ -2,20 +2,19 @@ import { jsx as _jsx } from "react/jsx-runtime";
|
|
|
2
2
|
import 'server-only';
|
|
3
3
|
import deepmerge from 'deepmerge';
|
|
4
4
|
import { notFound } from 'next/navigation.js';
|
|
5
|
+
// GraphQL Client & Services
|
|
5
6
|
import { RouteResolver, } from '@remkoj/optimizely-graph-client/router';
|
|
6
|
-
import {
|
|
7
|
-
import { normalizeContentLinkWithLocale } from '@remkoj/optimizely-graph-client/utils';
|
|
7
|
+
import { ifChannelDefinition, } from '@remkoj/optimizely-graph-client/channels';
|
|
8
8
|
// React Support
|
|
9
|
-
import { CmsContent,
|
|
9
|
+
import { CmsContent, ServerContext, updateSharedServerContext, } from '@remkoj/optimizely-cms-react/rsc';
|
|
10
10
|
// Within package
|
|
11
11
|
import { MetaDataResolver } from '../metadata.js';
|
|
12
|
-
import { urlToPath
|
|
12
|
+
import { urlToPath } from './utils.js';
|
|
13
13
|
import { createClient } from '../client.js';
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
})(SystemLocales || (SystemLocales = {}));
|
|
14
|
+
import { getChannelId } from './_base.js';
|
|
15
|
+
import { loadContentByPath } from './_loadContentByPath.js';
|
|
16
|
+
import { getInfoByPath } from './_getInfoByPath.js';
|
|
17
|
+
export { SystemLocales } from './_base.js';
|
|
19
18
|
const CreatePageOptionDefaults = {
|
|
20
19
|
client: createClient,
|
|
21
20
|
routerFactory: (client) => new RouteResolver(client),
|
|
@@ -24,13 +23,21 @@ const CreatePageOptionDefaults = {
|
|
|
24
23
|
return { path: urlToPath(route.url), lang: route.locale };
|
|
25
24
|
},
|
|
26
25
|
paramsToLocale: async (params, channel) => {
|
|
26
|
+
// If there's no channel, just return undefined
|
|
27
27
|
if (!channel)
|
|
28
28
|
return undefined;
|
|
29
|
+
// Check if we have a language, and if so, resolve based upon that language
|
|
29
30
|
const lang = (await params)?.lang;
|
|
30
31
|
const toTest = Array.isArray(lang) ? lang.at(0) : lang;
|
|
31
|
-
if (
|
|
32
|
-
return channel.defaultLocale;
|
|
33
|
-
|
|
32
|
+
if (toTest)
|
|
33
|
+
return channel.slugToLocale(toTest.toString()) ?? channel.defaultLocale;
|
|
34
|
+
// Check if we have a path, and if so, resolve based upon the first slug in the path
|
|
35
|
+
const path = (await params)?.path;
|
|
36
|
+
const firstSlug = Array.isArray(path) ? path.at(0) : path;
|
|
37
|
+
if (firstSlug)
|
|
38
|
+
return channel.slugToLocale(firstSlug) ?? channel.defaultLocale;
|
|
39
|
+
// We have neither a language, nor a slug, return the default
|
|
40
|
+
return channel.defaultLocale;
|
|
34
41
|
},
|
|
35
42
|
};
|
|
36
43
|
/**
|
|
@@ -71,7 +78,7 @@ export function createPage(factory, options) {
|
|
|
71
78
|
// Read variables from request
|
|
72
79
|
const [requestPath, initialLocale] = await Promise.all([
|
|
73
80
|
propsToCmsPath({ params, searchParams }),
|
|
74
|
-
paramsToLocale(params, channel),
|
|
81
|
+
paramsToLocale(params, ifChannelDefinition(channel)),
|
|
75
82
|
]);
|
|
76
83
|
if (!requestPath)
|
|
77
84
|
return Promise.resolve({});
|
|
@@ -125,11 +132,10 @@ export function createPage(factory, options) {
|
|
|
125
132
|
// Analyze the Next.JS Request props
|
|
126
133
|
const [requestPath, initialLocale] = await Promise.all([
|
|
127
134
|
propsToCmsPath({ params, searchParams }),
|
|
128
|
-
paramsToLocale(params, channel),
|
|
135
|
+
paramsToLocale(params, ifChannelDefinition(channel)),
|
|
129
136
|
]);
|
|
130
|
-
const awaitedParams = await params;
|
|
131
137
|
if (context.isDebug)
|
|
132
|
-
console.log(`⚪ [CmsPage] Processed Next.JS route: ${JSON.stringify(
|
|
138
|
+
console.log(`⚪ [CmsPage] Processed Next.JS route: ${JSON.stringify(await params)} => Optimizely CMS route: ${JSON.stringify({ path: requestPath })}`);
|
|
133
139
|
// If we don't have the path, or the path is an internal Next.js route reject it.
|
|
134
140
|
if (!requestPath || requestPath.startsWith('/_next/'))
|
|
135
141
|
return notFound();
|
|
@@ -138,10 +144,10 @@ export function createPage(factory, options) {
|
|
|
138
144
|
context.setLocale(initialLocale);
|
|
139
145
|
// Resolve the content based upon the path
|
|
140
146
|
const lookupData = await (getContentByPath
|
|
141
|
-
? loadContentByPath(context.client, getContentByPath, requestPath, channel)
|
|
147
|
+
? loadContentByPath(context.client, getContentByPath, requestPath, channel, initialLocale)
|
|
142
148
|
: getInfoByPath(context.client, routerFactory, requestPath, channel));
|
|
143
149
|
if (!lookupData) {
|
|
144
|
-
console.error(`🔴 [CmsPage] Unable to resolve the content for ${JSON.stringify(params)}!`);
|
|
150
|
+
console.error(`🔴 [CmsPage] Unable to resolve the content for ${JSON.stringify(await params)}!`);
|
|
145
151
|
return notFound();
|
|
146
152
|
}
|
|
147
153
|
const [route, contentLink, contentType, graphLocale, contentData] = lookupData;
|
|
@@ -155,71 +161,6 @@ export function createPage(factory, options) {
|
|
|
155
161
|
};
|
|
156
162
|
return pageDefintion;
|
|
157
163
|
}
|
|
158
|
-
// Helper function to obtain the info by path
|
|
159
|
-
async function getInfoByPath(client, routerFactory, requestPath, channel) {
|
|
160
|
-
if (client.debug)
|
|
161
|
-
console.log(`⚪ [CmsPage.getInfoByPath] Loading content for path "${requestPath}" using RouteResolver`);
|
|
162
|
-
const channelId = getChannelId(client, channel);
|
|
163
|
-
const router = routerFactory(client);
|
|
164
|
-
const route = await router.getContentInfoByPath(requestPath, channelId);
|
|
165
|
-
if (!route) {
|
|
166
|
-
if (client.debug)
|
|
167
|
-
console.warn(`🟠 [CmsPage.getInfoByPath] The RouteResolver was unable to resolve the route information for "${requestPath}"`);
|
|
168
|
-
return undefined;
|
|
169
|
-
}
|
|
170
|
-
const contentLink = router.routeToContentLink(route);
|
|
171
|
-
const contentType = route.contentType;
|
|
172
|
-
const graphLocale = localeToGraphLocale(route.locale, channel);
|
|
173
|
-
return [route, contentLink, contentType, graphLocale, null];
|
|
174
|
-
}
|
|
175
|
-
async function loadContentByPath(client, getContentByPath, requestPath, channel, isDebug = false) {
|
|
176
|
-
if (client.debug)
|
|
177
|
-
console.log(`⚪ [CmsPage.loadContentByPath] Loading content for path "${requestPath}" using getContentByPath method`);
|
|
178
|
-
const channelId = getChannelId(client, channel);
|
|
179
|
-
const pathForRequest = [
|
|
180
|
-
requestPath,
|
|
181
|
-
requestPath.endsWith('/')
|
|
182
|
-
? requestPath.substring(0, requestPath.length - 1)
|
|
183
|
-
: requestPath + '/',
|
|
184
|
-
].filter((x) => x);
|
|
185
|
-
const requestVars = {
|
|
186
|
-
path: pathForRequest,
|
|
187
|
-
siteId: channelId,
|
|
188
|
-
};
|
|
189
|
-
if (client?.isPreviewEnabled())
|
|
190
|
-
requestVars.changeset = client?.getChangeset();
|
|
191
|
-
if (isDebug)
|
|
192
|
-
console.log(`⚪ [CmsPage.loadContentByPath] Processed Next.JS route => getContentByPath Variables: ${JSON.stringify(requestVars)}`);
|
|
193
|
-
const response = await getContentByPath(client, requestVars);
|
|
194
|
-
const info = Array.isArray(response?.content?.items)
|
|
195
|
-
? response?.content?.items[0]
|
|
196
|
-
: response?.content?.items;
|
|
197
|
-
if (!info) {
|
|
198
|
-
if (isDebug) {
|
|
199
|
-
console.error(`🔴 [CmsPage.loadContentByPath] Unable to load content for ${requestPath}, data received: `, response);
|
|
200
|
-
}
|
|
201
|
-
return notFound();
|
|
202
|
-
}
|
|
203
|
-
else if (isDebug && (response?.content?.total ?? 0) > 1) {
|
|
204
|
-
console.warn(`🟠 [CmsPage.loadContentByPath] Resolving content for ${requestPath}, yielded ${response?.content?.total ?? 0} items, picked:`, info);
|
|
205
|
-
}
|
|
206
|
-
// Extract the type & link
|
|
207
|
-
const contentType = Utils.normalizeContentType(info._metadata?.types);
|
|
208
|
-
const contentLink = normalizeContentLinkWithLocale(info._metadata);
|
|
209
|
-
if (!contentLink) {
|
|
210
|
-
console.error('🔴 [CmsPage.loadContentByPath] Unable to infer the contentLink from the retrieved content, this should not have happened!');
|
|
211
|
-
return notFound();
|
|
212
|
-
}
|
|
213
|
-
const graphLocale = localeToGraphLocale(info._metadata?.locale, channel);
|
|
214
|
-
return [null, contentLink, contentType, graphLocale, info];
|
|
215
|
-
}
|
|
216
|
-
function getChannelId(client, channel) {
|
|
217
|
-
return channel
|
|
218
|
-
? client.currentOptiCmsSchema == OptiCmsSchema.CMS12
|
|
219
|
-
? channel.id
|
|
220
|
-
: getPrimaryURL(channel).origin
|
|
221
|
-
: undefined;
|
|
222
|
-
}
|
|
223
164
|
/**
|
|
224
165
|
*
|
|
225
166
|
*
|
|
@@ -243,15 +184,6 @@ function buildRequestPath({ lang, path, }) {
|
|
|
243
184
|
return fullPath + '/';
|
|
244
185
|
return fullPath;
|
|
245
186
|
}
|
|
246
|
-
function getPrimaryURL(chnl) {
|
|
247
|
-
const dd = chnl.domains.filter((x) => x.isPrimary).at(0) ?? chnl.domains.at(0);
|
|
248
|
-
if (!dd)
|
|
249
|
-
return chnl.getPrimaryDomain();
|
|
250
|
-
const s = dd.name.startsWith('localhost') || dd.name.indexOf('.local') > 0
|
|
251
|
-
? 'http:'
|
|
252
|
-
: 'https:';
|
|
253
|
-
return new URL(`${s}//${dd.name}`);
|
|
254
|
-
}
|
|
255
187
|
function isObject(toTest) {
|
|
256
188
|
return typeof toTest == 'object' && toTest != null && toTest != undefined;
|
|
257
189
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"page.js","sourceRoot":"","sources":["../../src/cms-page/page.tsx"],"names":[],"mappings":";AAAA,OAAO,aAAa,CAAA;AAEpB,OAAO,SAAS,MAAM,WAAW,CAAA;AACjC,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAA;
|
|
1
|
+
{"version":3,"file":"page.js","sourceRoot":"","sources":["../../src/cms-page/page.tsx"],"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": "6.0.0-
|
|
5
|
+
"version": "6.0.0-pre3",
|
|
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,10 +44,10 @@
|
|
|
44
44
|
}
|
|
45
45
|
},
|
|
46
46
|
"devDependencies": {
|
|
47
|
-
"@remkoj/optimizely-cms-react": "6.0.0-
|
|
48
|
-
"@remkoj/optimizely-graph-client": "6.0.0-
|
|
47
|
+
"@remkoj/optimizely-cms-react": "6.0.0-pre3",
|
|
48
|
+
"@remkoj/optimizely-graph-client": "6.0.0-pre3",
|
|
49
49
|
"@types/negotiator": "^0.6.4",
|
|
50
|
-
"@types/node": "^22.16.
|
|
50
|
+
"@types/node": "^22.16.2",
|
|
51
51
|
"@types/react": "^19.1.8",
|
|
52
52
|
"@types/react-dom": "19.1.6",
|
|
53
53
|
"next": "^15.3.5",
|
|
@@ -59,8 +59,8 @@
|
|
|
59
59
|
},
|
|
60
60
|
"dependencies": {
|
|
61
61
|
"@formatjs/intl-localematcher": "^0.6.1",
|
|
62
|
-
"@remkoj/optimizely-cms-react": "^6.0.0-
|
|
63
|
-
"@remkoj/optimizely-graph-client": "^6.0.0-
|
|
62
|
+
"@remkoj/optimizely-cms-react": "^6.0.0-pre3",
|
|
63
|
+
"@remkoj/optimizely-graph-client": "^6.0.0-pre3",
|
|
64
64
|
"deepmerge": "^4.3.1",
|
|
65
65
|
"entities": "^6.0.1",
|
|
66
66
|
"graphql": "^16.11.0",
|