@weaverse/hydrogen 1.0.24 → 1.0.26
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/index.d.ts +43 -13
- package/dist/index.js +145 -49
- package/dist/index.mjs +143 -45
- package/package.json +7 -4
package/dist/index.d.ts
CHANGED
|
@@ -1,22 +1,52 @@
|
|
|
1
1
|
import { Weaverse } from '@weaverse/core';
|
|
2
|
-
import { LoaderArgs } from '@remix-
|
|
2
|
+
import { LoaderArgs } from '@shopify/remix-oxygen';
|
|
3
3
|
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
4
|
+
/**
|
|
5
|
+
* Declare local additions to `AppLoadContext` to include the session utilities we injected in `server.ts`.
|
|
6
|
+
*/
|
|
7
|
+
declare module '@shopify/remix-oxygen' {
|
|
8
|
+
interface AppLoadContext {
|
|
9
|
+
waitUntil: ExecutionContext['waitUntil'];
|
|
10
|
+
session: TODO;
|
|
11
|
+
storefront: TODO;
|
|
12
|
+
env: TODO;
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
type WeaverseComponentsType = {
|
|
16
|
+
[key: string]: any;
|
|
10
17
|
};
|
|
18
|
+
type TODO = any;
|
|
11
19
|
|
|
12
20
|
declare let useStudio: (weaverseCore: Weaverse) => void;
|
|
13
21
|
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
declare let
|
|
17
|
-
|
|
18
|
-
|
|
22
|
+
type QueryKey = string | readonly unknown[];
|
|
23
|
+
declare function hashKey(queryKey: QueryKey): string;
|
|
24
|
+
declare let fetchWithServerCache: ({ url, options, storefront, waitUntil, }: {
|
|
25
|
+
url: string;
|
|
26
|
+
options: RequestInit | Request;
|
|
27
|
+
storefront: any;
|
|
28
|
+
waitUntil?: any;
|
|
29
|
+
}) => Promise<any>;
|
|
30
|
+
type WeaverseComponentLoaderArgs = LoaderArgs & {
|
|
19
31
|
data: any;
|
|
32
|
+
config: {
|
|
33
|
+
projectId: string;
|
|
34
|
+
weaverseHost: string;
|
|
35
|
+
};
|
|
36
|
+
};
|
|
37
|
+
declare function weaverseLoader({ request, context: { env, storefront, waitUntil }, context, params, }: LoaderArgs, components: {
|
|
38
|
+
[key: string]: {
|
|
39
|
+
[key: string]: any;
|
|
40
|
+
loader?: (loaderArgs: WeaverseComponentLoaderArgs) => Promise<any>;
|
|
41
|
+
};
|
|
42
|
+
}): Promise<any>;
|
|
43
|
+
|
|
44
|
+
declare let WeaverseHydrogenRoot: ({ components, data, }: {
|
|
45
|
+
components: WeaverseComponentsType;
|
|
46
|
+
data: {
|
|
47
|
+
[key: string]: any;
|
|
48
|
+
weaverseData: any;
|
|
49
|
+
};
|
|
20
50
|
}) => JSX.Element;
|
|
21
51
|
|
|
22
|
-
export { WeaverseHydrogenRoot,
|
|
52
|
+
export { WeaverseComponentLoaderArgs, WeaverseHydrogenRoot, fetchWithServerCache, hashKey, useStudio, weaverseLoader };
|
package/dist/index.js
CHANGED
|
@@ -31,8 +31,9 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
|
|
|
31
31
|
var src_exports = {};
|
|
32
32
|
__export(src_exports, {
|
|
33
33
|
WeaverseHydrogenRoot: () => WeaverseHydrogenRoot,
|
|
34
|
+
fetchWithServerCache: () => fetchWithServerCache,
|
|
35
|
+
hashKey: () => hashKey,
|
|
34
36
|
useStudio: () => useStudio,
|
|
35
|
-
useWeaverseHydrogen: () => useWeaverseHydrogen,
|
|
36
37
|
weaverseLoader: () => weaverseLoader
|
|
37
38
|
});
|
|
38
39
|
module.exports = __toCommonJS(src_exports);
|
|
@@ -43,7 +44,6 @@ var import_react = require("react");
|
|
|
43
44
|
var useStudio = (weaverseCore) => {
|
|
44
45
|
(0, import_react.useEffect)(() => {
|
|
45
46
|
if (weaverseCore.isDesignMode && import_core.isIframe && !window.weaverseStudioInitialized) {
|
|
46
|
-
console.log("useStudio", weaverseCore);
|
|
47
47
|
window.weaverseStudioInitialized = true;
|
|
48
48
|
let host = weaverseCore.weaverseHost;
|
|
49
49
|
let version = weaverseCore.weaverseVersion || Date.now();
|
|
@@ -56,79 +56,175 @@ var useStudio = (weaverseCore) => {
|
|
|
56
56
|
}
|
|
57
57
|
);
|
|
58
58
|
}
|
|
59
|
+
setTimeout(() => {
|
|
60
|
+
weaverseCore.stitchesInstance?.reset();
|
|
61
|
+
window.__weaverse = weaverseCore;
|
|
62
|
+
}, 1);
|
|
59
63
|
}, []);
|
|
60
64
|
};
|
|
61
65
|
|
|
62
66
|
// src/index.tsx
|
|
63
|
-
var
|
|
64
|
-
var
|
|
67
|
+
var import_react3 = __toESM(require("react"));
|
|
68
|
+
var import_react4 = require("@weaverse/react");
|
|
65
69
|
|
|
66
|
-
// src/
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
},
|
|
79
|
-
body: JSON.stringify(fetchBody)
|
|
80
|
-
}
|
|
81
|
-
).then((res) => res.json());
|
|
82
|
-
return {
|
|
83
|
-
weaversePageData: response
|
|
84
|
-
};
|
|
85
|
-
}
|
|
86
|
-
|
|
87
|
-
// src/index.tsx
|
|
88
|
-
var createHydrogenRootContext = (configs, elements = {}) => {
|
|
89
|
-
let rootContext = (0, import_react3.createRootContext)(configs);
|
|
90
|
-
Object.keys(elements).forEach((key) => {
|
|
91
|
-
rootContext.registerElement(elements[key]);
|
|
92
|
-
});
|
|
93
|
-
return rootContext;
|
|
94
|
-
};
|
|
95
|
-
var useWeaverseHydrogen = (weaverseHydrogenConfigs, data) => {
|
|
96
|
-
let weaversePageData = data?.weaverseData?.weaversePageData;
|
|
97
|
-
let { components, ...rest } = weaverseHydrogenConfigs;
|
|
98
|
-
let weaverse = createHydrogenRootContext({
|
|
99
|
-
...rest,
|
|
100
|
-
data: weaversePageData,
|
|
101
|
-
pageId: weaversePageData?.pageId,
|
|
70
|
+
// src/context.ts
|
|
71
|
+
var import_react2 = require("@weaverse/react");
|
|
72
|
+
var createWeaverseHydrogenContext = ({
|
|
73
|
+
weaverseData: { pageData, config } = {
|
|
74
|
+
pageData: {},
|
|
75
|
+
config: {}
|
|
76
|
+
}
|
|
77
|
+
}, components) => {
|
|
78
|
+
let weaverse = (0, import_react2.createRootContext)({
|
|
79
|
+
...config,
|
|
80
|
+
data: pageData,
|
|
81
|
+
pageId: pageData?.pageId,
|
|
102
82
|
isDesignMode: true,
|
|
103
83
|
platformType: "shopify-hydrogen"
|
|
104
84
|
});
|
|
105
|
-
Object.
|
|
106
|
-
let component = components[key];
|
|
85
|
+
Object.entries(components).forEach(([key, component]) => {
|
|
107
86
|
weaverse.registerElement({
|
|
108
|
-
type:
|
|
87
|
+
type: component?.schema?.type || key,
|
|
109
88
|
Component: component?.default,
|
|
110
89
|
schema: component?.schema,
|
|
111
90
|
defaultCss: component?.css,
|
|
112
91
|
permanentCss: component?.permanentCss
|
|
113
92
|
});
|
|
114
93
|
});
|
|
115
|
-
useStudio(weaverse);
|
|
116
94
|
return weaverse;
|
|
117
95
|
};
|
|
96
|
+
|
|
97
|
+
// src/weaverse-loader.ts
|
|
98
|
+
var import_hydrogen = require("@shopify/hydrogen");
|
|
99
|
+
function hashKey(queryKey) {
|
|
100
|
+
const rawKeys = Array.isArray(queryKey) ? queryKey : [queryKey];
|
|
101
|
+
let hash = "";
|
|
102
|
+
for (const key of rawKeys) {
|
|
103
|
+
if (key != null) {
|
|
104
|
+
if (typeof key === "object") {
|
|
105
|
+
if (!!key.body && typeof key.body === "string") {
|
|
106
|
+
hash += key.body;
|
|
107
|
+
} else {
|
|
108
|
+
hash += JSON.stringify(key);
|
|
109
|
+
}
|
|
110
|
+
} else {
|
|
111
|
+
hash += key;
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
return hash;
|
|
116
|
+
}
|
|
117
|
+
var fetchWithServerCache = async ({
|
|
118
|
+
url,
|
|
119
|
+
options = {},
|
|
120
|
+
storefront,
|
|
121
|
+
waitUntil
|
|
122
|
+
}) => {
|
|
123
|
+
const cacheUrl = new URL(url);
|
|
124
|
+
cacheUrl.pathname = "/cache" + cacheUrl.pathname + hashKey([options.body]);
|
|
125
|
+
const cacheKey = new Request(cacheUrl.toString());
|
|
126
|
+
let response = await storefront.cache.match(cacheKey);
|
|
127
|
+
if (!response) {
|
|
128
|
+
let cacheControl = (0, import_hydrogen.generateCacheControlHeader)({
|
|
129
|
+
...(0, import_hydrogen.CacheShort)()
|
|
130
|
+
});
|
|
131
|
+
console.log("fetchWithServerCache", cacheControl);
|
|
132
|
+
response = await fetch(url, {
|
|
133
|
+
...options,
|
|
134
|
+
headers: {
|
|
135
|
+
"cache-control": cacheControl,
|
|
136
|
+
...options.headers
|
|
137
|
+
}
|
|
138
|
+
});
|
|
139
|
+
waitUntil?.(storefront.cache.put(cacheKey, response.clone()));
|
|
140
|
+
}
|
|
141
|
+
return response;
|
|
142
|
+
};
|
|
143
|
+
async function weaverseLoader({
|
|
144
|
+
request,
|
|
145
|
+
context: { env, storefront, waitUntil },
|
|
146
|
+
context,
|
|
147
|
+
params
|
|
148
|
+
}, components) {
|
|
149
|
+
let projectId = env?.WEAVERSE_PROJECT_ID;
|
|
150
|
+
let weaverseHost = env?.WEAVERSE_HOST;
|
|
151
|
+
if (!projectId || !weaverseHost) {
|
|
152
|
+
console.error("WEAVERSE_PROJECT_ID or WEAVERSE_HOST is not set!");
|
|
153
|
+
return {};
|
|
154
|
+
}
|
|
155
|
+
let config = {
|
|
156
|
+
projectId,
|
|
157
|
+
weaverseHost
|
|
158
|
+
};
|
|
159
|
+
let fetchBody = {
|
|
160
|
+
projectId,
|
|
161
|
+
url: request.url
|
|
162
|
+
};
|
|
163
|
+
try {
|
|
164
|
+
let pageData = await fetchWithServerCache({
|
|
165
|
+
url: `${weaverseHost}/api/public/project`,
|
|
166
|
+
options: {
|
|
167
|
+
method: "POST",
|
|
168
|
+
headers: {
|
|
169
|
+
"Content-Type": "application/json"
|
|
170
|
+
},
|
|
171
|
+
body: JSON.stringify(fetchBody)
|
|
172
|
+
},
|
|
173
|
+
storefront,
|
|
174
|
+
waitUntil
|
|
175
|
+
}).then((r) => r.json()).catch((err) => {
|
|
176
|
+
console.error(err);
|
|
177
|
+
return {};
|
|
178
|
+
});
|
|
179
|
+
if (pageData?.items) {
|
|
180
|
+
let items = pageData.items;
|
|
181
|
+
pageData.items = await Promise.all(
|
|
182
|
+
items.map(async (item) => {
|
|
183
|
+
let loader = components[item.type]?.loader;
|
|
184
|
+
if (loader) {
|
|
185
|
+
return {
|
|
186
|
+
...item,
|
|
187
|
+
...await loader({
|
|
188
|
+
data: item,
|
|
189
|
+
context,
|
|
190
|
+
params,
|
|
191
|
+
request,
|
|
192
|
+
config
|
|
193
|
+
})
|
|
194
|
+
};
|
|
195
|
+
}
|
|
196
|
+
return item;
|
|
197
|
+
})
|
|
198
|
+
);
|
|
199
|
+
}
|
|
200
|
+
return {
|
|
201
|
+
pageData,
|
|
202
|
+
config,
|
|
203
|
+
components: {}
|
|
204
|
+
};
|
|
205
|
+
} catch (err) {
|
|
206
|
+
console.error(err);
|
|
207
|
+
return {};
|
|
208
|
+
}
|
|
209
|
+
}
|
|
210
|
+
|
|
211
|
+
// src/index.tsx
|
|
118
212
|
var WeaverseHydrogenRoot = ({
|
|
119
|
-
|
|
213
|
+
components,
|
|
120
214
|
data
|
|
121
215
|
}) => {
|
|
122
|
-
let weaverse =
|
|
216
|
+
let weaverse = createWeaverseHydrogenContext(data, components);
|
|
217
|
+
useStudio(weaverse);
|
|
123
218
|
if (!weaverse?.data) {
|
|
124
|
-
return /* @__PURE__ */
|
|
219
|
+
return /* @__PURE__ */ import_react3.default.createElement("div", null, "404");
|
|
125
220
|
}
|
|
126
|
-
return /* @__PURE__ */
|
|
221
|
+
return /* @__PURE__ */ import_react3.default.createElement(import_react4.WeaverseRoot, { context: weaverse });
|
|
127
222
|
};
|
|
128
223
|
// Annotate the CommonJS export names for ESM import in node:
|
|
129
224
|
0 && (module.exports = {
|
|
130
225
|
WeaverseHydrogenRoot,
|
|
226
|
+
fetchWithServerCache,
|
|
227
|
+
hashKey,
|
|
131
228
|
useStudio,
|
|
132
|
-
useWeaverseHydrogen,
|
|
133
229
|
weaverseLoader
|
|
134
230
|
});
|
package/dist/index.mjs
CHANGED
|
@@ -4,7 +4,6 @@ import { useEffect } from "react";
|
|
|
4
4
|
var useStudio = (weaverseCore) => {
|
|
5
5
|
useEffect(() => {
|
|
6
6
|
if (weaverseCore.isDesignMode && isIframe && !window.weaverseStudioInitialized) {
|
|
7
|
-
console.log("useStudio", weaverseCore);
|
|
8
7
|
window.weaverseStudioInitialized = true;
|
|
9
8
|
let host = weaverseCore.weaverseHost;
|
|
10
9
|
let version = weaverseCore.weaverseVersion || Date.now();
|
|
@@ -17,70 +16,168 @@ var useStudio = (weaverseCore) => {
|
|
|
17
16
|
}
|
|
18
17
|
);
|
|
19
18
|
}
|
|
19
|
+
setTimeout(() => {
|
|
20
|
+
weaverseCore.stitchesInstance?.reset();
|
|
21
|
+
window.__weaverse = weaverseCore;
|
|
22
|
+
}, 1);
|
|
20
23
|
}, []);
|
|
21
24
|
};
|
|
22
25
|
|
|
23
26
|
// src/index.tsx
|
|
24
27
|
import React from "react";
|
|
25
|
-
import { WeaverseRoot
|
|
28
|
+
import { WeaverseRoot } from "@weaverse/react";
|
|
26
29
|
|
|
27
|
-
// src/
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
},
|
|
40
|
-
body: JSON.stringify(fetchBody)
|
|
41
|
-
}
|
|
42
|
-
).then((res) => res.json());
|
|
43
|
-
return {
|
|
44
|
-
weaversePageData: response
|
|
45
|
-
};
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
// src/index.tsx
|
|
49
|
-
var createHydrogenRootContext = (configs, elements = {}) => {
|
|
50
|
-
let rootContext = createRootContext(configs);
|
|
51
|
-
Object.keys(elements).forEach((key) => {
|
|
52
|
-
rootContext.registerElement(elements[key]);
|
|
53
|
-
});
|
|
54
|
-
return rootContext;
|
|
55
|
-
};
|
|
56
|
-
var useWeaverseHydrogen = (weaverseHydrogenConfigs, data) => {
|
|
57
|
-
let weaversePageData = data?.weaverseData?.weaversePageData;
|
|
58
|
-
let { components, ...rest } = weaverseHydrogenConfigs;
|
|
59
|
-
let weaverse = createHydrogenRootContext({
|
|
60
|
-
...rest,
|
|
61
|
-
data: weaversePageData,
|
|
62
|
-
pageId: weaversePageData?.pageId,
|
|
30
|
+
// src/context.ts
|
|
31
|
+
import { createRootContext } from "@weaverse/react";
|
|
32
|
+
var createWeaverseHydrogenContext = ({
|
|
33
|
+
weaverseData: { pageData, config } = {
|
|
34
|
+
pageData: {},
|
|
35
|
+
config: {}
|
|
36
|
+
}
|
|
37
|
+
}, components) => {
|
|
38
|
+
let weaverse = createRootContext({
|
|
39
|
+
...config,
|
|
40
|
+
data: pageData,
|
|
41
|
+
pageId: pageData?.pageId,
|
|
63
42
|
isDesignMode: true,
|
|
64
43
|
platformType: "shopify-hydrogen"
|
|
65
44
|
});
|
|
66
|
-
Object.
|
|
67
|
-
let component = components[key];
|
|
45
|
+
Object.entries(components).forEach(([key, component]) => {
|
|
68
46
|
weaverse.registerElement({
|
|
69
|
-
type:
|
|
47
|
+
type: component?.schema?.type || key,
|
|
70
48
|
Component: component?.default,
|
|
71
49
|
schema: component?.schema,
|
|
72
50
|
defaultCss: component?.css,
|
|
73
51
|
permanentCss: component?.permanentCss
|
|
74
52
|
});
|
|
75
53
|
});
|
|
76
|
-
useStudio(weaverse);
|
|
77
54
|
return weaverse;
|
|
78
55
|
};
|
|
56
|
+
|
|
57
|
+
// src/weaverse-loader.ts
|
|
58
|
+
import {
|
|
59
|
+
CacheShort,
|
|
60
|
+
generateCacheControlHeader
|
|
61
|
+
} from "@shopify/hydrogen";
|
|
62
|
+
function hashKey(queryKey) {
|
|
63
|
+
const rawKeys = Array.isArray(queryKey) ? queryKey : [queryKey];
|
|
64
|
+
let hash = "";
|
|
65
|
+
for (const key of rawKeys) {
|
|
66
|
+
if (key != null) {
|
|
67
|
+
if (typeof key === "object") {
|
|
68
|
+
if (!!key.body && typeof key.body === "string") {
|
|
69
|
+
hash += key.body;
|
|
70
|
+
} else {
|
|
71
|
+
hash += JSON.stringify(key);
|
|
72
|
+
}
|
|
73
|
+
} else {
|
|
74
|
+
hash += key;
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
return hash;
|
|
79
|
+
}
|
|
80
|
+
var fetchWithServerCache = async ({
|
|
81
|
+
url,
|
|
82
|
+
options = {},
|
|
83
|
+
storefront,
|
|
84
|
+
waitUntil
|
|
85
|
+
}) => {
|
|
86
|
+
const cacheUrl = new URL(url);
|
|
87
|
+
cacheUrl.pathname = "/cache" + cacheUrl.pathname + hashKey([options.body]);
|
|
88
|
+
const cacheKey = new Request(cacheUrl.toString());
|
|
89
|
+
let response = await storefront.cache.match(cacheKey);
|
|
90
|
+
if (!response) {
|
|
91
|
+
let cacheControl = generateCacheControlHeader({
|
|
92
|
+
...CacheShort()
|
|
93
|
+
});
|
|
94
|
+
console.log("fetchWithServerCache", cacheControl);
|
|
95
|
+
response = await fetch(url, {
|
|
96
|
+
...options,
|
|
97
|
+
headers: {
|
|
98
|
+
"cache-control": cacheControl,
|
|
99
|
+
...options.headers
|
|
100
|
+
}
|
|
101
|
+
});
|
|
102
|
+
waitUntil?.(storefront.cache.put(cacheKey, response.clone()));
|
|
103
|
+
}
|
|
104
|
+
return response;
|
|
105
|
+
};
|
|
106
|
+
async function weaverseLoader({
|
|
107
|
+
request,
|
|
108
|
+
context: { env, storefront, waitUntil },
|
|
109
|
+
context,
|
|
110
|
+
params
|
|
111
|
+
}, components) {
|
|
112
|
+
let projectId = env?.WEAVERSE_PROJECT_ID;
|
|
113
|
+
let weaverseHost = env?.WEAVERSE_HOST;
|
|
114
|
+
if (!projectId || !weaverseHost) {
|
|
115
|
+
console.error("WEAVERSE_PROJECT_ID or WEAVERSE_HOST is not set!");
|
|
116
|
+
return {};
|
|
117
|
+
}
|
|
118
|
+
let config = {
|
|
119
|
+
projectId,
|
|
120
|
+
weaverseHost
|
|
121
|
+
};
|
|
122
|
+
let fetchBody = {
|
|
123
|
+
projectId,
|
|
124
|
+
url: request.url
|
|
125
|
+
};
|
|
126
|
+
try {
|
|
127
|
+
let pageData = await fetchWithServerCache({
|
|
128
|
+
url: `${weaverseHost}/api/public/project`,
|
|
129
|
+
options: {
|
|
130
|
+
method: "POST",
|
|
131
|
+
headers: {
|
|
132
|
+
"Content-Type": "application/json"
|
|
133
|
+
},
|
|
134
|
+
body: JSON.stringify(fetchBody)
|
|
135
|
+
},
|
|
136
|
+
storefront,
|
|
137
|
+
waitUntil
|
|
138
|
+
}).then((r) => r.json()).catch((err) => {
|
|
139
|
+
console.error(err);
|
|
140
|
+
return {};
|
|
141
|
+
});
|
|
142
|
+
if (pageData?.items) {
|
|
143
|
+
let items = pageData.items;
|
|
144
|
+
pageData.items = await Promise.all(
|
|
145
|
+
items.map(async (item) => {
|
|
146
|
+
let loader = components[item.type]?.loader;
|
|
147
|
+
if (loader) {
|
|
148
|
+
return {
|
|
149
|
+
...item,
|
|
150
|
+
...await loader({
|
|
151
|
+
data: item,
|
|
152
|
+
context,
|
|
153
|
+
params,
|
|
154
|
+
request,
|
|
155
|
+
config
|
|
156
|
+
})
|
|
157
|
+
};
|
|
158
|
+
}
|
|
159
|
+
return item;
|
|
160
|
+
})
|
|
161
|
+
);
|
|
162
|
+
}
|
|
163
|
+
return {
|
|
164
|
+
pageData,
|
|
165
|
+
config,
|
|
166
|
+
components: {}
|
|
167
|
+
};
|
|
168
|
+
} catch (err) {
|
|
169
|
+
console.error(err);
|
|
170
|
+
return {};
|
|
171
|
+
}
|
|
172
|
+
}
|
|
173
|
+
|
|
174
|
+
// src/index.tsx
|
|
79
175
|
var WeaverseHydrogenRoot = ({
|
|
80
|
-
|
|
176
|
+
components,
|
|
81
177
|
data
|
|
82
178
|
}) => {
|
|
83
|
-
let weaverse =
|
|
179
|
+
let weaverse = createWeaverseHydrogenContext(data, components);
|
|
180
|
+
useStudio(weaverse);
|
|
84
181
|
if (!weaverse?.data) {
|
|
85
182
|
return /* @__PURE__ */ React.createElement("div", null, "404");
|
|
86
183
|
}
|
|
@@ -88,7 +185,8 @@ var WeaverseHydrogenRoot = ({
|
|
|
88
185
|
};
|
|
89
186
|
export {
|
|
90
187
|
WeaverseHydrogenRoot,
|
|
188
|
+
fetchWithServerCache,
|
|
189
|
+
hashKey,
|
|
91
190
|
useStudio,
|
|
92
|
-
useWeaverseHydrogen,
|
|
93
191
|
weaverseLoader
|
|
94
192
|
};
|
package/package.json
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
{
|
|
2
|
-
"version": "1.0.
|
|
2
|
+
"version": "1.0.26",
|
|
3
3
|
"license": "MIT",
|
|
4
4
|
"main": "dist/index.js",
|
|
5
5
|
"typings": "dist/index.d.ts",
|
|
@@ -32,8 +32,11 @@
|
|
|
32
32
|
"name": "@weaverse/hydrogen",
|
|
33
33
|
"author": "Weaverse Team",
|
|
34
34
|
"dependencies": {
|
|
35
|
-
"@
|
|
36
|
-
"@weaverse/core": "1.0.
|
|
37
|
-
"@
|
|
35
|
+
"@shopify/hydrogen": "2023.4.0",
|
|
36
|
+
"@weaverse/core": "1.0.26",
|
|
37
|
+
"@weaverse/react": "1.0.26"
|
|
38
|
+
},
|
|
39
|
+
"devDependencies": {
|
|
40
|
+
"@shopify/remix-oxygen": "^1.0.5"
|
|
38
41
|
}
|
|
39
42
|
}
|