@remkoj/optimizely-cms-nextjs 6.0.0-pre13 → 6.0.0-pre14

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/README.md CHANGED
@@ -1,4 +1,8 @@
1
1
  # Optimizely SaaS CMS - Next.js Integration
2
+
3
+ > [!WARNING]
4
+ > There'll be an update of Optimizely SaaS CMS that is incompatible with all SDK versions prior to 5.1.6. If you don't upgrade, you will see empty pages (main website) and "Component not found" messages (preview).
5
+
2
6
  [![License](https://img.shields.io/badge/License-Apache_2.0-blue.svg)](./LICENSE)
3
7
 
4
8
  > [!TIP]
@@ -76,4 +80,4 @@ The package provides the following enhancements for Next.js middleware:
76
80
  | withEditFallback | `@remkoj/optimizely-cms-nextjs/preview` | Rewrite incoming Optimizely CMS 12 preview / on-page-edit URLs to Optimizely SaaS CMS preview URLs |
77
81
  | withLanguagePrefix | `@remkoj/optimizely-cms-nextjs/page` | Handle the redirect of the homepage `/` to the locale that best matches the incoming request, such as `/en`. The locales and their URLs are taken from the second parameter - the ChannelDefinition.
78
82
 
79
- If you use both wrappers, the `withEditFallback` wrapper must wrap the `withLanguagePrefix` wrapper, to ensure that the edit mode URL is rewritten before the language prefix is applied.
83
+ If you use both wrappers, the `withEditFallback` wrapper must wrap the `withLanguagePrefix` wrapper, to ensure that the edit mode URL is rewritten before the language prefix is applied.
@@ -0,0 +1,11 @@
1
+ import type { ContentLinkWithLocale, IOptiGraphClient } from "@remkoj/optimizely-graph-client";
2
+ import type { GetContentByIdMethod, ContentRequest } from "./types.js";
3
+ export declare function loadContent(contentRequest: Omit<ContentRequest, 'token' | 'ctx'>, client: IOptiGraphClient, getContentById?: GetContentByIdMethod): Promise<{
4
+ contentLink: ContentLinkWithLocale;
5
+ contentItem: ({
6
+ __typename?: string | null;
7
+ _type?: string | null;
8
+ } & Record<string, any>) | undefined;
9
+ contentType: import("@remkoj/optimizely-cms-react/rsc").ContentType | undefined;
10
+ }>;
11
+ export default loadContent;
@@ -0,0 +1,49 @@
1
+ import { localeToGraphLocale } from '@remkoj/optimizely-graph-client/utils';
2
+ import { Utils } from '@remkoj/optimizely-cms-react/rsc';
3
+ export async function loadContent(contentRequest, client, getContentById) {
4
+ const contentLink = {
5
+ key: contentRequest.key,
6
+ changeset: contentRequest.changeset,
7
+ isInline: false,
8
+ variation: contentRequest.variation ? contentRequest.variation.include == "SOME" ? contentRequest.variation.value.join(',') : null : undefined,
9
+ version: contentRequest.version,
10
+ locale: (contentRequest.version ? undefined : Array.isArray(contentRequest.locale) ? contentRequest.locale[0] : contentRequest.locale) ?? undefined
11
+ };
12
+ const contentInfo = getContentById ? await getContentById(client, {
13
+ ...contentRequest,
14
+ locale: contentRequest.locale && contentRequest.locale.length > 0
15
+ ? localeToGraphLocale(Array.isArray(contentRequest.locale)
16
+ ? contentRequest.locale.at(0)
17
+ : contentRequest.locale)
18
+ : undefined,
19
+ changeset: client.getChangeset(),
20
+ }).catch((e) => {
21
+ console.warn('🟠 [OnPageEdit][loadContent] getContentById for ' +
22
+ JSON.stringify(contentRequest) +
23
+ ' returned an error', e);
24
+ return undefined;
25
+ }) : undefined;
26
+ if (contentInfo && (contentInfo?.content?.total ?? 0) > 1) {
27
+ console.warn('🟠 [OnPageEdit][loadContent] getContentById for ' +
28
+ JSON.stringify(contentRequest) +
29
+ ' yielded more then one item, picking first matching');
30
+ }
31
+ const contentItem = (Array.isArray(contentInfo?.content?.items)
32
+ ? contentInfo?.content?.items[0]
33
+ : contentInfo?.content?.items) ?? undefined;
34
+ const contentType = contentItem ? Utils.normalizeContentType(contentItem?._metadata.types) : undefined;
35
+ if (contentItem) {
36
+ contentLink.key = contentItem._metadata.key;
37
+ contentLink.locale = contentItem._metadata.locale;
38
+ contentLink.version = contentItem._metadata.version;
39
+ }
40
+ if (client.debug) {
41
+ console.log('⚪ [OnPageEdit] Resolved content:', JSON.stringify({
42
+ ...contentLink,
43
+ type: contentItem?.contentType ? contentItem.contentType.join('/') : undefined,
44
+ }));
45
+ }
46
+ return { contentLink, contentItem, contentType };
47
+ }
48
+ export default loadContent;
49
+ //# sourceMappingURL=load-content.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"load-content.js","sourceRoot":"","sources":["../../src/ope/load-content.ts"],"names":[],"mappings":"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"}
package/dist/ope/page.js CHANGED
@@ -1,18 +1,17 @@
1
1
  import { Fragment as _Fragment, jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import 'server-only';
3
- import { contentLinkToString, localeToGraphLocale, } from '@remkoj/optimizely-graph-client/utils';
4
- import { ServerContext, Utils, CmsContent, OptimizelyComposition, isNode, } from '@remkoj/optimizely-cms-react/rsc';
3
+ import { contentLinkToString, } from '@remkoj/optimizely-graph-client/utils';
4
+ import { ServerContext, 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';
8
8
  import React from 'react';
9
9
  import Script from 'next/script.js';
10
- import { getContentById } from './data.js';
11
10
  import { getContentRequest, isValidRequest } from './tools.js';
11
+ import loadContent from './load-content.js';
12
12
  const defaultOptions = {
13
13
  refreshNotice: () => _jsx(_Fragment, {}),
14
14
  layout: (props) => _jsx(_Fragment, { children: props.children }),
15
- loader: getContentById,
16
15
  clientFactory: (token) => createAuthorizedClient(token),
17
16
  communicationInjectorPath: '/util/javascript/communicationinjector.js',
18
17
  contentResolver: getContentRequest,
@@ -63,54 +62,18 @@ export function createEditPageComponent(factory, options) {
63
62
  console.log('⚪ [OnPageEdit] Requested content:', JSON.stringify(contentRequest));
64
63
  }
65
64
  try {
66
- const contentInfo = await getContentById(client, {
67
- ...contentRequest,
68
- locale: contentRequest.locale && contentRequest.locale.length > 0
69
- ? localeToGraphLocale(Array.isArray(contentRequest.locale)
70
- ? contentRequest.locale.at(0)
71
- : contentRequest.locale)
72
- : undefined,
73
- changeset: client.getChangeset(),
74
- });
75
- if ((contentInfo?.content?.total ?? 0) > 1) {
76
- console.warn('🟠 [OnPageEdit] Content request ' +
77
- JSON.stringify(contentRequest) +
78
- ' yielded more then one item, picking first matching');
79
- }
80
- const contentItem = (Array.isArray(contentInfo?.content?.items)
81
- ? contentInfo?.content?.items[0]
82
- : contentInfo?.content?.items) ?? undefined;
83
- const contentType = Utils.normalizeContentType(contentItem?._metadata.types);
84
- // Return a 404 if the content item or type could not be resolved
85
- if (!contentItem) {
86
- console.warn(`🟠 [OnPageEdit] The content item for ${JSON.stringify(contentRequest)} could not be loaded from Optimizely Graph`);
87
- return notFound();
88
- }
89
- if (!contentType) {
90
- console.warn(`🟠 [OnPageEdit] The content item for ${JSON.stringify(contentRequest)} did not contain content type information`);
91
- return notFound();
92
- }
93
- const contentLink = {
94
- key: contentItem._metadata.key,
95
- locale: contentItem._metadata.locale,
96
- version: contentItem._metadata.version,
97
- };
98
- if (context.isDebug) {
99
- console.log('⚪ [OnPageEdit] Resolved content:', JSON.stringify({
100
- ...contentLink,
101
- type: (contentItem.contentType ?? []).join('/'),
102
- }));
103
- }
65
+ const { contentLink, contentItem, contentType } = await loadContent(contentRequest, client, getContentById);
104
66
  // Store the editable content so it can be tested
105
67
  context.setEditableContentId(contentLink);
106
68
  if (contentLink.locale)
107
69
  context.setLocale(contentLink.locale);
108
70
  // Determine rendering flow controls
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;
71
+ const isPage = contentType ? contentType.some((x) => x?.toLowerCase() === 'page') ?? false : false;
72
+ const isSection = contentType?.some(x => x?.toLowerCase() == 'section') ?? false;
73
+ const sectionData = isSection && isNode(contentItem?.composition) ? contentItem.composition : undefined;
112
74
  if (sectionData) {
113
- delete contentItem['composition'];
75
+ if (contentItem?.composition)
76
+ delete contentItem.composition;
114
77
  sectionData.component = contentItem;
115
78
  context.setEditableContentIsExperience(true);
116
79
  }
@@ -118,7 +81,7 @@ export function createEditPageComponent(factory, options) {
118
81
  const injectorUrl = new URL(communicationInjectorPath, client.siteInfo.cmsURL).href;
119
82
  // Render edit page
120
83
  const Layout = isPage ? PageLayout : React.Fragment;
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 ?
84
+ 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
85
  _jsx(OptimizelyComposition, { node: sectionData, ctx: context }) :
123
86
  _jsx(CmsContent, { contentType: contentType, contentLink: contentLink, fragmentData: contentItem, ctx: context })] }), context.isDebug && (_jsxs("div", { className: "optly-contentLink", children: ["ContentItem:", ' ', contentLink
124
87
  ? contentLinkToString(contentLink)
@@ -1 +1 @@
1
- {"version":3,"file":"page.js","sourceRoot":"","sources":["../../src/ope/page.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"page.js","sourceRoot":"","sources":["../../src/ope/page.tsx"],"names":[],"mappings":"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"}
@@ -70,7 +70,7 @@ export type EditViewOptions<LocaleType = string> = {
70
70
  * which actually loads the data of content to be shown to the
71
71
  * editor.
72
72
  */
73
- loader: GetContentByIdMethod<LocaleType>;
73
+ loader?: GetContentByIdMethod<LocaleType>;
74
74
  /**
75
75
  * The third step of the handling of a Preview/On-Page-Edit view,
76
76
  * which gets the Optimizely Graph client for the token/auth method
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-pre13",
5
+ "version": "6.0.0-pre14",
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,27 +44,27 @@
44
44
  }
45
45
  },
46
46
  "devDependencies": {
47
- "@remkoj/optimizely-cms-react": "6.0.0-pre13",
48
- "@remkoj/optimizely-graph-client": "6.0.0-pre13",
47
+ "@remkoj/optimizely-cms-react": "6.0.0-pre14",
48
+ "@remkoj/optimizely-graph-client": "6.0.0-pre14",
49
49
  "@types/negotiator": "^0.6.4",
50
- "@types/node": "^22.18.13",
51
- "@types/react": "^19.2.2",
52
- "@types/react-dom": "19.2.2",
53
- "next": "^16.0.1",
50
+ "@types/node": "^22.19.6",
51
+ "@types/react": "^19.2.8",
52
+ "@types/react-dom": "19.2.3",
53
+ "next": "^16.1.1",
54
54
  "prop-types": "^15.8.1",
55
- "react": "^19.2.0",
56
- "react-dom": "^19.2.0",
55
+ "react": "^19.2.3",
56
+ "react-dom": "^19.2.3",
57
57
  "scheduler": "^0.27.0",
58
58
  "typescript": "^5.9.3"
59
59
  },
60
60
  "dependencies": {
61
- "@formatjs/intl-localematcher": "^0.6.2",
62
- "@remkoj/optimizely-cms-react": "6.0.0-pre13",
63
- "@remkoj/optimizely-graph-client": "6.0.0-pre13",
61
+ "@formatjs/intl-localematcher": "^0.7.5",
62
+ "@remkoj/optimizely-cms-react": "6.0.0-pre14",
63
+ "@remkoj/optimizely-graph-client": "6.0.0-pre14",
64
64
  "deepmerge": "^4.3.1",
65
65
  "entities": "^7.0.0",
66
- "graphql": "^16.11.0",
67
- "graphql-request": "^7.3.1",
66
+ "graphql": "^16.12.0",
67
+ "graphql-request": "^7.4.0",
68
68
  "negotiator": "^1.0.0"
69
69
  },
70
70
  "peerDependencies": {
@@ -78,5 +78,5 @@
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
+ "stableVersion": "5.2.0"
82
82
  }
@@ -1,2 +0,0 @@
1
- import type { GetContentByIdMethod } from './types.js';
2
- export declare const getContentById: GetContentByIdMethod;
package/dist/ope/data.js DELETED
@@ -1,31 +0,0 @@
1
- import { gql } from 'graphql-request';
2
- export const getContentById = async (client, variables) => {
3
- return await client.request(gqlQuery, variables);
4
- };
5
- const gqlQuery = gql `query getContentByIdBase($key: String!, $version: String, $locale: [Locales!], $path: String, $domain: String) {
6
- content: _Content(
7
- where: {
8
- _or: [
9
- { _metadata: { key: { eq: $key }, version: { eq: $version } } }
10
- { _metadata: { url: { hierarchical: { eq: $path }, base: { eq: $domain } }, version: { eq: $version } } }
11
- ]
12
- }
13
- locale: $locale
14
- variation: {include: ALL}
15
- ) {
16
- total
17
- items {
18
- _metadata {
19
- key
20
- locale
21
- types
22
- displayName
23
- version
24
- changeset
25
- variation
26
- }
27
- _type: __typename
28
- }
29
- }
30
- }`;
31
- //# sourceMappingURL=data.js.map
@@ -1 +0,0 @@
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"}