@weaverse/hydrogen 5.23.0 → 6.0.0-beta.0

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.
Files changed (81) hide show
  1. package/dist/index.js +29 -2271
  2. package/dist/index.mjs +4 -2213
  3. package/dist/internal.js +64 -0
  4. package/dist/internal.js.map +1 -0
  5. package/dist/internal.mjs +16 -0
  6. package/dist/internal.mjs.map +1 -0
  7. package/dist/next-server.js +14 -0
  8. package/dist/next-server.mjs +2 -0
  9. package/dist/next.js +119 -0
  10. package/dist/next.mjs +5 -0
  11. package/dist/react-router.js +68 -0
  12. package/dist/react-router.mjs +5 -0
  13. package/dist/react.js +26 -0
  14. package/dist/react.mjs +2 -0
  15. package/dist/translation-store-BpPWqZ0B.js +548 -0
  16. package/dist/translation-store-BpPWqZ0B.js.map +1 -0
  17. package/dist/translation-store-C42QdI0e.mjs +441 -0
  18. package/dist/translation-store-C42QdI0e.mjs.map +1 -0
  19. package/dist/types/WeaverseHydrogenRoot.d.ts +8 -8
  20. package/dist/types/WeaverseHydrogenRoot.d.ts.map +1 -1
  21. package/dist/types/components/index.d.ts +2 -2
  22. package/dist/types/components/main.d.ts +2 -2
  23. package/dist/types/hooks/translation-context.d.ts +2 -8
  24. package/dist/types/hooks/translation-context.d.ts.map +1 -1
  25. package/dist/types/index.d.ts +12 -33
  26. package/dist/types/index.d.ts.map +1 -1
  27. package/dist/types/internal.d.ts +24 -0
  28. package/dist/types/internal.d.ts.map +1 -0
  29. package/dist/types/next-server.d.ts +8 -0
  30. package/dist/types/next-server.d.ts.map +1 -0
  31. package/dist/types/next.d.ts +12 -0
  32. package/dist/types/next.d.ts.map +1 -0
  33. package/dist/types/react-router.d.ts +18 -0
  34. package/dist/types/react-router.d.ts.map +1 -0
  35. package/dist/types/react.d.ts +11 -0
  36. package/dist/types/react.d.ts.map +1 -0
  37. package/dist/types/seo.d.ts +4 -4
  38. package/dist/types/seo.d.ts.map +1 -1
  39. package/dist/types/types.d.ts +126 -67
  40. package/dist/types/types.d.ts.map +1 -1
  41. package/dist/types/utils/index.d.ts +4 -5
  42. package/dist/types/utils/index.d.ts.map +1 -1
  43. package/dist/types/utils/nested-key.d.ts +9 -0
  44. package/dist/types/utils/nested-key.d.ts.map +1 -0
  45. package/dist/types/utils/normalize-page-url.d.ts +1 -1
  46. package/dist/types/utils/product-options.d.ts +18 -0
  47. package/dist/types/utils/product-options.d.ts.map +1 -0
  48. package/dist/types/utils/translation-store.d.ts.map +1 -1
  49. package/dist/types/utils/use-studio.d.ts +1 -1
  50. package/dist/types/utils/use-studio.d.ts.map +1 -1
  51. package/dist/types/utils/use-theme-settings-store.d.ts +8 -8
  52. package/dist/types/utils/use-theme-settings-store.d.ts.map +1 -1
  53. package/dist/types/weaverse-client.d.ts +15 -16
  54. package/dist/types/weaverse-client.d.ts.map +1 -1
  55. package/dist/weaverse-client-Clu3u7md.mjs +1966 -0
  56. package/dist/weaverse-client-Clu3u7md.mjs.map +1 -0
  57. package/dist/weaverse-client-yC4TYuVV.js +2073 -0
  58. package/dist/weaverse-client-yC4TYuVV.js.map +1 -0
  59. package/package.json +44 -20
  60. package/readme.md +76 -23
  61. package/src/WeaverseHydrogenRoot.tsx +18 -15
  62. package/src/components/index.ts +2 -2
  63. package/src/components/main.tsx +2 -2
  64. package/src/hooks/translation-context.tsx +3 -28
  65. package/src/index.ts +42 -81
  66. package/src/internal.ts +64 -0
  67. package/src/next-server.ts +13 -0
  68. package/src/next.ts +35 -0
  69. package/src/react-router.ts +52 -0
  70. package/src/react.ts +16 -0
  71. package/src/seo.ts +5 -5
  72. package/src/types.ts +158 -73
  73. package/src/utils/index.ts +15 -14
  74. package/src/utils/nested-key.ts +28 -0
  75. package/src/utils/normalize-page-url.ts +1 -1
  76. package/src/utils/product-options.ts +28 -0
  77. package/src/utils/use-studio.ts +1 -1
  78. package/src/utils/use-theme-settings-store.ts +7 -7
  79. package/src/weaverse-client.ts +313 -148
  80. package/dist/index.js.map +0 -1
  81. package/dist/index.mjs.map +0 -1
