@faststore/core 3.11.2 → 3.11.4

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 (185) hide show
  1. package/.next/BUILD_ID +1 -1
  2. package/.next/build-manifest.json +36 -36
  3. package/.next/cache/.tsbuildinfo +1 -1
  4. package/.next/cache/config.json +3 -3
  5. package/.next/cache/webpack/client-production/0.pack +0 -0
  6. package/.next/cache/webpack/client-production/index.pack +0 -0
  7. package/.next/cache/webpack/server-production/0.pack +0 -0
  8. package/.next/cache/webpack/server-production/index.pack +0 -0
  9. package/.next/next-minimal-server.js.nft.json +1 -1
  10. package/.next/next-server.js.nft.json +1 -1
  11. package/.next/prerender-manifest.js +1 -1
  12. package/.next/prerender-manifest.json +1 -1
  13. package/.next/react-loadable-manifest.json +13 -13
  14. package/.next/required-server-files.json +1 -1
  15. package/.next/routes-manifest.json +1 -1
  16. package/.next/server/chunks/1163.js +2 -2
  17. package/.next/server/chunks/3157.js +1 -1
  18. package/.next/server/chunks/{1377.js → 3668.js} +1 -1
  19. package/.next/server/chunks/4012.js +1 -1
  20. package/.next/server/chunks/5754.js +2 -2
  21. package/.next/server/chunks/6859.js +1 -1
  22. package/.next/server/chunks/8640.js +1 -1
  23. package/.next/server/chunks/8857.js +1 -1
  24. package/.next/server/middleware-build-manifest.js +1 -1
  25. package/.next/server/middleware-react-loadable-manifest.js +1 -1
  26. package/.next/server/pages/404.js +1 -1
  27. package/.next/server/pages/404.js.nft.json +1 -1
  28. package/.next/server/pages/500.js +1 -1
  29. package/.next/server/pages/500.js.nft.json +1 -1
  30. package/.next/server/pages/[...slug].js +1 -1
  31. package/.next/server/pages/[...slug].js.nft.json +1 -1
  32. package/.next/server/pages/[slug]/p.js +1 -1
  33. package/.next/server/pages/[slug]/p.js.nft.json +1 -1
  34. package/.next/server/pages/_app.js +1 -1
  35. package/.next/server/pages/_app.js.nft.json +1 -1
  36. package/.next/server/pages/_document.js +1 -1
  37. package/.next/server/pages/_document.js.nft.json +1 -1
  38. package/.next/server/pages/_error.js +1 -1
  39. package/.next/server/pages/_error.js.nft.json +1 -1
  40. package/.next/server/pages/account.js +1 -1
  41. package/.next/server/pages/account.js.nft.json +1 -1
  42. package/.next/server/pages/api/graphql.js +1 -1
  43. package/.next/server/pages/api/graphql.js.nft.json +1 -1
  44. package/.next/server/pages/api/health/live.js.nft.json +1 -1
  45. package/.next/server/pages/api/health/ready.js.nft.json +1 -1
  46. package/.next/server/pages/api/preview.js.nft.json +1 -1
  47. package/.next/server/pages/checkout.js +1 -1
  48. package/.next/server/pages/checkout.js.nft.json +1 -1
  49. package/.next/server/pages/en-US/404.html +1 -1
  50. package/.next/server/pages/en-US/500.html +1 -1
  51. package/.next/server/pages/en-US/account.html +1 -1
  52. package/.next/server/pages/en-US/checkout.html +1 -1
  53. package/.next/server/pages/en-US/login.html +1 -1
  54. package/.next/server/pages/en-US/s.html +1 -1
  55. package/.next/server/pages/en-US.html +1 -1
  56. package/.next/server/pages/index.js +1 -1
  57. package/.next/server/pages/index.js.nft.json +1 -1
  58. package/.next/server/pages/login.js +1 -1
  59. package/.next/server/pages/login.js.nft.json +1 -1
  60. package/.next/server/pages/s.js +1 -1
  61. package/.next/server/pages/s.js.nft.json +1 -1
  62. package/.next/server/pages-manifest.json +1 -1
  63. package/.next/static/{bYvT7j3s1L8_ALPlSxNjt → FO1Q-M-kedNdmpX1S3tkc}/_buildManifest.js +1 -1
  64. package/.next/static/chunks/{1153.d7522522b6c917ed.js → 1153.7f616071da309cf5.js} +1 -1
  65. package/.next/static/chunks/1978.8bdcdd4ec5c7ac88.js +1 -0
  66. package/.next/static/chunks/{5156.fe20405ee7a0d2d5.js → 5156.d1a2bac5ee6f64ac.js} +1 -1
  67. package/.next/static/chunks/{5217.350e250227ef3657.js → 5217.2c285832cd2bb950.js} +1 -1
  68. package/.next/static/chunks/{6941-6223429b182b7109.js → 6941-691e0f68baf2036e.js} +2 -2
  69. package/.next/static/chunks/7498-745c09c46899ea49.js +1 -0
  70. package/.next/static/chunks/{8857.0ff8f6604fb061a8.js → 8857.141d2a4640c89f4a.js} +1 -1
  71. package/.next/static/chunks/{main-209ac4974b020af1.js → main-48d1188fa94dad34.js} +1 -1
  72. package/.next/static/chunks/pages/{_app-91d65e1abd88251d.js → _app-e0cf85dd2f4d858c.js} +1 -1
  73. package/.next/static/chunks/pages/{_error-85cabf0d7a5ea2f2.js → _error-6a4b9b22c63bd9d7.js} +1 -1
  74. package/.next/static/chunks/{webpack-a63f842ae0d7bdfd.js → webpack-ed53dd91aa26df33.js} +1 -1
  75. package/.next/trace +102 -102
  76. package/.turbo/turbo-build.log +8 -7
  77. package/.turbo/turbo-test.log +5 -5
  78. package/CHANGELOG.md +8 -0
  79. package/README.md +0 -3
  80. package/codegen.ts +1 -1
  81. package/cypress/integration/a11y.test.js +0 -1
  82. package/cypress/integration/analytics.test.js +0 -1
  83. package/cypress/integration/cart.test.js +0 -1
  84. package/cypress/integration/plp.test.js +0 -1
  85. package/cypress/integration/search.test.js +0 -1
  86. package/cypress/integration/seo.test.js +0 -1
  87. package/cypress/plugins/index.js +0 -3
  88. package/cypress/support/commands.js +0 -1
  89. package/discovery.config.default.js +1 -1
  90. package/next-seo.config.ts +1 -1
  91. package/next.config.js +3 -0
  92. package/package.json +9 -11
  93. package/src/components/auth/ProfileChallenge/ProfileChallenge.tsx +1 -1
  94. package/src/components/cart/CartSidebar/CartSidebar.tsx +1 -1
  95. package/src/components/cart/OrderSummary/OrderSummary.tsx +1 -1
  96. package/src/components/cms/GlobalSections.tsx +2 -2
  97. package/src/components/cms/RenderSections.tsx +4 -4
  98. package/src/components/cms/SectionBoundary.tsx +1 -1
  99. package/src/components/cms/global/Components.ts +1 -1
  100. package/src/components/cms/home/Components.ts +1 -1
  101. package/src/components/cms/plp/Components.ts +1 -1
  102. package/src/components/cms/search/Components.ts +1 -1
  103. package/src/components/common/Alert/Alert.tsx +1 -1
  104. package/src/components/common/Footer/Footer.tsx +1 -1
  105. package/src/components/product/NotAvailableButton/NotAvailableButton.tsx +1 -1
  106. package/src/components/product/ProductCard/ProductCard.tsx +1 -1
  107. package/src/components/product/ProductGrid/ProductGrid.tsx +1 -1
  108. package/src/components/region/RegionModal/RegionModal.tsx +1 -1
  109. package/src/components/search/Filter/FilterDesktop.tsx +1 -1
  110. package/src/components/search/SearchDropdown/SearchDropdown.tsx +2 -2
  111. package/src/components/search/SearchInput/SearchInput.tsx +1 -1
  112. package/src/components/search/SearchTop/SearchTop.tsx +1 -1
  113. package/src/components/sections/BannerText/BannerText.tsx +1 -1
  114. package/src/components/sections/Breadcrumb/Breadcrumb.tsx +4 -4
  115. package/src/components/sections/Hero/Hero.tsx +2 -2
  116. package/src/components/sections/Newsletter/Newsletter.tsx +1 -1
  117. package/src/components/sections/ProductGallery/ProductGallery.tsx +5 -5
  118. package/src/components/sections/ProductShelf/ProductShelf.tsx +1 -1
  119. package/src/components/sections/RegionBar/RegionBar.tsx +3 -1
  120. package/src/components/templates/ProductListingPage/ProductListing.tsx +2 -2
  121. package/src/components/templates/SearchPage/SearchPage.tsx +5 -3
  122. package/src/components/ui/Image/Image.tsx +1 -1
  123. package/src/components/ui/Image/loader.ts +1 -1
  124. package/src/components/ui/Link/Link.tsx +1 -1
  125. package/src/components/ui/ProductGallery/ProductGallery.tsx +5 -5
  126. package/src/components/ui/ProductGallery/ProductGalleryPage.tsx +1 -1
  127. package/src/components/ui/ShippingSimulation/ShippingSimulation.tsx +1 -1
  128. package/src/components/ui/SkuSelector/Selectors.tsx +2 -2
  129. package/src/customizations/src/components/index.tsx +0 -1
  130. package/src/customizations/src/components/overrides/Alert.tsx +1 -1
  131. package/src/customizations/src/components/overrides/BannerText.tsx +1 -1
  132. package/src/customizations/src/components/overrides/Breadcrumb.tsx +1 -1
  133. package/src/customizations/src/components/overrides/CrossSellingShelf.tsx +1 -1
  134. package/src/customizations/src/components/overrides/EmptyState.tsx +1 -1
  135. package/src/customizations/src/components/overrides/Hero.tsx +1 -1
  136. package/src/customizations/src/components/overrides/Navbar.tsx +1 -1
  137. package/src/customizations/src/components/overrides/Newsletter.tsx +1 -1
  138. package/src/customizations/src/components/overrides/ProductDetails.tsx +1 -1
  139. package/src/customizations/src/components/overrides/ProductGallery.tsx +1 -1
  140. package/src/customizations/src/components/overrides/ProductShelf.tsx +1 -1
  141. package/src/customizations/src/components/overrides/RegionBar.tsx +1 -1
  142. package/src/experimental/searchServerSideFunctions/getServerSideProps.ts +4 -4
  143. package/src/experimental/searchServerSideFunctions/getStaticProps.ts +4 -4
  144. package/src/fonts/WebFonts.tsx +0 -2
  145. package/src/pages/404.tsx +4 -4
  146. package/src/pages/500.tsx +4 -4
  147. package/src/pages/[...slug].tsx +6 -6
  148. package/src/pages/[slug]/p.tsx +6 -6
  149. package/src/pages/account.tsx +3 -3
  150. package/src/pages/api/preview.ts +12 -6
  151. package/src/pages/checkout.tsx +3 -3
  152. package/src/pages/index.tsx +1 -1
  153. package/src/pages/login.tsx +4 -4
  154. package/src/pages/s.tsx +1 -1
  155. package/src/plugins/index.ts +0 -1
  156. package/src/sdk/analytics/platform/vtex/rc.ts +3 -3
  157. package/src/sdk/analytics/types.ts +2 -2
  158. package/src/sdk/error/ErrorBoundary/ErrorBoundary.tsx +1 -1
  159. package/src/sdk/error/MissingContentError/MissingContentError.ts +1 -1
  160. package/src/sdk/error/MultipleContentError/MultipleContentError.ts +1 -1
  161. package/src/sdk/graphql/request.ts +2 -2
  162. package/src/sdk/overrides/OverrideContext.tsx +3 -3
  163. package/src/sdk/overrides/PageProvider.tsx +3 -4
  164. package/src/sdk/overrides/getOverriddenSection.tsx +2 -2
  165. package/src/sdk/overrides/overrides.ts +1 -1
  166. package/src/sdk/product/useAllVariantProducts.ts +1 -1
  167. package/src/sdk/product/useLocalizedVariables.ts +1 -1
  168. package/src/sdk/product/usePageProductsQuery.ts +1 -1
  169. package/src/sdk/product/useProductGalleryQuery.ts +1 -1
  170. package/src/sdk/product/useProductsPrefetch.ts +1 -1
  171. package/src/sdk/search/useFilter.ts +10 -7
  172. package/src/sdk/shipping/useShippingSimulation.ts +2 -2
  173. package/src/server/cms/index.ts +1 -1
  174. package/src/server/cms/pdp.ts +2 -2
  175. package/src/server/cms/plp.ts +4 -4
  176. package/src/server/index.ts +4 -5
  177. package/src/typings/global.d.ts +6 -6
  178. package/src/typings/overrides.ts +25 -25
  179. package/src/typings/overridesDefinition.ts +4 -4
  180. package/src/utils/multipleTemplates.ts +3 -3
  181. package/test/server/cms/index.test.ts +1 -1
  182. package/.next/cache/eslint/.cache_1gneedd +0 -1
  183. package/.next/static/chunks/1978.b33d8b2c02b89474.js +0 -1
  184. package/.next/static/chunks/7498-304bc236a51fc94c.js +0 -1
  185. /package/.next/static/{bYvT7j3s1L8_ALPlSxNjt → FO1Q-M-kedNdmpX1S3tkc}/_ssgManifest.js +0 -0
