@weaverse/hydrogen 5.25.0 → 6.0.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 (80) hide show
  1. package/dist/index.js +23 -2444
  2. package/dist/index.mjs +4 -2407
  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 +7 -7
  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 +88 -68
  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/use-studio.d.ts +1 -1
  49. package/dist/types/utils/use-studio.d.ts.map +1 -1
  50. package/dist/types/utils/use-theme-settings-store.d.ts +8 -8
  51. package/dist/types/utils/use-theme-settings-store.d.ts.map +1 -1
  52. package/dist/types/weaverse-client.d.ts +14 -16
  53. package/dist/types/weaverse-client.d.ts.map +1 -1
  54. package/dist/weaverse-client-Clu3u7md.mjs +1966 -0
  55. package/dist/weaverse-client-Clu3u7md.mjs.map +1 -0
  56. package/dist/weaverse-client-yC4TYuVV.js +2073 -0
  57. package/dist/weaverse-client-yC4TYuVV.js.map +1 -0
  58. package/package.json +44 -6
  59. package/readme.md +44 -24
  60. package/src/WeaverseHydrogenRoot.tsx +18 -15
  61. package/src/components/index.ts +2 -2
  62. package/src/components/main.tsx +2 -2
  63. package/src/hooks/translation-context.tsx +3 -28
  64. package/src/index.ts +42 -81
  65. package/src/internal.ts +64 -0
  66. package/src/next-server.ts +13 -0
  67. package/src/next.ts +35 -0
  68. package/src/react-router.ts +52 -0
  69. package/src/react.ts +16 -0
  70. package/src/seo.ts +5 -5
  71. package/src/types.ts +104 -74
  72. package/src/utils/index.ts +15 -14
  73. package/src/utils/nested-key.ts +28 -0
  74. package/src/utils/normalize-page-url.ts +1 -1
  75. package/src/utils/product-options.ts +28 -0
  76. package/src/utils/use-studio.ts +1 -1
  77. package/src/utils/use-theme-settings-store.ts +7 -7
  78. package/src/weaverse-client.ts +88 -96
  79. package/dist/index.js.map +0 -1
  80. 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,17 +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
55
  private readonly throwPageLoadFailures;
57
- /** Creates a request-scoped client from the Hydrogen app context. */
56
+ /** Creates a request-scoped client from the storefront's request context. */
58
57
  constructor(args: WeaverseClientArgs);
59
58
  /**
60
59
  * Initialize Hydrogen cache with proper configuration.
@@ -135,7 +134,6 @@ export declare class WeaverseClient {
135
134
  private resolveFromEnvironment;
136
135
  /**
137
136
  * Helper method for direct fetching in design mode.
138
- * Returns same format as withCache.fetch for consistency.
139
137
  * Includes 10-second timeout to prevent hanging requests.
140
138
  */
141
139
  private readonly fetchOnce;
@@ -144,7 +142,7 @@ export declare class WeaverseClient {
144
142
  private isExternalPublicApiUrl;
145
143
  /**
146
144
  * Fetch data with caching support for both design mode and production.
147
- * Uses direct fetch in design mode, Hydrogen's withCache in production.
145
+ * Uses direct fetch in design mode, Hydrogen's cached fetch in production.
148
146
  * Automatically includes projectId in cache key for multi-project isolation.
149
147
  *
150
148
  * @param url - The URL to fetch from
@@ -180,7 +178,7 @@ export declare class WeaverseClient {
180
178
  * const primaryColor = settings.theme.colors?.primary
181
179
  * ```
182
180
  */
183
- loadThemeSettings: (strategy?: CachingStrategy) => Promise<ThemeSettingsResponse>;
181
+ loadThemeSettings: (strategy?: CachingStrategy) => Promise<WeaverseThemeSettingsResponse>;
184
182
  /**
185
183
  * Fetch locale-specific merchant overrides from the translation API.
186
184
  * Returns a nested JSON object with translated values.
@@ -192,9 +190,9 @@ export declare class WeaverseClient {
192
190
  * Used internally when API returns no page or when page needs default content.
193
191
  *
194
192
  * @param message - Custom message to display in the fallback page
195
- * @returns HydrogenPageData with single main component containing the message
193
+ * @returns WeaversePageData with single main component containing the message
196
194
  */
197
- generateFallbackPage: (message: string) => HydrogenPageData;
195
+ generateFallbackPage: (message: string) => WeaversePageData;
198
196
  /**
199
197
  * Fetch all published custom pages for sitemap generation.
200
198
  * Paginates automatically, never throws, returns accumulated results on partial failure.
@@ -230,6 +228,6 @@ export declare class WeaverseClient {
230
228
  */
231
229
  loadPage: (params?: LoadPageParams) => Promise<WeaverseLoaderData | null>;
232
230
  /** Executes the registered loader for one component and attaches its result. */
233
- execComponentLoader: (item: HydrogenComponentData) => Promise<HydrogenComponentData>;
231
+ execComponentLoader: (item: WeaverseComponentData) => Promise<WeaverseComponentData>;
234
232
  }