@@ -1,12 +1,11 @@
1
- import { createWithCache } from '@shopify/hydrogen';
2
- import type { CachingStrategy, CustomPageEntry, FetchProjectRequestBody, HydrogenComponentData, HydrogenPageData, LoadPageParams, ThemeSettingsResponse, WeaverseClientArgs, WeaverseLoaderData, WeaverseProjectConfigs } from './types';
1
+ import type { CachingStrategy, CustomPageEntry, FetchProjectRequestBody, LoadPageParams, WeaverseClientArgs, WeaverseComponentData, WeaverseLoaderData, WeaversePageData, WeaverseProjectConfigs, WeaverseThemeSettingsResponse } from './types';
3
2
  /** Builder API resource whose freshness policy should be used for a request. */
4
3
  export type BuilderApiCacheTarget = 'custom-pages' | 'merchant-overrides' | 'project' | 'theme-settings';
5
4
  /** Fetch options accepted by {@link WeaverseClient.fetchWithCache}. */
6
5
  export interface WeaverseFetchWithCacheOptions extends RequestInit {
7
- /** Builder API resource whose default freshness policy should be used. */
6
+ /** Builder API resource the request reads; part of the cache key. */
8
7
  cacheTarget?: BuilderApiCacheTarget;
9
- /** Explicit Hydrogen caching strategy overriding the resource default. */
8
+ /** Explicit Hydrogen caching strategy overriding the default. */
10
9
  strategy?: CachingStrategy;
11
10
  }
12
11
  /** Pagination and locale options for {@link WeaverseClient.fetchCustomPages}. */