@@ -30,7 +30,8 @@ This information is used to shape Next.js' roadmap and prioritize features.
30
30
  You can learn more, including how to opt-out if you'd not like to participate in this anonymous program, by visiting the following URL:
31
31
  https://nextjs.org/telemetry
32
32
 
33
- Linting and checking validity of types ...
33
+ Skipping linting
34
+ Checking validity of types ...
34
35
  Creating an optimized production build ...
35
36
  Disabled SWC as replacement for Babel because of custom Babel configuration ".babelrc.js" https://nextjs.org/docs/messages/swc-disabled
36
37
  Using external babel configuration from /home/runner/work/faststore/faststore/packages/core/.babelrc.js
@@ -38,8 +39,8 @@ https://nextjs.org/telemetry
38
39
  Collecting page data ...
39
40
  Generating static pages (0/7) ...
40
41
 
41
42
  Generating static pages (1/7)
42
-
43
43
  Generating static pages (3/7)
44
44
  Warning: Dynamic Content not found for the page: home. Refer to the Dynamic Content documentation at https://developers.vtex.com/docs/guides/faststore/dynamic-content-overview for mapping the page and the corresponding data-fetching function.
45
+
45
46
  Generating static pages (3/7)
46
47
 
47
48
  Generating static pages (5/7)
