cloudcommerce 2.4.3 → 2.5.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 (79) hide show
  1. package/.github/workflows/test-apps.yml +2 -2
  2. package/CHANGELOG.md +26 -0
  3. package/action.yml +3 -3
  4. package/ecomplus-stores/barradoce/functions/many/package.json +3 -3
  5. package/ecomplus-stores/barradoce/functions/ssr/package.json +10 -8
  6. package/ecomplus-stores/barradoce/functions/ssr/src/components/Pagination.vue +4 -7
  7. package/ecomplus-stores/barradoce/functions/ssr/src/components/ProductDetails.vue +1 -1
  8. package/ecomplus-stores/barradoce/functions/ssr/src/layouts/PageHeader.astro +5 -4
  9. package/ecomplus-stores/barradoce/functions/ssr/src/main/content/Hero.astro +1 -1
  10. package/ecomplus-stores/barradoce/functions/ssr/src/main/content/Sections.astro +10 -7
  11. package/ecomplus-stores/barradoce/functions/ssr/src/pages/admin/index.astro +2 -0
  12. package/ecomplus-stores/barradoce/functions/with-apps/package.json +3 -3
  13. package/ecomplus-stores/barradoce/package.json +2 -2
  14. package/package.json +10 -10
  15. package/packages/api/package.json +1 -1
  16. package/packages/apps/affiliate-program/package.json +1 -1
  17. package/packages/apps/correios/package.json +2 -2
  18. package/packages/apps/custom-payment/package.json +1 -1
  19. package/packages/apps/custom-shipping/package.json +1 -1
  20. package/packages/apps/datafrete/package.json +1 -1
  21. package/packages/apps/discounts/package.json +1 -1
  22. package/packages/apps/emails/package.json +1 -1
  23. package/packages/apps/fb-conversions/package.json +1 -1
  24. package/packages/apps/flash-courier/package.json +1 -1
  25. package/packages/apps/frenet/package.json +1 -1
  26. package/packages/apps/galaxpay/package.json +1 -1
  27. package/packages/apps/google-analytics/package.json +1 -1
  28. package/packages/apps/jadlog/package.json +1 -1
  29. package/packages/apps/loyalty-points/package.json +1 -1
  30. package/packages/apps/mandae/package.json +1 -1
  31. package/packages/apps/melhor-envio/package.json +1 -1
  32. package/packages/apps/mercadopago/package.json +1 -1
  33. package/packages/apps/pagarme/package.json +1 -1
  34. package/packages/apps/pagarme-v5/package.json +1 -1
  35. package/packages/apps/paghiper/package.json +1 -1
  36. package/packages/apps/pix/package.json +1 -1
  37. package/packages/apps/tiny-erp/package.json +1 -1
  38. package/packages/apps/webhooks/package.json +1 -1
  39. package/packages/cli/ci/bunny-prepare-ab.sh +4 -4
  40. package/packages/cli/package.json +2 -2
  41. package/packages/config/package.json +1 -1
  42. package/packages/emails/package.json +1 -1
  43. package/packages/eslint/package.json +3 -3
  44. package/packages/events/package.json +1 -1
  45. package/packages/feeds/package.json +1 -1
  46. package/packages/firebase/package.json +3 -3
  47. package/packages/i18n/package.json +1 -1
  48. package/packages/modules/package.json +1 -1
  49. package/packages/passport/package.json +1 -1
  50. package/packages/ssr/lib/lib/serve-storefront.js +1 -1
  51. package/packages/ssr/lib/lib/serve-storefront.js.map +1 -1
  52. package/packages/ssr/package.json +3 -3
  53. package/packages/ssr/src/lib/serve-storefront.ts +2 -2
  54. package/packages/storefront/astro.config.mjs +5 -1
  55. package/packages/storefront/client.d.ts +3 -0
  56. package/packages/storefront/config/astro/client-sf-directive.mjs +97 -0
  57. package/packages/storefront/config/astro/index.d.ts +9 -2
  58. package/packages/storefront/config/storefront.cms.js +3 -3
  59. package/packages/storefront/package.json +8 -9
  60. package/packages/storefront/src/decap-cms/create-preview-component.ts +135 -0
  61. package/packages/storefront/src/decap-cms/get-cms-config.ts +320 -12
  62. package/packages/storefront/src/lib/assets/decap-cms.css +81 -0
  63. package/packages/storefront/src/lib/components/Drawer.vue +8 -13
  64. package/packages/storefront/src/lib/components/QuantitySelector.vue +4 -9
  65. package/packages/storefront/src/lib/composables/use-pitch-bar.ts +3 -9
  66. package/packages/storefront/src/lib/composables/use-product-shelf.ts +4 -1
  67. package/packages/storefront/src/lib/content.d.ts +19 -4
  68. package/packages/storefront/src/lib/layouts/BaseBody.astro +0 -13
  69. package/packages/storefront/src/lib/layouts/BaseHead.astro +1 -1
  70. package/packages/storefront/src/lib/scripts/decap-cms.ts +36 -28
  71. package/packages/storefront/src/lib/ssr-context.ts +35 -11
  72. package/packages/storefront/src/lib/state/use-cms-preview.ts +88 -27
  73. package/packages/test-base/package.json +1 -1
  74. package/packages/types/package.json +1 -1
  75. package/packages/storefront/config/astro/context-directive.mjs +0 -46
  76. package/packages/storefront/src/decap-cms/gen-preview-container.ts +0 -51
  77. package/packages/storefront/src/decap-cms/preview/ssr-package.ts +0 -14160
  78. package/packages/storefront/src/decap-cms/preview/webcontainer.ts +0 -108
  79. package/packages/storefront/src/lib/pages/admin.astro +0 -0
