cloudcommerce 0.34.0 → 0.35.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.
Files changed (191) hide show
  1. package/CHANGELOG.md +41 -0
  2. package/action.yml +11 -3
  3. package/ecomplus-stores/barra-doce/functions/many/package.json +3 -3
  4. package/ecomplus-stores/barra-doce/functions/ssr/package.json +6 -6
  5. package/ecomplus-stores/barra-doce/functions/ssr/src/pages/[...slug].astro +1 -1
  6. package/ecomplus-stores/barra-doce/functions/ssr/src/pages/app/account.astro +1 -1
  7. package/ecomplus-stores/barra-doce/functions/ssr/src/pages/app/index.astro +1 -1
  8. package/ecomplus-stores/barra-doce/functions/ssr/src/pages/index.astro +1 -1
  9. package/ecomplus-stores/barra-doce/functions/ssr/src/pages/~fallback.astro +1 -1
  10. package/ecomplus-stores/barra-doce/functions/with-apps/package.json +3 -3
  11. package/ecomplus-stores/barra-doce/package.json +2 -2
  12. package/package.json +6 -6
  13. package/packages/api/lib/api.js +1 -1
  14. package/packages/api/lib/api.js.map +1 -1
  15. package/packages/api/package.json +1 -1
  16. package/packages/api/src/api.ts +1 -1
  17. package/packages/apps/affilate-program/package.json +2 -2
  18. package/packages/apps/correios/package.json +2 -2
  19. package/packages/apps/custom-payment/package.json +1 -1
  20. package/packages/apps/custom-shipping/package.json +1 -1
  21. package/packages/apps/datafrete/package.json +2 -2
  22. package/packages/apps/discounts/package.json +1 -1
  23. package/packages/apps/emails/package.json +2 -2
  24. package/packages/apps/fb-conversions/package.json +2 -2
  25. package/packages/apps/flash-courier/package.json +1 -1
  26. package/packages/apps/frenet/package.json +2 -2
  27. package/packages/apps/galaxpay/package.json +2 -2
  28. package/packages/apps/google-analytics/lib/google-analytics-events.js +4 -4
  29. package/packages/apps/google-analytics/lib/google-analytics-events.js.map +1 -1
  30. package/packages/apps/google-analytics/package.json +2 -2
  31. package/packages/apps/google-analytics/src/google-analytics-events.ts +4 -4
  32. package/packages/apps/jadlog/package.json +1 -1
  33. package/packages/apps/loyalty-points/package.json +1 -1
  34. package/packages/apps/mandae/package.json +1 -1
  35. package/packages/apps/melhor-envio/package.json +2 -2
  36. package/packages/apps/mercadopago/package.json +2 -2
  37. package/packages/apps/pagarme/package.json +2 -2
  38. package/packages/apps/pagarme-v5/package.json +2 -2
  39. package/packages/apps/paghiper/package.json +2 -2
  40. package/packages/apps/pix/package.json +2 -2
  41. package/packages/apps/tiny-erp/package.json +2 -2
  42. package/packages/apps/webhooks/package.json +2 -2
  43. package/packages/cli/package.json +4 -1
  44. package/packages/config/package.json +1 -1
  45. package/packages/emails/package.json +1 -1
  46. package/packages/eslint/package.json +1 -1
  47. package/packages/events/package.json +2 -2
  48. package/packages/feeds/package.json +1 -1
  49. package/packages/firebase/package.json +2 -2
  50. package/packages/i18n/package.json +1 -1
  51. package/packages/modules/package.json +2 -2
  52. package/packages/passport/package.json +2 -2
  53. package/packages/ssr/lib/analytics/send-to-ga4.js +44 -0
  54. package/packages/ssr/lib/analytics/send-to-ga4.js.map +1 -0
  55. package/packages/ssr/lib/analytics/send-to-meta.js +44 -0
  56. package/packages/ssr/lib/analytics/send-to-meta.js.map +1 -0
  57. package/packages/ssr/lib/analytics/send-to-tiktok.js +44 -0
  58. package/packages/ssr/lib/analytics/send-to-tiktok.js.map +1 -0
  59. package/packages/ssr/lib/analytics-events.js +52 -24
  60. package/packages/ssr/lib/analytics-events.js.map +1 -1
  61. package/packages/ssr/lib/firebase/serve-storefront.js +16 -3
  62. package/packages/ssr/lib/firebase/serve-storefront.js.map +1 -1
  63. package/packages/ssr/package.json +6 -5
  64. package/packages/ssr/src/analytics/send-to-ga4.ts +56 -0
  65. package/packages/ssr/src/analytics/send-to-meta.ts +50 -0
  66. package/packages/ssr/src/analytics/send-to-tiktok.ts +49 -0
  67. package/packages/ssr/src/analytics-events.ts +57 -27
  68. package/packages/ssr/src/firebase/serve-storefront.ts +17 -3
  69. package/packages/storefront/dist/client/_astro/AccountPage.700be123.js +1 -0
  70. package/packages/storefront/dist/client/_astro/{CartSidebar.8151e4ee.js → CartSidebar.430b55df.js} +1 -1
  71. package/packages/storefront/dist/client/_astro/HeroSlider.bd684ed8.js +1 -0
  72. package/packages/storefront/dist/client/_astro/PitchBar.06e0f831.js +1 -0
  73. package/packages/storefront/dist/client/_astro/{Prices.311303d8.js → Prices.0e829c31.js} +1 -1
  74. package/packages/storefront/dist/client/_astro/ProductDetails.06da998d.js +1 -0
  75. package/packages/storefront/dist/client/_astro/ProductShelf.3f4f38b5.js +1 -0
  76. package/packages/storefront/dist/client/_astro/ProductShelf.bf82838b.js +1 -0
  77. package/packages/storefront/dist/client/_astro/QuantitySelector.ebf60845.js +1 -0
  78. package/packages/storefront/dist/client/_astro/SearchModal.b6aa5ef7.js +1 -0
  79. package/packages/storefront/dist/client/_astro/ShopHeader.2d6e361a.js +4 -0
  80. package/packages/storefront/dist/client/_astro/_plugin-vue_export-helper.f75743ee.js +1 -0
  81. package/packages/storefront/dist/client/_astro/_slug_.e7cac999.css +1 -0
  82. package/packages/storefront/dist/client/_astro/client.41b42098.js +1 -0
  83. package/packages/storefront/dist/client/_astro/customer-session.5ab9ab1a.js +1 -0
  84. package/packages/storefront/dist/client/_astro/ecom-utils.5cbfb95e.js +1 -0
  85. package/packages/storefront/dist/client/_astro/{format-money.8962a5ab.js → format-money.9cf6b04d.js} +1 -1
  86. package/packages/storefront/dist/client/_astro/{hoisted.57d8d9d0.js → hoisted.085a62c9.js} +1 -1
  87. package/packages/storefront/dist/client/_astro/hoisted.799e5593.js +1 -0
  88. package/packages/storefront/dist/client/_astro/{i18n.78f362d9.js → i18n.29216eeb.js} +1 -1
  89. package/packages/storefront/dist/client/_astro/{img.bfbd75a8.js → img.4f23a3dd.js} +1 -1
  90. package/packages/storefront/dist/client/_astro/index.570b84fe.js +1 -0
  91. package/packages/storefront/dist/client/_astro/index.8ac1db99.js +1 -0
  92. package/packages/storefront/dist/client/_astro/{modules-info.3c447a07.js → modules-info.55780599.js} +1 -1
  93. package/packages/storefront/dist/client/_astro/name.01410784.js +1 -0
  94. package/packages/storefront/dist/client/_astro/shopping-cart.d9f601dd.js +1 -0
  95. package/packages/storefront/dist/client/_astro/{use-analytics.d0c184ef.js → use-analytics.cc95e346.js} +1 -1
  96. package/packages/storefront/dist/client/_astro/{use-product-card.e0990572.js → use-product-card.437911bb.js} +1 -1
  97. package/packages/storefront/dist/server/chunks/{CartSidebar_03b51b57.mjs → CartSidebar_eab28771.mjs} +1 -1
  98. package/packages/storefront/dist/server/chunks/SearchModal_f66549d4.mjs +147 -0
  99. package/packages/storefront/dist/server/chunks/{_.._4def02ff.mjs → _.._5a781fb3.mjs} +1 -1
  100. package/packages/storefront/dist/server/chunks/{account_2ee873cf.mjs → account_519edb70.mjs} +1 -1
  101. package/packages/storefront/dist/server/chunks/astro/{assets-service_66a9c838.mjs → assets-service_a9d9ab5f.mjs} +58 -10
  102. package/packages/storefront/dist/server/chunks/{astro_8447f017.mjs → astro_d98f7186.mjs} +7 -1
  103. package/packages/storefront/dist/server/chunks/{index_5dcbbe32.mjs → index_10e14f85.mjs} +1 -1
  104. package/packages/storefront/dist/server/chunks/{index_37bacd45.mjs → index_5e3ed8a0.mjs} +1 -1
  105. package/packages/storefront/dist/server/chunks/{node_b3ae36f1.mjs → node_1119b0d1.mjs} +1 -1
  106. package/packages/storefront/dist/server/chunks/pages/{__80fd1c60.mjs → __93ade2dd.mjs} +485 -224
  107. package/packages/storefront/dist/server/chunks/pages/account_e5d410a7.mjs +28 -0
  108. package/packages/storefront/dist/server/chunks/pages/{index_8e1d063c.mjs → index_7e25afc1.mjs} +29 -8
  109. package/packages/storefront/dist/server/chunks/pages/node_bd378ac0.mjs +93 -0
  110. package/packages/storefront/dist/server/chunks/pages/{~fallback_6ff698cd.mjs → ~fallback_73578d2f.mjs} +16 -6
  111. package/packages/storefront/dist/server/chunks/{~fallback_7c4b84d5.mjs → ~fallback_41122b9b.mjs} +1 -1
  112. package/packages/storefront/dist/server/entry.mjs +8 -8
  113. package/packages/storefront/dist/server/{manifest_2019b8a9.mjs → manifest_6bc0c00d.mjs} +2 -2
  114. package/packages/storefront/dist/server/renderers.mjs +5 -3
  115. package/packages/storefront/package.json +8 -8
  116. package/packages/storefront/src/lib/assets/forms.css +35 -30
  117. package/packages/storefront/src/lib/components/Carousel.vue +3 -1
  118. package/packages/storefront/src/lib/components/CarouselControl.vue +1 -1
  119. package/packages/storefront/src/lib/components/Drawer.vue +45 -7
  120. package/packages/storefront/src/lib/components/globals/Fade.vue +1 -1
  121. package/packages/storefront/src/lib/composables/use-product-shelf.ts +1 -1
  122. package/packages/storefront/src/lib/scripts/vbeta-app.ts +25 -15
  123. package/packages/storefront/src/lib/ssr-context.ts +11 -8
  124. package/packages/storefront/src/lib/state/search-engine.ts +101 -0
  125. package/packages/storefront/src/lib/state/shopping-cart.ts +52 -65
  126. package/packages/storefront/src/lib/state/use-analytics.ts +2 -1
  127. package/packages/storefront/src/lib/state/use-storage.ts +5 -2
  128. package/packages/test-base/package.json +1 -1
  129. package/packages/types/package.json +1 -1
  130. package/packages/ssr/lib/analytics-providers/google-analytics.js +0 -48
  131. package/packages/ssr/lib/analytics-providers/google-analytics.js.map +0 -1
  132. package/packages/ssr/lib/analytics-providers/meta-conversions-api.js +0 -44
  133. package/packages/ssr/lib/analytics-providers/meta-conversions-api.js.map +0 -1
  134. package/packages/ssr/src/analytics-providers/google-analytics.ts +0 -67
  135. package/packages/ssr/src/analytics-providers/meta-conversions-api.ts +0 -57
  136. package/packages/storefront/dist/client/_astro/AccountPage.6ead88b1.js +0 -1
  137. package/packages/storefront/dist/client/_astro/HeroSlider.46474cda.js +0 -1
  138. package/packages/storefront/dist/client/_astro/PitchBar.fbca6881.js +0 -1
  139. package/packages/storefront/dist/client/_astro/ProductDetails.d66f9f7e.js +0 -1
  140. package/packages/storefront/dist/client/_astro/ProductShelf.9536b4c1.js +0 -1
  141. package/packages/storefront/dist/client/_astro/QuantitySelector.e74e368a.js +0 -1
  142. package/packages/storefront/dist/client/_astro/SearchModal.83b73e0b.js +0 -1
  143. package/packages/storefront/dist/client/_astro/ShopHeader.06f4d486.js +0 -4
  144. package/packages/storefront/dist/client/_astro/_plugin-vue_export-helper.dd1a60ce.js +0 -1
  145. package/packages/storefront/dist/client/_astro/_slug_.52cde7a0.css +0 -1
  146. package/packages/storefront/dist/client/_astro/client.7c1b0374.js +0 -1
  147. package/packages/storefront/dist/client/_astro/customer-session.2d173cc1.js +0 -1
  148. package/packages/storefront/dist/client/_astro/ecom-icon_12falx.png +0 -0
  149. package/packages/storefront/dist/client/_astro/ecom-icon_15pqnO.png +0 -0
  150. package/packages/storefront/dist/client/_astro/ecom-icon_t3guw.png +0 -0
  151. package/packages/storefront/dist/client/_astro/ecom-utils.c385a436.js +0 -1
  152. package/packages/storefront/dist/client/_astro/headphone_T2Jjc.avif +0 -0
  153. package/packages/storefront/dist/client/_astro/headphone_Z1CG18r.webp +0 -0
  154. package/packages/storefront/dist/client/_astro/hoisted.f16496bc.js +0 -1
  155. package/packages/storefront/dist/client/_astro/index.e02b88b7.js +0 -1
  156. package/packages/storefront/dist/client/_astro/index.e20e07e3.js +0 -1
  157. package/packages/storefront/dist/client/_astro/logo_1UBsBq.webp +0 -0
  158. package/packages/storefront/dist/client/_astro/logo_Z1K5PE9.png +0 -0
  159. package/packages/storefront/dist/client/_astro/logo_Z1KIIl1.avif +0 -0
  160. package/packages/storefront/dist/client/_astro/name.3cd31c8b.js +0 -1
  161. package/packages/storefront/dist/client/_astro/passion_LHbe9.webp +0 -0
  162. package/packages/storefront/dist/client/_astro/passion_Z23MeUb.avif +0 -0
  163. package/packages/storefront/dist/client/_astro/rect8589_1TtOHY.png +0 -0
  164. package/packages/storefront/dist/client/_astro/rect8589_1f5opX.webp +0 -0
  165. package/packages/storefront/dist/client/_astro/rect8589_IUskt.webp +0 -0
  166. package/packages/storefront/dist/client/_astro/rect8589_Uxfdf.png +0 -0
  167. package/packages/storefront/dist/client/_astro/rect8589_Z15uApA.png +0 -0
  168. package/packages/storefront/dist/client/_astro/rect8589_Z1Ap1Im.avif +0 -0
  169. package/packages/storefront/dist/client/_astro/rect8589_Z1JT1HB.webp +0 -0
  170. package/packages/storefront/dist/client/_astro/rect8589_ZY9mtN.avif +0 -0
  171. package/packages/storefront/dist/client/_astro/rect8589_tMFW0.avif +0 -0
  172. package/packages/storefront/dist/client/_astro/rect859_1TgQXS.avif +0 -0
  173. package/packages/storefront/dist/client/_astro/rect859_2Nm1z.avif +0 -0
  174. package/packages/storefront/dist/client/_astro/rect859_DIqwR.png +0 -0
  175. package/packages/storefront/dist/client/_astro/rect859_Z1IKDb2.png +0 -0
  176. package/packages/storefront/dist/client/_astro/rect859_Z29FI4V.webp +0 -0
  177. package/packages/storefront/dist/client/_astro/rect859_Z2kFHGk.avif +0 -0
  178. package/packages/storefront/dist/client/_astro/rect859_ZkpPFI.webp +0 -0
  179. package/packages/storefront/dist/client/_astro/rect859_jXzBi.png +0 -0
  180. package/packages/storefront/dist/client/_astro/rect859_x1l16.webp +0 -0
  181. package/packages/storefront/dist/client/_astro/rect89_1TSfW7.avif +0 -0
  182. package/packages/storefront/dist/client/_astro/rect89_Z1re32x.webp +0 -0
  183. package/packages/storefront/dist/client/_astro/shopping-cart.6b03b120.js +0 -1
  184. package/packages/storefront/dist/client/~fallback.html +0 -74
  185. package/packages/storefront/dist/client/~index.html +0 -120
  186. package/packages/storefront/dist/server/chunks/SearchModal_2afca4fe.mjs +0 -18
  187. package/packages/storefront/dist/server/chunks/pages/account_bfd9a66a.mjs +0 -21
  188. package/packages/storefront/dist/server/chunks/pages/node_530334cf.mjs +0 -160
  189. package/packages/storefront/dist/server/images.dist.csv +0 -30
  190. package/packages/storefront/dist/server/images.src.csv +0 -11
  191. package/packages/storefront/dist/server/static-builds.csv +0 -66
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@cloudcommerce/app-mercadopago",
3
3
  "type": "module",