48
49
 
49
50
  ✓ Generating static pages (7/7)
50
51
  Finalizing page optimization ...
@@ -50,7 +51,7 @@ Route (pages) Size First Load JS
50
51
  ├ └ css/b1806cbafd0c1f81.css 3.06 kB
51
52
  ├ /_app 0 B 92 kB
52
53
  ├ ● /[...slug] 2.09 kB 131 kB
53
- ├ ● /[slug]/p 34 kB 153 kB
54
+ ├ ● /[slug]/p 34.1 kB 153 kB
54
55
  ├ ├ css/bf1560439df2c1a1.css 5.66 kB
55
56
  ├ ├ css/e3ff5d95518a5c79.css 6.01 kB
56
57
  ├ └ css/d23b961580181439.css 15.6 kB
@@ -66,13 +67,13 @@ Route (pages) Size First Load JS
66
67
  └ ● /s 2.92 kB 132 kB
67
68
  + First Load JS shared by all 95 kB
68
69
  ├ chunks/framework-12a146e94cfcf7c4.js 45.4 kB
69
- ├ chunks/main-209ac4974b020af1.js 33.1 kB
70
- ├ chunks/pages/_app-91d65e1abd88251d.js 9.97 kB
71
- ├ chunks/webpack-a63f842ae0d7bdfd.js 3.57 kB
70
+ ├ chunks/main-48d1188fa94dad34.js 33.1 kB
71
+ ├ chunks/pages/_app-e0cf85dd2f4d858c.js 9.97 kB
72
+ ├ chunks/webpack-ed53dd91aa26df33.js 3.57 kB
72
73
  └ css/ee0556daedda6306.css 3.07 kB