@@ -32,11 +31,11 @@ export declare class WeaverseClient {
32
31
  basePageRequestBody: Omit<FetchProjectRequestBody, 'url'>;
33
32
  /** Resolved project and rendering-mode configuration. */
34
33
  configs: WeaverseProjectConfigs;
35
- /** Hydrogen cache wrapper used for Builder API requests. */
36
- withCache: ReturnType<typeof createWithCache>;
34
+ /** Hydrogen cached fetch used for Builder API requests. */
35
+ private cachedFetch;
37
36
  /** Incoming request associated with this client instance. */
38
37
  request: WeaverseClientArgs['request'];
39
- /** Hydrogen customer-account client, when configured. */
38
+ /** Customer Account API client, when the storefront passes one. */
40
39
  customerAccount: WeaverseClientArgs['customerAccount'];
41
40
  /** Hydrogen Storefront API client and locale context. */
42
41
  storefront: WeaverseClientArgs['storefront'];
@@ -44,16 +43,17 @@ export declare class WeaverseClient {
44
43
  components: WeaverseClientArgs['components'];
45
44
  /** Theme schema used for defaults and Studio editing. */
46
45
  themeSchema: WeaverseClientArgs['themeSchema'];
47
- /** Hydrogen runtime environment variables. */
46
+ /** Runtime environment variables. */
48
47
  env: WeaverseClientArgs['env'];
49
48
  /** Cache storage supplied by the Hydrogen runtime. */
50
49
  cache: WeaverseClientArgs['cache'];
51
- /** Background execution hook supplied by the Oxygen runtime. */
50
+ /** Background execution hook supplied by the runtime. */
52
51
  waitUntil: WeaverseClientArgs['waitUntil'];
53
52
  private readonly parsedUrl;
54
53
  private readonly componentsByType;
55
54
  private readonly fetchTimeoutMs;
56
- /** Creates a request-scoped client from the Hydrogen app context. */
55
+ private readonly throwPageLoadFailures;
56
+ /** Creates a request-scoped client from the storefront's request context. */
57
57
  constructor(args: WeaverseClientArgs);
58
58
  /**
59
59
  * Initialize Hydrogen cache with proper configuration.
@@ -134,7 +134,6 @@ export declare class WeaverseClient {
134
134
  private resolveFromEnvironment;
135
135
  /**
136
136
  * Helper method for direct fetching in design mode.
137
- * Returns same format as withCache.fetch for consistency.
138
137
  * Includes 10-second timeout to prevent hanging requests.
139
138
  */
140
139
  private readonly fetchOnce;
@@ -143,7 +142,7 @@ export declare class WeaverseClient {
143
142
  private isExternalPublicApiUrl;
144
143
  /**
145
144
  * Fetch data with caching support for both design mode and production.
146
- * Uses direct fetch in design mode, Hydrogen's withCache in production.
145
+ * Uses direct fetch in design mode, Hydrogen's cached fetch in production.
147
146
  * Automatically includes projectId in cache key for multi-project isolation.
148
147
  *
149
148
  * @param url - The URL to fetch from
@@ -179,7 +178,7 @@ export declare class WeaverseClient {
179
178
  * const primaryColor = settings.theme.colors?.primary
180
179
  * ```
181
180
  */
182
- loadThemeSettings: (strategy?: CachingStrategy) => Promise<ThemeSettingsResponse>;
181
+ loadThemeSettings: (strategy?: CachingStrategy) => Promise<WeaverseThemeSettingsResponse>;
183
182
  /**
184
183
  * Fetch locale-specific merchant overrides from the translation API.
185
184
  * Returns a nested JSON object with translated values.
@@ -191,9 +190,9 @@ export declare class WeaverseClient {
191
190
  * Used internally when API returns no page or when page needs default content.
192
191
  *
193
192
  * @param message - Custom message to display in the fallback page
194
- * @returns HydrogenPageData with single main component containing the message
193
+ * @returns WeaversePageData with single main component containing the message
195
194
  */
196
- generateFallbackPage: (message: string) => HydrogenPageData;
195
+ generateFallbackPage: (message: string) => WeaversePageData;
197
196
  /**
198
197
  * Fetch all published custom pages for sitemap generation.
199
198
  * Paginates automatically, never throws, returns accumulated results on partial failure.
@@ -229,6 +228,6 @@ export declare class WeaverseClient {
229
228
  */
230
229
  loadPage: (params?: LoadPageParams) => Promise<WeaverseLoaderData | null>;
231
230
  /** Executes the registered loader for one component and attaches its result. */
232
- execComponentLoader: (item: HydrogenComponentData) => Promise<HydrogenComponentData>;
231
+ execComponentLoader: (item: WeaverseComponentData) => Promise<WeaverseComponentData>;
233
232
  }
234
233
  //# sourceMappingURL=weaverse-client.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"weaverse-client.d.ts","sourceRoot":"","sources":["../../src/weaverse-client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"weaverse-client.d.ts","sourceRoot":"","sources":["../../src/weaverse-client.ts"],"names":[],"mappings":"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"}