@@ -104,11 +104,11 @@ jobs:
104
104
  ${{ steps.npm-paths.outputs.LIB_PATH }}
105
105
  ${{ steps.npm-paths.outputs.BIN_PATH }}
106
106
  ~/.npm-global/bin
107
- key: ${{ runner.os }}-npm-globals-firebase-tools-13.1.0
107
+ key: ${{ runner.os }}-npm-globals-firebase-tools-13.3.0
108
108
 
109
109
  - if: steps.npm-g-cache.outputs.cache-hit != 'true'
110
110
  shell: bash
111
- run: npm install -g firebase-tools@13.1.0
111
+ run: npm install -g firebase-tools@13.3.0
112
112
 
113
113
  - name: Initialize Firebase emulators
114
114
  shell: bash
package/CHANGELOG.md CHANGED
@@ -2,6 +2,32 @@
2
2
 
3
3
  All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines.
4
4
 
5
+ ### [2.5.1](https://github.com/ecomplus/cloud-commerce/compare/v2.5.0...v2.5.1) (2024-02-19)
6
+
7
+
8
+ ### Bug Fixes
9
+
10
+ * **storefront:** Removing version debug at all ([2615483](https://github.com/ecomplus/cloud-commerce/commit/261548384b6914de432403c7711a8b325ee1999d))
11
+
12
+ ## [2.5.0](https://github.com/ecomplus/cloud-commerce/compare/v2.4.3...v2.5.0) (2024-02-19)
13
+
14
+
15
+ ### Features
16
+
17
+ * **storefront:** Handling SSR preview content on URL params and live preview with post messages ([a3978f5](https://github.com/ecomplus/cloud-commerce/commit/a3978f5df9c3804b429b165737902c36e6fa89d6)), closes [#320](https://github.com/ecomplus/cloud-commerce/issues/320)
18
+ * **storefront:** New `assets/decap-cms.css` optional customizations for Decap CMS [[#320](https://github.com/ecomplus/cloud-commerce/issues/320)] ([1f4e2c5](https://github.com/ecomplus/cloud-commerce/commit/1f4e2c597309fe176c807c0472141e507f1ec773))
19
+ * **storefront:** New `client:sf` Astro directive with lazy, load, eager, interaction strategies ([a12f985](https://github.com/ecomplus/cloud-commerce/commit/a12f985be796faf0cf7ce58c2a942582975ec900))
20
+ * **storefront:** New `useSectionPreview` to abstract live content on page sections ([e6ebb12](https://github.com/ecomplus/cloud-commerce/commit/e6ebb12301106c22781faedeedd1dc6508cbdafd))
21
+
22
+
23
+ ### Bug Fixes
24
+
25
+ * **ssr:** Prevent error with undefined (unset) headers on custom `writeHead` middleware ([d3343fd](https://github.com/ecomplus/cloud-commerce/commit/d3343fd0828084fe3cfbefa83a0640e60a9235f0))
26
+ * **storefront:** Bump Astro to latest v4.3.7 and Vue v3.4.19 ([bb4b3b8](https://github.com/ecomplus/cloud-commerce/commit/bb4b3b81e7418963c6317ffe62d53a63ef836cc5))
27
+ * **storefront:** Bump Astro to latest v4.4.0 ([eae97f6](https://github.com/ecomplus/cloud-commerce/commit/eae97f67a36be4b18d158d168ca3af645cb90f53))
28
+ * **storefront:** Set `layout` content customizations inside `custom` prop for better type inference ([067e817](https://github.com/ecomplus/cloud-commerce/commit/067e8172739a36d82e48c12c2d246e881a74f874))
29
+ * **storefront:** Update experimental `useCmsPreview` with field, subfield declaration ([76a86ca](https://github.com/ecomplus/cloud-commerce/commit/76a86ca91339d52a8064e000638065d578d2b1d2))
30
+
5
31
  ### [2.4.3](https://github.com/ecomplus/cloud-commerce/compare/v2.4.2...v2.4.3) (2024-02-13)
6
32
 
7
33
 
package/action.yml CHANGED
@@ -138,14 +138,14 @@ runs:
138
138
  ${{ steps.npm-paths.outputs.LIB_PATH }}
139
139
  ${{ steps.npm-paths.outputs.BIN_PATH }}
140
140
  ~/.npm-global/bin
141
- key: ${{ runner.os }}-npm-g-firebase-tools-13.1.0
141
+ key: ${{ runner.os }}-npm-g-firebase-tools-13.3.0
142
142
 
143
143
  - if: github.event_name == 'push' && steps.npm-g-cache.outputs.cache-hit != 'true'
144
144
  shell: bash
145
- run: npm i --location=global firebase-tools@13.1.0
145
+ run: npm i --location=global firebase-tools@13.3.0
146
146
 
147
147
  - if: github.event_name == 'push'
148
- uses: dorny/paths-filter@v3.0.0
148
+ uses: dorny/paths-filter@v3.0.1
149
149
  id: changes
150
150
  with:
151
151
  filters: |
@@ -15,8 +15,8 @@
15
15
  },
16
16
  "main": "index.js",
17
17
  "dependencies": {
18
- "@cloudcommerce/feeds": "^2.4.2",
19
- "@cloudcommerce/firebase": "^2.4.2",
20
- "@cloudcommerce/passport": "^2.4.2"
18
+ "@cloudcommerce/feeds": "^2.5.0",
19
+ "@cloudcommerce/firebase": "^2.5.0",
20
+ "@cloudcommerce/passport": "^2.5.0"
21
21
  }
22
22
  }
@@ -4,9 +4,10 @@
4
4
  "type": "module",
5
5
  "scripts": {
6
6
  "dev": "astro dev",
7
+ "dev-with-cms": "npx concurrently \"npm:dev\" \"GIT_REPO_DIRECTORY=../.. npx decap-server\"",
7
8
  "build": "bash scripts/build.sh",
8
9
  "build:static": "BUILD_OUTPUT=static astro build",
9
- "serve": "firebase emulators:start --only functions",
10
+ "serve": "firebase emulators:start --only functions:ssr,hosting",
10
11
  "shell": "firebase functions:shell",
11
12
  "start": "npm run shell",
12
13
  "deploy": "firebase deploy --only functions",
@@ -18,15 +19,16 @@
18
19
  },
19
20
  "main": "index.js",
20
21
  "dependencies": {
21
- "@cloudcommerce/api": "^2.4.2",
22
- "@cloudcommerce/firebase": "^2.4.2",
23
- "@cloudcommerce/ssr": "^2.4.2",
24
- "@headlessui/vue": "^1.7.18"
22
+ "@cloudcommerce/api": "^2.5.0",
23
+ "@cloudcommerce/firebase": "^2.5.0",
24
+ "@cloudcommerce/ssr": "^2.5.0",
25
+ "@headlessui/vue": "^1.7.18",
26
+ "micromark": "^4.0.0"
25
27
  },
26
28
  "devDependencies": {
27
- "@cloudcommerce/i18n": "^2.4.2",
28
- "@cloudcommerce/storefront": "^2.4.2",
29
- "@cloudcommerce/types": "^2.4.2",
29
+ "@cloudcommerce/i18n": "^2.5.0",
30
+ "@cloudcommerce/storefront": "^2.5.0",
31
+ "@cloudcommerce/types": "^2.5.0",
30
32
  "@iconify-json/mingcute": "^1.1.16",
31
33
  "photoswipe": "^5.4.3"
32
34
  }
@@ -4,7 +4,7 @@
4
4
  <li>
5
5
  <ALink
6
6
  :href="prevPageLink"
7
- @click.prevent="prevPageLink && emit('update:page', page - 1)"
7
+ @click.prevent="prevPageLink && (page = page - 1)"
8
8
  class="mr-1 block min-w-9 rounded border px-3"
9
9
  :class="prevPageLink
10
10
  ? 'border-base-100 hover:bg-base-100'
@@ -17,7 +17,7 @@
17
17
  <li v-for="(pageN, i) in pages" :key="pageN">
18
18
  <ALink
19
19
  :href="pageN !== page ? pageLinks[i] : null"
20
- @click.prevent="emit('update:page', pageN)"
20
+ @click.prevent="page = pageN"
21
21
  class="block w-9 rounded border ring-black/10"
22
22
  :class="pageN === page
23
23
  ? 'bg-base-50 border-base-100 ring text-base-700'
@@ -29,7 +29,7 @@
29
29
  <li>
30
30
  <ALink
31
31
  :href="nextPageLink"
32
- @click.prevent="nextPageLink && emit('update:page', page + 1)"
32
+ @click.prevent="nextPageLink && (page = page + 1)"
33
33
  class="ml-1 block min-w-9 rounded border px-3"
34
34
  :class="nextPageLink
35
35
  ? 'border-base-100 hover:bg-base-100'
@@ -51,13 +51,10 @@ import {
51
51
  export interface Props extends UsePaginationProps {}
52
52
 
53
53
  const props = withDefaults(defineProps<Props>(), {
54
- page: 1,
55
54
  maxPages: 7,
56
55
  isUrlPath: false,
57
56
  });
58
- const emit = defineEmits<{
59
- 'update:page': [value: number]
60
- }>();
57
+ const page = defineModel<number>('page', { default: 1 });
61
58
  const {
62
59
  pages,
63
60
  pageLinks,
@@ -118,6 +118,6 @@ const checkVariation = (ev?: Event) => {
118
118
  };
119
119
  const addToCart = () => {
120
120
  if (!checkVariation()) return;
121
- addProductToCart(product, variationId.value ? variationId.value : undefined);
121
+ addProductToCart(product, variationId.value || undefined, quantity.value);
122
122
  };
123
123
  </script>
@@ -6,7 +6,7 @@ import PitchBar from '~/components/PitchBar.vue';
6
6
  import ShopHeader from '~/components/ShopHeader.vue';
7
7
 
8
8
  const { routeContext } = Astro.locals;
9
- const { settings, isHomepage } = routeContext;
9
+ const { settings, isHomepage, isPreview } = routeContext;
10
10
  const LogoHeading = isHomepage ? 'h1' : 'h2';
11
11
  const {
12
12
  pitchBar,
@@ -16,11 +16,12 @@ const { getInlineClientJS } = await useSharedData({ field: 'categories' });
16
16
  ---
17
17
 
18
18
  <slot name="pitch-bar">
19
- {pitchBar.slides.length > 1 && <PitchBar {...pitchBar} client:idle />}
20
- {pitchBar.slides.length === 1 && <PitchBar {...pitchBar} />}
19
+ {(pitchBar.slides.length > 1 || isPreview)
20
+ ? <PitchBar {...pitchBar} client:sf="lazy" />
21
+ : <PitchBar {...pitchBar} />}
21
22
  </slot>
22
23
  <script async is:inline set:html={getInlineClientJS()} />
23
- <ShopHeader {...shopHeader} client:context="data:categories">
24
+ <ShopHeader {...shopHeader} client:sf="data:categories">
24
25
  <Fragment slot="logo">
25
26
  <a href="/" class="inline-block">
26
27
  <LogoHeading class="inline-block">
@@ -9,7 +9,7 @@ const heroSlides = heroSlider.slides;
9
9
  ---
10
10
 
11
11
  {heroSlider.slides.length > 0 && <>
12
- <HeroSlider {...heroSlider} client:idle>
12
+ <HeroSlider {...heroSlider} client:sf="lazy">
13
13
  {heroSlides[0] && <BannerPictures
14
14
  slot="picture-0" {...heroSlides[0]} index={0}
15
15
  widths={[640, 856, 1024, 1536]} class="max-w-screen-sm sm:max-w-screen-lg" />}
@@ -27,14 +27,17 @@ cause route resource is required to define sections from content. */
27
27
 
28
28
  <article class="mb-9 mt-6 md:mb-12 md:mt-8">
29
29
  {sections.map(async ({ type, props }, index) => {
30
+ if (cmsContent?.$filename) {
31
+ props.cmsPreview = {
32
+ contentFilename: cmsContent.$filename,
33
+ sectionIndex: index,
34
+ };
35
+ }
30
36
  switch (type) {
31
37
  case 'product-shelf':
32
- return index === 0 || (index < 2 && !cmsContent?.hero?.slides.length)
33
- ? <ProductShelf {...props} client:idle />
34
- : <ProductShelf {...props} client:visible />;
35
38
  case 'related-products':
36
- props.isRelatedProducts = true;
37
- return <ProductShelf {...props} client:visible />;
39
+ props.isRelatedProducts = type === 'related-products';
40
+ return <ProductShelf {...props} client:sf="lazy,interaction" />;
38
41
  case 'banners-grid':
39
42
  return <BannersGrid {...props} />;
40
43
  case 'breadcrumbs':
@@ -46,7 +49,7 @@ cause route resource is required to define sections from content. */
46
49
  case 'product-details':
47
50
  const { hasDescription, hasSpecifications, ...detailsProps } = props;
48
51
  return <>
49
- <ProductDetails {...detailsProps} client:context>
52
+ <ProductDetails {...detailsProps} client:sf="load">
50
53
  <Fragment slot="description">
51
54
  {hasDescription && <DocDescription />}
52
55
  {hasSpecifications && <ProductSpecifications />}
@@ -57,7 +60,7 @@ cause route resource is required to define sections from content. */
57
60
  case 'context-showcase':
58
61
  return <>
59
62
  <article class="min-h-[500px]">
60
- <SearchShowcase {...props} client:context />
63
+ <SearchShowcase {...props} client:sf="load" />
61
64
  </article>
62
65
  </>;
63
66
  case 'page-title':
@@ -1,6 +1,7 @@
1
1
  ---
2
2
  import { type RouteContext, loadRouteContext } from '@@sf/ssr-context';
3
3
  import BaseHead from '@@sf/layouts/BaseHead.astro';
4
+ import cmsCustomCss from '@@sf/assets/decap-cms.css?inline';
4
5
  import Base from '~/layouts/Base.astro';
5
6
 
6
7
  let routeContext: RouteContext;
@@ -17,6 +18,7 @@ try {
17
18
  <Fragment slot="base-head">
18
19
  <BaseHead />
19
20
  <title>CMS</title>
21
+ <style is:inline set:html={cmsCustomCss} />
20
22
  </Fragment>
21
23
  <script src="@@sf/scripts/decap-cms"></script>
22
24
  </Base>
@@ -15,8 +15,8 @@
15
15
  },
16
16
  "main": "index.js",
17
17
  "dependencies": {
18
- "@cloudcommerce/events": "^2.4.2",
19
- "@cloudcommerce/firebase": "^2.4.2",
20
- "@cloudcommerce/modules": "^2.4.2"
18
+ "@cloudcommerce/events": "^2.5.0",
19
+ "@cloudcommerce/firebase": "^2.5.0",
20
+ "@cloudcommerce/modules": "^2.5.0"
21
21
  }
22
22
  }
@@ -26,10 +26,10 @@
26
26
  "url": "https://github.com/ecomplus/cloud-commerce/issues"
27
27
  },
28
28
  "dependencies": {
29
- "@cloudcommerce/cli": "^2.4.2"
29
+ "@cloudcommerce/cli": "^2.5.0"
30
30
  },
31
31
  "devDependencies": {
32
- "@cloudcommerce/eslint": "^2.4.2",
32
+ "@cloudcommerce/eslint": "^2.5.0",
33
33
  "husky": "^9.0.10",
34
34
  "lint-staged": "^15.2.2"
35
35
  }
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "cloudcommerce",
3
3
  "type": "module",
4
- "version": "2.4.3",
4
+ "version": "2.5.1",
5
5
  "description": "Open fair-code headless commerce platform: API-first, microservices based, event driven and cloud native",
6
6
  "main": "packages/api/lib/index.js",
7
7
  "author": "E-Com Club Softwares para E-commerce <ti@e-com.club>",
@@ -20,23 +20,23 @@
20
20
  "packages/!(storefront)/**/*.ts": "eslint --fix"
21
21
  },
22
22
  "devDependencies": {
23
- "@commitlint/cli": "^18.6.0",
24
- "@commitlint/config-conventional": "^18.6.0",
25
- "@commitlint/rules": "^18.6.0",
26
- "@types/node": "^18.19.15",
27
- "dotenv": "^16.4.2",
23
+ "@commitlint/cli": "^18.6.1",
24
+ "@commitlint/config-conventional": "^18.6.2",
25
+ "@commitlint/rules": "^18.6.1",
26
+ "@types/node": "^18.19.17",
27
+ "dotenv": "^16.4.4",
28
28
  "eslint": "^8.56.0",
29
- "husky": "^9.0.10",
29
+ "husky": "^9.0.11",
30
30
  "lint-staged": "^15.2.2",
31
31
  "standard-version": "^9.5.0",
32
32
  "ts-node": "^10.9.2",
33
- "turbo": "^1.12.3",
33
+ "turbo": "^1.12.4",
34
34
  "typescript": "~5.2.2",
35
35
  "uglify-js": "^3.17.4",
36
36
  "vite": "^5.0.11",
37
- "vitest": "^1.2.2",
37
+ "vitest": "^1.3.0",
38
38
  "zx": "^7.2.3",
39
- "@cloudcommerce/eslint": "2.4.3"
39
+ "@cloudcommerce/eslint": "2.5.1"
40
40
  },
41
41
  "scripts": {
42
42
  "fix-install": "bash scripts/pre-install.sh && pnpm i",
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@cloudcommerce/api",
3
3
  "type": "module",
4
- "version": "2.4.3",
4
+ "version": "2.5.1",
5
5
  "description": "E-Com Plus Cloud Commerce APIs client/adapter",
6
6
  "main": "lib/api.js",
7
7
  "types": "lib/api.d.ts",
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@cloudcommerce/app-affiliate-program",
3
3
  "type": "module",
4
- "version": "2.4.3",
4
+ "version": "2.5.1",
5
5
  "description": "E-Com Plus Cloud Commerce app for simple affiliate program",
6
6
  "main": "lib/index.js",
7
7
  "repository": {
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@cloudcommerce/app-correios",
3
3
  "type": "module",
4
- "version": "2.4.3",
4
+ "version": "2.5.1",
5
5
  "description": "E-Com Plus Cloud Commerce app for Correios shipping calculation",
6
6
  "main": "lib/index.js",
7
7
  "exports": {
@@ -26,7 +26,7 @@
26
26
  "dependencies": {
27
27
  "@cloudcommerce/api": "workspace:*",
28
28
  "@cloudcommerce/firebase": "workspace:*",
29
- "@google-cloud/pubsub": "^4.3.1",
29
+ "@google-cloud/pubsub": "^4.3.2",
30
30
  "axios": "^1.6.7",
31
31
  "firebase-admin": "^12.0.0",
32
32
  "firebase-functions": "^4.7.0"
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@cloudcommerce/app-custom-payment",
3
3
  "type": "module",
4
- "version": "2.4.3",
4
+ "version": "2.5.1",
5
5
  "description": "E-Com Plus Cloud Commerce app for simple custom payment methods",
6
6
  "main": "lib/index.js",
7
7
  "repository": {
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@cloudcommerce/app-custom-shipping",
3
3
  "type": "module",
4
- "version": "2.4.3",
4
+ "version": "2.5.1",
5
5
  "description": "E-Com Plus Cloud Commerce app for custom shipping methods",
6
6
  "main": "lib/custom-shipping.js",
7
7
  "repository": {
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@cloudcommerce/app-datafrete",
3
3
  "type": "module",
4
- "version": "2.4.3",
4
+ "version": "2.5.1",
5
5
  "description": "E-Com Plus Cloud Commerce app to integrate Datafrete shipping gateway ",
6
6
  "main": "lib/datafrete.js",
7
7
  "exports": {
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@cloudcommerce/app-discounts",
3
3
  "type": "module",
4
- "version": "2.4.3",
4
+ "version": "2.5.1",
5
5
  "description": "E-Com Plus Cloud Commerce app for complex discount rules",
6
6
  "main": "lib/discounts.js",
7
7
  "repository": {
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@cloudcommerce/app-emails",
3
3
  "type": "module",
4
- "version": "2.4.3",
4
+ "version": "2.5.1",
5
5
  "description": "E-Com Plus Cloud Commerce default transactional email app",
6
6
  "main": "lib/index.js",
7
7
  "repository": {
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@cloudcommerce/app-fb-conversions",
3
3
  "type": "module",
4
- "version": "2.4.3",
4
+ "version": "2.5.1",
5
5
  "description": "E-Com Plus Cloud Commerce app to send carts/orders to Facebook Conversions API",
6
6
  "main": "lib/index.js",
7
7
  "repository": {
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@cloudcommerce/app-flash-courier",
3
3
  "type": "module",
4
- "version": "2.4.3",
4
+ "version": "2.5.1",
5
5
  "description": "E-Com Plus Cloud Commerce app to integrate Flash Courier",
6
6
  "main": "lib/index.js",
7
7
  "exports": {
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@cloudcommerce/app-frenet",
3
3
  "type": "module",
4
- "version": "2.4.3",
4
+ "version": "2.5.1",
5
5
  "description": "E-Com Plus Cloud Commerce app for Frenet shipping calculation",
6
6
  "main": "lib/frenet.js",
7
7
  "exports": {
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@cloudcommerce/app-galaxpay",
3
3
  "type": "module",
4
- "version": "2.4.3",
4
+ "version": "2.5.1",
5
5
  "description": "E-Com Plus Cloud Commerce app to integrate Galax Pay for recurring payments",
6
6
  "main": "lib/galaxpay.js",
7
7
  "exports": {
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@cloudcommerce/app-google-analytics",
3
3
  "type": "module",
4
- "version": "2.4.3",
4
+ "version": "2.5.1",
5
5
  "description": "E-Com Plus Cloud Commerce app to send carts/orders events to GA Measurement Protocol",
6
6
  "main": "lib/index.js",
7
7
  "repository": {
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@cloudcommerce/app-jadlog",
3
3
  "type": "module",
4
- "version": "2.4.3",
4
+ "version": "2.5.1",
5
5
  "description": "E-Com Plus Cloud Commerce app for Jadlog shipping calculation",
6
6
  "main": "lib/index.js",
7
7
  "repository": {
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@cloudcommerce/app-loyalty-points",
3
3
  "type": "module",
4
- "version": "2.4.3",
4
+ "version": "2.5.1",
5
5
  "description": "E-Com Plus Cloud Commerce app to handle simple loyalty points programs",
6
6
  "main": "lib/loyalty-points.js",
7
7
  "exports": {
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@cloudcommerce/app-mandae",
3
3
  "type": "module",
4
- "version": "2.4.3",
4
+ "version": "2.5.1",
5
5
  "description": "E-Com Plus Cloud Commerce app to integrate Mandaê shipping intermediator",
6
6
  "main": "lib/index.js",
7
7
  "repository": {
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@cloudcommerce/app-melhor-envio",
3
3
  "type": "module",
4
- "version": "2.4.3",
4
+ "version": "2.5.1",
5
5
  "description": "E-Com Plus Cloud Commerce app to integrate Melhor Envio",
6
6
  "main": "lib/index.js",
7
7
  "exports": {
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@cloudcommerce/app-mercadopago",
3
3
  "type": "module",
4
- "version": "2.4.3",
4
+ "version": "2.5.1",
5
5
  "description": "E-Com Plus Cloud Commerce app to integrate Mercado Pago",
6
6
  "main": "lib/mercadopago.js",
7
7
  "exports": {
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@cloudcommerce/app-pagarme",
3
3
  "type": "module",
4
- "version": "2.4.3",
4
+ "version": "2.5.1",
5
5
  "description": "E-Com Plus Cloud Commerce app to integrate Pagar.me",
6
6
  "main": "lib/pagarme.js",
7
7
  "exports": {
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@cloudcommerce/app-pagarme-v5",
3
3
  "type": "module",
4
- "version": "2.4.3",
4
+ "version": "2.5.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": {
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@cloudcommerce/app-paghiper",
3
3
  "type": "module",
4
- "version": "2.4.3",
4
+ "version": "2.5.1",
5
5
  "description": "E-Com Plus Cloud Commerce app to integrate PagHiper",
6
6
  "main": "lib/paghiper.js",
7
7
  "exports": {
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@cloudcommerce/app-pix",
3
3
  "type": "module",
4
- "version": "2.4.3",
4
+ "version": "2.5.1",
5
5
  "description": "E-Com Plus Cloud Commerce app to integrate Pix API (Bacen)",
6
6
  "main": "lib/pix.js",
7
7
  "exports": {
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@cloudcommerce/app-tiny-erp",
3
3
  "type": "module",
4
- "version": "2.4.3",
4
+ "version": "2.5.1",
5
5
  "description": "E-Com Plus Cloud Commerce app for Tiny ERP",
6
6
  "main": "lib/tiny-erp.js",
7
7
  "repository": {
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@cloudcommerce/app-webhooks",
3
3
  "type": "module",
4
- "version": "2.4.3",
4
+ "version": "2.5.1",
5
5
  "description": "E-Com Plus Cloud Commerce app for general order webhooks",
6
6
  "main": "lib/index.js",
7
7
  "repository": {
@@ -115,10 +115,10 @@ ab_testing_data="
115
115
  \"Enabled\": true
116
116
  }"
117
117
 
118
- ab_testing_bypass_data="
118
+ ab_testing_ttl_data="
119
119
  {
120
120
  \"ActionType\": 3,
121
- \"ActionParameter1\": \"0\",
121
+ \"ActionParameter1\": \"120\",
122
122
  \"ActionParameter2\": \"\",
123
123
  \"Triggers\": [
124
124
  {
@@ -131,7 +131,7 @@ ab_testing_bypass_data="
131
131
  }
132
132
  ],
133
133
  \"TriggerMatchingType\": 1,
134
- \"Description\": \"A/B CDN cache bypass [$GIT_BRANCH]\",
134
+ \"Description\": \"A/B CDN short cache [$GIT_BRANCH]\",
135
135
  \"Enabled\": true
136
136
  }"
137
137
 
@@ -156,7 +156,7 @@ ab_testing_perma_bypass_data="
156
156
  }"
157
157
 
158
158
  configure_edge_rule "A/B testing [$GIT_BRANCH]" "$ab_testing_data"
159
- configure_edge_rule "A/B CDN cache bypass [$GIT_BRANCH]" "$ab_testing_bypass_data"
159
+ configure_edge_rule "A/B CDN short cache [$GIT_BRANCH]" "$ab_testing_ttl_data"
160
160
  configure_edge_rule "A/B perma-cache bypass [$GIT_BRANCH]" "$ab_testing_perma_bypass_data"
161
161
 
162
162
  curl --silent --request POST \
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@cloudcommerce/cli",
3
3
  "type": "module",
4
- "version": "2.4.3",
4
+ "version": "2.5.1",
5
5
  "description": "E-Com Plus Cloud Commerce CLI tools",
6
6
  "bin": {
7
7
  "cloudcommerce": "./bin/run.mjs"
@@ -28,7 +28,7 @@
28
28
  "dependencies": {
29
29
  "@cloudcommerce/api": "workspace:*",
30
30
  "@fastify/deepmerge": "^1.3.0",
31
- "dotenv": "^16.4.2",
31
+ "dotenv": "^16.4.4",
32
32
  "libsodium-wrappers": "^0.7.13",
33
33
  "md5": "^2.3.0",
34
34
  "typescript": "~5.2.2",