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