4
- "version": "0.34.0",
4
+ "version": "0.35.1",
5
5
  "description": "E-Com Plus Cloud Commerce app to integrate Mercado Pago",
6
6
  "main": "lib/mercadopago.js",
7
7
  "exports": {
@@ -27,7 +27,7 @@
27
27
  "@cloudcommerce/api": "workspace:*",
28
28
  "@cloudcommerce/firebase": "workspace:*",
29
29
  "axios": "^1.6.2",
30
- "firebase-admin": "^11.11.0",
30
+ "firebase-admin": "^11.11.1",
31
31
  "firebase-functions": "^4.5.0"
32
32
  },
33
33
  "devDependencies": {
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@cloudcommerce/app-pagarme",
3
3
  "type": "module",
4
- "version": "0.34.0",
4
+ "version": "0.35.1",
5
5
  "description": "E-Com Plus Cloud Commerce app to integrate Pagar.me",
6
6
  "main": "lib/pagarme.js",
7
7
  "exports": {
@@ -26,7 +26,7 @@
26
26
  "@cloudcommerce/api": "workspace:*",
27
27
  "@cloudcommerce/firebase": "workspace:*",
28
28
  "axios": "^1.6.2",
29
- "firebase-admin": "^11.11.0",
29
+ "firebase-admin": "^11.11.1",
30
30
  "firebase-functions": "^4.5.0",
31
31
  "pagarme": "^4.33.1",
32
32
  "qs": "^6.11.2"
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@cloudcommerce/app-pagarme-v5",
3
3
  "type": "module",
4
- "version": "0.34.0",
4
+ "version": "0.35.1",
5
5
  "description": "E-Com Plus Cloud Commerce app to integrate Pagar.me API v5 with recurring payments",
6
6
  "main": "lib/index.js",
7
7
  "exports": {
@@ -28,7 +28,7 @@
28
28
  "@cloudcommerce/firebase": "workspace:*",
29
29
  "@ecomplus/utils": "1.5.0-rc.5",
30
30
  "axios": "^1.6.2",
31
- "firebase-admin": "^11.11.0",
31
+ "firebase-admin": "^11.11.1",
32
32
  "firebase-functions": "^4.5.0"
33
33
  },
34
34
  "devDependencies": {
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@cloudcommerce/app-paghiper",
3
3
  "type": "module",
4
- "version": "0.34.0",
4
+ "version": "0.35.1",
5
5
  "description": "E-Com Plus Cloud Commerce app to integrate PagHiper",
6
6
  "main": "lib/paghiper.js",
7
7
  "exports": {
@@ -26,7 +26,7 @@
26
26
  "@cloudcommerce/api": "workspace:*",
27
27
  "@cloudcommerce/firebase": "workspace:*",
28
28
  "axios": "^1.6.2",
29
- "firebase-admin": "^11.11.0",
29
+ "firebase-admin": "^11.11.1",
30
30
  "firebase-functions": "^4.5.0"
31
31
  },
32
32
  "devDependencies": {
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@cloudcommerce/app-pix",
3
3
  "type": "module",
4
- "version": "0.34.0",
4
+ "version": "0.35.1",
5
5
  "description": "E-Com Plus Cloud Commerce app to integrate Pix API (Bacen)",
6
6
  "main": "lib/pix.js",
7
7
  "exports": {
@@ -26,7 +26,7 @@
26
26
  "@cloudcommerce/api": "workspace:*",
27
27
  "@cloudcommerce/firebase": "workspace:*",
28
28
  "axios": "^1.6.2",
29
- "firebase-admin": "^11.11.0",
29
+ "firebase-admin": "^11.11.1",
30
30
  "firebase-functions": "^4.5.0"
31
31
  },
32
32
  "devDependencies": {
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@cloudcommerce/app-tiny-erp",
3
3
  "type": "module",
4
- "version": "0.34.0",
4
+ "version": "0.35.1",
5
5
  "description": "E-Com Plus Cloud Commerce app for Tiny ERP",
6
6
  "main": "lib/tiny-erp.js",
7
7
  "repository": {
@@ -23,7 +23,7 @@
23
23
  "@cloudcommerce/firebase": "workspace:*",
24
24
  "@ecomplus/utils": "1.5.0-rc.5",
25
25
  "axios": "^1.6.2",
26
- "firebase-admin": "^11.11.0",
26
+ "firebase-admin": "^11.11.1",
27
27
  "firebase-functions": "^4.5.0",
28
28
  "form-data": "4.0.0"
29
29
  },
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@cloudcommerce/app-webhooks",
3
3
  "type": "module",
4
- "version": "0.34.0",
4
+ "version": "0.35.1",
5
5
  "description": "E-Com Plus Cloud Commerce app for general order webhooks",
6
6
  "main": "lib/index.js",
7
7
  "repository": {
@@ -22,7 +22,7 @@
22
22
  "@cloudcommerce/api": "workspace:*",
23
23
  "@cloudcommerce/firebase": "workspace:*",
24
24
  "axios": "^1.6.2",
25
- "firebase-admin": "^11.11.0",
25
+ "firebase-admin": "^11.11.1",
26
26
  "firebase-functions": "^4.5.0"
27
27
  },
28
28
  "devDependencies": {
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@cloudcommerce/cli",
3
3
  "type": "module",
4
- "version": "0.34.0",
4
+ "version": "0.35.1",
5
5
  "description": "E-Com Plus Cloud Commerce CLI tools",
6
6
  "bin": {
7
7
  "cloudcommerce": "./bin/run.mjs"
@@ -30,5 +30,8 @@
30
30
  "libsodium-wrappers": "^0.7.13",
31
31
  "md5": "^2.3.0",
32
32
  "zx": "^7.2.3"
33
+ },
34
+ "devDependencies": {
35
+ "typescript": "~5.2.2"
33
36
  }
34
37
  }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@cloudcommerce/config",
3
3
  "type": "module",
4
- "version": "0.34.0",
4
+ "version": "0.35.1",
5
5
  "description": "E-Com Plus Cloud Commerce base config",
6
6
  "main": "lib/config.js",
7
7
  "exports": {
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@cloudcommerce/emails",
3
3
  "type": "module",
4
- "version": "0.34.0",
4
+ "version": "0.35.1",
5
5
  "description": "E-Com Plus Cloud Commerce email sender",
6
6
  "main": "lib/index.js",
7
7
  "types": "lib/index.d.ts",
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@cloudcommerce/eslint",
3
3
  "type": "module",
4
- "version": "0.34.0",
4
+ "version": "0.35.1",
5
5
  "description": "E-Com Plus Cloud Commerce ESLint config",
6
6
  "main": "lib/index.js",
7
7
  "repository": {
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@cloudcommerce/events",
3
3
  "type": "module",
4
- "version": "0.34.0",
4
+ "version": "0.35.1",
5
5
  "description": "E-Com Plus Cloud Commerce app events",
6
6
  "main": "lib/index.js",
7
7
  "exports": {
@@ -42,7 +42,7 @@
42
42
  "@cloudcommerce/app-tiny-erp": "workspace:*",
43
43
  "@cloudcommerce/app-webhooks": "workspace:*",
44
44
  "@cloudcommerce/firebase": "workspace:*",
45
- "firebase-admin": "^11.11.0",
45
+ "firebase-admin": "^11.11.1",
46
46
  "firebase-functions": "^4.5.0",
47
47
  "source-map-support": "^0.5.21"
48
48
  },
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@cloudcommerce/feeds",
3
3
  "type": "module",
4
- "version": "0.34.0",
4
+ "version": "0.35.1",
5
5
  "description": "E-Com Plus Cloud Commerce catalog feeds",
6
6
  "main": "lib/index.js",
7
7
  "exports": {
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@cloudcommerce/firebase",
3
3
  "type": "module",
4
- "version": "0.34.0",
4
+ "version": "0.35.1",
5
5
  "description": "E-Com Plus Cloud Commerce on Firebase",
6
6
  "main": "lib/index.js",
7
7
  "types": "lib/index.d.ts",
@@ -32,7 +32,7 @@
32
32
  "@cloudcommerce/api": "workspace:*",
33
33
  "@cloudcommerce/config": "workspace:*",
34
34
  "@google-cloud/pubsub": "^4.0.7",
35
- "firebase-admin": "^11.11.0",
35
+ "firebase-admin": "^11.11.1",
36
36
  "firebase-functions": "^4.5.0",
37
37
  "source-map-support": "^0.5.21"
38
38
  },
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@cloudcommerce/i18n",
3
3
  "type": "module",
4
- "version": "0.34.0",
4
+ "version": "0.35.1",
5
5
  "description": "E-Com Plus Cloud Commerce i18n",
6
6
  "main": "lib/all.js",
7
7
  "exports": {
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@cloudcommerce/modules",
3
3
  "type": "module",
4
- "version": "0.34.0",
4
+ "version": "0.35.1",
5
5
  "description": "E-Com Plus Cloud Commerce modules API",
6
6
  "main": "lib/index.cjs",
7
7
  "exports": {
@@ -48,7 +48,7 @@
48
48
  "ajv": "^8.12.0",
49
49
  "ajv-formats": "^2.1.1",
50
50
  "axios": "^1.6.2",
51
- "firebase-admin": "^11.11.0",
51
+ "firebase-admin": "^11.11.1",
52
52
  "firebase-functions": "^4.5.0",
53
53
  "source-map-support": "^0.5.21"
54
54
  },
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@cloudcommerce/passport",
3
3
  "type": "module",
4
- "version": "0.34.0",
4
+ "version": "0.35.1",
5
5
  "description": "E-Com Plus Cloud Commerce customers authentication (passport) API",
6
6
  "main": "lib/index.js",
7
7
  "exports": {
@@ -25,7 +25,7 @@
25
25
  "dependencies": {
26
26
  "@cloudcommerce/api": "workspace:*",
27
27
  "@cloudcommerce/firebase": "workspace:*",
28
- "firebase-admin": "^11.11.0",
28
+ "firebase-admin": "^11.11.1",
29
29
  "firebase-functions": "^4.5.0",
30
30
  "source-map-support": "^0.5.21"
31
31
  },
@@ -0,0 +1,44 @@
1
+ import axios from 'axios';
2
+
3
+ const ga4Axios = axios.create({
4
+ baseURL: 'https://www.google-analytics.com',
5
+ headers: {
6
+ 'Content-Type': 'application/json',
7
+ },
8
+ });
9
+ const endpoint = '/mp/collect'
10
+ + `?api_secret=${process.env.GA_API_SECRET}`
11
+ + `&measurement_id=${process.env.GA_MEASUREMENT_ID}`;
12
+ const sendToGa4 = async (events, clientId, sessionId, utm = {}) => {
13
+ if (process.env.GA_API_SECRET && process.env.GA_MEASUREMENT_ID) {
14
+ const data = {
15
+ client_id: clientId,
16
+ events: [],
17
+ };
18
+ for (let i = 0; i < events.length; i++) {
19
+ const event = events[i];
20
+ if (event.name === 'page_view') {
21
+ event.name = 'campaign_details';
22
+ event.params = {
23
+ source: utm.source,
24
+ medium: utm.medium,
25
+ campaign: utm.campaign,
26
+ term: utm.term,
27
+ content: utm.content,
28
+ session_id: sessionId,
29
+ };
30
+ } else if (event.params) {
31
+ Object.assign(event.params, { session_id: sessionId });
32
+ }
33
+ data.events.push(event);
34
+ if (data.events.length === 25 || i === events.length - 1) {
35
+ // eslint-disable-next-line no-await-in-loop
36
+ await ga4Axios.post(endpoint, data);
37
+ data.events = [];
38
+ }
39
+ }
40
+ }
41
+ };
42
+
43
+ export default sendToGa4;
44
+ // # sourceMappingURL=send-to-ga4.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"send-to-ga4.js","sourceRoot":"","sources":["../../src/analytics/send-to-ga4.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,MAAM,QAAQ,GAAG,KAAK,CAAC,MAAM,CAAC;IAC5B,OAAO,EAAE,kCAAkC;IAC3C,OAAO,EAAE;QACP,cAAc,EAAE,kBAAkB;KACnC;CACF,CAAC,CAAC;AACH,MAAM,QAAQ,GAAG,aAAa;MAC1B,eAAe,OAAO,CAAC,GAAG,CAAC,aAAa,EAAE;MAC1C,mBAAmB,OAAO,CAAC,GAAG,CAAC,iBAAiB,EAAE,CAAC;AAEvD,MAAM,SAAS,GAAG,KAAK,EACrB,MAAwB,EACxB,QAAgB,EAChB,SAAiB,EACjB,MAMI,EAAE,EACN,EAAE;IACF,IAAI,OAAO,CAAC,GAAG,CAAC,aAAa,IAAI,OAAO,CAAC,GAAG,CAAC,iBAAiB,EAAE;QAC9D,MAAM,IAAI,GAAG;YACX,SAAS,EAAE,QAAQ;YACnB,MAAM,EAAE,EAAsB;SAC/B,CAAC;QACF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACtC,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;YACxB,IAAI,KAAK,CAAC,IAAI,KAAK,WAAW,EAAE;gBAC9B,KAAK,CAAC,IAAI,GAAG,kBAAkB,CAAC;gBAChC,KAAK,CAAC,MAAM,GAAG;oBACb,MAAM,EAAE,GAAG,CAAC,MAAM;oBAClB,MAAM,EAAE,GAAG,CAAC,MAAM;oBAClB,QAAQ,EAAE,GAAG,CAAC,QAAQ;oBACtB,IAAI,EAAE,GAAG,CAAC,IAAI;oBACd,OAAO,EAAE,GAAG,CAAC,OAAO;oBACpB,UAAU,EAAE,SAAS;iBACtB,CAAC;aACH;iBAAM,IAAI,KAAK,CAAC,MAAM,EAAE;gBACvB,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,UAAU,EAAE,SAAS,EAAE,CAAC,CAAC;aACxD;YACD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACxB,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,KAAK,EAAE,IAAI,CAAC,KAAK,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE;gBACxD,4CAA4C;gBAC5C,MAAM,QAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;gBACpC,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;aAClB;SACF;KACF;AACH,CAAC,CAAC;AAEF,eAAe,SAAS,CAAC"}
@@ -0,0 +1,44 @@
1
+ import axios from 'axios';
2
+
3
+ // https://developers.facebook.com/docs/meta-pixel/reference#standard-events
4
+ const version = 'v18.0';
5
+ const metaAxios = axios.create({
6
+ baseURL: `https://graph.facebook.com/${version}`,
7
+ headers: {
8
+ 'Content-Type': 'application/json',
9
+ },
10
+ });
11
+ const endpoint = `/${process.env.FB_PIXEL_ID}/events`
12
+ + `?access_token=${process.env.FB_GRAPH_TOKEN}`;
13
+ const sendToMeta = async (events, pageLocation, userData, pageTitle) => {
14
+ if (process.env.FB_PIXEL_ID && process.env.FB_GRAPH_TOKEN) {
15
+ let data = [];
16
+ for (let i = 0; i < events.length; i++) {
17
+ const event = events[i];
18
+ if (event.name === 'PageView') {
19
+ event.name = 'Lead';
20
+ if (pageTitle) {
21
+ event.params = {
22
+ content_name: pageTitle,
23
+ };
24
+ }
25
+ }
26
+ data.push({
27
+ event_name: event.name,
28
+ event_time: Date.now(),
29
+ event_source_url: pageLocation,
30
+ action_source: 'website',
31
+ user_data: userData,
32
+ custom_data: event.params,
33
+ });
34
+ if (data.length === 999 || i === events.length - 1) {
35
+ // eslint-disable-next-line no-await-in-loop
36
+ await metaAxios.post(endpoint, { data });
37
+ data = [];
38
+ }
39
+ }
40
+ }
41
+ };
42
+
43
+ export default sendToMeta;
44
+ // # sourceMappingURL=send-to-meta.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"send-to-meta.js","sourceRoot":"","sources":["../../src/analytics/send-to-meta.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,4EAA4E;AAC5E,MAAM,OAAO,GAAG,OAAO,CAAC;AACxB,MAAM,SAAS,GAAG,KAAK,CAAC,MAAM,CAAC;IAC7B,OAAO,EAAE,8BAA8B,OAAO,EAAE;IAChD,OAAO,EAAE;QACP,cAAc,EAAE,kBAAkB;KACnC;CACF,CAAC,CAAC;AACH,MAAM,QAAQ,GAAG,IAAI,OAAO,CAAC,GAAG,CAAC,WAAW,SAAS;MACjD,iBAAiB,OAAO,CAAC,GAAG,CAAC,cAAc,EAAE,CAAC;AAElD,MAAM,UAAU,GAAG,KAAK,EACtB,MAAwB,EACxB,YAAoB,EACpB,QAA6C,EAC7C,SAAkB,EAClB,EAAE;IACF,IAAI,OAAO,CAAC,GAAG,CAAC,WAAW,IAAI,OAAO,CAAC,GAAG,CAAC,cAAc,EAAE;QACzD,IAAI,IAAI,GAA+B,EAAE,CAAC;QAC1C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACtC,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;YACxB,IAAI,KAAK,CAAC,IAAI,KAAK,UAAU,EAAE;gBAC7B,KAAK,CAAC,IAAI,GAAG,MAAM,CAAC;gBACpB,IAAI,SAAS,EAAE;oBACb,KAAK,CAAC,MAAM,GAAG;wBACb,YAAY,EAAE,SAAS;qBACxB,CAAC;iBACH;aACF;YACD,IAAI,CAAC,IAAI,CAAC;gBACR,UAAU,EAAE,KAAK,CAAC,IAAI;gBACtB,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE;gBACtB,gBAAgB,EAAE,YAAY;gBAC9B,aAAa,EAAE,SAAS;gBACxB,SAAS,EAAE,QAAQ;gBACnB,WAAW,EAAE,KAAK,CAAC,MAAM;aAC1B,CAAC,CAAC;YACH,IAAI,IAAI,CAAC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE;gBAClD,4CAA4C;gBAC5C,MAAM,SAAS,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;gBACzC,IAAI,GAAG,EAAE,CAAC;aACX;SACF;KACF;AACH,CAAC,CAAC;AAEF,eAAe,UAAU,CAAC"}
@@ -0,0 +1,44 @@
1
+ import axios from 'axios';
2
+
3
+ // https://business-api.tiktok.com/portal/docs?id=1741601162187777
4
+ // https://business-api.tiktok.com/portal/docs?rid=oyn7lhbo6ar&id=1771100799076354
5
+ const version = 'v1.3';
6
+ const ttkAxios = axios.create({
7
+ baseURL: `https://business-api.tiktok.com/open_api/${version}/event/track`,
8
+ headers: {
9
+ 'Content-Type': 'application/json',
10
+ 'Access-Token': process.env.TIKTOK_ACCESS_TOKEN,
11
+ },
12
+ });
13
+ const sendToTiktok = async (events, pageLocation, user) => {
14
+ if (process.env.TIKTOK_ACCESS_TOKEN && process.env.TIKTOK_PIXEL_ID) {
15
+ let data = [];
16
+ for (let i = 0; i < events.length; i++) {
17
+ const event = events[i];
18
+ if (event.name === 'PageView') {
19
+ event.name = 'Contact';
20
+ }
21
+ data.push({
22
+ event: event.name,
23
+ event_time: Date.now(),
24
+ user,
25
+ page: {
26
+ url: pageLocation,
27
+ },
28
+ properties: event.params,
29
+ });
30
+ if (data.length === 999 || i === events.length - 1) {
31
+ // eslint-disable-next-line no-await-in-loop
32
+ await ttkAxios.post('/', {
33
+ event_source: 'web',
34
+ event_source_id: process.env.TIKTOK_PIXEL_ID,
35
+ data,
36
+ });
37
+ data = [];
38
+ }
39
+ }
40
+ }
41
+ };
42
+
43
+ export default sendToTiktok;
44
+ // # sourceMappingURL=send-to-tiktok.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"send-to-tiktok.js","sourceRoot":"","sources":["../../src/analytics/send-to-tiktok.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,kEAAkE;AAClE,kFAAkF;AAClF,MAAM,OAAO,GAAG,MAAM,CAAC;AACvB,MAAM,QAAQ,GAAG,KAAK,CAAC,MAAM,CAAC;IAC5B,OAAO,EAAE,4CAA4C,OAAO,cAAc;IAC1E,OAAO,EAAE;QACP,cAAc,EAAE,kBAAkB;QAClC,cAAc,EAAE,OAAO,CAAC,GAAG,CAAC,mBAAmB;KAChD;CACF,CAAC,CAAC;AAEH,MAAM,YAAY,GAAG,KAAK,EACxB,MAAwB,EACxB,YAAoB,EACpB,IAAyC,EACzC,EAAE;IACF,IAAI,OAAO,CAAC,GAAG,CAAC,mBAAmB,IAAI,OAAO,CAAC,GAAG,CAAC,eAAe,EAAE;QAClE,IAAI,IAAI,GAA+B,EAAE,CAAC;QAC1C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACtC,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;YACxB,IAAI,KAAK,CAAC,IAAI,KAAK,UAAU,EAAE;gBAC7B,KAAK,CAAC,IAAI,GAAG,SAAS,CAAC;aACxB;YACD,IAAI,CAAC,IAAI,CAAC;gBACR,KAAK,EAAE,KAAK,CAAC,IAAI;gBACjB,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE;gBACtB,IAAI;gBACJ,IAAI,EAAE;oBACJ,GAAG,EAAE,YAAY;iBAClB;gBACD,UAAU,EAAE,KAAK,CAAC,MAAM;aACzB,CAAC,CAAC;YACH,IAAI,IAAI,CAAC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE;gBAClD,4CAA4C;gBAC5C,MAAM,QAAQ,CAAC,IAAI,CAAC,GAAG,EAAE;oBACvB,YAAY,EAAE,KAAK;oBACnB,eAAe,EAAE,OAAO,CAAC,GAAG,CAAC,eAAe;oBAC5C,IAAI;iBACL,CAAC,CAAC;gBACH,IAAI,GAAG,EAAE,CAAC;aACX;SACF;KACF;AACH,CAAC,CAAC;AAEF,eAAe,YAAY,CAAC"}
@@ -1,9 +1,12 @@
1
1
  import { EventEmitter } from 'node:events';
2
- import ga4Events from './analytics-providers/google-analytics.js';
3
- import metaEvents from './analytics-providers/meta-conversions-api.js';
2
+ import { warn, error } from 'firebase-functions/logger';
3
+ import { getFirestore, Timestamp, FieldValue } from 'firebase-admin/firestore';
4
+ import sendToGa4 from './analytics/send-to-ga4.js';
5
+ import sendToMeta from './analytics/send-to-meta.js';
6
+ import sendToTiktok from './analytics/send-to-tiktok.js';
4
7
 
5
8
  const analyticsEmitter = new EventEmitter();
6
- const sendAnalyticsEvents = ({ url, events }, payload = {}) => {
9
+ const sendAnalyticsEvents = async ({ url, events }, payload = {}) => {
7
10
  analyticsEmitter.emit('send', { url, events });
8
11
  const eventsByType = {};
9
12
  events.forEach(({ type, name, params }) => {
@@ -13,36 +16,61 @@ const sendAnalyticsEvents = ({ url, events }, payload = {}) => {
13
16
  eventsByType[type].push({ name, params });
14
17
  });
15
18
  const sendingEvents = [];
16
- if (eventsByType.gtag) {
19
+ const storingEvents = [];
20
+ const { gtag: gaEvents, fbq: metaEvents, ttq: tiktokEvents } = eventsByType;
21
+ if (gaEvents) {
22
+ const pageView = gaEvents.find(({ name }) => {
23
+ return name === 'page_view';
24
+ });
25
+ const productView = gaEvents.find(({ name, params }) => {
26
+ return name === 'view_item' && params?.item_list_id === 'product-page';
27
+ });
28
+ if (pageView || productView) {
29
+ const db = getFirestore();
30
+ if (pageView && url) {
31
+ const storing = db.collection('ssrPageViews')
32
+ .add({ url, at: Timestamp.now() });
33
+ storingEvents.push(storing);
34
+ }
35
+ const productId = productView?.params?.object_id;
36
+ if (productId) {
37
+ const storing = db.doc(`ssrProductViews/${productId}`)
38
+ .set({ countUnsaved: FieldValue.increment(1) }, { merge: true });
39
+ storingEvents.push(storing);
40
+ }
41
+ }
17
42
  const sessionId = payload.g_session_id || payload.session_id;
18
43
  const clientId = payload.g_client_id || payload.client_id;
19
- const listGA4Events = ga4Events(eventsByType.gtag, clientId, sessionId, payload.utm);
20
- if (listGA4Events) {
21
- sendingEvents.push(...listGA4Events);
22
- }
44
+ sendingEvents.push(sendToGa4(gaEvents, clientId, sessionId, payload.utm));
23
45
  }
24
- if (eventsByType.fbq) {
46
+ if (metaEvents) {
25
47
  const userData = {
26
- client_ip_address: payload.id,
48
+ client_ip_address: payload.ip,
27
49
  client_user_agent: payload.user_agent,
28
50
  fbc: payload.fbclid,
29
51
  fbp: payload.fbp,
30
52
  };
31
- const listMetaEvents = metaEvents(eventsByType.fbq, payload.page_location, userData);
32
- if (listMetaEvents) {
33
- sendingEvents.push(...listMetaEvents);
34
- }
53
+ sendingEvents.push(sendToMeta(metaEvents, url, userData, payload.page_title));
54
+ }
55
+ if (tiktokEvents) {
56
+ const userData = {
57
+ ip: payload.ip,
58
+ user_agent: payload.user_agent,
59
+ ttclid: payload.ttclid,
60
+ };
61
+ sendingEvents.push(sendToTiktok(tiktokEvents, url, userData));
35
62
  }
36
- /* @TODO:
37
- - Get credentials from env vars, e.g. `process.env.GA_MEASUREMENT_ID`;
38
- - May receive multiple events in a unique request, and dispatch multiple
39
- events in one POST if possible;
40
- - Consider Google Click ID (`?gclid=`), Facebook Click ID (`?fbclid=`)
41
- and maybe TikTok one from payload;
42
- - Send the events in parallel for all APIs with `Promise.all(sendingEvents)`;
43
- - No CORS!
44
- */
45
- Promise.all(sendingEvents);
63
+ await Promise.all([
64
+ Promise.allSettled(sendingEvents).then((results) => {
65
+ for (let i = 0; i < results.length; i++) {
66
+ const { status } = results[i];
67
+ if (status === 'rejected') {
68
+ warn(results[i].reason);
69
+ }
70
+ }
71
+ }),
72
+ Promise.all(storingEvents).catch(error),
73
+ ]);
46
74
  };
47
75
 
48
76
  export default sendAnalyticsEvents;
@@ -1 +1 @@
1
- {"version":3,"file":"analytics-events.js","sourceRoot":"","sources":["../src/analytics-events.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,SAAS,MAAM,wCAAwC,CAAC;AAC/D,OAAO,UAAU,MAAM,4CAA4C,CAAC;AAEpE,MAAM,gBAAgB,GAAG,IAAI,YAAY,EAAE,CAAC;AAS5C,MAAM,mBAAmB,GAAG,CAC1B,EAAE,GAAG,EAAE,MAAM,EAAmD,EAChE,UAA+B,EAAE,EACjC,EAAE;IACF,gBAAgB,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC,CAAC;IAC/C,MAAM,YAAY,GAAiD,EAAE,CAAC;IACtE,MAAM,CAAC,OAAO,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE;QACxC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE;YACvB,YAAY,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;SACzB;QACA,YAAY,CAAC,IAAI,CAAsB,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;IAClE,CAAC,CAAC,CAAC;IAEH,MAAM,aAAa,GAAuC,EAAE,CAAC;IAC7D,IAAI,YAAY,CAAC,IAAI,EAAE;QACrB,MAAM,SAAS,GAAG,OAAO,CAAC,YAAY,IAAI,OAAO,CAAC,UAAU,CAAC;QAC7D,MAAM,QAAQ,GAAG,OAAO,CAAC,WAAW,IAAI,OAAO,CAAC,SAAS,CAAC;QAC1D,MAAM,aAAa,GAAG,SAAS,CAAC,YAAY,CAAC,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC;QACrF,IAAI,aAAa,EAAE;YACjB,aAAa,CAAC,IAAI,CAAC,GAAG,aAAa,CAAC,CAAC;SACtC;KACF;IACD,IAAI,YAAY,CAAC,GAAG,EAAE;QACpB,MAAM,QAAQ,GAAG;YACf,iBAAiB,EAAE,OAAO,CAAC,EAAE;YAC7B,iBAAiB,EAAE,OAAO,CAAC,UAAU;YACrC,GAAG,EAAE,OAAO,CAAC,MAAM;YACnB,GAAG,EAAE,OAAO,CAAC,GAAG;SACjB,CAAC;QACF,MAAM,cAAc,GAAG,UAAU,CAAC,YAAY,CAAC,GAAG,EAAE,OAAO,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;QACrF,IAAI,cAAc,EAAE;YAClB,aAAa,CAAC,IAAI,CAAC,GAAG,cAAc,CAAC,CAAC;SACvC;KACF;IACD;;;;;;;;MAQE;IACF,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;AAC7B,CAAC,CAAC;AAEF,eAAe,mBAAmB,CAAC;AAEnC,OAAO,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,CAAC"}
1
+ {"version":3,"file":"analytics-events.js","sourceRoot":"","sources":["../src/analytics-events.ts"],"names":[],"mappings":"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"}
@@ -6,7 +6,8 @@ import { sendAnalyticsEvents } from '../analytics-events.js';
6
6
 
7
7
  const { STOREFRONT_BASE_DIR } = process.env;
8
8
  const baseDir = STOREFRONT_BASE_DIR || process.cwd();
9
- const { assetsPrefix } = config.get().settingsContent;
9
+ const { settingsContent } = config.get();
10
+ const { assetsPrefix } = settingsContent;
10
11
  let imagesManifest;
11
12
  const builtImages = [];
12
13
  const staticFilepaths = [];
@@ -132,6 +133,16 @@ export default async (req, res) => {
132
133
  return;
133
134
  }
134
135
  }
136
+ if (req.path === '/_logo' || req.path === '/_icon') {
137
+ const field = req.path.slice(2);
138
+ res.set('Cache-Control', 'max-age=300');
139
+ if (settingsContent[field]) {
140
+ res.redirect(302, settingsContent[field]);
141
+ } else {
142
+ res.sendStatus(404);
143
+ }
144
+ return;
145
+ }
135
146
  if (req.path === '/_image') {
136
147
  const { href } = req.query;
137
148
  if (typeof href === 'string' && href.length > 3) {
@@ -162,7 +173,9 @@ export default async (req, res) => {
162
173
  && filename === _builtImage.filename.replace(filenameRegExp, '');
163
174
  });
164
175
  if (builtImage) {
165
- return res.redirect(301, `/_astro/${builtImage.filename}`);
176
+ return res
177
+ .set('Cache-Control', 'max-age=60')
178
+ .redirect(301, `/_astro/${builtImage.filename}`);
166
179
  }
167
180
  return res.redirect(302, href);
168
181
  })();
@@ -198,7 +211,7 @@ export default async (req, res) => {
198
211
  res.send('Event(s) must be sent via the `{ events }` array in the request body');
199
212
  return;
200
213
  }
201
- sendAnalyticsEvents({ url, events }, { ...req.body, ip: req.ip });
214
+ await sendAnalyticsEvents({ url, events }, { ...req.body, ip: req.ip });
202
215
  res.sendStatus(204);
203
216
  return;
204
217
  }
@@ -1 +1 @@
1
- {"version":3,"file":"serve-storefront.js","sourceRoot":"","sources":["../../src/firebase/serve-storefront.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"serve-storefront.js","sourceRoot":"","sources":["../../src/firebase/serve-storefront.ts"],"names":[],"mappings":"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"}