@faststore/core 3.44.0 → 3.44.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.
- package/.next/BUILD_ID +1 -1
- package/.next/build-manifest.json +15 -15
- package/.next/cache/.tsbuildinfo +1 -1
- package/.next/cache/config.json +3 -3
- package/.next/cache/webpack/client-production/0.pack +0 -0
- package/.next/cache/webpack/client-production/index.pack +0 -0
- package/.next/cache/webpack/server-production/0.pack +0 -0
- package/.next/cache/webpack/server-production/index.pack +0 -0
- package/.next/prerender-manifest.js +1 -1
- package/.next/prerender-manifest.json +1 -1
- package/.next/routes-manifest.json +1 -1
- package/.next/server/chunks/3675.js +1 -1
- package/.next/server/chunks/3979.js +1 -0
- package/.next/server/chunks/4559.js +1 -1
- package/.next/server/chunks/6968.js +1 -1
- package/.next/server/middleware-build-manifest.js +1 -1
- package/.next/server/pages/404.js.nft.json +1 -1
- package/.next/server/pages/500.js.nft.json +1 -1
- package/.next/server/pages/[...slug].js.nft.json +1 -1
- package/.next/server/pages/[slug]/p.js.nft.json +1 -1
- package/.next/server/pages/_app.js.nft.json +1 -1
- package/.next/server/pages/_document.js.nft.json +1 -1
- package/.next/server/pages/_error.js.nft.json +1 -1
- package/.next/server/pages/account/profile.js.nft.json +1 -1
- package/.next/server/pages/account.js.nft.json +1 -1
- package/.next/server/pages/api/graphql.js +1 -1
- package/.next/server/pages/api/graphql.js.nft.json +1 -1
- package/.next/server/pages/api/health/live.js.nft.json +1 -1
- package/.next/server/pages/api/health/ready.js.nft.json +1 -1
- package/.next/server/pages/api/preview.js.nft.json +1 -1
- package/.next/server/pages/checkout.js.nft.json +1 -1
- package/.next/server/pages/en-US/404.html +2 -2
- package/.next/server/pages/en-US/500.html +2 -2
- package/.next/server/pages/en-US/checkout.html +2 -2
- package/.next/server/pages/en-US/login.html +2 -2
- package/.next/server/pages/en-US/s.html +2 -2
- package/.next/server/pages/en-US.html +2 -2
- package/.next/server/pages/index.js.nft.json +1 -1
- package/.next/server/pages/login.js.nft.json +1 -1
- package/.next/server/pages/s.js.nft.json +1 -1
- package/.next/static/chunks/3675.b6f0a3644a7802fe.js +1 -0
- package/.next/static/chunks/3979.485ff5351a2504d8.js +1 -0
- package/.next/static/chunks/pages/{_app-929466ed763a6d46.js → _app-d5641120092ee13b.js} +1 -1
- package/.next/static/chunks/{webpack-c2eed1e0b727b3ee.js → webpack-11f8d9f83a4d695c.js} +1 -1
- package/.next/trace +112 -113
- package/.turbo/turbo-build.log +9 -9
- package/.turbo/turbo-test.log +5 -5
- package/CHANGELOG.md +6 -0
- package/package.json +2 -2
- package/src/sdk/analytics/platform/vtex/search.ts +2 -4
- package/.next/server/chunks/3358.js +0 -1
- package/.next/static/chunks/3358.02de0bb531c6487a.js +0 -1
- package/.next/static/chunks/3675.e8cad32e70cf3d3c.js +0 -1
- package/src/utils/getBaseDomain.ts +0 -50
- /package/.next/static/{U_9W0qMyv_4RQSLFdrtHC → f3BfFJ3uIpcQCIGQ6fQQ4}/_buildManifest.js +0 -0
- /package/.next/static/{U_9W0qMyv_4RQSLFdrtHC → f3BfFJ3uIpcQCIGQ6fQQ4}/_ssgManifest.js +0 -0
package/.turbo/turbo-build.log
CHANGED
|
@@ -1,23 +1,23 @@
|
|
|
1
1
|
|
|
2
|
-
> @faststore/core@3.
|
|
2
|
+
> @faststore/core@3.44.0 prebuild /home/runner/work/faststore/faststore/packages/core
|
|
3
3
|
> na run partytown && na run generate
|
|
4
4
|
|
|
5
5
|
|
|
6
|
-
> @faststore/core@3.
|
|
6
|
+
> @faststore/core@3.44.0 partytown /home/runner/work/faststore/faststore/packages/core
|
|
7
7
|
> partytown copylib ./public/~partytown
|
|
8
8
|
|
|
9
9
|
Partytown lib copied to: /home/runner/work/faststore/faststore/packages/core/public/~partytown
|
|
10
10
|
|
|
11
|
-
> @faststore/core@3.
|
|
11
|
+
> @faststore/core@3.44.0 generate /home/runner/work/faststore/faststore/packages/core
|
|
12
12
|
> na run generate:schema && na run generate:codegen && na run format:generated
|
|
13
13
|
|
|
14
14
|
|
|
15
|
-
> @faststore/core@3.
|
|
15
|
+
> @faststore/core@3.44.0 generate:schema /home/runner/work/faststore/faststore/packages/core
|
|
16
16
|
> tsx src/server/generator/generateGraphQLSchemaFile.ts
|
|
17
17
|
|
|
18
18
|
Schema GraphQL file generated successfully
|
|
19
19
|
|
|
20
|
-
> @faststore/core@3.
|
|
20
|
+
> @faststore/core@3.44.0 generate:codegen /home/runner/work/faststore/faststore/packages/core
|
|
21
21
|
> graphql-codegen
|
|
22
22
|
|
|
23
23
|
[STARTED] Parse Configuration
|
|
@@ -37,11 +37,11 @@ Running lifecycle hook "afterStart" scripts...
|
|
|
37
37
|
[CLI] Loading Documents
|
|
38
38
|
[CLI] Generating output
|
|
39
39
|
|
|
40
|
-
> @faststore/core@3.
|
|
40
|
+
> @faststore/core@3.44.0 format:generated /home/runner/work/faststore/faststore/packages/core
|
|
41
41
|
> prettier --write "@generated/**/*.{ts,js,tsx,jsx,json}" --loglevel error
|
|
42
42
|
|
|
43
43
|
|
|
44
|
-
> @faststore/core@3.
|
|
44
|
+
> @faststore/core@3.44.0 build /home/runner/work/faststore/faststore/packages/core
|
|
45
45
|
> next build
|
|
46
46
|
|
|
47
47
|
⚠ No build cache found. Please configure build caching for faster rebuilds. Read more: https://nextjs.org/docs/messages/no-cache
|
|
@@ -90,8 +90,8 @@ Route (pages) Size First Load JS
|
|
|
90
90
|
+ First Load JS shared by all 102 kB
|
|
91
91
|
├ chunks/framework-807b0f81cbc129f0.js 45.4 kB
|
|
92
92
|
├ chunks/main-5569625b3fdd6741.js 33.1 kB
|
|
93
|
-
├ chunks/pages/_app-
|
|
94
|
-
├ chunks/webpack-
|
|
93
|
+
├ chunks/pages/_app-d5641120092ee13b.js 16.2 kB
|
|
94
|
+
├ chunks/webpack-11f8d9f83a4d695c.js 3.67 kB
|
|
95
95
|
└ css/0a57ee6c7a57788c.css 3.49 kB
|
|
96
96
|
|
|
97
97
|
λ (Server) server-side renders at runtime (uses getInitialProps or getServerSideProps)
|
package/.turbo/turbo-test.log
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
|
|
2
|
-
> @faststore/core@3.
|
|
2
|
+
> @faststore/core@3.44.0 test /home/runner/work/faststore/faststore/packages/core
|
|
3
3
|
> jest
|
|
4
4
|
|
|
5
|
-
PASS test/server/cms/global.test.ts (
|
|
6
|
-
PASS test/utils/multipleTemplates.test.ts (24.
|
|
5
|
+
PASS test/server/cms/global.test.ts (24.229 s)
|
|
6
|
+
PASS test/utils/multipleTemplates.test.ts (24.784 s)
|
|
7
7
|
PASS test/server/cms/index.test.ts
|
|
8
|
-
PASS test/server/index.test.ts (
|
|
8
|
+
PASS test/server/index.test.ts (29.106 s)
|
|
9
9
|
|
|
10
10
|
Test Suites: 4 passed, 4 total
|
|
11
11
|
Tests: 22 passed, 22 total
|
|
12
12
|
Snapshots: 0 total
|
|
13
|
-
Time: 30.
|
|
13
|
+
Time: 30.384 s
|
|
14
14
|
Ran all test suites.
|
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,12 @@
|
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
|
4
4
|
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
|
5
5
|
|
|
6
|
+
## [3.44.1](https://github.com/vtex/faststore/compare/v3.44.0...v3.44.1) (2025-05-13)
|
|
7
|
+
|
|
8
|
+
### Bug Fixes
|
|
9
|
+
|
|
10
|
+
- Revert "fix: Sets domain search cookies" ([#2840](https://github.com/vtex/faststore/issues/2840)) ([44ae6bf](https://github.com/vtex/faststore/commit/44ae6bff88b5113c75faae466286b435b0d0ff5b)), closes [vtex/faststore#2811](https://github.com/vtex/faststore/issues/2811)
|
|
11
|
+
|
|
6
12
|
# [3.44.0](https://github.com/vtex/faststore/compare/v3.43.0...v3.44.0) (2025-05-13)
|
|
7
13
|
|
|
8
14
|
### Features
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@faststore/core",
|
|
3
|
-
"version": "3.44.
|
|
3
|
+
"version": "3.44.1",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"repository": "vtex/faststore",
|
|
6
6
|
"browserslist": "supports es6-module and not dead",
|
|
@@ -106,5 +106,5 @@
|
|
|
106
106
|
"ts-jest": "29.1.1",
|
|
107
107
|
"typescript": "5.3.2"
|
|
108
108
|
},
|
|
109
|
-
"gitHead": "
|
|
109
|
+
"gitHead": "783095fca4ad01b1c9eacf41119767a35411c2ed"
|
|
110
110
|
}
|
|
@@ -4,9 +4,8 @@
|
|
|
4
4
|
import type { AnalyticsEvent } from '@faststore/sdk'
|
|
5
5
|
import type { SearchEvents } from '../../types'
|
|
6
6
|
|
|
7
|
-
import { getBaseDomain } from 'src/utils/getBaseDomain'
|
|
8
|
-
import { getCookie } from 'src/utils/getCookie'
|
|
9
7
|
import config from '../../../../../discovery.config'
|
|
8
|
+
import { getCookie } from '../../../../utils/getCookie'
|
|
10
9
|
|
|
11
10
|
const THIRTY_MINUTES_S = 30 * 60
|
|
12
11
|
const ONE_YEAR_S = 365 * 24 * 3600
|
|
@@ -22,8 +21,7 @@ const createOrRefreshCookie = (key: string, expiresSecond: number) => {
|
|
|
22
21
|
const urlDomain =
|
|
23
22
|
process.env.NODE_ENV === 'development'
|
|
24
23
|
? '.localhost'
|
|
25
|
-
:
|
|
26
|
-
`.${new URL(config.storeUrl).hostname}`
|
|
24
|
+
: `.${new URL(config.storeUrl).hostname}`
|
|
27
25
|
|
|
28
26
|
return () => {
|
|
29
27
|
let currentValue = getCookie(key)
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";exports.id=3358,exports.ids=[3358],exports.modules={73358:(e,t,r)=>{r.r(t),r.d(t,{default:()=>search});var a=r(11506),o=r.n(a);let getBaseDomain=e=>{let t=e.map(e=>{try{let t=new URL(e).hostname,r=o().api.subDomainPrefix||[],a=RegExp(`^(${["www",...r].join("|")})\\.`);return t.replace(a,"")}catch{return""}}),r=t.map(e=>e.split(".").reverse()),a=Math.min(...r.map(e=>e.length)),s=[];for(let e=0;e<a;e++){let t=new Set(r.map(t=>t[e]));if(1===t.size)s.push(r[0][e]);else break}if(s.length<2){let t=`No common domain found for URLs: ${e.join(", ")}`;return console.warn(`${t}. Please check the Production URLs in the discovery.config file.`),""}return"."+s.reverse().join(".")};function ownKeys(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,a)}return r}function _objectSpread(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?ownKeys(Object(r),!0).forEach(function(t){var a;a=r[t],t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):ownKeys(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}let randomUUID=()=>"function"==typeof crypto.randomUUID?crypto.randomUUID().replaceAll("-",""):(1e6*Math.random()).toFixed(0),createOrRefreshCookie=(e,t)=>{let r=getBaseDomain([o().storeUrl,o().secureSubdomain])||`.${new URL(o().storeUrl).hostname}`;return()=>{let a=function(e){let t=decodeURIComponent(document.cookie),r=t.split(";");for(let t of r){let[r,a]=t.trim().split("=");if(r===e)return a}}(e),o=void 0===a;return o&&(a=randomUUID()),document.cookie=`${e}=${a}; max-age=${t}; domain=${r}; path=/;`,a}},s={anonymous:createOrRefreshCookie("vtex-search-anonymous",31536e3),session:createOrRefreshCookie("vtex-search-session",1800)},sendEvent=e=>fetch(`https://sp.vtex.com/event-api/v1/${o().api.storeId}/event`,{method:"POST",body:JSON.stringify(_objectSpread(_objectSpread({},e),{},{userAgent:navigator.userAgent,anonymous:s.anonymous(),session:s.session()})),headers:{"content-type":"application/json"}}),isFullTextSearch=e=>"string"==typeof e.searchParams.get("q")&&/^\/s(\/)?$/g.test(e.pathname);setInterval(()=>sendEvent({type:"session.ping"}),6e4);let search=e=>{switch(e.name){case"search_select_item":{let t=new URL(e.params.url);if(!isFullTextSearch(t))return;for(let r of e.params.items??[]){let e=r.item_id??r.item_variant,a=r.index;e&&a&&sendEvent({type:"search.click",productId:e,position:a,url:t.href,text:t.searchParams.get("q")??"<empty>"})}break}case"intelligent_search_query":sendEvent({type:"search.query",url:e.params.url,text:e.params.term,misspelled:e.params.isTermMisspelled,match:e.params.totalCount,operator:e.params.logicalOperator,locale:e.params.locale});break;case"intelligent_search_autocomplete_query":sendEvent({type:"search.autocomplete.query",url:e.params.url,text:e.params.term,misspelled:e.params.isTermMisspelled,match:e.params.totalCount,operator:e.params.logicalOperator,locale:e.params.locale});break;case"intelligent_search_autocomplete_click":sendEvent(_objectSpread(_objectSpread({text:e.params.term,url:e.params.url??"",productId:e.params.productId??""},e.params.position&&{position:e.params.position}),{},{type:"search.autocomplete.click"}))}}}};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[3358],{3358:function(e,r,t){t.r(r),t.d(r,{default:function(){return search}});var a=t(4424),o=t(1506),n=t.n(o),getBaseDomain=e=>{for(var r=e.map(e=>{try{var r=new URL(e).hostname,t=n().api.subDomainPrefix||[],a=new RegExp("^(".concat(["www",...t].join("|"),")\\."));return r.replace(a,"")}catch(e){return""}}).map(e=>e.split(".").reverse()),t=Math.min(...r.map(e=>e.length)),a=[],_loop=function(e){if(1!==new Set(r.map(r=>r[e])).size)return"break";a.push(r[0][e])},o=0;o<t&&"break"!==_loop(o);o++);if(a.length<2){var s="No common domain found for URLs: ".concat(e.join(", "));return console.warn("".concat(s,". Please check the Production URLs in the discovery.config file.")),""}return"."+a.reverse().join(".")};function ownKeys(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);r&&(a=a.filter(function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable})),t.push.apply(t,a)}return t}function _objectSpread(e){for(var r=1;r<arguments.length;r++){var t=null!=arguments[r]?arguments[r]:{};r%2?ownKeys(Object(t),!0).forEach(function(r){(0,a.Z)(e,r,t[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):ownKeys(Object(t)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))})}return e}var randomUUID=()=>"function"==typeof crypto.randomUUID?crypto.randomUUID().replaceAll("-",""):(1e6*Math.random()).toFixed(0),createOrRefreshCookie=(e,r)=>{var t=getBaseDomain([n().storeUrl,n().secureSubdomain])||".".concat(new URL(n().storeUrl).hostname);return()=>{var a=function(e){for(var r of decodeURIComponent(document.cookie).split(";")){var[t,a]=r.trim().split("=");if(t===e)return a}}(e);return void 0===a&&(a=randomUUID()),document.cookie="".concat(e,"=").concat(a,"; max-age=").concat(r,"; domain=").concat(t,"; path=/;"),a}},s={anonymous:createOrRefreshCookie("vtex-search-anonymous",31536e3),session:createOrRefreshCookie("vtex-search-session",1800)},sendEvent=e=>fetch("https://sp.vtex.com/event-api/v1/".concat(n().api.storeId,"/event"),{method:"POST",body:JSON.stringify(_objectSpread(_objectSpread({},e),{},{userAgent:navigator.userAgent,anonymous:s.anonymous(),session:s.session()})),headers:{"content-type":"application/json"}}),isFullTextSearch=e=>"string"==typeof e.searchParams.get("q")&&/^\/s(\/)?$/g.test(e.pathname);setInterval(()=>sendEvent({type:"session.ping"}),6e4);var search=e=>{switch(e.name){case"search_select_item":var r,t,a=new URL(e.params.url);if(!isFullTextSearch(a))return;for(var o of null!==(n=e.params.items)&&void 0!==n?n:[]){var n,s,c,i=null!==(s=o.item_id)&&void 0!==s?s:o.item_variant,p=o.index;i&&p&&sendEvent({type:"search.click",productId:i,position:p,url:a.href,text:null!==(c=a.searchParams.get("q"))&&void 0!==c?c:"<empty>"})}break;case"intelligent_search_query":sendEvent({type:"search.query",url:e.params.url,text:e.params.term,misspelled:e.params.isTermMisspelled,match:e.params.totalCount,operator:e.params.logicalOperator,locale:e.params.locale});break;case"intelligent_search_autocomplete_query":sendEvent({type:"search.autocomplete.query",url:e.params.url,text:e.params.term,misspelled:e.params.isTermMisspelled,match:e.params.totalCount,operator:e.params.logicalOperator,locale:e.params.locale});break;case"intelligent_search_autocomplete_click":sendEvent(_objectSpread(_objectSpread({text:e.params.term,url:null!==(r=e.params.url)&&void 0!==r?r:"",productId:null!==(t=e.params.productId)&&void 0!==t?t:""},e.params.position&&{position:e.params.position}),{},{type:"search.autocomplete.click"}))}}}}]);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[3675,5146,3358],{3675:function(e,t,r){r.r(t),r.d(t,{default:function(){return sendEvent}});var o=r(5146),a=r(3358);function sendEvent(e){(0,o.default)(e),(0,a.default)(e)}},5146:function(e,t,r){r.r(t);var o={OTHER_VIEW:"otherView",HOME_VIEW:"homeView",CATEGORY_VIEW:"categoryView",DEPARTMENT_VIEW:"departmentView",INTERNAL_SITE_SEARCH_VIEW:"internalSiteSearchView",PRODUCT_VIEW:"productView"},sendEvent=(e,t)=>{var r,o;null===(r=window)||void 0===r||null===(o=r.sendrc)||void 0===o||o.call(r,e,t)};t.default=e=>{switch(e.name){case"page_view":switch(null!==(t=null===(r=I=e.params)||void 0===r?void 0:null===(a=r.page)||void 0===a?void 0:a.type)&&void 0!==t?t:null===(n=I)||void 0===n?void 0:n.type){case"plp":if(!(null!==(i=I)&&void 0!==i&&null!==(l=i.page_location)&&void 0!==l&&l.includes("fuzzy")))break;var t,r,a,n,i,l,s,c,d,u,p,v,m,h,f,E,y,_,b,g,O,w,I,k,S,R,P=null===(s=I)||void 0===s?void 0:null===(c=s.data)||void 0===c?void 0:c.collection,j=null==P?void 0:null===(d=P.breadcrumbList)||void 0===d?void 0:d.itemListElement;j.length>1?sendEvent(o.CATEGORY_VIEW,{departmentName:null===(k=j[0])||void 0===k?void 0:k.name,categoryId:null==P?void 0:P.id,categoryName:null===(S=j[j.length-1])||void 0===S?void 0:S.name}):sendEvent(o.DEPARTMENT_VIEW,{departmentId:null==P?void 0:P.id,departmentName:null===(R=j[0])||void 0===R?void 0:R.name});break;case"pdp":var T=null===(u=I)||void 0===u?void 0:null===(p=u.data)||void 0===p?void 0:p.product,V=null==T?void 0:null===(v=T.breadcrumbList)||void 0===v?void 0:v.itemListElement,D=null==T?void 0:null===(m=T.offers)||void 0===m?void 0:m.offers,U=D.map(e=>e.seller.identifier),N=D.filter(e=>"https://schema.org/OutOfStock"===e.availability);sendEvent(o.PRODUCT_VIEW,{skuStockOutFromProductDetail:N,productId:null==T?void 0:null===(h=T.isVariantOf)||void 0===h?void 0:h.productGroupID,productName:null==T?void 0:null===(f=T.isVariantOf)||void 0===f?void 0:f.name,productBrandName:null==T?void 0:null===(E=T.brand)||void 0===E?void 0:E.name,productDepartmentName:V?null===(y=V[0])||void 0===y?void 0:y.name:"",productCategoryName:V.length>1?null===(_=V[V.length-2])||void 0===_?void 0:_.name:"",productPrice:null===(b=D[0])||void 0===b?void 0:b.price,productListPrice:null===(g=D[0])||void 0===g?void 0:g.listPrice,sellerId:null===(O=D[0])||void 0===O?void 0:null===(w=O.seller)||void 0===w?void 0:w.identifier,sellerIds:U.join(",")});break;case"home":sendEvent(o.HOME_VIEW,{});break;case"search":break;default:sendEvent(o.OTHER_VIEW,{})}break;case"intelligent_search_query":I=e.params,sendEvent(o.INTERNAL_SITE_SEARCH_VIEW,{siteSearchTerm:I.term,siteSearchForm:I.url,siteSearchResults:I.totalCount})}}},3358:function(e,t,r){r.r(t),r.d(t,{default:function(){return search}});var o=r(4424),a=r(1506),n=r.n(a),getBaseDomain=e=>{for(var t=e.map(e=>{try{var t=new URL(e).hostname,r=n().api.subDomainPrefix||[],o=new RegExp("^(".concat(["www",...r].join("|"),")\\."));return t.replace(o,"")}catch(e){return""}}).map(e=>e.split(".").reverse()),r=Math.min(...t.map(e=>e.length)),o=[],_loop=function(e){if(1!==new Set(t.map(t=>t[e])).size)return"break";o.push(t[0][e])},a=0;a<r&&"break"!==_loop(a);a++);if(o.length<2){var i="No common domain found for URLs: ".concat(e.join(", "));return console.warn("".concat(i,". Please check the Production URLs in the discovery.config file.")),""}return"."+o.reverse().join(".")};function ownKeys(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,o)}return r}function _objectSpread(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?ownKeys(Object(r),!0).forEach(function(t){(0,o.Z)(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):ownKeys(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}var randomUUID=()=>"function"==typeof crypto.randomUUID?crypto.randomUUID().replaceAll("-",""):(1e6*Math.random()).toFixed(0),createOrRefreshCookie=(e,t)=>{var r=getBaseDomain([n().storeUrl,n().secureSubdomain])||".".concat(new URL(n().storeUrl).hostname);return()=>{var o=function(e){for(var t of decodeURIComponent(document.cookie).split(";")){var[r,o]=t.trim().split("=");if(r===e)return o}}(e);return void 0===o&&(o=randomUUID()),document.cookie="".concat(e,"=").concat(o,"; max-age=").concat(t,"; domain=").concat(r,"; path=/;"),o}},i={anonymous:createOrRefreshCookie("vtex-search-anonymous",31536e3),session:createOrRefreshCookie("vtex-search-session",1800)},sendEvent=e=>fetch("https://sp.vtex.com/event-api/v1/".concat(n().api.storeId,"/event"),{method:"POST",body:JSON.stringify(_objectSpread(_objectSpread({},e),{},{userAgent:navigator.userAgent,anonymous:i.anonymous(),session:i.session()})),headers:{"content-type":"application/json"}}),isFullTextSearch=e=>"string"==typeof e.searchParams.get("q")&&/^\/s(\/)?$/g.test(e.pathname);setInterval(()=>sendEvent({type:"session.ping"}),6e4);var search=e=>{switch(e.name){case"search_select_item":var t,r,o=new URL(e.params.url);if(!isFullTextSearch(o))return;for(var a of null!==(n=e.params.items)&&void 0!==n?n:[]){var n,i,l,s=null!==(i=a.item_id)&&void 0!==i?i:a.item_variant,c=a.index;s&&c&&sendEvent({type:"search.click",productId:s,position:c,url:o.href,text:null!==(l=o.searchParams.get("q"))&&void 0!==l?l:"<empty>"})}break;case"intelligent_search_query":sendEvent({type:"search.query",url:e.params.url,text:e.params.term,misspelled:e.params.isTermMisspelled,match:e.params.totalCount,operator:e.params.logicalOperator,locale:e.params.locale});break;case"intelligent_search_autocomplete_query":sendEvent({type:"search.autocomplete.query",url:e.params.url,text:e.params.term,misspelled:e.params.isTermMisspelled,match:e.params.totalCount,operator:e.params.logicalOperator,locale:e.params.locale});break;case"intelligent_search_autocomplete_click":sendEvent(_objectSpread(_objectSpread({text:e.params.term,url:null!==(t=e.params.url)&&void 0!==t?t:"",productId:null!==(r=e.params.productId)&&void 0!==r?r:""},e.params.position&&{position:e.params.position}),{},{type:"search.autocomplete.click"}))}}}}]);
|
|
@@ -1,50 +0,0 @@
|
|
|
1
|
-
import config from '../../discovery.config'
|
|
2
|
-
|
|
3
|
-
export const getBaseDomain = (urls: string[]) => {
|
|
4
|
-
const extractHostname = (url: string) => {
|
|
5
|
-
try {
|
|
6
|
-
const hostname = new URL(url).hostname
|
|
7
|
-
const subDomainPrefixes = config.api.subDomainPrefix || []
|
|
8
|
-
|
|
9
|
-
// Remove subdomain prefixes
|
|
10
|
-
// e.g. 'www.', 'shop.', 'loja.' from the hostname
|
|
11
|
-
const prefixRegex = new RegExp(
|
|
12
|
-
`^(${['www', ...subDomainPrefixes].join('|')})\\.`
|
|
13
|
-
)
|
|
14
|
-
|
|
15
|
-
return hostname.replace(prefixRegex, '')
|
|
16
|
-
} catch {
|
|
17
|
-
return ''
|
|
18
|
-
}
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
const hostnames = urls.map(extractHostname)
|
|
22
|
-
|
|
23
|
-
// Find common parts
|
|
24
|
-
const splitHostnames = hostnames.map((hostname) =>
|
|
25
|
-
hostname.split('.').reverse()
|
|
26
|
-
)
|
|
27
|
-
|
|
28
|
-
const minLength = Math.min(...splitHostnames.map((parts) => parts.length))
|
|
29
|
-
|
|
30
|
-
const commonParts = []
|
|
31
|
-
for (let i = 0; i < minLength; i++) {
|
|
32
|
-
const partSet = new Set(splitHostnames.map((parts) => parts[i]))
|
|
33
|
-
if (partSet.size === 1) {
|
|
34
|
-
commonParts.push(splitHostnames[0][i])
|
|
35
|
-
} else {
|
|
36
|
-
break
|
|
37
|
-
}
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
if (commonParts.length < 2) {
|
|
41
|
-
// If we cannot find at least domain + tld, fallback to ''
|
|
42
|
-
const err = `No common domain found for URLs: ${urls.join(', ')}`
|
|
43
|
-
console.warn(
|
|
44
|
-
`${err}. Please check the Production URLs in the discovery.config file.`
|
|
45
|
-
)
|
|
46
|
-
return ''
|
|
47
|
-
}
|
|
48
|
-
|
|
49
|
-
return '.' + commonParts.reverse().join('.')
|
|
50
|
-
}
|
|
File without changes
|
|
File without changes
|