@cedarjs/web 8.0.0-canary.3628 → 8.0.0-canary.3629
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/apollo/ApolloProviderWithFetchConfig.js +2 -1
- package/dist/apollo/CedarApolloProvider.js +6 -5
- package/dist/apollo/suspense.js +7 -6
- package/dist/components/CedarProvider.js +6 -2
- package/dist/components/DevFatalErrorPage.js +102 -46
- package/dist/components/FatalErrorBoundary.js +3 -2
- package/dist/components/FetchConfigProvider.js +3 -2
- package/dist/components/MetaTags.js +40 -7
- package/dist/components/Metadata.js +11 -7
- package/dist/components/ServerInject.js +2 -1
- package/dist/components/cell/CellCacheContext.js +2 -1
- package/dist/components/cell/createCell.js +7 -6
- package/dist/components/cell/createFragmentCell.js +4 -3
- package/dist/components/cell/createServerCell.js +9 -8
- package/dist/components/cell/createSuspendingCell.js +8 -7
- package/dist/components/htmlTags.js +13 -9
- package/package.json +6 -6
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { jsx } from "react/jsx-runtime";
|
|
1
2
|
import React from "react";
|
|
2
3
|
import {
|
|
3
4
|
ApolloClient,
|
|
@@ -150,7 +151,7 @@ function ApolloProviderWithFetchConfig({
|
|
|
150
151
|
error["mostRecentResponse"] = data.mostRecentResponse;
|
|
151
152
|
throw error;
|
|
152
153
|
};
|
|
153
|
-
return /* @__PURE__ */
|
|
154
|
+
return /* @__PURE__ */ jsx(ApolloClientFactoryContext.Provider, { value: createApolloClient, children: /* @__PURE__ */ jsx(ApolloProvider, { client, children: /* @__PURE__ */ jsx(ErrorBoundary, { onError: extendErrorAndRethrow, children }) }) });
|
|
154
155
|
}
|
|
155
156
|
export {
|
|
156
157
|
ApolloProviderWithFetchConfig
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { jsx } from "react/jsx-runtime";
|
|
1
2
|
import React from "react";
|
|
2
3
|
import { InMemoryCache } from "@apollo/client";
|
|
3
4
|
import { useNoAuth } from "@cedarjs/auth";
|
|
@@ -26,16 +27,16 @@ function CedarApolloProvider({
|
|
|
26
27
|
});
|
|
27
28
|
};
|
|
28
29
|
const cache = createCache().restore(globalThis?.__CEDAR__APOLLO_STATE ?? {});
|
|
29
|
-
return /* @__PURE__ */
|
|
30
|
+
return /* @__PURE__ */ jsx(FetchConfigProvider, { useAuth, children: /* @__PURE__ */ jsx(
|
|
30
31
|
ApolloProviderWithFetchConfig,
|
|
31
32
|
{
|
|
32
33
|
config: { cache, ...config },
|
|
33
34
|
createCache,
|
|
34
35
|
useAuth,
|
|
35
|
-
logLevel
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
));
|
|
36
|
+
logLevel,
|
|
37
|
+
children
|
|
38
|
+
}
|
|
39
|
+
) });
|
|
39
40
|
}
|
|
40
41
|
export {
|
|
41
42
|
CedarApolloProvider
|
package/dist/apollo/suspense.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
"use client";
|
|
2
|
+
import { jsx } from "react/jsx-runtime";
|
|
2
3
|
import React, { useContext } from "react";
|
|
3
4
|
import {
|
|
4
5
|
ApolloLink,
|
|
@@ -90,7 +91,7 @@ const ApolloProviderWithFetchConfig = ({ config, createCache, children, logLevel
|
|
|
90
91
|
])
|
|
91
92
|
});
|
|
92
93
|
};
|
|
93
|
-
return /* @__PURE__ */
|
|
94
|
+
return /* @__PURE__ */ jsx(ApolloClientFactoryContext.Provider, { value: createApolloClient, children: /* @__PURE__ */ jsx(WrappedApolloProvider, { makeClient, children }) });
|
|
94
95
|
};
|
|
95
96
|
const CedarApolloProvider = ({
|
|
96
97
|
graphQLClientConfig,
|
|
@@ -106,16 +107,16 @@ const CedarApolloProvider = ({
|
|
|
106
107
|
});
|
|
107
108
|
};
|
|
108
109
|
const cache = createCache().restore(globalThis?.__CEDAR__APOLLO_STATE ?? {});
|
|
109
|
-
return /* @__PURE__ */
|
|
110
|
+
return /* @__PURE__ */ jsx(FetchConfigProvider, { useAuth, children: /* @__PURE__ */ jsx(
|
|
110
111
|
ApolloProviderWithFetchConfig,
|
|
111
112
|
{
|
|
112
113
|
config: { cache, ...config },
|
|
113
114
|
createCache,
|
|
114
115
|
useAuth,
|
|
115
|
-
logLevel
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
));
|
|
116
|
+
logLevel,
|
|
117
|
+
children
|
|
118
|
+
}
|
|
119
|
+
) });
|
|
119
120
|
};
|
|
120
121
|
const RedwoodApolloProvider = CedarApolloProvider;
|
|
121
122
|
export {
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { Fragment, jsx, jsxs } from "react/jsx-runtime";
|
|
1
2
|
import React from "react";
|
|
2
3
|
import { Helmet, HelmetProvider } from "@dr.pogodin/react-helmet";
|
|
3
4
|
const CedarProvider = ({
|
|
@@ -14,9 +15,12 @@ const CedarProvider = ({
|
|
|
14
15
|
return "";
|
|
15
16
|
};
|
|
16
17
|
if (RWJS_ENV.RWJS_EXP_STREAMING_SSR) {
|
|
17
|
-
return /* @__PURE__ */
|
|
18
|
+
return /* @__PURE__ */ jsx(Fragment, { children });
|
|
18
19
|
}
|
|
19
|
-
return /* @__PURE__ */
|
|
20
|
+
return /* @__PURE__ */ jsxs(HelmetProvider, { context: globalThis.__REDWOOD__HELMET_CONTEXT, children: [
|
|
21
|
+
/* @__PURE__ */ jsx(Helmet, { titleTemplate: template(), defaultTitle: appTitle, children: /* @__PURE__ */ jsx("title", { children: appTitle }) }),
|
|
22
|
+
children
|
|
23
|
+
] });
|
|
20
24
|
};
|
|
21
25
|
const RedwoodProvider = CedarProvider;
|
|
22
26
|
export {
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { Fragment, jsx, jsxs } from "react/jsx-runtime";
|
|
1
2
|
import React, { useState, useEffect, useRef } from "react";
|
|
2
3
|
import StackTracey from "stacktracey";
|
|
3
4
|
let srcRoot = "";
|
|
@@ -106,7 +107,7 @@ const DevFatalErrorPage = (props) => {
|
|
|
106
107
|
};
|
|
107
108
|
}, []);
|
|
108
109
|
if (!props.error) {
|
|
109
|
-
return /* @__PURE__ */
|
|
110
|
+
return /* @__PURE__ */ jsx("h3", { children: "Could not render the error page due to a missing error, please see the console for more details." });
|
|
110
111
|
}
|
|
111
112
|
const err = props.error;
|
|
112
113
|
const stack = new StackTracey(err).withSources();
|
|
@@ -114,7 +115,7 @@ const DevFatalErrorPage = (props) => {
|
|
|
114
115
|
err["type"] || err.constructor?.name || typeof err
|
|
115
116
|
);
|
|
116
117
|
const msg = String(err?.message);
|
|
117
|
-
const FileRef = stack.items[0] ? /* @__PURE__ */
|
|
118
|
+
const FileRef = stack.items[0] ? /* @__PURE__ */ jsx("a", { href: toVSCodeURL(stack.items[0]), children: stack.items[0].fileName }) : null;
|
|
118
119
|
const handleCopyAll = async () => {
|
|
119
120
|
const errorText = formatErrorForClipboard(stack, typeName, msg, err);
|
|
120
121
|
try {
|
|
@@ -127,22 +128,47 @@ const DevFatalErrorPage = (props) => {
|
|
|
127
128
|
console.error("Failed to copy error to clipboard:", clipboardError);
|
|
128
129
|
}
|
|
129
130
|
};
|
|
130
|
-
return /* @__PURE__ */
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
131
|
+
return /* @__PURE__ */ jsxs("main", { className: "error-page", children: [
|
|
132
|
+
/* @__PURE__ */ jsx(
|
|
133
|
+
"style",
|
|
134
|
+
{
|
|
135
|
+
dangerouslySetInnerHTML: {
|
|
136
|
+
__html: css
|
|
137
|
+
}
|
|
135
138
|
}
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
139
|
+
),
|
|
140
|
+
/* @__PURE__ */ jsxs("nav", { children: [
|
|
141
|
+
/* @__PURE__ */ jsxs("h1", { children: [
|
|
142
|
+
"A fatal runtime error occurred when rendering ",
|
|
143
|
+
FileRef
|
|
144
|
+
] }),
|
|
145
|
+
/* @__PURE__ */ jsxs("div", { children: [
|
|
146
|
+
/* @__PURE__ */ jsx(
|
|
147
|
+
"button",
|
|
148
|
+
{
|
|
149
|
+
onClick: handleCopyAll,
|
|
150
|
+
className: "copy-button",
|
|
151
|
+
title: "Copy all error context to clipboard",
|
|
152
|
+
children: "\u{1F4CB} Copy All"
|
|
153
|
+
}
|
|
154
|
+
),
|
|
155
|
+
copyFeedback && /* @__PURE__ */ jsx("span", { className: "copy-feedback", children: copyFeedback }),
|
|
156
|
+
"Get help via ",
|
|
157
|
+
/* @__PURE__ */ jsx(Discord, {})
|
|
158
|
+
] })
|
|
159
|
+
] }),
|
|
160
|
+
/* @__PURE__ */ jsxs("section", { className: "panic-overlay", children: [
|
|
161
|
+
/* @__PURE__ */ jsx("div", { className: "error", children: /* @__PURE__ */ jsxs("h3", { className: "error-title", children: [
|
|
162
|
+
/* @__PURE__ */ jsx("span", { className: "error-type", children: typeName }),
|
|
163
|
+
/* @__PURE__ */ jsx("span", { className: "error-message", children: prettyMessage(msg) })
|
|
164
|
+
] }) }),
|
|
165
|
+
/* @__PURE__ */ jsx(ResponseRequest, { error: props.error }),
|
|
166
|
+
/* @__PURE__ */ jsxs("div", { className: "error", children: [
|
|
167
|
+
/* @__PURE__ */ jsx("h3", { className: "section-title", children: "Stack Trace" }),
|
|
168
|
+
/* @__PURE__ */ jsx("div", { className: "error-stack", children: stack.items.map((entry, i) => /* @__PURE__ */ jsx(StackEntry, { entry, i, message: msg }, i)) })
|
|
169
|
+
] })
|
|
170
|
+
] })
|
|
171
|
+
] });
|
|
146
172
|
};
|
|
147
173
|
function hideStackLine(fileReference) {
|
|
148
174
|
return fileReference.length === 1 || fileReference.includes("node_modules/react-dom");
|
|
@@ -171,7 +197,7 @@ function StackEntry({
|
|
|
171
197
|
const shortestPath = (path) => path.replace(appRoot || "", "");
|
|
172
198
|
const expanded = !shouldHideEntry(entry, i);
|
|
173
199
|
const clickable = lines.length;
|
|
174
|
-
const LinkToVSCode = (props) => clickable ? /* @__PURE__ */
|
|
200
|
+
const LinkToVSCode = (props) => clickable ? /* @__PURE__ */ jsx("a", { href: toVSCodeURL(entry), children: props.children }) : /* @__PURE__ */ jsx(Fragment, { children: props.children });
|
|
175
201
|
const fileReference = !lines.length ? "[System]" : shortestPath(fileShort);
|
|
176
202
|
const rootClasses = [
|
|
177
203
|
"stack-entry",
|
|
@@ -179,20 +205,28 @@ function StackEntry({
|
|
|
179
205
|
i === 0 && " first",
|
|
180
206
|
lines.length && "clickable"
|
|
181
207
|
].filter(Boolean);
|
|
182
|
-
return hideStackLine(fileReference) ? /* @__PURE__ */
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
208
|
+
return hideStackLine(fileReference) ? /* @__PURE__ */ jsx("div", {}) : /* @__PURE__ */ jsx(LinkToVSCode, { children: /* @__PURE__ */ jsxs("div", { className: rootClasses.join(" "), children: [
|
|
209
|
+
/* @__PURE__ */ jsx("div", { className: "file", children: fileReference + " in " + entry.callee }),
|
|
210
|
+
expanded && !!lines.length && /* @__PURE__ */ jsx("div", { className: "lines" + (onLastLine ? ".no-fade" : ""), children: lines.map((text, i2) => {
|
|
211
|
+
return /* @__PURE__ */ jsxs(
|
|
212
|
+
"div",
|
|
213
|
+
{
|
|
214
|
+
className: "line" + (i2 === highlightIndex ? " line-hili" : ""),
|
|
215
|
+
children: [
|
|
216
|
+
/* @__PURE__ */ jsx("span", { className: "line-number", children: String(start + i2 + 1).padStart(lineNumberWidth, " ") }),
|
|
217
|
+
/* @__PURE__ */ jsx("span", { className: "line-text", children: i2 === highlightIndex ? renderHighlightedLine(text, column || 0) : text })
|
|
218
|
+
]
|
|
219
|
+
},
|
|
220
|
+
i2
|
|
221
|
+
);
|
|
222
|
+
}) })
|
|
223
|
+
] }) });
|
|
193
224
|
function renderHighlightedLine(text, column2) {
|
|
194
225
|
const [before, after] = [text.slice(0, column2 - 1), text.slice(column2 - 1)];
|
|
195
|
-
return /* @__PURE__ */
|
|
226
|
+
return /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
227
|
+
before,
|
|
228
|
+
/* @__PURE__ */ jsx("strong", { children: after })
|
|
229
|
+
] });
|
|
196
230
|
}
|
|
197
231
|
function shouldHideEntry(entry2, i2) {
|
|
198
232
|
return (entry2.thirdParty || entry2["native"] || entry2.hide || entry2.fileShort.includes("node_modules")) && i2 !== 0;
|
|
@@ -213,21 +247,43 @@ function ResponseRequest(props) {
|
|
|
213
247
|
}
|
|
214
248
|
const mostRecentRequest = props.error.mostRecentRequest || props.error.errors?.find((gqlErr) => gqlErr.__RedwoodEnhancedError)?.__RedwoodEnhancedError;
|
|
215
249
|
const mostRecentResponse = props.error.mostRecentResponse;
|
|
216
|
-
return /* @__PURE__ */
|
|
217
|
-
"
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
250
|
+
return /* @__PURE__ */ jsxs("div", { className: "request-response", children: [
|
|
251
|
+
mostRecentRequest ? /* @__PURE__ */ jsxs("div", { children: [
|
|
252
|
+
/* @__PURE__ */ jsxs("h4", { children: [
|
|
253
|
+
"Request: ",
|
|
254
|
+
mostRecentRequest.operationName
|
|
255
|
+
] }),
|
|
256
|
+
/* @__PURE__ */ jsxs("div", { children: [
|
|
257
|
+
/* @__PURE__ */ jsx("h5", { children: "Variables:" }),
|
|
258
|
+
/* @__PURE__ */ jsx("code", { children: /* @__PURE__ */ jsx("pre", { children: JSON.stringify(mostRecentRequest.variables, null, " ") }) })
|
|
259
|
+
] }),
|
|
260
|
+
/* @__PURE__ */ jsxs("div", { children: [
|
|
261
|
+
/* @__PURE__ */ jsx("h5", { children: "Query:" }),
|
|
262
|
+
/* @__PURE__ */ jsx("code", { children: /* @__PURE__ */ jsx(
|
|
263
|
+
"pre",
|
|
264
|
+
{
|
|
265
|
+
onClick: () => setOpenQuery(!openQuery),
|
|
266
|
+
className: openQuery ? "open" : "preview",
|
|
267
|
+
children: mostRecentRequest.query
|
|
268
|
+
}
|
|
269
|
+
) })
|
|
270
|
+
] })
|
|
271
|
+
] }) : null,
|
|
272
|
+
mostRecentResponse ? /* @__PURE__ */ jsxs("div", { className: "response", children: [
|
|
273
|
+
/* @__PURE__ */ jsx("h4", { children: "Response" }),
|
|
274
|
+
/* @__PURE__ */ jsxs("div", { children: [
|
|
275
|
+
/* @__PURE__ */ jsx("h5", { children: "JSON:" }),
|
|
276
|
+
/* @__PURE__ */ jsx("code", { children: /* @__PURE__ */ jsx(
|
|
277
|
+
"pre",
|
|
278
|
+
{
|
|
279
|
+
onClick: () => setOpenResponse(!openResponse),
|
|
280
|
+
className: openResponse ? "open" : "preview",
|
|
281
|
+
children: JSON.stringify(mostRecentResponse, null, " ")
|
|
282
|
+
}
|
|
283
|
+
) })
|
|
284
|
+
] })
|
|
285
|
+
] }) : null
|
|
286
|
+
] });
|
|
231
287
|
}
|
|
232
288
|
const css = `
|
|
233
289
|
body {
|
|
@@ -529,7 +585,7 @@ main.error-page nav svg:hover {
|
|
|
529
585
|
}
|
|
530
586
|
}
|
|
531
587
|
`;
|
|
532
|
-
const Discord = () => /* @__PURE__ */
|
|
588
|
+
const Discord = () => /* @__PURE__ */ jsx("a", { href: "https://cedarjs.com/discord", title: "Go to CedarJS's Discord server", children: /* @__PURE__ */ jsx("svg", { viewBox: "0 0 36 36", xmlns: "http://www.w3.org/2000/svg", children: /* @__PURE__ */ jsx("path", { d: "M29.9699 7.7544C27.1043 5.44752 22.5705 5.05656 22.3761 5.04288C22.2284 5.03072 22.0806 5.0648 21.9531 5.1404C21.8257 5.216 21.7249 5.32937 21.6647 5.4648C21.5783 5.65936 21.5049 5.85949 21.4451 6.06384C23.3409 6.38424 25.6694 7.02864 27.7761 8.33616C27.8565 8.38604 27.9262 8.45126 27.9814 8.52809C28.0366 8.60493 28.0761 8.69187 28.0976 8.78397C28.1192 8.87607 28.1224 8.97151 28.1071 9.06485C28.0917 9.15819 28.0582 9.24759 28.0083 9.32796C27.9584 9.40833 27.8932 9.47809 27.8164 9.53325C27.7395 9.58842 27.6526 9.62791 27.5605 9.64947C27.4684 9.67103 27.373 9.67424 27.2796 9.65892C27.1863 9.6436 27.0969 9.61004 27.0165 9.56016C23.3949 7.3116 18.8719 7.2 17.9999 7.2C17.1287 7.2 12.6028 7.31232 8.98338 9.55944C8.90301 9.60932 8.81361 9.64288 8.72027 9.6582C8.62693 9.67352 8.53149 9.67031 8.43939 9.64875C8.25339 9.6052 8.09231 9.48955 7.99158 9.32724C7.89085 9.16493 7.85873 8.96925 7.90227 8.78325C7.94582 8.59725 8.06147 8.43617 8.22378 8.33544C10.3305 7.03152 12.659 6.38424 14.5547 6.06672C14.4453 5.7096 14.3459 5.48424 14.3387 5.4648C14.2788 5.32841 14.1776 5.2143 14.0493 5.13859C13.921 5.06288 13.7721 5.0294 13.6238 5.04288C13.4294 5.05728 8.89554 5.44752 5.99034 7.78536C4.47474 9.18792 1.43994 17.3894 1.43994 24.48C1.43994 24.6067 1.47378 24.7277 1.5357 24.8371C3.62802 28.5163 9.3405 29.4775 10.6423 29.52H10.6646C10.7782 29.5203 10.8903 29.4937 10.9916 29.4424C11.093 29.3911 11.1808 29.3165 11.2478 29.2248L12.5632 27.4133C9.01146 26.4967 7.19706 24.9386 7.09338 24.8458C6.95017 24.7194 6.86303 24.5412 6.85115 24.3506C6.83927 24.1599 6.90361 23.9723 7.03002 23.8291C7.15643 23.6859 7.33456 23.5988 7.52522 23.5869C7.71588 23.575 7.90345 23.6394 8.04666 23.7658C8.08842 23.8054 11.4299 26.64 17.9999 26.64C24.5807 26.64 27.9223 23.7938 27.9561 23.7658C28.0998 23.6403 28.2874 23.5769 28.4777 23.5896C28.668 23.6023 28.8456 23.69 28.9713 23.8334C29.0335 23.9042 29.0812 23.9864 29.1117 24.0756C29.1421 24.1647 29.1546 24.259 29.1486 24.353C29.1426 24.447 29.1181 24.5389 29.0766 24.6235C29.035 24.708 28.9772 24.7836 28.9065 24.8458C28.8028 24.9386 26.9884 26.4967 23.4367 27.4133L24.7528 29.2248C24.8198 29.3164 24.9074 29.3909 25.0087 29.4422C25.1099 29.4935 25.2218 29.5202 25.3353 29.52H25.3569C26.6601 29.4775 32.3719 28.5156 34.4649 24.8371C34.5261 24.7277 34.5599 24.6067 34.5599 24.48C34.5599 17.3894 31.5251 9.18864 29.9699 7.7544V7.7544ZM13.3199 21.6C11.9275 21.6 10.7999 20.3112 10.7999 18.72C10.7999 17.1288 11.9275 15.84 13.3199 15.84C14.7124 15.84 15.8399 17.1288 15.8399 18.72C15.8399 20.3112 14.7124 21.6 13.3199 21.6ZM22.6799 21.6C21.2875 21.6 20.1599 20.3112 20.1599 18.72C20.1599 17.1288 21.2875 15.84 22.6799 15.84C24.0724 15.84 25.1999 17.1288 25.1999 18.72C25.1999 20.3112 24.0724 21.6 22.6799 21.6Z" }) }) });
|
|
533
589
|
export {
|
|
534
590
|
DevFatalErrorPage
|
|
535
591
|
};
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { jsx } from "react/jsx-runtime";
|
|
1
2
|
import React from "react";
|
|
2
3
|
class InfallibleErrorBoundary extends React.Component {
|
|
3
4
|
state = { hasError: false };
|
|
@@ -6,7 +7,7 @@ class InfallibleErrorBoundary extends React.Component {
|
|
|
6
7
|
}
|
|
7
8
|
render() {
|
|
8
9
|
if (this.state.hasError) {
|
|
9
|
-
return /* @__PURE__ */
|
|
10
|
+
return /* @__PURE__ */ jsx("h1", { children: "Something went wrong and we are unable to show this page." });
|
|
10
11
|
}
|
|
11
12
|
return this.props.children;
|
|
12
13
|
}
|
|
@@ -19,7 +20,7 @@ class FatalErrorBoundary extends React.Component {
|
|
|
19
20
|
render() {
|
|
20
21
|
const { page: Page } = this.props;
|
|
21
22
|
if (this.state.hasError) {
|
|
22
|
-
return /* @__PURE__ */
|
|
23
|
+
return /* @__PURE__ */ jsx(InfallibleErrorBoundary, { children: /* @__PURE__ */ jsx(Page, { error: this.state.error }) });
|
|
23
24
|
}
|
|
24
25
|
return this.props.children;
|
|
25
26
|
}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { jsx } from "react/jsx-runtime";
|
|
1
2
|
import React from "react";
|
|
2
3
|
import { useNoAuth } from "@cedarjs/auth";
|
|
3
4
|
const getApiGraphQLUrl = () => {
|
|
@@ -12,7 +13,7 @@ const FetchConfigProvider = ({
|
|
|
12
13
|
}) => {
|
|
13
14
|
const { isAuthenticated, type } = useAuth();
|
|
14
15
|
if (!isAuthenticated) {
|
|
15
|
-
return /* @__PURE__ */
|
|
16
|
+
return /* @__PURE__ */ jsx(
|
|
16
17
|
FetchConfigContext.Provider,
|
|
17
18
|
{
|
|
18
19
|
value: { uri: getApiGraphQLUrl() },
|
|
@@ -23,7 +24,7 @@ const FetchConfigProvider = ({
|
|
|
23
24
|
const headers = {
|
|
24
25
|
"auth-provider": type
|
|
25
26
|
};
|
|
26
|
-
return /* @__PURE__ */
|
|
27
|
+
return /* @__PURE__ */ jsx(
|
|
27
28
|
FetchConfigContext.Provider,
|
|
28
29
|
{
|
|
29
30
|
value: {
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { Fragment, jsx, jsxs } from "react/jsx-runtime";
|
|
1
2
|
import React from "react";
|
|
2
3
|
import { Helmet as HelmetHead } from "@dr.pogodin/react-helmet";
|
|
3
4
|
import PortalHead from "./PortalHead.js";
|
|
@@ -21,13 +22,45 @@ const MetaTags = (props) => {
|
|
|
21
22
|
if (RWJS_ENV.RWJS_EXP_STREAMING_SSR) {
|
|
22
23
|
Head = PortalHead;
|
|
23
24
|
}
|
|
24
|
-
return /* @__PURE__ */
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
}
|
|
30
|
-
|
|
25
|
+
return /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
26
|
+
title && /* @__PURE__ */ jsxs(Head, { children: [
|
|
27
|
+
/* @__PURE__ */ jsx("title", { children: title }),
|
|
28
|
+
/* @__PURE__ */ jsx("meta", { property: "og:title", content: title }, "title"),
|
|
29
|
+
/* @__PURE__ */ jsx("meta", { property: "twitter:title", content: title })
|
|
30
|
+
] }),
|
|
31
|
+
description && /* @__PURE__ */ jsxs(Head, { children: [
|
|
32
|
+
/* @__PURE__ */ jsx("meta", { name: "description", content: description }),
|
|
33
|
+
/* @__PURE__ */ jsx("meta", { name: "twitter:description", content: description }),
|
|
34
|
+
/* @__PURE__ */ jsx("meta", { property: "og:description", content: description })
|
|
35
|
+
] }),
|
|
36
|
+
author && /* @__PURE__ */ jsxs(Head, { children: [
|
|
37
|
+
/* @__PURE__ */ jsx("meta", { name: "author", content: author }),
|
|
38
|
+
/* @__PURE__ */ jsx("meta", { name: "twitter:site", content: author }),
|
|
39
|
+
/* @__PURE__ */ jsx("meta", { name: "twitter:creator", content: author })
|
|
40
|
+
] }),
|
|
41
|
+
ogUrl && /* @__PURE__ */ jsx(Head, { children: /* @__PURE__ */ jsx("meta", { property: "og:url", content: ogUrl }) }),
|
|
42
|
+
locale && /* @__PURE__ */ jsxs(Head, { children: [
|
|
43
|
+
/* @__PURE__ */ jsx("html", { lang: locale }),
|
|
44
|
+
/* @__PURE__ */ jsx("meta", { property: "og:locale", content: locale })
|
|
45
|
+
] }),
|
|
46
|
+
/* @__PURE__ */ jsx(Head, { children: /* @__PURE__ */ jsx("meta", { property: "og:type", content: ogType }) }),
|
|
47
|
+
ogContentUrl && /* @__PURE__ */ jsx(Head, { children: /* @__PURE__ */ jsx("meta", { property: tag, content: ogContentUrl }) }),
|
|
48
|
+
contentType && /* @__PURE__ */ jsx(Head, { children: /* @__PURE__ */ jsx("meta", { property: `${tag}:type`, content: contentType }) }),
|
|
49
|
+
tag === "og:image" && /* @__PURE__ */ jsxs(Head, { children: [
|
|
50
|
+
ogWidth && /* @__PURE__ */ jsx("meta", { property: "image:width", content: ogWidth }),
|
|
51
|
+
ogHeight && /* @__PURE__ */ jsx("meta", { property: "image:height", content: ogHeight }),
|
|
52
|
+
/* @__PURE__ */ jsx("meta", { property: "twitter:card", content: "summary_large_image" }),
|
|
53
|
+
/* @__PURE__ */ jsx("meta", { property: "twitter:image", content: ogContentUrl })
|
|
54
|
+
] }),
|
|
55
|
+
robots && /* @__PURE__ */ jsx(Head, { children: /* @__PURE__ */ jsx(
|
|
56
|
+
"meta",
|
|
57
|
+
{
|
|
58
|
+
name: "robots",
|
|
59
|
+
content: Array.isArray(robots) ? robots.join(", ") : robots
|
|
60
|
+
}
|
|
61
|
+
) }),
|
|
62
|
+
children
|
|
63
|
+
] });
|
|
31
64
|
};
|
|
32
65
|
export {
|
|
33
66
|
MetaTags
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
"use client";
|
|
2
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
2
3
|
import React from "react";
|
|
3
4
|
import { Helmet as HelmetHead } from "@dr.pogodin/react-helmet";
|
|
4
5
|
import PortalHead from "./PortalHead.js";
|
|
@@ -17,7 +18,7 @@ const propToMetaTag = (parentKey, parentValue, options) => {
|
|
|
17
18
|
[options["attr"]]: parentKey,
|
|
18
19
|
content: parentValue
|
|
19
20
|
};
|
|
20
|
-
return /* @__PURE__ */
|
|
21
|
+
return /* @__PURE__ */ jsx("meta", { ...attributes });
|
|
21
22
|
}
|
|
22
23
|
};
|
|
23
24
|
const Metadata = (props) => {
|
|
@@ -34,26 +35,29 @@ const Metadata = (props) => {
|
|
|
34
35
|
if (metaProps.title) {
|
|
35
36
|
;
|
|
36
37
|
[metaProps.title].flat().reverse().map((title) => {
|
|
37
|
-
tags.unshift(/* @__PURE__ */
|
|
38
|
+
tags.unshift(/* @__PURE__ */ jsx("title", { children: title }));
|
|
38
39
|
});
|
|
39
40
|
}
|
|
40
41
|
if (metaProps.charSet) {
|
|
41
|
-
tags.push(/* @__PURE__ */
|
|
42
|
+
tags.push(/* @__PURE__ */ jsx("meta", { charSet: metaProps.charSet }));
|
|
42
43
|
}
|
|
43
44
|
if (metaProps.og) {
|
|
44
45
|
if (metaProps.title && !metaProps.og.title && metaProps.og.title !== null) {
|
|
45
|
-
tags.push(/* @__PURE__ */
|
|
46
|
+
tags.push(/* @__PURE__ */ jsx("meta", { property: "og:title", content: metaProps.title }));
|
|
46
47
|
}
|
|
47
48
|
if (metaProps.description && !metaProps.og.description && metaProps.og.description !== null) {
|
|
48
49
|
tags.push(
|
|
49
|
-
/* @__PURE__ */
|
|
50
|
+
/* @__PURE__ */ jsx("meta", { property: "og:description", content: metaProps.description })
|
|
50
51
|
);
|
|
51
52
|
}
|
|
52
53
|
if (!metaProps.og.type && metaProps.og.type !== null) {
|
|
53
|
-
tags.push(/* @__PURE__ */
|
|
54
|
+
tags.push(/* @__PURE__ */ jsx("meta", { property: "og:type", content: "website" }));
|
|
54
55
|
}
|
|
55
56
|
}
|
|
56
|
-
return /* @__PURE__ */
|
|
57
|
+
return /* @__PURE__ */ jsxs(Head, { children: [
|
|
58
|
+
tags.map((tag, i) => React.cloneElement(tag, { key: i })),
|
|
59
|
+
children
|
|
60
|
+
] });
|
|
57
61
|
};
|
|
58
62
|
export {
|
|
59
63
|
Metadata
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { jsx } from "react/jsx-runtime";
|
|
1
2
|
import React, { Fragment, createContext, useContext, useId } from "react";
|
|
2
3
|
const ServerHtmlContext = createContext(() => {
|
|
3
4
|
});
|
|
@@ -19,7 +20,7 @@ const ServerInjectedHtml = ({
|
|
|
19
20
|
}
|
|
20
21
|
const fragmentId = useId();
|
|
21
22
|
return serverInsertedHtml.map((html, i) => {
|
|
22
|
-
return /* @__PURE__ */
|
|
23
|
+
return /* @__PURE__ */ jsx(Fragment, { children: html }, `rw-server-inserted-${fragmentId}-${i}`);
|
|
23
24
|
});
|
|
24
25
|
};
|
|
25
26
|
function useServerInsertedHTML(callback) {
|
|
@@ -1,7 +1,8 @@
|
|
|
1
|
+
import { jsx } from "react/jsx-runtime";
|
|
1
2
|
import React, { createContext, useContext } from "react";
|
|
2
3
|
const CellCacheContext = createContext(void 0);
|
|
3
4
|
const CellCacheContextProvider = ({ queryCache, children }) => {
|
|
4
|
-
return /* @__PURE__ */
|
|
5
|
+
return /* @__PURE__ */ jsx(CellCacheContext.Provider, { value: { queryCache }, children });
|
|
5
6
|
};
|
|
6
7
|
function useCellCacheContext() {
|
|
7
8
|
const context = useContext(CellCacheContext);
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { Fragment, jsx } from "react/jsx-runtime";
|
|
1
2
|
import React from "react";
|
|
2
3
|
import { CombinedGraphQLErrors } from "@apollo/client";
|
|
3
4
|
import { useQuery } from "@apollo/client/react";
|
|
@@ -38,7 +39,7 @@ function createNonSuspendingCell({
|
|
|
38
39
|
}),
|
|
39
40
|
afterQuery = (data) => data,
|
|
40
41
|
isEmpty = isDataEmpty,
|
|
41
|
-
Loading = () => /* @__PURE__ */
|
|
42
|
+
Loading = () => /* @__PURE__ */ jsx(Fragment, { children: "Loading..." }),
|
|
42
43
|
Failure,
|
|
43
44
|
Empty,
|
|
44
45
|
Success,
|
|
@@ -110,7 +111,7 @@ function createNonSuspendingCell({
|
|
|
110
111
|
updating: loading,
|
|
111
112
|
queryResult
|
|
112
113
|
};
|
|
113
|
-
return /* @__PURE__ */
|
|
114
|
+
return /* @__PURE__ */ jsx(Failure, { ...failureProps });
|
|
114
115
|
} else {
|
|
115
116
|
throw error instanceof Error ? error : new Error(error.message);
|
|
116
117
|
}
|
|
@@ -123,7 +124,7 @@ function createNonSuspendingCell({
|
|
|
123
124
|
updating: loading,
|
|
124
125
|
queryResult
|
|
125
126
|
};
|
|
126
|
-
return /* @__PURE__ */
|
|
127
|
+
return /* @__PURE__ */ jsx(Empty, { ...emptyProps });
|
|
127
128
|
} else {
|
|
128
129
|
const successProps = {
|
|
129
130
|
...props,
|
|
@@ -131,11 +132,11 @@ function createNonSuspendingCell({
|
|
|
131
132
|
updating: loading,
|
|
132
133
|
queryResult
|
|
133
134
|
};
|
|
134
|
-
return /* @__PURE__ */
|
|
135
|
+
return /* @__PURE__ */ jsx(Success, { ...successProps });
|
|
135
136
|
}
|
|
136
137
|
} else if (loading) {
|
|
137
138
|
const loadingProps = { ...props, queryResult };
|
|
138
|
-
return /* @__PURE__ */
|
|
139
|
+
return /* @__PURE__ */ jsx(Loading, { ...loadingProps });
|
|
139
140
|
} else {
|
|
140
141
|
console.warn(
|
|
141
142
|
`If you're using Apollo Client, check for its debug logs here in the console, which may help explain the error.`
|
|
@@ -147,7 +148,7 @@ function createNonSuspendingCell({
|
|
|
147
148
|
}
|
|
148
149
|
NamedCell.displayName = displayName;
|
|
149
150
|
return (props) => {
|
|
150
|
-
return /* @__PURE__ */
|
|
151
|
+
return /* @__PURE__ */ jsx(NamedCell, { ...props });
|
|
151
152
|
};
|
|
152
153
|
}
|
|
153
154
|
export {
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { jsx } from "react/jsx-runtime";
|
|
1
2
|
import React from "react";
|
|
2
3
|
import { Kind } from "graphql";
|
|
3
4
|
import { fragmentRegistry, useFragment } from "../../apollo/fragmentRegistry.js";
|
|
@@ -66,13 +67,13 @@ function createFragmentCell({
|
|
|
66
67
|
const restProps = rest;
|
|
67
68
|
const successProps = { ...restProps, ...afterQueryData };
|
|
68
69
|
if (isEmpty({ [propName]: data }, { isDataEmpty }) && Empty) {
|
|
69
|
-
return /* @__PURE__ */
|
|
70
|
+
return /* @__PURE__ */ jsx(Empty, { ...successProps });
|
|
70
71
|
}
|
|
71
|
-
return /* @__PURE__ */
|
|
72
|
+
return /* @__PURE__ */ jsx(Success, { ...successProps });
|
|
72
73
|
}
|
|
73
74
|
NamedCell.displayName = displayName;
|
|
74
75
|
return (props) => {
|
|
75
|
-
return /* @__PURE__ */
|
|
76
|
+
return /* @__PURE__ */ jsx(NamedCell, { ...props });
|
|
76
77
|
};
|
|
77
78
|
}
|
|
78
79
|
export {
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { Fragment, jsx } from "react/jsx-runtime";
|
|
1
2
|
import React, { Suspense } from "react";
|
|
2
3
|
import { isDataEmpty } from "./isCellEmpty.js";
|
|
3
4
|
function createServerCell(createCellProps) {
|
|
@@ -21,18 +22,18 @@ function createServerCell(createCellProps) {
|
|
|
21
22
|
return dataFn(variables2);
|
|
22
23
|
}
|
|
23
24
|
};
|
|
24
|
-
return /* @__PURE__ */
|
|
25
|
+
return /* @__PURE__ */ jsx(Failure, { error, queryResult: queryResultWithRefetch });
|
|
25
26
|
};
|
|
26
27
|
try {
|
|
27
28
|
const data = await dataFn(variables);
|
|
28
29
|
if (isEmpty(data, { isDataEmpty }) && Empty) {
|
|
29
30
|
const emptyProps = { ...props, ...data };
|
|
30
|
-
return /* @__PURE__ */
|
|
31
|
+
return /* @__PURE__ */ jsx(Empty, { ...emptyProps });
|
|
31
32
|
}
|
|
32
33
|
const successProps = { ...data, ...props };
|
|
33
|
-
return /* @__PURE__ */
|
|
34
|
+
return /* @__PURE__ */ jsx(Success, { ...successProps });
|
|
34
35
|
} catch (error) {
|
|
35
|
-
return /* @__PURE__ */
|
|
36
|
+
return /* @__PURE__ */ jsx(FailureComponent, { error });
|
|
36
37
|
}
|
|
37
38
|
}
|
|
38
39
|
SuspendingSuccess.displayName = displayName;
|
|
@@ -41,16 +42,16 @@ function createServerCell(createCellProps) {
|
|
|
41
42
|
if (!LoadingComponent) {
|
|
42
43
|
return suspendingSuccessElement;
|
|
43
44
|
}
|
|
44
|
-
return /* @__PURE__ */
|
|
45
|
+
return /* @__PURE__ */ jsx(Suspense, { fallback: /* @__PURE__ */ jsx(LoadingComponent, { ...props }), children: suspendingSuccessElement });
|
|
45
46
|
};
|
|
46
47
|
return (
|
|
47
48
|
// TODO(RSC): Do we always want a client side error boundary? If so, this
|
|
48
49
|
// is where we'd add it
|
|
49
50
|
// <CellErrorBoundary renderFallback={FailureComponent}>
|
|
50
|
-
/* @__PURE__ */
|
|
51
|
-
/* @__PURE__ */
|
|
51
|
+
/* @__PURE__ */ jsx(Fragment, { children: wrapInSuspenseIfLoadingPresent(
|
|
52
|
+
/* @__PURE__ */ jsx(SuspendingSuccess, { ...props }),
|
|
52
53
|
Loading
|
|
53
|
-
))
|
|
54
|
+
) })
|
|
54
55
|
);
|
|
55
56
|
};
|
|
56
57
|
}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { jsx } from "react/jsx-runtime";
|
|
1
2
|
import React, { Suspense } from "react";
|
|
2
3
|
import { CombinedGraphQLErrors } from "@apollo/client";
|
|
3
4
|
import {
|
|
@@ -54,14 +55,14 @@ function createSuspendingCell(createCellProps) {
|
|
|
54
55
|
...afterQueryData,
|
|
55
56
|
queryResult: queryResultWithNetworkStatus
|
|
56
57
|
};
|
|
57
|
-
return /* @__PURE__ */
|
|
58
|
+
return /* @__PURE__ */ jsx(Empty, { ...emptyProps });
|
|
58
59
|
}
|
|
59
60
|
const successProps = {
|
|
60
61
|
...afterQueryData,
|
|
61
62
|
...userProps,
|
|
62
63
|
queryResult: queryResultWithNetworkStatus
|
|
63
64
|
};
|
|
64
|
-
return /* @__PURE__ */
|
|
65
|
+
return /* @__PURE__ */ jsx(Success, { ...successProps });
|
|
65
66
|
}
|
|
66
67
|
SuspendingSuccess.displayName = displayName;
|
|
67
68
|
return (props) => {
|
|
@@ -103,17 +104,17 @@ function createSuspendingCell(createCellProps) {
|
|
|
103
104
|
errorCode: CombinedGraphQLErrors.is(error) ? error.errors[0]?.extensions?.["code"] : void 0,
|
|
104
105
|
queryResult: queryResultWithErrorReset
|
|
105
106
|
};
|
|
106
|
-
return /* @__PURE__ */
|
|
107
|
+
return /* @__PURE__ */ jsx(Failure, { ...failureProps });
|
|
107
108
|
};
|
|
108
109
|
const wrapInSuspenseIfLoadingPresent = (suspendingSuccessElement, LoadingComponent) => {
|
|
109
110
|
if (!LoadingComponent) {
|
|
110
111
|
return suspendingSuccessElement;
|
|
111
112
|
}
|
|
112
113
|
const loadingProps = { ...props, queryResult: suspenseQueryResult };
|
|
113
|
-
return /* @__PURE__ */
|
|
114
|
+
return /* @__PURE__ */ jsx(Suspense, { fallback: /* @__PURE__ */ jsx(LoadingComponent, { ...loadingProps }), children: suspendingSuccessElement });
|
|
114
115
|
};
|
|
115
|
-
return /* @__PURE__ */
|
|
116
|
-
/* @__PURE__ */
|
|
116
|
+
return /* @__PURE__ */ jsx(CellErrorBoundary, { renderFallback: FailureComponent, children: wrapInSuspenseIfLoadingPresent(
|
|
117
|
+
/* @__PURE__ */ jsx(
|
|
117
118
|
SuspendingSuccess,
|
|
118
119
|
{
|
|
119
120
|
userProps: props,
|
|
@@ -122,7 +123,7 @@ function createSuspendingCell(createCellProps) {
|
|
|
122
123
|
}
|
|
123
124
|
),
|
|
124
125
|
Loading
|
|
125
|
-
));
|
|
126
|
+
) });
|
|
126
127
|
};
|
|
127
128
|
}
|
|
128
129
|
export {
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
+
import { Fragment, jsx, jsxs } from "react/jsx-runtime";
|
|
1
2
|
import React from "react";
|
|
2
|
-
import { Fragment } from "react";
|
|
3
|
+
import { Fragment as Fragment2 } from "react";
|
|
3
4
|
const extractCssFromAssetMap = () => {
|
|
4
5
|
if (typeof window !== "undefined") {
|
|
5
6
|
return window.__REDWOOD__ASSET_MAP?.css;
|
|
@@ -21,25 +22,28 @@ function addSlashIfNeeded(path) {
|
|
|
21
22
|
}
|
|
22
23
|
const Css = ({ css }) => {
|
|
23
24
|
const cssLinks = (css || extractCssFromAssetMap() || []).map(addSlashIfNeeded);
|
|
24
|
-
return /* @__PURE__ */
|
|
25
|
-
return /* @__PURE__ */
|
|
26
|
-
}));
|
|
25
|
+
return /* @__PURE__ */ jsx(Fragment, { children: cssLinks.map((cssLink, index) => {
|
|
26
|
+
return /* @__PURE__ */ jsx("link", { rel: "stylesheet", href: `${cssLink}` }, `css-${index}`);
|
|
27
|
+
}) });
|
|
27
28
|
};
|
|
28
29
|
const Meta = ({ tags }) => {
|
|
29
30
|
const metaTags = tags || extractMetaFromAssetMap() || [];
|
|
30
|
-
return /* @__PURE__ */
|
|
31
|
+
return /* @__PURE__ */ jsx(Fragment, { children: metaTags.map((tag, index) => {
|
|
31
32
|
if (!tag) {
|
|
32
33
|
return null;
|
|
33
34
|
}
|
|
34
35
|
if (isTitleTag(tag)) {
|
|
35
|
-
return /* @__PURE__ */
|
|
36
|
+
return /* @__PURE__ */ jsxs(Fragment2, { children: [
|
|
37
|
+
/* @__PURE__ */ jsx("title", { children: tag.title }),
|
|
38
|
+
/* @__PURE__ */ jsx("meta", { property: "og:title", content: tag.title })
|
|
39
|
+
] }, "title");
|
|
36
40
|
}
|
|
37
41
|
if (otherTag(tag)) {
|
|
38
42
|
const { tagType: TagName, ...rest } = tag;
|
|
39
|
-
return /* @__PURE__ */
|
|
43
|
+
return /* @__PURE__ */ jsx(TagName, { ...rest }, `meta-${index}`);
|
|
40
44
|
}
|
|
41
|
-
return /* @__PURE__ */
|
|
42
|
-
}));
|
|
45
|
+
return /* @__PURE__ */ jsx("meta", { ...tag }, `meta-${index}`);
|
|
46
|
+
}) });
|
|
43
47
|
};
|
|
44
48
|
const isTitleTag = (tag) => {
|
|
45
49
|
return "title" in tag;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cedarjs/web",
|
|
3
|
-
"version": "8.0.0-canary.
|
|
3
|
+
"version": "8.0.0-canary.3629",
|
|
4
4
|
"repository": {
|
|
5
5
|
"type": "git",
|
|
6
6
|
"url": "git+https://github.com/cedarjs/cedar.git",
|
|
@@ -82,7 +82,7 @@
|
|
|
82
82
|
},
|
|
83
83
|
"dependencies": {
|
|
84
84
|
"@apollo/client": "4.3.6",
|
|
85
|
-
"@cedarjs/server-store": "8.0.0-canary.
|
|
85
|
+
"@cedarjs/server-store": "8.0.0-canary.3629",
|
|
86
86
|
"@dr.pogodin/react-helmet": "2.0.4",
|
|
87
87
|
"@whatwg-node/fetch": "0.12.1",
|
|
88
88
|
"apollo-upload-client": "19.0.0",
|
|
@@ -98,9 +98,9 @@
|
|
|
98
98
|
"devDependencies": {
|
|
99
99
|
"@apollo/client-react-streaming": "0.14.5",
|
|
100
100
|
"@arethetypeswrong/cli": "0.18.5",
|
|
101
|
-
"@cedarjs/auth": "8.0.0-canary.
|
|
102
|
-
"@cedarjs/framework-tools": "8.0.0-canary.
|
|
103
|
-
"@cedarjs/internal": "8.0.0-canary.
|
|
101
|
+
"@cedarjs/auth": "8.0.0-canary.3629",
|
|
102
|
+
"@cedarjs/framework-tools": "8.0.0-canary.3629",
|
|
103
|
+
"@cedarjs/internal": "8.0.0-canary.3629",
|
|
104
104
|
"@testing-library/dom": "10.4.2",
|
|
105
105
|
"@testing-library/jest-dom": "6.9.1",
|
|
106
106
|
"@testing-library/react": "16.3.3",
|
|
@@ -118,7 +118,7 @@
|
|
|
118
118
|
"vitest": "5.1.0"
|
|
119
119
|
},
|
|
120
120
|
"peerDependencies": {
|
|
121
|
-
"@cedarjs/auth": "8.0.0-canary.
|
|
121
|
+
"@cedarjs/auth": "8.0.0-canary.3629",
|
|
122
122
|
"react": "19.3.1",
|
|
123
123
|
"react-dom": "19.3.1"
|
|
124
124
|
},
|