73
74
 
74
75
  λ (Server) server-side renders at runtime (uses getInitialProps or getServerSideProps)
75
76
  ○ (Static) automatically rendered as static HTML (uses no initial props)
76
77
  ● (SSG) automatically generated as static HTML + JSON (uses getStaticProps)
77
78
 
78
- Done in 70.62s.
79
+ Done in 69.01s.
@@ -1,12 +1,12 @@
1
1
  yarn run v1.22.22
2
2
  $ jest
3
- PASS test/utils/multipleTemplates.test.ts (36.687 s)
4
- PASS test/server/cms/index.test.ts (36.922 s)
5
- PASS test/server/index.test.ts (39.612 s)
3
+ PASS test/utils/multipleTemplates.test.ts (33.571 s)
4
+ PASS test/server/cms/index.test.ts (34.063 s)
5
+ PASS test/server/index.test.ts (38.869 s)
6
6
 
7
7
  Test Suites: 3 passed, 3 total
8
8
  Tests: 19 passed, 19 total
9
9
  Snapshots: 0 total
10
- Time: 40.705 s
10
+ Time: 39.982 s
11
11
  Ran all test suites.
12
- Done in 43.02s.
12
+ Done in 41.52s.
package/CHANGELOG.md CHANGED
@@ -3,6 +3,14 @@
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.11.4](https://github.com/vtex/faststore/compare/v3.11.3...v3.11.4) (2025-01-29)
7
+
8
+ **Note:** Version bump only for package @faststore/core
9
+
10
+ ## [3.11.3](https://github.com/vtex/faststore/compare/v3.11.2...v3.11.3) (2025-01-29)
11
+
12
+ **Note:** Version bump only for package @faststore/core
13
+
6
14
  ## [3.11.2](https://github.com/vtex/faststore/compare/v3.11.1...v3.11.2) (2025-01-29)
7
15
 
8
16
  **Note:** Version bump only for package @faststore/core
package/README.md CHANGED
@@ -51,7 +51,6 @@ A quick look at the top-level files and directories you'll see in a this NextJS
51
51
  ├── .prettierrrc
52
52
  ├── .stylelintignore
53
53
  ├── .gitignore
54
- ├── .eslintignore
55
54
  ├── codegen.ts
56
55
  ├── cypress
57
56
  ├── cypress.config.ts
@@ -98,8 +97,6 @@ A quick look at the top-level files and directories you'll see in a this NextJS
98
97
 
99
98
  13. **`.prettierignore`**: Ignore listed files when applying prettier rules
100
99
 
101
- 14. **`.eslintignore`**: Ignore listed files when applying eslint rules
102
-
103
100
  ## 💻 Code Structure
104
101
 
105
102
  All code is inside the `src` folder. The code is split into folders that implement an MVC-like architecture.
package/codegen.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { type CodegenConfig } from '@graphql-codegen/cli'
1
+ import type { CodegenConfig } from '@graphql-codegen/cli'
2
2
  import { Kind, type DocumentNode } from 'graphql'
3
3
 
4
4
  /* Extracts operationName from queries. Example: ServerProductQuery */
@@ -1,4 +1,3 @@
1
- // eslint-disable-next-line spaced-comment
2
1
  /// <reference types="cypress" />
3
2
  /**
4
3
  * Cypress tests for a11y (accessibility)
@@ -1,4 +1,3 @@
1
- // eslint-disable-next-line spaced-comment
2
1
  /// <reference types="cypress" />
3
2
  /**
4
3
  * Cypress tests for testing the Analytics module
@@ -1,4 +1,3 @@
1
- // eslint-disable-next-line spaced-comment
2
1
  /// <reference types="cypress" />
3
2
  /**
4
3
  * Cypress tests for testing the Cart module
@@ -1,4 +1,3 @@
1
- // eslint-disable-next-line spaced-comment
2
1
  /// <reference types="cypress" />
3
2
  /**
4
3
  * Cypress tests for PLP
@@ -1,4 +1,3 @@
1
- // eslint-disable-next-line spaced-comment
2
1
  /// <reference types="cypress" />
3
2
  /**
4
3
  * Cypress tests for Search Input
@@ -1,4 +1,3 @@
1
- // eslint-disable-next-line spaced-comment
2
1
  /// <reference types="cypress" />
3
2
  /**
4
3
  * Cypress tests for testing Seo tags, like canonicals, index/noindex and structured data
@@ -1,4 +1,3 @@
1
- // eslint-disable-next-line spaced-comment
2
1
  /// <reference types="cypress" />
3
2
  // ***********************************************************
4
3
  // This example plugins/index.js can be used to load plugins
@@ -22,13 +21,11 @@ module.exports = (on, config) => {
22
21
 
23
22
  on('task', {
24
23
  log(message) {
25
- // eslint-disable-next-line no-console
26
24
  console.log(message)
27
25
 
28
26
  return null
29
27
  },
30
28
  table(message) {
31
- // eslint-disable-next-line no-console
32
29
  console.table(message)
33
30
 
34
31
  return null
@@ -41,7 +41,6 @@ function logToTerminal(violations) {
41
41
 
42
42
  Cypress.Commands.overwrite(
43
43
  'checkA11y',
44
- // eslint-disable-next-line max-params
45
44
  (originalFn, context, options, callback) => {
46
45
  return originalFn(context, options, callback ?? logToTerminal)
47
46
  }
@@ -6,7 +6,7 @@ module.exports = {
6
6
  author: 'Store Framework',
7
7
  plp: {
8
8
  titleTemplate: '%s | FastStore PLP',
9
- descriptionTemplate: '%s products on FastStore Product Listing Page'
9
+ descriptionTemplate: '%s products on FastStore Product Listing Page',
10
10
  },
11
11
  search: {
12
12
  titleTemplate: '%s: Search results title',
@@ -1,4 +1,4 @@
1
- import { DefaultSeoProps } from 'next-seo'
1
+ import type { DefaultSeoProps } from 'next-seo'
2
2
  import storeConfig from './discovery.config'
3
3
 
4
4
  const buildTime = new Date().toISOString()
package/next.config.js CHANGED
@@ -65,6 +65,9 @@ const nextConfig = {
65
65
  },
66
66
  redirects: storeConfig.redirects,
67
67
  rewrites: storeConfig.rewrites,
68
+ eslint: {
69
+ ignoreDuringBuilds: true,
70
+ },
68
71
  }
69
72
 
70
73
  module.exports = nextConfig
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@faststore/core",
3
- "version": "3.11.2",
3
+ "version": "3.11.4",
4
4
  "license": "MIT",
5
5
  "repository": "vtex/faststore",
6
6
  "browserslist": "supports es6-module and not dead",
@@ -43,12 +43,12 @@
43
43
  "@envelop/graphql-jit": "^8.0.3",
44
44
  "@envelop/parser-cache": "^6.0.2",
45
45
  "@envelop/validation-cache": "^6.0.2",
46
- "@faststore/api": "^3.9.2",
47
- "@faststore/components": "^3.11.2",
48
- "@faststore/graphql-utils": "^3.9.2",
49
- "@faststore/lighthouse": "^3.9.2",
50
- "@faststore/sdk": "^3.9.2",
51
- "@faststore/ui": "^3.11.2",
46
+ "@faststore/api": "^3.11.4",
47
+ "@faststore/components": "^3.11.4",
48
+ "@faststore/graphql-utils": "^3.11.3",
49
+ "@faststore/lighthouse": "^3.11.3",
50
+ "@faststore/sdk": "^3.11.4",
51
+ "@faststore/ui": "^3.11.4",
52
52
  "@graphql-codegen/cli": "5.0.2",
53
53
  "@graphql-codegen/client-preset": "4.2.6",
54
54
  "@graphql-codegen/typescript": "4.0.7",
@@ -81,13 +81,11 @@
81
81
  "sharp": "^0.32.6",
82
82
  "style-loader": "^3.3.1",
83
83
  "swr": "^1.3.0",
84
- "tsx": "^4.6.2",
85
- "typescript": "4.7.3"
84
+ "tsx": "^4.6.2"
86
85
  },
87
86
  "devDependencies": {
88
87
  "@cypress/code-coverage": "^3.12.1",
89
88
  "@envelop/testing": "^6.0.0",
90
- "@faststore/eslint-config": "^3.9.0",
91
89
  "@lhci/cli": "^0.9.0",
92
90
  "@testing-library/cypress": "^10.0.1",
93
91
  "@types/cypress": "^1.1.3",
@@ -103,5 +101,5 @@
103
101
  "jest": "^29.7.0",
104
102
  "ts-jest": "29.1.1"
105
103
  },
106
- "gitHead": "cc29bc35e13cc355af86de94fa69655e3477b144"
104
+ "gitHead": "12b2c7ae619a3f903e514cfd2dffd7d75cfb0a6d"
107
105
  }
@@ -1,4 +1,4 @@
1
- import { PropsWithChildren, ReactNode } from 'react'
1
+ import type { PropsWithChildren, ReactNode } from 'react'
2
2
  import { useAuth } from 'src/sdk/auth'
3
3
 
4
4
  export type ProfileChallengeProps = {
@@ -7,7 +7,7 @@ import type {
7
7
 
8
8
  import type { CurrencyCode, ViewCartEvent } from '@faststore/sdk'
9
9
  import { Icon, useFadeEffect, useUI } from '@faststore/ui'
10
- import { ReactNode, useCallback, useEffect, useMemo } from 'react'
10
+ import { type ReactNode, useCallback, useEffect, useMemo } from 'react'
11
11
  import { useCart } from 'src/sdk/cart'
12
12
  import { useCheckoutButton } from 'src/sdk/cart/useCheckoutButton'
13
13
  import { useSession } from 'src/sdk/session'
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  OrderSummary as UIOrderSummary,
3
- OrderSummaryProps as UIOrderSummaryProps,
3
+ type OrderSummaryProps as UIOrderSummaryProps,
4
4
  } from '@faststore/ui'
5
5
  import type { ReactNode } from 'react'
6
6
 
@@ -1,6 +1,6 @@
1
- import { Locator, Section } from '@vtex/client-cms'
1
+ import type { Locator, Section } from '@vtex/client-cms'
2
2
  import storeConfig from 'discovery.config'
3
- import { PageContentType, getPage } from 'src/server/cms'
3
+ import { type PageContentType, getPage } from 'src/server/cms'
4
4
 
5
5
  export const GLOBAL_SECTIONS_CONTENT_TYPE = 'globalSections'
6
6
 
@@ -1,13 +1,13 @@
1
1
  import {
2
- ComponentType,
3
- PropsWithChildren,
4
- ReactNode,
2
+ type ComponentType,
3
+ type PropsWithChildren,
4
+ type ReactNode,
5
5
  memo,
6
6
  useMemo,
7
7
  } from 'react'
8
8
 
9
9
  import { useUI } from '@faststore/ui'
10
- import { Section } from '@vtex/client-cms'
10
+ import type { Section } from '@vtex/client-cms'
11
11
  import dynamic from 'next/dynamic'
12
12
  import useTTI from 'src/sdk/performance/useTTI'
13
13
  import SectionBoundary from './SectionBoundary'
@@ -7,7 +7,7 @@ interface ErrorBoundaryProps {
7
7
  }
8
8
 
9
9
  interface ErrorBoundaryState {
10
- hasError: Boolean
10
+ hasError: boolean
11
11
  error: Error | null
12
12
  }
13
13
 
@@ -1,5 +1,5 @@
1
1
  import dynamic from 'next/dynamic'
2
- import { ComponentType } from 'react'
2
+ import type { ComponentType } from 'react'
3
3
 
4
4
  import { OverriddenDefaultAlert as Alert } from 'src/components/sections/Alert/OverriddenDefaultAlert'
5
5
  import { OverriddenDefaultNavbar as Navbar } from 'src/components/sections/Navbar/OverriddenDefaultNavbar'
@@ -1,5 +1,5 @@
1
1
  import dynamic from 'next/dynamic'
2
- import { ComponentType } from 'react'
2
+ import type { ComponentType } from 'react'
3
3
 
4
4
  import { OverriddenDefaultHero as Hero } from 'src/components/sections/Hero/OverriddenDefaultHero'
5
5
  import Incentives from 'src/components/sections/Incentives'
@@ -1,5 +1,5 @@
1
1
  import dynamic from 'next/dynamic'
2
- import { ComponentType } from 'react'
2
+ import type { ComponentType } from 'react'
3
3
 
4
4
  import { OverriddenDefaultBreadcrumb as Breadcrumb } from 'src/components/sections/Breadcrumb/OverriddenDefaultBreadcrumb'
5
5
  import { OverriddenDefaultHero as Hero } from 'src/components/sections/Hero/OverriddenDefaultHero'
@@ -1,5 +1,5 @@
1
1
  import dynamic from 'next/dynamic'
2
- import { ComponentType } from 'react'
2
+ import type { ComponentType } from 'react'
3
3
 
4
4
  import { OverriddenDefaultBreadcrumb as Breadcrumb } from 'src/components/sections/Breadcrumb/OverriddenDefaultBreadcrumb'
5
5
  import { OverriddenDefaultHero as Hero } from 'src/components/sections/Hero/OverriddenDefaultHero'
@@ -1,7 +1,7 @@
1
1
  import type { PropsWithChildren, ReactNode } from 'react'
2
2
  import { useCallback, useState } from 'react'
3
3
 
4
- import { AlertProps as UIAlertProps } from '@faststore/ui'
4
+ import type { AlertProps as UIAlertProps } from '@faststore/ui'
5
5
 
6
6
  import Section from 'src/components/sections/Section/Section'
7
7
  import styles from './section.module.scss'
@@ -1,4 +1,4 @@
1
- import { ReactNode } from 'react'
1
+ import type { ReactNode } from 'react'
2
2
 
3
3
  interface FooterProps {
4
4
  children: ReactNode
@@ -1,4 +1,4 @@
1
- import { PropsWithChildren } from 'react'
1
+ import type { PropsWithChildren } from 'react'
2
2
  import { Button } from '@faststore/ui'
3
3
 
4
4
  // TODO: Remove this component when <OutOfStock /> is ready to use
@@ -7,7 +7,7 @@ import { memo, useMemo } from 'react'
7
7
 
8
8
  import { gql } from '@generated'
9
9
  import type { ProductSummary_ProductFragment } from '@generated/graphql'
10
- import { ImageProps } from 'next/image'
10
+ import type { ImageProps } from 'next/image'
11
11
  import NextLink from 'next/link'
12
12
  import { Image } from 'src/components/ui/Image'
13
13
  import { useFormattedPrice } from 'src/sdk/product/useFormattedPrice'
@@ -4,7 +4,7 @@ import {
4
4
  } from '@faststore/ui'
5
5
  import type { ClientManyProductsQueryQuery } from '@generated/graphql'
6
6
  import ProductGridSkeleton from 'src/components/skeletons/ProductGridSkeleton'
7
- import { ProductCardProps } from '../ProductCard'
7
+ import type { ProductCardProps } from '../ProductCard'
8
8
 
9
9
  import { memo } from 'react'
10
10
  import ViewportObserver from 'src/components/cms/ViewportObserver'
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  Icon,
3
- RegionModalProps as UIRegionModalProps,
3
+ type RegionModalProps as UIRegionModalProps,
4
4
  useUI,
5
5
  } from '@faststore/ui'
6
6
  import { useRef, useState } from 'react'
@@ -10,7 +10,7 @@ import {
10
10
  import { gql } from '@generated/gql'
11
11
  import type { Filter_FacetsFragment } from '@generated/graphql'
12
12
  import { useFormattedPrice } from 'src/sdk/product/useFormattedPrice'
13
- import { useFilter } from 'src/sdk/search/useFilter'
13
+ import type { useFilter } from 'src/sdk/search/useFilter'
14
14
 
15
15
  interface Props {
16
16
  /**
@@ -9,8 +9,8 @@ import {
9
9
  import { SearchHistory } from '../SearchHistory'
10
10
  import { SearchTop } from '../SearchTop'
11
11
 
12
- import { SearchState } from '@faststore/sdk'
13
- import { ProductSummary_ProductFragment } from '@generated/graphql'
12
+ import type { SearchState } from '@faststore/sdk'
13
+ import type { ProductSummary_ProductFragment } from '@generated/graphql'
14
14
  import SearchProductItem from 'src/components/search/SearchProductItem'
15
15
  import { formatSearchPath } from 'src/sdk/search/formatSearchPath'
16
16
  import type {
@@ -25,7 +25,7 @@ import type {
25
25
  SearchInputFieldRef as UISearchInputFieldRef,
26
26
  } from '@faststore/ui'
27
27
 
28
- import { SearchProviderContextValue } from '@faststore/ui'
28
+ import type { SearchProviderContextValue } from '@faststore/ui'
29
29
 
30
30
  import useSearchHistory from 'src/sdk/search/useSearchHistory'
31
31
  import useSuggestions from 'src/sdk/search/useSuggestions'
@@ -5,7 +5,7 @@ import {
5
5
  } from '@faststore/ui'
6
6
  import type { HTMLAttributes } from 'react'
7
7
 
8
- import { SearchState } from '@faststore/sdk'
8
+ import type { SearchState } from '@faststore/sdk'
9
9
  import type { StoreSuggestionTerm } from '@generated/graphql'
10
10
  import { formatSearchPath } from 'src/sdk/search/formatSearchPath'
11
11
  import useTopSearch from 'src/sdk/search/useTopSearch'
@@ -1,4 +1,4 @@
1
- import {
1
+ import type {
2
2
  BannerTextProps as UIBannerTextProps,
3
3
  BannerTextContentProps as UIBannerTextContentProps,
4
4
  } from '@faststore/ui'
@@ -4,8 +4,8 @@ import Section from '../Section'
4
4
 
5
5
  import styles from './section.module.scss'
6
6
  import {
7
- PDPContext,
8
- PLPContext,
7
+ type PDPContext,
8
+ type PLPContext,
9
9
  isPDP,
10
10
  isPLP,
11
11
  usePage,
@@ -31,8 +31,8 @@ function BreadcrumbSection({ ...otherProps }: BreadcrumbSectionProps) {
31
31
  const breadcrumbList = isPDP(context)
32
32
  ? context?.data?.product?.breadcrumbList?.itemListElement
33
33
  : isPLP(context)
34
- ? context?.data?.collection?.breadcrumbList?.itemListElement
35
- : fallback
34
+ ? context?.data?.collection?.breadcrumbList?.itemListElement
35
+ : fallback
36
36
 
37
37
  return (
38
38
  <Section className={`${styles.section} section-breadcrumb`}>
@@ -1,8 +1,8 @@
1
- import {
1
+ import type {
2
2
  HeroProps as UIHeroProps,
3
3
  HeroHeaderProps as UIHeroHeaderProps,
4
4
  } from '@faststore/ui'
5
- import { ReactNode } from 'react'
5
+ import type { ReactNode } from 'react'
6
6
  import { Image } from '../../../components/ui/Image'
7
7
 
8
8
  import { useOverrideComponents } from '../../../sdk/overrides/OverrideContext'
@@ -1,4 +1,4 @@
1
- import {
1
+ import type {
2
2
  NewsletterProps as UINewsletterProps,
3
3
  NewsletterAddendumProps as UINewsletterAddendumProps,
4
4
  NewsletterHeaderProps as UINewsletterHeaderProps,
@@ -1,13 +1,13 @@
1
1
  import ProductGallery, {
2
- ProductGalleryProps,
2
+ type ProductGalleryProps,
3
3
  } from '../../ui/ProductGallery/ProductGallery'
4
4
  import Section from '../Section'
5
5
  import type { EmptyGalleryProps } from './EmptyGallery'
6
6
 
7
7
  import styles from './section.module.scss'
8
8
  import {
9
- PLPContext,
10
- SearchPageContext,
9
+ type PLPContext,
10
+ type SearchPageContext,
11
11
  isPLP,
12
12
  isSearchPage,
13
13
  usePage,
@@ -39,8 +39,8 @@ function ProductGallerySection({
39
39
  const [title, searchTerm] = isSearchPage(context)
40
40
  ? [context?.data?.title, context?.data?.searchTerm]
41
41
  : isPLP(context)
42
- ? [context?.data?.collection?.seo?.title]
43
- : ['']
42
+ ? [context?.data?.collection?.seo?.title]
43
+ : ['']
44
44
 
45
45
  const totalCount = context?.data?.search?.products?.pageInfo?.totalCount ?? 0
46
46
 
@@ -2,7 +2,7 @@ import { useInView } from 'react-intersection-observer'
2
2
  import Section from '../Section'
3
3
 
4
4
  import ProductShelf, {
5
- ProductShelfProps,
5
+ type ProductShelfProps,
6
6
  } from '../../../components/ui/ProductShelf'
7
7
  import styles from './section.module.scss'
8
8
  import { ProductShelfDefaultComponents } from './DefaultComponents'
@@ -1,5 +1,7 @@
1
1
  import { getOverridableSection } from '../../..//sdk/overrides/getOverriddenSection'
2
- import RegionBar, { RegionBarProps } from '../../region/RegionBar/RegionBar'
2
+ import RegionBar, {
3
+ type RegionBarProps,
4
+ } from '../../region/RegionBar/RegionBar'
3
5
  import Section from '../Section/Section'
4
6
  import { RegionBarDefaultComponents } from './DefaultComponents'
5
7
  import styles from './section.module.scss'
@@ -9,9 +9,9 @@ import COMPONENTS from 'src/components/cms/plp/Components'
9
9
  import RenderSections, {
10
10
  LazyLoadingSection,
11
11
  } from 'src/components/cms/RenderSections'
12
- import { PLPContentType } from 'src/server/cms/plp'
12
+ import type { PLPContentType } from 'src/server/cms/plp'
13
13
 
14
- import PageProvider, { PLPContext } from 'src/sdk/overrides/PageProvider'
14
+ import PageProvider, { type PLPContext } from 'src/sdk/overrides/PageProvider'
15
15
  import {
16
16
  useCreateUseGalleryPage,
17
17
  UseGalleryPageContext,
@@ -1,13 +1,15 @@
1
1
  import type { ClientProductGalleryQueryQuery as ClientProductGalleryQuery } from '@generated/graphql'
2
2
  import RenderSections from 'src/components/cms/RenderSections'
3
3
  import COMPONENTS from 'src/components/cms/search/Components'
4
- import { SearchPageContextType } from 'src/pages/s'
5
- import PageProvider, { SearchPageContext } from 'src/sdk/overrides/PageProvider'
4
+ import type { SearchPageContextType } from 'src/pages/s'
5
+ import PageProvider, {
6
+ type SearchPageContext,
7
+ } from 'src/sdk/overrides/PageProvider'
6
8
  import {
7
9
  useCreateUseGalleryPage,
8
10
  UseGalleryPageContext,
9
11
  } from 'src/sdk/product/usePageProductsQuery'
10
- import { SearchContentType } from 'src/server/cms'
12
+ import type { SearchContentType } from 'src/server/cms'
11
13
 
12
14
  export type SearchPageProps = {
13
15
  data: SearchPageContextType & ClientProductGalleryQuery
@@ -1,6 +1,6 @@
1
1
  import { memo } from 'react'
2
2
 
3
- import NextImage, { ImageProps as NextImageProps } from 'next/image'
3
+ import NextImage, { type ImageProps as NextImageProps } from 'next/image'
4
4
  import loader from './loader'
5
5
 
6
6
  export type ImageProps = NextImageProps
@@ -1,5 +1,5 @@
1
1
  import storeConfig from 'discovery.config'
2
- import { ImageLoaderProps } from 'next/image'
2
+ import type { ImageLoaderProps } from 'next/image'
3
3
  const THUMBOR_SERVER = `https://${storeConfig.api.storeId}.vtexassets.com`
4
4
 
5
5
  export default function customImageLoader({
@@ -10,7 +10,7 @@ export type LinkProps<T extends LinkElementType = 'a'> = UILinkProps<T> &
10
10
  AnchorHTMLAttributes<HTMLAnchorElement>
11
11
 
12
12
  const Link = forwardRef<HTMLAnchorElement, LinkProps>(function Link<
13
- T extends LinkElementType = 'a'
13
+ T extends LinkElementType = 'a',
14
14
  >(
15
15
  { href, inverse, children, variant = 'default', ...otherProps }: LinkProps<T>,
16
16
  ref: Ref<HTMLAnchorElement>
@@ -9,13 +9,13 @@ import ProductGridSkeleton from 'src/components/skeletons/ProductGridSkeleton'
9
9
 
10
10
  import dynamic from 'next/dynamic'
11
11
 
12
- import { ProductCardProps } from 'src/components/product/ProductCard'
13
- import { FilterSliderProps } from 'src/components/search/Filter/FilterSlider'
14
- import { SortProps } from 'src/components/search/Sort/Sort'
12
+ import type { ProductCardProps } from 'src/components/product/ProductCard'
13
+ import type { FilterSliderProps } from 'src/components/search/Filter/FilterSlider'
14
+ import type { SortProps } from 'src/components/search/Sort/Sort'
15
15
  import { useOverrideComponents } from 'src/sdk/overrides/OverrideContext'
16
16
  import {
17
- PLPContext,
18
- SearchPageContext,
17
+ type PLPContext,
18
+ type SearchPageContext,
19
19
  usePage,
20
20
  } from 'src/sdk/overrides/PageProvider'
21
21
  import { useProductsPrefetch } from 'src/sdk/product/useProductsPrefetch'