235
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":"AACA,OAAO,KAAK,EACV,eAAe,EACf,eAAe,EAEf,uBAAuB,EACvB,cAAc,EAGd,kBAAkB,EAElB,qBAAqB,EAGrB,kBAAkB,EAClB,gBAAgB,EAChB,sBAAsB,EAEtB,6BAA6B,EAE9B,MAAM,SAAS,CAAA;AA+MhB,gFAAgF;AAChF,MAAM,MAAM,qBAAqB,GAC7B,cAAc,GACd,oBAAoB,GACpB,SAAS,GACT,gBAAgB,CAAA;AAEpB,uEAAuE;AACvE,MAAM,WAAW,6BAA8B,SAAQ,WAAW;IAChE,qEAAqE;IACrE,WAAW,CAAC,EAAE,qBAAqB,CAAA;IACnC,iEAAiE;IACjE,QAAQ,CAAC,EAAE,eAAe,CAAA;CAC3B;AAED,iFAAiF;AACjF,MAAM,WAAW,uBAAuB;IACtC,6DAA6D;IAC7D,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,8DAA8D;IAC9D,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB;AA6BD;;;;;;GAMG;AACH,qBAAa,cAAc;IACzB,+CAA+C;IAC/C,GAAG,OAAW;IACd,4DAA4D;IAC5D,eAAe,EAAE,IAAI,CAAC,sBAAsB,EAAE,aAAa,CAAC,CAAA;IAC5D,0DAA0D;IAC1D,mBAAmB,EAAE,IAAI,CAAC,uBAAuB,EAAE,KAAK,CAAC,CAAA;IACzD,yDAAyD;IACzD,OAAO,EAAE,sBAAsB,CAAA;IAC/B,2DAA2D;IAC3D,OAAO,CAAC,WAAW,CAAyC;IAE5D,6DAA6D;IAC7D,OAAO,EAAE,kBAAkB,CAAC,SAAS,CAAC,CAAA;IACtC,mEAAmE;IACnE,eAAe,EAAE,kBAAkB,CAAC,iBAAiB,CAAC,CAAA;IACtD,yDAAyD;IACzD,UAAU,EAAE,kBAAkB,CAAC,YAAY,CAAC,CAAA;IAC5C,sEAAsE;IACtE,UAAU,EAAE,kBAAkB,CAAC,YAAY,CAAC,CAAA;IAC5C,yDAAyD;IACzD,WAAW,EAAE,kBAAkB,CAAC,aAAa,CAAC,CAAA;IAC9C,qCAAqC;IACrC,GAAG,EAAE,kBAAkB,CAAC,KAAK,CAAC,CAAA;IAC9B,sDAAsD;IACtD,KAAK,EAAE,kBAAkB,CAAC,OAAO,CAAC,CAAA;IAClC,yDAAyD;IACzD,SAAS,EAAE,kBAAkB,CAAC,WAAW,CAAC,CAAA;IAG1C,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAK;IAC/B,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAgC;IAGjE,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAQ;IACvC,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAAS;IAE/C,6EAA6E;IAC7E,YAAY,IAAI,EAAE,kBAAkB,EAsBnC;IAED;;;OAGG;IACH,OAAO,CAAC,eAAe;IAavB;;;OAGG;IACH,OAAO,CAAC,iBAAiB;IAmDzB;;;OAGG;IACH,OAAO,CAAC,uBAAuB;IAM/B;;;;;;;;;;;;;;;;OAgBG;IACH,OAAO,CAAC,gBAAgB;IA2BxB;;;;;OAKG;IACH,OAAO,CAAC,mBAAmB;IAI3B;;;;;;OAMG;IACH,OAAO,CAAC,iBAAiB;IAoBzB;;;;;;;;;OASG;IACH,OAAO,CAAC,oBAAoB;IAe5B;;;OAGG;IACH,OAAO,CAAC,sBAAsB;IAK9B;;;OAGG;IACH,OAAO,CAAC,mBAAmB;IA4D3B;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAwBzB;;OAEG;IACH,OAAO,CAAC,sBAAsB;IAc9B;;;OAGG;IACH,OAAO,CAAC,QAAQ,CAAC,SAAS,CAqEzB;IAED,OAAO,CAAC,QAAQ,CAAC,WAAW,CAoB3B;IAGD,OAAO,CAAC,SAAS;IAKjB,OAAO,CAAC,sBAAsB;IAQ9B;;;;;;;;;;;;;;;;OAgBG;IACI,cAAc,GAAU,CAAC,GAAG,OAAO,OACnC,MAAM,YACF,6BAA6B,KACrC,OAAO,CAAC,CAAC,CAAC,CAyFZ;IAED;;;;;OAKG;IACH,OAAO,CAAC,oBAAoB;IAQ5B;;;;;;;;;;;;OAYG;IACH,iBAAiB,cACJ,eAAe,KACzB,OAAO,CAAC,6BAA6B,CAAC,CA8HxC;IAED;;;;OAIG;IACH,OAAO,CAAC,sBAAsB,CA4D7B;IAED;;;;;;OAMG;IACH,oBAAoB,YAAa,MAAM,KAAG,gBAAgB,CAczD;IAED;;;OAGG;IACG,gBAAgB,CACpB,IAAI,CAAC,EAAE,uBAAuB,GAC7B,OAAO,CAAC,eAAe,EAAE,CAAC,CAiD5B;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;OA2BG;IACH,QAAQ,YACE,cAAc,KACrB,OAAO,CAAC,kBAAkB,GAAG,IAAI,CAAC,CAkMpC;IAED,gFAAgF;IAChF,mBAAmB,SAAgB,qBAAqB,oCAqBvD;CACF"}