@wix/builder-utils 1.21.2 → 1.21.3

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 (41) hide show
  1. package/dist/bundles/debug/es/builder-utils.mjs +54 -1
  2. package/dist/bundles/debug/es/builder-utils.mjs.map +1 -1
  3. package/dist/bundles/debug/umd/builder-utils.js +53 -0
  4. package/dist/bundles/debug/umd/builder-utils.js.map +1 -1
  5. package/dist/bundles/es/builder-utils.mjs +401 -354
  6. package/dist/bundles/es/builder-utils.mjs.map +1 -1
  7. package/dist/bundles/umd/builder-utils.js +1 -1
  8. package/dist/bundles/umd/builder-utils.js.map +1 -1
  9. package/dist/{cjs/index.d.ts → index.d.ts} +1 -0
  10. package/dist/{esm/index.js → index.js} +1 -0
  11. package/dist/index.js.map +1 -0
  12. package/dist/mergeUtils.js.map +1 -0
  13. package/dist/routerUtils.d.ts +33 -0
  14. package/dist/routerUtils.js +55 -0
  15. package/dist/routerUtils.js.map +1 -0
  16. package/dist/signalUtils.js.map +1 -0
  17. package/package.json +10 -12
  18. package/src/index.ts +1 -0
  19. package/src/routerUtils.ts +123 -0
  20. package/dist/cjs/index.js +0 -9
  21. package/dist/cjs/index.js.map +0 -1
  22. package/dist/cjs/mergeUtils.js +0 -60
  23. package/dist/cjs/mergeUtils.js.map +0 -1
  24. package/dist/cjs/signalUtils.js +0 -28
  25. package/dist/cjs/signalUtils.js.map +0 -1
  26. package/dist/esm/index.d.ts +0 -2
  27. package/dist/esm/index.js.map +0 -1
  28. package/dist/esm/mergeUtils.d.ts +0 -2
  29. package/dist/esm/mergeUtils.js.map +0 -1
  30. package/dist/esm/signalUtils.d.ts +0 -6
  31. package/dist/esm/signalUtils.js.map +0 -1
  32. package/dist/types/index.d.ts +0 -3
  33. package/dist/types/index.d.ts.map +0 -1
  34. package/dist/types/mergeUtils.d.ts +0 -3
  35. package/dist/types/mergeUtils.d.ts.map +0 -1
  36. package/dist/types/signalUtils.d.ts +0 -7
  37. package/dist/types/signalUtils.d.ts.map +0 -1
  38. /package/dist/{cjs/mergeUtils.d.ts → mergeUtils.d.ts} +0 -0
  39. /package/dist/{esm/mergeUtils.js → mergeUtils.js} +0 -0
  40. /package/dist/{cjs/signalUtils.d.ts → signalUtils.d.ts} +0 -0
  41. /package/dist/{esm/signalUtils.js → signalUtils.js} +0 -0
@@ -971,9 +971,62 @@ const getSignalValueDeep = (target, path = "") => {
971
971
  }
972
972
  return isSignal(value) ? value.get() : value;
973
973
  };
974
+ function getPageById(id, pageRegistry) {
975
+ return pageRegistry[id] ?? null;
976
+ }
977
+ function getPageRoles(routerPrefix, pageRegistry) {
978
+ return Object.entries(pageRegistry).filter(([, entry]) => entry.routerPrefix === routerPrefix).reduce((acc, [, { role, routerPrefix: _, pageName: __, ...rest }]) => {
979
+ acc[role] = rest;
980
+ return acc;
981
+ }, {});
982
+ }
983
+ async function fetchWixRouterPage(routerServiceUrl, { routerPrefix, config, rulesByPageRole, req, getAccessToken, pageRegistry, routerBaseUrl }) {
984
+ const token = await getAccessToken();
985
+ const routerUrl = new URL(routerServiceUrl + "/pages", routerBaseUrl);
986
+ const payload = {
987
+ routerPrefix,
988
+ config,
989
+ fullUrl: req.protocol + "://" + req.get("host") + req.path,
990
+ pageRoles: getPageRoles(routerPrefix, pageRegistry),
991
+ requestInfo: { env: "browser", formFactor: "desktop" },
992
+ roleVariations: rulesByPageRole,
993
+ routerSuffix: "/" + (req.params[0] || "")
994
+ };
995
+ const response = await fetch(routerUrl, {
996
+ method: "POST",
997
+ headers: { "Content-Type": "application/json", Authorization: token },
998
+ body: JSON.stringify(payload)
999
+ });
1000
+ if (!response.ok)
1001
+ return null;
1002
+ const { result } = await response.json();
1003
+ return result;
1004
+ }
1005
+ async function routeToDynamicPage(req, res, next, { routerServiceUrl, routerPrefix, getAccessToken, routerConfigs, pageRegistry, routerBaseUrl, getPageRenderData }) {
1006
+ const result = await fetchWixRouterPage(routerServiceUrl, {
1007
+ routerPrefix,
1008
+ ...routerConfigs[routerPrefix],
1009
+ req,
1010
+ getAccessToken,
1011
+ pageRegistry,
1012
+ routerBaseUrl
1013
+ });
1014
+ if (!result || result.status !== 200)
1015
+ return next();
1016
+ const page = getPageById(result.page, pageRegistry);
1017
+ if (!page)
1018
+ return next();
1019
+ res.render("layout", {
1020
+ title: page.title,
1021
+ pageName: page.pageName,
1022
+ ...getPageRenderData(result.page),
1023
+ options: {}
1024
+ });
1025
+ }
974
1026
  export {
975
1027
  getSignalValueDeep,
976
1028
  mergeProps,
977
- removeElementProps
1029
+ removeElementProps,
1030
+ routeToDynamicPage
978
1031
  };
979
1032
  //# sourceMappingURL=builder-utils.mjs.map