@weaverse/hydrogen 2.0.1 → 2.1.1
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.mts +44 -32
- package/dist/index.d.ts +44 -32
- package/dist/index.js +59 -51
- package/dist/index.mjs +59 -51
- package/package.json +32 -32
package/dist/index.d.mts
CHANGED
|
@@ -1,31 +1,12 @@
|
|
|
1
1
|
import { ElementData, ElementSchema, BasicInput, WeaverseElement, WeaverseCoreParams, WeaverseProjectDataType, Weaverse, PlatformTypeEnum, WeaverseItemStore } from '@weaverse/react';
|
|
2
|
-
|
|
2
|
+
export { WeaverseImage } from '@weaverse/react';
|
|
3
|
+
import { NavigateFunction } from '@remix-run/react';
|
|
3
4
|
import { createWithCache, Storefront } from '@shopify/hydrogen';
|
|
4
5
|
import { LanguageCode, CountryCode, CurrencyCode } from '@shopify/hydrogen/storefront-api-types';
|
|
5
6
|
import { LoaderArgs, AppLoadContext } from '@shopify/remix-oxygen';
|
|
6
7
|
import React, { ForwardRefExoticComponent } from 'react';
|
|
7
8
|
import * as _shopify_hydrogen_react_storefront_api_types from '@shopify/hydrogen-react/storefront-api-types';
|
|
8
9
|
|
|
9
|
-
declare class WeaverseClient {
|
|
10
|
-
API: string;
|
|
11
|
-
clientVersion: string;
|
|
12
|
-
basePageConfigs: Omit<WeaverseProjectConfigs, 'requestInfo'>;
|
|
13
|
-
basePageRequestBody: Omit<FetchProjectRequestBody, 'url'>;
|
|
14
|
-
storefront: WeaverseClientArgs['storefront'];
|
|
15
|
-
components: HydrogenComponent[];
|
|
16
|
-
countries?: Localizations;
|
|
17
|
-
themeSchema: HydrogenThemeSchema;
|
|
18
|
-
configs: WeaverseProjectConfigs;
|
|
19
|
-
withCache: WeaverseClientArgs['withCache'];
|
|
20
|
-
constructor(args: WeaverseClientArgs);
|
|
21
|
-
fetchWithCache: <T>(url: string, options: FetchWithCacheOptions) => Promise<T>;
|
|
22
|
-
loadThemeSettings: (strategy?: AllCacheOptions) => Promise<any>;
|
|
23
|
-
loadPage: (args: LoaderArgs, configs?: PageLoadParams & {
|
|
24
|
-
strategy?: AllCacheOptions;
|
|
25
|
-
}) => Promise<WeaverseLoaderData | null>;
|
|
26
|
-
execComponentLoader: (item: HydrogenComponentData, args: LoaderArgs) => Promise<HydrogenComponentData>;
|
|
27
|
-
}
|
|
28
|
-
|
|
29
10
|
declare class ThemeSettingsStore {
|
|
30
11
|
settings: HydrogenThemeSettings | null;
|
|
31
12
|
listeners: (() => void)[];
|
|
@@ -58,13 +39,35 @@ declare let STORE_PAGES: {
|
|
|
58
39
|
CUSTOM: string;
|
|
59
40
|
};
|
|
60
41
|
|
|
42
|
+
declare class WeaverseClient {
|
|
43
|
+
API: string;
|
|
44
|
+
clientVersion: string;
|
|
45
|
+
basePageConfigs: Omit<WeaverseProjectConfigs, 'requestInfo'>;
|
|
46
|
+
basePageRequestBody: Omit<FetchProjectRequestBody, 'url'>;
|
|
47
|
+
configs: WeaverseProjectConfigs;
|
|
48
|
+
request: WeaverseClientArgs['request'];
|
|
49
|
+
storefront: WeaverseClientArgs['storefront'];
|
|
50
|
+
components: WeaverseClientArgs['components'];
|
|
51
|
+
themeSchema: WeaverseClientArgs['themeSchema'];
|
|
52
|
+
env: WeaverseClientArgs['env'];
|
|
53
|
+
withCache: WeaverseClientArgs['withCache'];
|
|
54
|
+
countries?: WeaverseClientArgs['countries'];
|
|
55
|
+
constructor(args: WeaverseClientArgs);
|
|
56
|
+
fetchWithCache: <T>(url: string, options: FetchWithCacheOptions) => Promise<T>;
|
|
57
|
+
loadThemeSettings: (strategy?: AllCacheOptions) => Promise<{} | null>;
|
|
58
|
+
loadPage: (params?: LoadPageParams) => Promise<WeaverseLoaderData | null>;
|
|
59
|
+
execComponentLoader: (item: HydrogenComponentData) => Promise<HydrogenComponentData>;
|
|
60
|
+
}
|
|
61
|
+
|
|
61
62
|
type Locale = {
|
|
62
63
|
language: LanguageCode;
|
|
63
64
|
country: CountryCode;
|
|
64
65
|
label: string;
|
|
65
66
|
currency: CurrencyCode;
|
|
66
67
|
};
|
|
67
|
-
type Localizations =
|
|
68
|
+
type Localizations = {
|
|
69
|
+
[key: string]: Locale;
|
|
70
|
+
};
|
|
68
71
|
interface AllCacheOptions {
|
|
69
72
|
mode?: string;
|
|
70
73
|
maxAge?: number;
|
|
@@ -72,8 +75,11 @@ interface AllCacheOptions {
|
|
|
72
75
|
sMaxAge?: number;
|
|
73
76
|
staleIfError?: number;
|
|
74
77
|
}
|
|
75
|
-
type ComponentLoaderArgs =
|
|
76
|
-
|
|
78
|
+
type ComponentLoaderArgs<T = {
|
|
79
|
+
[key: string]: any;
|
|
80
|
+
}> = {
|
|
81
|
+
data: T;
|
|
82
|
+
weaverse: WeaverseClient;
|
|
77
83
|
};
|
|
78
84
|
interface RouteLoaderArgs extends LoaderArgs {
|
|
79
85
|
context: AppLoadContext & {
|
|
@@ -81,7 +87,9 @@ interface RouteLoaderArgs extends LoaderArgs {
|
|
|
81
87
|
};
|
|
82
88
|
}
|
|
83
89
|
interface HydrogenComponentData extends ElementData {
|
|
84
|
-
data?:
|
|
90
|
+
data?: {
|
|
91
|
+
[key: string]: any;
|
|
92
|
+
};
|
|
85
93
|
children?: {
|
|
86
94
|
id: string;
|
|
87
95
|
}[];
|
|
@@ -114,10 +122,11 @@ type I18nLocale = Locale & {
|
|
|
114
122
|
pathPrefix: string;
|
|
115
123
|
};
|
|
116
124
|
type WeaverseLoaderRequestInfo = {
|
|
117
|
-
params: Params;
|
|
118
125
|
search: string;
|
|
119
126
|
pathname: string;
|
|
120
|
-
queries:
|
|
127
|
+
queries: {
|
|
128
|
+
[key: string]: string | boolean;
|
|
129
|
+
};
|
|
121
130
|
i18n: I18nLocale;
|
|
122
131
|
};
|
|
123
132
|
type WeaverseStorefrontData = {
|
|
@@ -137,7 +146,6 @@ type HydrogenProjectType = {
|
|
|
137
146
|
id: string;
|
|
138
147
|
weaverseShopId: string;
|
|
139
148
|
name: string;
|
|
140
|
-
config: HydrogenProjectConfig;
|
|
141
149
|
[key: string]: any;
|
|
142
150
|
};
|
|
143
151
|
type WeaverseThemeConfigs = {
|
|
@@ -235,17 +243,20 @@ interface HydrogenThemeSchema {
|
|
|
235
243
|
inspector: InspectorGroup[];
|
|
236
244
|
}
|
|
237
245
|
type PageType = keyof typeof STORE_PAGES;
|
|
238
|
-
type
|
|
246
|
+
type PageAssignmentParams = {
|
|
239
247
|
type?: PageType;
|
|
240
248
|
locale?: string;
|
|
241
249
|
handle?: string;
|
|
242
250
|
};
|
|
251
|
+
type LoadPageParams = PageAssignmentParams & {
|
|
252
|
+
strategy?: AllCacheOptions;
|
|
253
|
+
};
|
|
243
254
|
type FetchProjectRequestBody = {
|
|
244
255
|
projectId: string;
|
|
245
256
|
url: string;
|
|
246
257
|
countries?: Localizations;
|
|
247
258
|
i18n?: I18nLocale;
|
|
248
|
-
params?:
|
|
259
|
+
params?: PageAssignmentParams;
|
|
249
260
|
isDesignMode?: boolean;
|
|
250
261
|
};
|
|
251
262
|
type FetchProjectPayload = {
|
|
@@ -260,8 +271,9 @@ type HydrogenThemeEnv = {
|
|
|
260
271
|
PUBLIC_STOREFRONT_API_TOKEN: string;
|
|
261
272
|
};
|
|
262
273
|
type WeaverseClientArgs = {
|
|
274
|
+
request: Request;
|
|
263
275
|
withCache: ReturnType<typeof createWithCache>;
|
|
264
|
-
|
|
276
|
+
env: HydrogenThemeEnv;
|
|
265
277
|
storefront: Storefront<I18nLocale>;
|
|
266
278
|
components: HydrogenComponent[];
|
|
267
279
|
countries?: Localizations;
|
|
@@ -315,4 +327,4 @@ declare class WeaverseHydrogenItem extends WeaverseItemStore {
|
|
|
315
327
|
set data(update: HydrogenComponentData);
|
|
316
328
|
}
|
|
317
329
|
|
|
318
|
-
export { AllCacheOptions, ComponentLoaderArgs, FetchProjectPayload, FetchProjectRequestBody, FetchWithCacheOptions, HydrogenComponent, HydrogenComponentData, HydrogenComponentLoaderFunction, HydrogenComponentPresets, HydrogenComponentProps, HydrogenComponentSchema, HydrogenElement, HydrogenPageAssignment, HydrogenPageConfigs, HydrogenPageData, HydrogenProjectConfig, HydrogenProjectType, HydrogenThemeEnv, HydrogenThemeInfo, HydrogenThemeSchema, HydrogenThemeSettings, HydrogenToolbarAction, I18nLocale, InspectorGroup, Locale, Localizations,
|
|
330
|
+
export { AllCacheOptions, ComponentLoaderArgs, FetchProjectPayload, FetchProjectRequestBody, FetchWithCacheOptions, HydrogenComponent, HydrogenComponentData, HydrogenComponentLoaderFunction, HydrogenComponentPresets, HydrogenComponentProps, HydrogenComponentSchema, HydrogenElement, HydrogenPageAssignment, HydrogenPageConfigs, HydrogenPageData, HydrogenProjectConfig, HydrogenProjectType, HydrogenThemeEnv, HydrogenThemeInfo, HydrogenThemeSchema, HydrogenThemeSettings, HydrogenToolbarAction, I18nLocale, InspectorGroup, LoadPageParams, Locale, Localizations, PageAssignmentParams, PageType, PublicEnv, RootRouteData, RouteLoaderArgs, ThemeSettingsStore, WeaverseClient, WeaverseClientArgs, WeaverseHydrogen, WeaverseHydrogenItem, WeaverseHydrogenParams, WeaverseHydrogenRoot, WeaverseHydrogenRootProps, WeaverseInternal, WeaverseLoaderData, WeaverseLoaderRequestInfo, WeaverseProjectConfigs, WeaverseStorefrontData, WeaverseStudioQueries, WeaverseThemeConfigs, getRequestQueries, getSelectedProductOptions, getWeaverseConfigs, useThemeSettings, withWeaverse };
|
package/dist/index.d.ts
CHANGED
|
@@ -1,31 +1,12 @@
|
|
|
1
1
|
import { ElementData, ElementSchema, BasicInput, WeaverseElement, WeaverseCoreParams, WeaverseProjectDataType, Weaverse, PlatformTypeEnum, WeaverseItemStore } from '@weaverse/react';
|
|
2
|
-
|
|
2
|
+
export { WeaverseImage } from '@weaverse/react';
|
|
3
|
+
import { NavigateFunction } from '@remix-run/react';
|
|
3
4
|
import { createWithCache, Storefront } from '@shopify/hydrogen';
|
|
4
5
|
import { LanguageCode, CountryCode, CurrencyCode } from '@shopify/hydrogen/storefront-api-types';
|
|
5
6
|
import { LoaderArgs, AppLoadContext } from '@shopify/remix-oxygen';
|
|
6
7
|
import React, { ForwardRefExoticComponent } from 'react';
|
|
7
8
|
import * as _shopify_hydrogen_react_storefront_api_types from '@shopify/hydrogen-react/storefront-api-types';
|
|
8
9
|
|
|
9
|
-
declare class WeaverseClient {
|
|
10
|
-
API: string;
|
|
11
|
-
clientVersion: string;
|
|
12
|
-
basePageConfigs: Omit<WeaverseProjectConfigs, 'requestInfo'>;
|
|
13
|
-
basePageRequestBody: Omit<FetchProjectRequestBody, 'url'>;
|
|
14
|
-
storefront: WeaverseClientArgs['storefront'];
|
|
15
|
-
components: HydrogenComponent[];
|
|
16
|
-
countries?: Localizations;
|
|
17
|
-
themeSchema: HydrogenThemeSchema;
|
|
18
|
-
configs: WeaverseProjectConfigs;
|
|
19
|
-
withCache: WeaverseClientArgs['withCache'];
|
|
20
|
-
constructor(args: WeaverseClientArgs);
|
|
21
|
-
fetchWithCache: <T>(url: string, options: FetchWithCacheOptions) => Promise<T>;
|
|
22
|
-
loadThemeSettings: (strategy?: AllCacheOptions) => Promise<any>;
|
|
23
|
-
loadPage: (args: LoaderArgs, configs?: PageLoadParams & {
|
|
24
|
-
strategy?: AllCacheOptions;
|
|
25
|
-
}) => Promise<WeaverseLoaderData | null>;
|
|
26
|
-
execComponentLoader: (item: HydrogenComponentData, args: LoaderArgs) => Promise<HydrogenComponentData>;
|
|
27
|
-
}
|
|
28
|
-
|
|
29
10
|
declare class ThemeSettingsStore {
|
|
30
11
|
settings: HydrogenThemeSettings | null;
|
|
31
12
|
listeners: (() => void)[];
|
|
@@ -58,13 +39,35 @@ declare let STORE_PAGES: {
|
|
|
58
39
|
CUSTOM: string;
|
|
59
40
|
};
|
|
60
41
|
|
|
42
|
+
declare class WeaverseClient {
|
|
43
|
+
API: string;
|
|
44
|
+
clientVersion: string;
|
|
45
|
+
basePageConfigs: Omit<WeaverseProjectConfigs, 'requestInfo'>;
|
|
46
|
+
basePageRequestBody: Omit<FetchProjectRequestBody, 'url'>;
|
|
47
|
+
configs: WeaverseProjectConfigs;
|
|
48
|
+
request: WeaverseClientArgs['request'];
|
|
49
|
+
storefront: WeaverseClientArgs['storefront'];
|
|
50
|
+
components: WeaverseClientArgs['components'];
|
|
51
|
+
themeSchema: WeaverseClientArgs['themeSchema'];
|
|
52
|
+
env: WeaverseClientArgs['env'];
|
|
53
|
+
withCache: WeaverseClientArgs['withCache'];
|
|
54
|
+
countries?: WeaverseClientArgs['countries'];
|
|
55
|
+
constructor(args: WeaverseClientArgs);
|
|
56
|
+
fetchWithCache: <T>(url: string, options: FetchWithCacheOptions) => Promise<T>;
|
|
57
|
+
loadThemeSettings: (strategy?: AllCacheOptions) => Promise<{} | null>;
|
|
58
|
+
loadPage: (params?: LoadPageParams) => Promise<WeaverseLoaderData | null>;
|
|
59
|
+
execComponentLoader: (item: HydrogenComponentData) => Promise<HydrogenComponentData>;
|
|
60
|
+
}
|
|
61
|
+
|
|
61
62
|
type Locale = {
|
|
62
63
|
language: LanguageCode;
|
|
63
64
|
country: CountryCode;
|
|
64
65
|
label: string;
|
|
65
66
|
currency: CurrencyCode;
|
|
66
67
|
};
|
|
67
|
-
type Localizations =
|
|
68
|
+
type Localizations = {
|
|
69
|
+
[key: string]: Locale;
|
|
70
|
+
};
|
|
68
71
|
interface AllCacheOptions {
|
|
69
72
|
mode?: string;
|
|
70
73
|
maxAge?: number;
|
|
@@ -72,8 +75,11 @@ interface AllCacheOptions {
|
|
|
72
75
|
sMaxAge?: number;
|
|
73
76
|
staleIfError?: number;
|
|
74
77
|
}
|
|
75
|
-
type ComponentLoaderArgs =
|
|
76
|
-
|
|
78
|
+
type ComponentLoaderArgs<T = {
|
|
79
|
+
[key: string]: any;
|
|
80
|
+
}> = {
|
|
81
|
+
data: T;
|
|
82
|
+
weaverse: WeaverseClient;
|
|
77
83
|
};
|
|
78
84
|
interface RouteLoaderArgs extends LoaderArgs {
|
|
79
85
|
context: AppLoadContext & {
|
|
@@ -81,7 +87,9 @@ interface RouteLoaderArgs extends LoaderArgs {
|
|
|
81
87
|
};
|
|
82
88
|
}
|
|
83
89
|
interface HydrogenComponentData extends ElementData {
|
|
84
|
-
data?:
|
|
90
|
+
data?: {
|
|
91
|
+
[key: string]: any;
|
|
92
|
+
};
|
|
85
93
|
children?: {
|
|
86
94
|
id: string;
|
|
87
95
|
}[];
|
|
@@ -114,10 +122,11 @@ type I18nLocale = Locale & {
|
|
|
114
122
|
pathPrefix: string;
|
|
115
123
|
};
|
|
116
124
|
type WeaverseLoaderRequestInfo = {
|
|
117
|
-
params: Params;
|
|
118
125
|
search: string;
|
|
119
126
|
pathname: string;
|
|
120
|
-
queries:
|
|
127
|
+
queries: {
|
|
128
|
+
[key: string]: string | boolean;
|
|
129
|
+
};
|
|
121
130
|
i18n: I18nLocale;
|
|
122
131
|
};
|
|
123
132
|
type WeaverseStorefrontData = {
|
|
@@ -137,7 +146,6 @@ type HydrogenProjectType = {
|
|
|
137
146
|
id: string;
|
|
138
147
|
weaverseShopId: string;
|
|
139
148
|
name: string;
|
|
140
|
-
config: HydrogenProjectConfig;
|
|
141
149
|
[key: string]: any;
|
|
142
150
|
};
|
|
143
151
|
type WeaverseThemeConfigs = {
|
|
@@ -235,17 +243,20 @@ interface HydrogenThemeSchema {
|
|
|
235
243
|
inspector: InspectorGroup[];
|
|
236
244
|
}
|
|
237
245
|
type PageType = keyof typeof STORE_PAGES;
|
|
238
|
-
type
|
|
246
|
+
type PageAssignmentParams = {
|
|
239
247
|
type?: PageType;
|
|
240
248
|
locale?: string;
|
|
241
249
|
handle?: string;
|
|
242
250
|
};
|
|
251
|
+
type LoadPageParams = PageAssignmentParams & {
|
|
252
|
+
strategy?: AllCacheOptions;
|
|
253
|
+
};
|
|
243
254
|
type FetchProjectRequestBody = {
|
|
244
255
|
projectId: string;
|
|
245
256
|
url: string;
|
|
246
257
|
countries?: Localizations;
|
|
247
258
|
i18n?: I18nLocale;
|
|
248
|
-
params?:
|
|
259
|
+
params?: PageAssignmentParams;
|
|
249
260
|
isDesignMode?: boolean;
|
|
250
261
|
};
|
|
251
262
|
type FetchProjectPayload = {
|
|
@@ -260,8 +271,9 @@ type HydrogenThemeEnv = {
|
|
|
260
271
|
PUBLIC_STOREFRONT_API_TOKEN: string;
|
|
261
272
|
};
|
|
262
273
|
type WeaverseClientArgs = {
|
|
274
|
+
request: Request;
|
|
263
275
|
withCache: ReturnType<typeof createWithCache>;
|
|
264
|
-
|
|
276
|
+
env: HydrogenThemeEnv;
|
|
265
277
|
storefront: Storefront<I18nLocale>;
|
|
266
278
|
components: HydrogenComponent[];
|
|
267
279
|
countries?: Localizations;
|
|
@@ -315,4 +327,4 @@ declare class WeaverseHydrogenItem extends WeaverseItemStore {
|
|
|
315
327
|
set data(update: HydrogenComponentData);
|
|
316
328
|
}
|
|
317
329
|
|
|
318
|
-
export { AllCacheOptions, ComponentLoaderArgs, FetchProjectPayload, FetchProjectRequestBody, FetchWithCacheOptions, HydrogenComponent, HydrogenComponentData, HydrogenComponentLoaderFunction, HydrogenComponentPresets, HydrogenComponentProps, HydrogenComponentSchema, HydrogenElement, HydrogenPageAssignment, HydrogenPageConfigs, HydrogenPageData, HydrogenProjectConfig, HydrogenProjectType, HydrogenThemeEnv, HydrogenThemeInfo, HydrogenThemeSchema, HydrogenThemeSettings, HydrogenToolbarAction, I18nLocale, InspectorGroup, Locale, Localizations,
|
|
330
|
+
export { AllCacheOptions, ComponentLoaderArgs, FetchProjectPayload, FetchProjectRequestBody, FetchWithCacheOptions, HydrogenComponent, HydrogenComponentData, HydrogenComponentLoaderFunction, HydrogenComponentPresets, HydrogenComponentProps, HydrogenComponentSchema, HydrogenElement, HydrogenPageAssignment, HydrogenPageConfigs, HydrogenPageData, HydrogenProjectConfig, HydrogenProjectType, HydrogenThemeEnv, HydrogenThemeInfo, HydrogenThemeSchema, HydrogenThemeSettings, HydrogenToolbarAction, I18nLocale, InspectorGroup, LoadPageParams, Locale, Localizations, PageAssignmentParams, PageType, PublicEnv, RootRouteData, RouteLoaderArgs, ThemeSettingsStore, WeaverseClient, WeaverseClientArgs, WeaverseHydrogen, WeaverseHydrogenItem, WeaverseHydrogenParams, WeaverseHydrogenRoot, WeaverseHydrogenRootProps, WeaverseInternal, WeaverseLoaderData, WeaverseLoaderRequestInfo, WeaverseProjectConfigs, WeaverseStorefrontData, WeaverseStudioQueries, WeaverseThemeConfigs, getRequestQueries, getSelectedProductOptions, getWeaverseConfigs, useThemeSettings, withWeaverse };
|
package/dist/index.js
CHANGED
|
@@ -217,7 +217,7 @@ function FallbackError({ error }) {
|
|
|
217
217
|
|
|
218
218
|
// package.json
|
|
219
219
|
var package_default = {
|
|
220
|
-
version: "2.
|
|
220
|
+
version: "2.1.1",
|
|
221
221
|
license: "MIT",
|
|
222
222
|
main: "dist/index.js",
|
|
223
223
|
typings: "dist/index.d.ts",
|
|
@@ -251,8 +251,8 @@ var package_default = {
|
|
|
251
251
|
author: "Weaverse Team",
|
|
252
252
|
dependencies: {
|
|
253
253
|
"@remix-run/react": "1.19.1",
|
|
254
|
-
"@shopify/hydrogen": "2023.7.
|
|
255
|
-
"@weaverse/react": "2.
|
|
254
|
+
"@shopify/hydrogen": "2023.7.9",
|
|
255
|
+
"@weaverse/react": "2.1.1",
|
|
256
256
|
"react-error-boundary": "^4.0.11"
|
|
257
257
|
},
|
|
258
258
|
devDependencies: {
|
|
@@ -298,27 +298,37 @@ var WeaverseClient = class {
|
|
|
298
298
|
clientVersion = package_default.version;
|
|
299
299
|
basePageConfigs;
|
|
300
300
|
basePageRequestBody;
|
|
301
|
+
configs;
|
|
302
|
+
request;
|
|
301
303
|
storefront;
|
|
302
|
-
// storefront: Storefront<I18nLocale>
|
|
303
304
|
components;
|
|
304
|
-
countries;
|
|
305
305
|
themeSchema;
|
|
306
|
-
|
|
306
|
+
env;
|
|
307
307
|
withCache;
|
|
308
|
-
|
|
308
|
+
countries;
|
|
309
309
|
constructor(args) {
|
|
310
|
-
let {
|
|
310
|
+
let {
|
|
311
|
+
env,
|
|
312
|
+
storefront,
|
|
313
|
+
components,
|
|
314
|
+
countries,
|
|
315
|
+
withCache,
|
|
316
|
+
themeSchema,
|
|
317
|
+
request
|
|
318
|
+
} = args;
|
|
319
|
+
this.request = request;
|
|
311
320
|
this.storefront = storefront;
|
|
312
321
|
this.components = components;
|
|
313
|
-
this.countries = countries;
|
|
314
322
|
this.themeSchema = themeSchema;
|
|
315
|
-
this.
|
|
323
|
+
this.env = env;
|
|
316
324
|
this.withCache = withCache;
|
|
325
|
+
this.countries = countries;
|
|
326
|
+
this.configs = getWeaverseConfigs(request, env);
|
|
317
327
|
this.basePageConfigs = {
|
|
318
|
-
projectId: configs.projectId,
|
|
319
|
-
weaverseHost: configs.weaverseHost,
|
|
320
|
-
weaverseVersion: configs.weaverseVersion,
|
|
321
|
-
isDesignMode: configs.isDesignMode
|
|
328
|
+
projectId: this.configs.projectId,
|
|
329
|
+
weaverseHost: this.configs.weaverseHost,
|
|
330
|
+
weaverseVersion: this.configs.weaverseVersion,
|
|
331
|
+
isDesignMode: this.configs.isDesignMode
|
|
322
332
|
};
|
|
323
333
|
this.basePageRequestBody = {
|
|
324
334
|
countries,
|
|
@@ -333,7 +343,9 @@ var WeaverseClient = class {
|
|
|
333
343
|
let res = this.withCache(cacheKey, strategy, async () => {
|
|
334
344
|
let response = await fetch(url, reqInit);
|
|
335
345
|
if (!response.ok) {
|
|
336
|
-
|
|
346
|
+
let error = await response.text();
|
|
347
|
+
let { status, statusText } = response;
|
|
348
|
+
throw new Error(`${status} ${statusText} ${error}`);
|
|
337
349
|
}
|
|
338
350
|
return await response.json();
|
|
339
351
|
});
|
|
@@ -348,36 +360,34 @@ var WeaverseClient = class {
|
|
|
348
360
|
}
|
|
349
361
|
let res = await this.fetchWithCache(
|
|
350
362
|
`${weaverseHost}/${API}/${projectId}/configs`,
|
|
351
|
-
{ strategy }
|
|
363
|
+
{ method: "POST", strategy }
|
|
352
364
|
);
|
|
353
|
-
let data =
|
|
354
|
-
if (
|
|
355
|
-
data =
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
publicEnv: this.configs.publicEnv
|
|
362
|
-
};
|
|
363
|
-
}
|
|
365
|
+
let data = res || {};
|
|
366
|
+
if (this.configs.isDesignMode) {
|
|
367
|
+
data = {
|
|
368
|
+
...data,
|
|
369
|
+
schema: this.themeSchema,
|
|
370
|
+
countries: this.countries || [],
|
|
371
|
+
publicEnv: this.configs.publicEnv
|
|
372
|
+
};
|
|
364
373
|
}
|
|
365
374
|
return data;
|
|
366
|
-
} catch (
|
|
367
|
-
console.
|
|
375
|
+
} catch (e) {
|
|
376
|
+
console.error(`\u274C Theme settings load failed.`, e);
|
|
368
377
|
return null;
|
|
369
378
|
}
|
|
370
379
|
};
|
|
371
|
-
loadPage = async (
|
|
380
|
+
loadPage = async (params = {}) => {
|
|
372
381
|
return new Promise(async (resolve, reject) => {
|
|
373
382
|
try {
|
|
374
|
-
|
|
383
|
+
let { request, storefront, basePageRequestBody, basePageConfigs } = this;
|
|
384
|
+
let { projectId, isDesignMode, weaverseHost } = this.configs;
|
|
385
|
+
if (!projectId) {
|
|
375
386
|
throw new Error("Missing Weaverse projectId!");
|
|
376
387
|
}
|
|
377
|
-
let {
|
|
378
|
-
let { strategy, ...pageLoadParams } = configs;
|
|
388
|
+
let { strategy, ...pageLoadParams } = params;
|
|
379
389
|
let body = {
|
|
380
|
-
...
|
|
390
|
+
...basePageRequestBody,
|
|
381
391
|
params: pageLoadParams,
|
|
382
392
|
url: request.url
|
|
383
393
|
};
|
|
@@ -385,9 +395,9 @@ var WeaverseClient = class {
|
|
|
385
395
|
method: "POST",
|
|
386
396
|
body: JSON.stringify(body)
|
|
387
397
|
};
|
|
388
|
-
let url = `${
|
|
398
|
+
let url = `${weaverseHost}/${this.API}`;
|
|
389
399
|
let payload;
|
|
390
|
-
if (
|
|
400
|
+
if (isDesignMode) {
|
|
391
401
|
payload = await fetch(url, reqInit).then((res) => res.json());
|
|
392
402
|
} else {
|
|
393
403
|
payload = await this.fetchWithCache(url, {
|
|
@@ -405,7 +415,7 @@ var WeaverseClient = class {
|
|
|
405
415
|
if (page?.items) {
|
|
406
416
|
let items = page.items;
|
|
407
417
|
page.items = await Promise.all(
|
|
408
|
-
items.map((item) => this.execComponentLoader(item
|
|
418
|
+
items.map((item) => this.execComponentLoader(item))
|
|
409
419
|
);
|
|
410
420
|
}
|
|
411
421
|
let data = {
|
|
@@ -413,10 +423,9 @@ var WeaverseClient = class {
|
|
|
413
423
|
project,
|
|
414
424
|
pageAssignment,
|
|
415
425
|
configs: {
|
|
416
|
-
...
|
|
426
|
+
...basePageConfigs,
|
|
417
427
|
requestInfo: {
|
|
418
|
-
|
|
419
|
-
i18n: this.storefront.i18n,
|
|
428
|
+
i18n: storefront.i18n,
|
|
420
429
|
queries: getRequestQueries(request),
|
|
421
430
|
pathname: new URL(request.url).pathname,
|
|
422
431
|
search: new URL(request.url).search
|
|
@@ -424,28 +433,27 @@ var WeaverseClient = class {
|
|
|
424
433
|
}
|
|
425
434
|
};
|
|
426
435
|
return resolve(data);
|
|
427
|
-
} catch (
|
|
428
|
-
console.
|
|
429
|
-
reject(
|
|
436
|
+
} catch (e) {
|
|
437
|
+
console.error(`\u274C Page load failed.`, e);
|
|
438
|
+
reject(e);
|
|
430
439
|
}
|
|
431
440
|
});
|
|
432
441
|
};
|
|
433
|
-
execComponentLoader = async (item
|
|
434
|
-
let
|
|
435
|
-
|
|
436
|
-
);
|
|
442
|
+
execComponentLoader = async (item) => {
|
|
443
|
+
let { data = {}, type, id } = item;
|
|
444
|
+
let schema = this.components.find(({ schema: schema2 }) => schema2?.type === type);
|
|
437
445
|
let { loader } = schema || {};
|
|
438
446
|
if (loader && typeof loader === "function") {
|
|
439
447
|
try {
|
|
440
448
|
return {
|
|
441
449
|
...item,
|
|
442
450
|
loaderData: await loader({
|
|
443
|
-
|
|
444
|
-
|
|
451
|
+
data,
|
|
452
|
+
weaverse: this
|
|
445
453
|
})
|
|
446
454
|
};
|
|
447
|
-
} catch (
|
|
448
|
-
console.
|
|
455
|
+
} catch (e) {
|
|
456
|
+
console.warn(`\u274C Item loader run failed.`, type, id, e);
|
|
449
457
|
return item;
|
|
450
458
|
}
|
|
451
459
|
}
|
package/dist/index.mjs
CHANGED
|
@@ -177,7 +177,7 @@ function FallbackError({ error }) {
|
|
|
177
177
|
|
|
178
178
|
// package.json
|
|
179
179
|
var package_default = {
|
|
180
|
-
version: "2.
|
|
180
|
+
version: "2.1.1",
|
|
181
181
|
license: "MIT",
|
|
182
182
|
main: "dist/index.js",
|
|
183
183
|
typings: "dist/index.d.ts",
|
|
@@ -211,8 +211,8 @@ var package_default = {
|
|
|
211
211
|
author: "Weaverse Team",
|
|
212
212
|
dependencies: {
|
|
213
213
|
"@remix-run/react": "1.19.1",
|
|
214
|
-
"@shopify/hydrogen": "2023.7.
|
|
215
|
-
"@weaverse/react": "2.
|
|
214
|
+
"@shopify/hydrogen": "2023.7.9",
|
|
215
|
+
"@weaverse/react": "2.1.1",
|
|
216
216
|
"react-error-boundary": "^4.0.11"
|
|
217
217
|
},
|
|
218
218
|
devDependencies: {
|
|
@@ -258,27 +258,37 @@ var WeaverseClient = class {
|
|
|
258
258
|
clientVersion = package_default.version;
|
|
259
259
|
basePageConfigs;
|
|
260
260
|
basePageRequestBody;
|
|
261
|
+
configs;
|
|
262
|
+
request;
|
|
261
263
|
storefront;
|
|
262
|
-
// storefront: Storefront<I18nLocale>
|
|
263
264
|
components;
|
|
264
|
-
countries;
|
|
265
265
|
themeSchema;
|
|
266
|
-
|
|
266
|
+
env;
|
|
267
267
|
withCache;
|
|
268
|
-
|
|
268
|
+
countries;
|
|
269
269
|
constructor(args) {
|
|
270
|
-
let {
|
|
270
|
+
let {
|
|
271
|
+
env,
|
|
272
|
+
storefront,
|
|
273
|
+
components,
|
|
274
|
+
countries,
|
|
275
|
+
withCache,
|
|
276
|
+
themeSchema,
|
|
277
|
+
request
|
|
278
|
+
} = args;
|
|
279
|
+
this.request = request;
|
|
271
280
|
this.storefront = storefront;
|
|
272
281
|
this.components = components;
|
|
273
|
-
this.countries = countries;
|
|
274
282
|
this.themeSchema = themeSchema;
|
|
275
|
-
this.
|
|
283
|
+
this.env = env;
|
|
276
284
|
this.withCache = withCache;
|
|
285
|
+
this.countries = countries;
|
|
286
|
+
this.configs = getWeaverseConfigs(request, env);
|
|
277
287
|
this.basePageConfigs = {
|
|
278
|
-
projectId: configs.projectId,
|
|
279
|
-
weaverseHost: configs.weaverseHost,
|
|
280
|
-
weaverseVersion: configs.weaverseVersion,
|
|
281
|
-
isDesignMode: configs.isDesignMode
|
|
288
|
+
projectId: this.configs.projectId,
|
|
289
|
+
weaverseHost: this.configs.weaverseHost,
|
|
290
|
+
weaverseVersion: this.configs.weaverseVersion,
|
|
291
|
+
isDesignMode: this.configs.isDesignMode
|
|
282
292
|
};
|
|
283
293
|
this.basePageRequestBody = {
|
|
284
294
|
countries,
|
|
@@ -293,7 +303,9 @@ var WeaverseClient = class {
|
|
|
293
303
|
let res = this.withCache(cacheKey, strategy, async () => {
|
|
294
304
|
let response = await fetch(url, reqInit);
|
|
295
305
|
if (!response.ok) {
|
|
296
|
-
|
|
306
|
+
let error = await response.text();
|
|
307
|
+
let { status, statusText } = response;
|
|
308
|
+
throw new Error(`${status} ${statusText} ${error}`);
|
|
297
309
|
}
|
|
298
310
|
return await response.json();
|
|
299
311
|
});
|
|
@@ -308,36 +320,34 @@ var WeaverseClient = class {
|
|
|
308
320
|
}
|
|
309
321
|
let res = await this.fetchWithCache(
|
|
310
322
|
`${weaverseHost}/${API}/${projectId}/configs`,
|
|
311
|
-
{ strategy }
|
|
323
|
+
{ method: "POST", strategy }
|
|
312
324
|
);
|
|
313
|
-
let data =
|
|
314
|
-
if (
|
|
315
|
-
data =
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
publicEnv: this.configs.publicEnv
|
|
322
|
-
};
|
|
323
|
-
}
|
|
325
|
+
let data = res || {};
|
|
326
|
+
if (this.configs.isDesignMode) {
|
|
327
|
+
data = {
|
|
328
|
+
...data,
|
|
329
|
+
schema: this.themeSchema,
|
|
330
|
+
countries: this.countries || [],
|
|
331
|
+
publicEnv: this.configs.publicEnv
|
|
332
|
+
};
|
|
324
333
|
}
|
|
325
334
|
return data;
|
|
326
|
-
} catch (
|
|
327
|
-
console.
|
|
335
|
+
} catch (e) {
|
|
336
|
+
console.error(`\u274C Theme settings load failed.`, e);
|
|
328
337
|
return null;
|
|
329
338
|
}
|
|
330
339
|
};
|
|
331
|
-
loadPage = async (
|
|
340
|
+
loadPage = async (params = {}) => {
|
|
332
341
|
return new Promise(async (resolve, reject) => {
|
|
333
342
|
try {
|
|
334
|
-
|
|
343
|
+
let { request, storefront, basePageRequestBody, basePageConfigs } = this;
|
|
344
|
+
let { projectId, isDesignMode, weaverseHost } = this.configs;
|
|
345
|
+
if (!projectId) {
|
|
335
346
|
throw new Error("Missing Weaverse projectId!");
|
|
336
347
|
}
|
|
337
|
-
let {
|
|
338
|
-
let { strategy, ...pageLoadParams } = configs;
|
|
348
|
+
let { strategy, ...pageLoadParams } = params;
|
|
339
349
|
let body = {
|
|
340
|
-
...
|
|
350
|
+
...basePageRequestBody,
|
|
341
351
|
params: pageLoadParams,
|
|
342
352
|
url: request.url
|
|
343
353
|
};
|
|
@@ -345,9 +355,9 @@ var WeaverseClient = class {
|
|
|
345
355
|
method: "POST",
|
|
346
356
|
body: JSON.stringify(body)
|
|
347
357
|
};
|
|
348
|
-
let url = `${
|
|
358
|
+
let url = `${weaverseHost}/${this.API}`;
|
|
349
359
|
let payload;
|
|
350
|
-
if (
|
|
360
|
+
if (isDesignMode) {
|
|
351
361
|
payload = await fetch(url, reqInit).then((res) => res.json());
|
|
352
362
|
} else {
|
|
353
363
|
payload = await this.fetchWithCache(url, {
|
|
@@ -365,7 +375,7 @@ var WeaverseClient = class {
|
|
|
365
375
|
if (page?.items) {
|
|
366
376
|
let items = page.items;
|
|
367
377
|
page.items = await Promise.all(
|
|
368
|
-
items.map((item) => this.execComponentLoader(item
|
|
378
|
+
items.map((item) => this.execComponentLoader(item))
|
|
369
379
|
);
|
|
370
380
|
}
|
|
371
381
|
let data = {
|
|
@@ -373,10 +383,9 @@ var WeaverseClient = class {
|
|
|
373
383
|
project,
|
|
374
384
|
pageAssignment,
|
|
375
385
|
configs: {
|
|
376
|
-
...
|
|
386
|
+
...basePageConfigs,
|
|
377
387
|
requestInfo: {
|
|
378
|
-
|
|
379
|
-
i18n: this.storefront.i18n,
|
|
388
|
+
i18n: storefront.i18n,
|
|
380
389
|
queries: getRequestQueries(request),
|
|
381
390
|
pathname: new URL(request.url).pathname,
|
|
382
391
|
search: new URL(request.url).search
|
|
@@ -384,28 +393,27 @@ var WeaverseClient = class {
|
|
|
384
393
|
}
|
|
385
394
|
};
|
|
386
395
|
return resolve(data);
|
|
387
|
-
} catch (
|
|
388
|
-
console.
|
|
389
|
-
reject(
|
|
396
|
+
} catch (e) {
|
|
397
|
+
console.error(`\u274C Page load failed.`, e);
|
|
398
|
+
reject(e);
|
|
390
399
|
}
|
|
391
400
|
});
|
|
392
401
|
};
|
|
393
|
-
execComponentLoader = async (item
|
|
394
|
-
let
|
|
395
|
-
|
|
396
|
-
);
|
|
402
|
+
execComponentLoader = async (item) => {
|
|
403
|
+
let { data = {}, type, id } = item;
|
|
404
|
+
let schema = this.components.find(({ schema: schema2 }) => schema2?.type === type);
|
|
397
405
|
let { loader } = schema || {};
|
|
398
406
|
if (loader && typeof loader === "function") {
|
|
399
407
|
try {
|
|
400
408
|
return {
|
|
401
409
|
...item,
|
|
402
410
|
loaderData: await loader({
|
|
403
|
-
|
|
404
|
-
|
|
411
|
+
data,
|
|
412
|
+
weaverse: this
|
|
405
413
|
})
|
|
406
414
|
};
|
|
407
|
-
} catch (
|
|
408
|
-
console.
|
|
415
|
+
} catch (e) {
|
|
416
|
+
console.warn(`\u274C Item loader run failed.`, type, id, e);
|
|
409
417
|
return item;
|
|
410
418
|
}
|
|
411
419
|
}
|
package/package.json
CHANGED
|
@@ -1,43 +1,43 @@
|
|
|
1
1
|
{
|
|
2
|
-
"version": "2.
|
|
3
|
-
"license": "MIT",
|
|
4
|
-
"main": "dist/index.js",
|
|
5
|
-
"typings": "dist/index.d.ts",
|
|
6
|
-
"module": "dist/index.mjs",
|
|
7
|
-
"publishConfig": {
|
|
8
|
-
"access": "public"
|
|
2
|
+
"version" : "2.1.1",
|
|
3
|
+
"license" : "MIT",
|
|
4
|
+
"main" : "dist/index.js",
|
|
5
|
+
"typings" : "dist/index.d.ts",
|
|
6
|
+
"module" : "dist/index.mjs",
|
|
7
|
+
"publishConfig" : {
|
|
8
|
+
"access" : "public"
|
|
9
9
|
},
|
|
10
|
-
"files": [
|
|
10
|
+
"files" : [
|
|
11
11
|
"dist/*"
|
|
12
12
|
],
|
|
13
|
-
"engines": {
|
|
14
|
-
"node": ">=16"
|
|
13
|
+
"engines" : {
|
|
14
|
+
"node" : ">=16"
|
|
15
15
|
},
|
|
16
|
-
"scripts": {
|
|
17
|
-
"start": "npm run dev",
|
|
18
|
-
"dev": "tsup src/index.ts --format esm,cjs --dts --outDir dist --watch --external @remix-run/react,@shopify/hydrogen",
|
|
19
|
-
"build": "tsup src/index.ts --format esm,cjs --dts --outDir dist --external @remix-run/react,@shopify/hydrogen",
|
|
20
|
-
"clean": "rimraf dist",
|
|
21
|
-
"prepublish": "npm run build"
|
|
16
|
+
"scripts" : {
|
|
17
|
+
"start" : "npm run dev",
|
|
18
|
+
"dev" : "tsup src/index.ts --format esm,cjs --dts --outDir dist --watch --external @remix-run/react,@shopify/hydrogen",
|
|
19
|
+
"build" : "tsup src/index.ts --format esm,cjs --dts --outDir dist --external @remix-run/react,@shopify/hydrogen",
|
|
20
|
+
"clean" : "rimraf dist",
|
|
21
|
+
"prepublish" : "npm run build"
|
|
22
22
|
},
|
|
23
|
-
"peerDependencies": {
|
|
24
|
-
"react": ">=18",
|
|
25
|
-
"react-dom": ">=18"
|
|
23
|
+
"peerDependencies" : {
|
|
24
|
+
"react" : ">=18",
|
|
25
|
+
"react-dom" : ">=18"
|
|
26
26
|
},
|
|
27
|
-
"prettier": {
|
|
28
|
-
"printWidth": 80,
|
|
29
|
-
"semi": false,
|
|
30
|
-
"singleQuote": true
|
|
27
|
+
"prettier" : {
|
|
28
|
+
"printWidth" : 80,
|
|
29
|
+
"semi" : false,
|
|
30
|
+
"singleQuote" : true
|
|
31
31
|
},
|
|
32
|
-
"name": "@weaverse/hydrogen",
|
|
33
|
-
"author": "Weaverse Team",
|
|
34
|
-
"dependencies": {
|
|
35
|
-
"@remix-run/react": "1.19.1",
|
|
36
|
-
"@shopify/hydrogen": "2023.7.
|
|
37
|
-
"@weaverse/react": "2.
|
|
38
|
-
"react-error-boundary": "^4.0.11"
|
|
32
|
+
"name" : "@weaverse/hydrogen",
|
|
33
|
+
"author" : "Weaverse Team",
|
|
34
|
+
"dependencies" : {
|
|
35
|
+
"@remix-run/react" : "1.19.1",
|
|
36
|
+
"@shopify/hydrogen" : "2023.7.9",
|
|
37
|
+
"@weaverse/react" : "2.1.1",
|
|
38
|
+
"react-error-boundary" : "^4.0.11"
|
|
39
39
|
},
|
|
40
|
-
"devDependencies": {
|
|
41
|
-
"@shopify/remix-oxygen": "^1.1.4"
|
|
40
|
+
"devDependencies" : {
|
|
41
|
+
"@shopify/remix-oxygen" : "^1.1.4"
|
|
42
42
|
}
|
|
43
43
|
}
|