@faststore/core 4.6.0-dev.4 → 4.6.0-dev.5

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.
@@ -1,9 +1,9 @@
1
1
 
2
- > @faststore/core@4.6.0-dev.3 generate /home/runner/work/faststore/faststore/packages/core
2
+ > @faststore/core@4.6.0-dev.4 generate /home/runner/work/faststore/faststore/packages/core
3
3
  > pnpm run gen-types && pnpm run cache-graphql
4
4
 
5
5
 
6
- > @faststore/core@4.6.0-dev.3 gen-types /home/runner/work/faststore/faststore/packages/core
6
+ > @faststore/core@4.6.0-dev.4 gen-types /home/runner/work/faststore/faststore/packages/core
7
7
  > node ../cli/bin/run generate-types .
8
8
 
9
9
  [STARTED] Parse Configuration
@@ -19,7 +19,7 @@
19
19
  [COMPLETED] Generate to /home/runner/work/faststore/faststore/packages/core/@generated/
20
20
  [COMPLETED] Generate outputs
21
21
 
22
- > @faststore/core@4.6.0-dev.3 cache-graphql /home/runner/work/faststore/faststore/packages/core
22
+ > @faststore/core@4.6.0-dev.4 cache-graphql /home/runner/work/faststore/faststore/packages/core
23
23
  > node ../cli/bin/run cache-graphql --config=./discovery.config.default.js --queries=./@generated/persisted-documents.json
24
24
 
25
25
  [Info] - Config file location: /home/runner/work/faststore/faststore/packages/core/discovery.config.default.js
@@ -1,18 +1,20 @@
1
1
 
2
- > @faststore/core@4.6.0-dev.3 test /home/runner/work/faststore/faststore/packages/core
2
+ > @faststore/core@4.6.0-dev.4 test /home/runner/work/faststore/faststore/packages/core
3
3
  > vitest run
4
4
 
5
5
 
6
6
   RUN  v4.0.18 /home/runner/work/faststore/faststore/packages/core
7
7
 
8
- ✓  browser  test/components/ui/ProductGallery/GalleryPageHeightLock.browser.test.tsx (8 tests) 83ms
9
8
  Not implemented: navigation to another Document
10
9
  Not implemented: navigation to another Document
11
- ✓  browser  test/sdk/ui/useScrollRestoration.browser.test.ts (43 tests) 526ms
12
- ✓  browser  test/sdk/session/reconcileSessionLocale.browser.test.ts (5 tests) 23ms
13
- ✓  browser  test/components/account/ContractSwitcher.browser.test.tsx (13 tests) 1701ms
14
- ✓ shows an error state when the list fails to load  532ms
15
- ✓ requires selecting a contract before Confirm is enabled, then switches (REQ-03)  302ms
10
+ ✓  browser  test/components/ui/ProductGallery/GalleryPageHeightLock.browser.test.tsx (8 tests) 329ms
11
+ ✓  browser  test/sdk/ui/useScrollRestoration.browser.test.ts (43 tests) 968ms
12
+ ✓  browser  test/components/account/ContractSwitcher.browser.test.tsx (13 tests) 2506ms
13
+ ✓ shows an error state when the list fails to load  571ms
14
+ ✓ requires selecting a contract before Confirm is enabled, then switches (REQ-03)  321ms
15
+ ✓ keeps Confirm disabled when the selected contract is filtered out  336ms
16
+ ✓ does not reload when the switch returns false  303ms
17
+ ✓  browser  test/sdk/session/reconcileSessionLocale.browser.test.ts (5 tests) 45ms
16
18
  stderr | test/components/RecommendationShelf/RecommendationShelf.browser.test.tsx
17
19
  Error in optimistic validation: TypeError: Failed to parse URL from /api/graphql?operationName=ValidateCartMutation&operationHash=3c71b0d3fc2bade14df68abfa271858beb361b12
18
20
   at node:internal/deps/undici/undici:16416:13
@@ -45,8 +47,8 @@ Browserslist: browsers data (caniuse-lite) is 6 months old. Please run:
45
47
  stderr | test/components/RecommendationShelf/RecommendationShelf.browser.test.tsx > RecommendationShelf > renders nothing when there is an error
46
48
  Error fetching recommendations undefined boom for campaign vrn:recommendations:acc:rec-top-items-v2:campaign-1
47
49
 
48
- ✓  browser  test/components/RecommendationShelf/RecommendationShelf.browser.test.tsx (8 tests) 211ms
49
- ✓  browser  test/sdk/recommendations/useRecommendationShelf.browser.test.tsx (10 tests) 166ms
50
+ ✓  browser  test/components/RecommendationShelf/RecommendationShelf.browser.test.tsx (8 tests) 287ms
51
+ ✓  browser  test/sdk/recommendations/useRecommendationShelf.browser.test.tsx (10 tests) 59ms
50
52
  stderr | test/pages/password-protection.browser.test.tsx > PasswordProtectionLogin > posts the password and redirects to the requested return path
51
53
  Warning: An update to PasswordProtectionLogin inside a test was not wrapped in act(...).
52
54
 
@@ -132,6 +134,7 @@ act(() => {
132
134
  This ensures that you're testing the behavior the user would see in the browser. Learn more at https://reactjs.org/link/wrap-tests-with-act
133
135
  at PasswordProtectionLogin (/home/runner/work/faststore/faststore/packages/core/src/pages/password-protection/index.tsx:19:69)
134
136
 
137
+ ✓  browser  test/sdk/session/getInitialSession.browser.test.ts (6 tests) 15ms
135
138
  stderr | test/pages/password-protection.browser.test.tsx > PasswordProtectionLogin > uses the fallback invalid-password message when API omits an error
136
139
  Warning: An update to PasswordProtectionLogin inside a test was not wrapped in act(...).
137
140
 
@@ -276,12 +279,11 @@ act(() => {
276
279
  This ensures that you're testing the behavior the user would see in the browser. Learn more at https://reactjs.org/link/wrap-tests-with-act
277
280
  at PasswordProtectionLogin (/home/runner/work/faststore/faststore/packages/core/src/pages/password-protection/index.tsx:19:69)
278
281
 
279
- ✓  browser  test/pages/password-protection.browser.test.tsx (6 tests) 1264ms
280
- ✓ renders the password protection form  472ms
281
- ✓  browser  test/sdk/session/getInitialSession.browser.test.ts (6 tests) 12ms
282
- ✓  browser  test/components/account/OrganizationDrawer.browser.test.tsx (5 tests) 1016ms
283
- ✓ renders the menu view with contract details and manage footer  617ms
284
- ✓  browser  test/sdk/account/changeContractToken.browser.test.ts (9 tests) 31ms
282
+ ✓  browser  test/pages/password-protection.browser.test.tsx (6 tests) 1802ms
283
+ ✓ renders the password protection form  835ms
284
+ ✓  browser  test/components/account/OrganizationDrawer.browser.test.tsx (5 tests) 1421ms
285
+ ✓ renders the menu view with contract details and manage footer  824ms
286
+ ✓  browser  test/sdk/account/changeContractToken.browser.test.ts (9 tests) 71ms
285
287
  stderr | test/sdk/localization/store-url.browser.test.ts
286
288
  Error in optimistic validation: TypeError: Cannot read properties of undefined (reading 'read')
287
289
  at waitForSessionValidated (/home/runner/work/faststore/faststore/packages/core/src/sdk/cart/waitForSessionValidated.ts:16:32)
@@ -290,10 +292,10 @@ This ensures that you're testing the behavior the user would see in the browser.
290
292
  at a (/home/runner/work/faststore/faststore/packages/sdk/dist/es/index.mjs:354:23)
291
293
   at processTicksAndRejections (node:internal/process/task_queues:103:5)
292
294
 
293
- ✓  browser  test/sdk/localization/store-url.browser.test.ts (3 tests) 9ms
294
- ✓  browser  test/sdk/account/useAvailableContracts.browser.test.ts (6 tests) 32ms
295
- ✓  browser  test/components/templates/SearchPage/SearchWrapper.browser.test.tsx (3 tests) 26ms
296
- ✓  browser  test/sdk/account/useSwitchContract.browser.test.ts (4 tests) 21ms
295
+ ✓  browser  test/sdk/localization/store-url.browser.test.ts (3 tests) 6ms
296
+ ✓  browser  test/components/templates/SearchPage/SearchWrapper.browser.test.tsx (3 tests) 43ms
297
+ ✓  browser  test/sdk/account/useAvailableContracts.browser.test.ts (6 tests) 48ms
298
+ ✓  browser  test/sdk/account/useSwitchContract.browser.test.ts (4 tests) 48ms
297
299
  stderr | test/components/account/doLogout.browser.test.ts
298
300
  Error in optimistic validation: TypeError: Cannot read properties of undefined (reading 'read')
299
301
  at waitForSessionValidated (/home/runner/work/faststore/faststore/packages/core/src/sdk/cart/waitForSessionValidated.ts:16:32)
@@ -302,9 +304,9 @@ This ensures that you're testing the behavior the user would see in the browser.
302
304
  at a (/home/runner/work/faststore/faststore/packages/sdk/dist/es/index.mjs:354:23)
303
305
   at processTicksAndRejections (node:internal/process/task_queues:103:5)
304
306
 
305
- ✓  browser  test/components/account/doLogout.browser.test.ts (1 test) 16ms
306
- ✓  browser  test/components/account/OrganizationDrawerHeader.browser.test.tsx (3 tests) 166ms
307
- ✓  browser  test/components/account/OrganizationDrawerFooter.browser.test.tsx (3 tests) 178ms
307
+ ✓  browser  test/components/account/doLogout.browser.test.ts (1 test) 33ms
308
+ ✓  browser  test/components/account/OrganizationDrawerHeader.browser.test.tsx (3 tests) 275ms
309
+ ✓  browser  test/components/account/OrganizationDrawerFooter.browser.test.tsx (3 tests) 293ms
308
310
  stderr | test/sdk/account/clearPersistedSessionState.browser.test.ts
309
311
  Error in optimistic validation: TypeError: Cannot read properties of undefined (reading 'read')
310
312
  at waitForSessionValidated (/home/runner/work/faststore/faststore/packages/core/src/sdk/cart/waitForSessionValidated.ts:16:32)
@@ -314,11 +316,9 @@ This ensures that you're testing the behavior the user would see in the browser.
314
316
   at processTicksAndRejections (node:internal/process/task_queues:103:5)
315
317
 
316
318
  ✓  browser  test/sdk/account/clearPersistedSessionState.browser.test.ts (1 test) 10ms
317
- ✓  browser  test/utils/isLocalHost.browser.test.ts (3 tests) 2ms
318
- ✓  browser  test/sdk/session/reconcileSessionLocale.disabled.browser.test.ts (1 test) 2ms
319
- ✓  node  test/utils/localization/bindingPaths.test.ts (71 tests) 16ms
320
- ✓  browser  test/components/skeletons/ProductGridSkeleton.browser.test.tsx (2 tests) 23ms
321
- ✓  node  test/server/password-protection-service.test.ts (22 tests) 23ms
319
+ ✓  browser  test/utils/isLocalHost.browser.test.ts (3 tests) 5ms
320
+ ✓  browser  test/sdk/session/reconcileSessionLocale.disabled.browser.test.ts (1 test) 4ms
321
+ ✓  node  test/utils/localization/bindingPaths.test.ts (71 tests) 31ms
322
322
  stderr | test/sdk/account/refreshToken.browser.test.ts
323
323
  Error in optimistic validation: TypeError: Cannot read properties of undefined (reading 'read')
324
324
  at waitForSessionValidated (/home/runner/work/faststore/faststore/packages/core/src/sdk/cart/waitForSessionValidated.ts:16:32)
@@ -327,11 +327,13 @@ This ensures that you're testing the behavior the user would see in the browser.
327
327
  at a (/home/runner/work/faststore/faststore/packages/sdk/dist/es/index.mjs:354:23)
328
328
   at processTicksAndRejections (node:internal/process/task_queues:103:5)
329
329
 
330
- ✓  node  test/utils/match-url.test.ts (10 tests) 5ms
331
- ✓  browser  test/sdk/account/refreshToken.browser.test.ts (1 test) 3ms
332
- ✓  node  test/sdk/localization/useBindingSelector.test.tsx (22 tests) 9ms
333
- ✓  node  test/pages/api/unlock.test.ts (15 tests) 100ms
334
- ✓  node  test/sdk/localization/bindingSelector.test.ts (18 tests) 5ms
330
+ ✓  node  test/server/password-protection-service.test.ts (22 tests) 33ms
331
+ ✓  browser  test/components/skeletons/ProductGridSkeleton.browser.test.tsx (2 tests) 41ms
332
+ ✓  browser  test/sdk/account/refreshToken.browser.test.ts (1 test) 7ms
333
+ ✓  node  test/utils/match-url.test.ts (10 tests) 10ms
334
+ ✓  node  test/pages/api/unlock.test.ts (15 tests) 147ms
335
+ ✓  node  test/sdk/localization/useBindingSelector.test.tsx (22 tests) 15ms
336
+ ✓  node  test/sdk/localization/bindingSelector.test.ts (18 tests) 8ms
335
337
  stderr | test/components/search/SearchInputComponent.test.tsx
336
338
  Warning: forwardRef render functions accept exactly two parameters: props and ref. Did you forget to use the ref parameter?
337
339
 
@@ -395,12 +397,11 @@ Warning: React does not recognize the `providerProps` prop on a DOM element. If
395
397
  at Suspense
396
398
  at Wrapper (/home/runner/work/faststore/faststore/packages/core/test/components/search/SearchInputComponent.test.tsx:106:20)
397
399
 
398
- ✓  node  test/components/search/SearchInputComponent.test.tsx (6 tests) 54ms
399
- ✓  node  test/utils/cookieCacheBusting.test.ts (10 tests) 11ms
400
- ✓  node  test/sdk/search/useSearchHistory.test.ts (13 tests) 38ms
401
- ✓  node  test/experimental/myAccountCmsServerSideProps.test.ts (5 tests) 6ms
402
- ✓  node  test/utils/clearCookies.test.ts (20 tests) 19ms
403
- ✓  node  test/components/quotes/MyAccountListQuotesTable.test.tsx (12 tests) 261ms
400
+ ✓  node  test/components/search/SearchInputComponent.test.tsx (6 tests) 90ms
401
+ ✓  node  test/utils/cookieCacheBusting.test.ts (10 tests) 19ms
402
+ ✓  node  test/sdk/search/useSearchHistory.test.ts (13 tests) 57ms
403
+ ✓  node  test/experimental/myAccountCmsServerSideProps.test.ts (5 tests) 12ms
404
+ ✓  node  test/utils/clearCookies.test.ts (20 tests) 31ms
404
405
  stderr | test/pages/api/graphql.test.ts > /api/graphql error status propagation > propagates the upstream 400 from a wrapped BadRequestError instead of 500
405
406
  Graphql execution returned with error: [
406
407
  {
@@ -493,63 +494,65 @@ Warning: React does not recognize the `providerProps` prop on a DOM element. If
493
494
  at file:///home/runner/work/faststore/faststore/node_modules/.pnpm/@vitest+runner@4.0.18/node_modules/@vitest/runner/dist/index.js:1653:37
494
495
  at Traces.$ (file:///home/runner/work/faststore/faststore/node_modules/.pnpm/vitest@4.0.18_@opentelemetry+api@1.9.0_@types+node@20.19.13_jiti@2.6.1_jsdom@27.4.0_sas_13be941c57d55f08f06eeaf1c180ddfe/node_modules/vitest/dist/chunks/traces.CCmnQaNT.js:142:27)
495
496
 
496
- ✓  node  test/pages/api/graphql.test.ts (17 tests) 16ms
497
+ ✓  node  test/pages/api/graphql.test.ts (17 tests) 35ms
498
+ ✓  node  test/components/quotes/MyAccountListQuotesTable.test.tsx (12 tests) 373ms
499
+ ✓  node  test/components/quotes/MyAccountListQuotes.test.tsx (9 tests) 838ms
500
+ ✓ navigates with the search term on blur  363ms
501
+ ✓ navigates without a label param when the search is cleared  363ms
502
+ ✓  node  test/components/quotes/quoteFilters.test.ts (23 tests) 41ms
497
503
  stderr | test/sdk/account/useSetPassword.test.ts > useSetPassword > maps wrongcredentials error responses to the existing message
498
504
  Set password request failed: Bad Request
499
505
 
500
- ✓  node  test/sdk/account/useSetPassword.test.ts (6 tests) 17ms
501
- ✓  node  test/sdk/orderEntry/useOrderEntryOperation.test.ts (8 tests) 22ms
502
- ✓  node  test/components/quotes/quoteFilters.test.ts (23 tests) 14ms
503
- ✓  node  test/components/quotes/MyAccountListQuotes.test.tsx (9 tests) 794ms
504
- ✓ navigates with the search term on blur  359ms
505
- ✓ navigates without a label param when the search is cleared  357ms
506
- ✓  node  test/utils/multipleTemplates.test.ts (8 tests) 4ms
507
- ✓  node  test/utils/localization/localizeRedirectDestination.test.ts (11 tests) 4ms
508
- ✓  node  test/sdk/orderEntry/useOrderEntryUpload.test.ts (8 tests) 37ms
509
- ✓  node  test/components/quotes/MyAccountQuotesFilterSlider.test.tsx (5 tests) 87ms
510
- ✓  node  test/sdk/analytics/useStartRecommendationSession.test.ts (6 tests) 44ms
511
- ✓  node  test/sdk/orderEntry/useOrderEntry.test.ts (8 tests) 20ms
512
- ✓  node  test/proxy.localization.test.ts (5 tests) 22ms
513
- ✓  node  test/sdk/account/getMyAccountRoutes.test.ts (10 tests) 4ms
514
- ✓  node  test/sdk/session/syncSalesChannelFromOrderForm.test.ts (6 tests) 4ms
515
- ✓  node  test/server/index.test.ts (7 tests) 970ms
516
- ✓ should handle options and execute  632ms
517
- ✓  node  test/components/quotes/MyAccountQuotesSelectedTags.test.tsx (8 tests) 65ms
518
- ✓  node  test/proxy.test.ts (4 tests) 11ms
519
- ✓  node  test/sdk/orderEntry/useOrderFormItems.test.ts (7 tests) 25ms
506
+ ✓  node  test/sdk/account/useSetPassword.test.ts (6 tests) 52ms
507
+ ✓  node  test/sdk/orderEntry/useOrderEntryOperation.test.ts (8 tests) 43ms
508
+ ✓  node  test/utils/multipleTemplates.test.ts (8 tests) 6ms
509
+ ✓  node  test/utils/localization/localizeRedirectDestination.test.ts (11 tests) 6ms
510
+ ✓  node  test/sdk/orderEntry/useOrderEntryUpload.test.ts (8 tests) 40ms
511
+ ✓  node  test/components/quotes/MyAccountQuotesFilterSlider.test.tsx (5 tests) 175ms
512
+ ✓  node  test/sdk/analytics/useStartRecommendationSession.test.ts (6 tests) 58ms
513
+ ✓  node  test/sdk/orderEntry/useOrderEntry.test.ts (8 tests) 42ms
514
+ ✓  node  test/proxy.localization.test.ts (5 tests) 37ms
515
+ ✓  node  test/sdk/account/getMyAccountRoutes.test.ts (10 tests) 6ms
516
+ ✓  node  test/server/index.test.ts (7 tests) 1128ms
517
+ ✓ should return a valid merged GraphQL schema  315ms
518
+ ✓ should handle options and execute  554ms
519
+ ✓  node  test/sdk/session/syncSalesChannelFromOrderForm.test.ts (6 tests) 7ms
520
+ ✓  node  test/proxy.test.ts (4 tests) 17ms
520
521
  ✓  node  test/server/webops-api.test.ts (9 tests) 12ms
521
- ✓  node  test/sdk/cart/waitForSessionValidated.test.ts (5 tests) 7ms
522
- ✓  node  test/sdk/account/refreshToken.test.ts (5 tests) 5ms
523
- ✓  node  test/server/cms/global.test.ts (3 tests) 5ms
524
- ✓  node  test/server/content/service.test.ts (5 tests) 3ms
525
- ✓  node  test/sdk/localization/store-url.test.ts (1 test) 2ms
526
- ✓  node  test/sdk/auth/useAuth.test.ts (5 tests) 18ms
527
- ✓  node  test/sdk/analytics/hasEnabledRecommendationShelf.test.ts (6 tests) 4ms
528
- ✓  node  test/components/quotes/MyAccountQuotesStatusSelector.test.tsx (6 tests) 83ms
529
- ✓  node  test/utils/getRequestHostname.test.ts (12 tests) 4ms
530
- ✓  node  test/pages/api/preview.test.ts (2 tests) 5ms
531
- ✓  node  test/utils/validateSessionRefreshToken.test.ts (6 tests) 3ms
532
- ✓  node  test/server/rootSpan.test.ts (4 tests) 23ms
533
- ✓  node  test/components/search/SearchInput.test.ts (6 tests) 6ms
534
- ✓  node  test/sdk/recommendations/vrn.test.ts (5 tests) 3ms
535
- ✓  node  test/server/cms/index.test.ts (2 tests) 4ms
536
- ✓  node  test/utils/retry.test.ts (5 tests) 10ms
537
- ✓  node  test/components/account/Layout.test.tsx (4 tests) 29ms
538
- ✓  node  test/sdk/recommendations/useRecommendationUserId.test.ts (4 tests) 181ms
539
- ✓  node  test/utils/unlockResponse.test.ts (11 tests) 6ms
540
- ✓  node  test/server/cms/myAccountDefaultSections.test.ts (5 tests) 3ms
541
- ✓  node  test/sdk/recommendations/useRecommendations.test.ts (2 tests) 2ms
542
- ✓  node  test/utils/isLocalHost.test.ts (7 tests) 3ms
543
- ✓  node  test/components/account/OrganizationDrawerBody.test.tsx (3 tests) 31ms
544
- ✓  node  test/utils/userOrderStatus.test.ts (3 tests) 2ms
545
- ✓  node  test/sdk/analytics/utils.test.ts (2 tests) 3ms
546
- ✓  node  test/components/auth/ProfileChallenge.test.tsx (3 tests) 21ms
547
- ✓  node  test/instrumentation.test.ts (3 tests) 3ms
548
- ✓  node  test/sdk/account/clearPersistedSessionState.test.ts (1 test) 13ms
549
- ✓  node  test/components/quotes/MyAccountQuoteStatusBadge.test.tsx (2 tests) 15ms
522
+ ✓  node  test/components/quotes/MyAccountQuotesSelectedTags.test.tsx (8 tests) 111ms
523
+ ✓  node  test/server/content/service.test.ts (5 tests) 7ms
524
+ ✓  node  test/sdk/orderEntry/useOrderFormItems.test.ts (7 tests) 41ms
525
+ ✓  node  test/sdk/account/refreshToken.test.ts (5 tests) 7ms
526
+ ✓  node  test/sdk/cart/waitForSessionValidated.test.ts (5 tests) 12ms
527
+ ✓  node  test/server/cms/global.test.ts (3 tests) 10ms
528
+ ✓  node  test/sdk/localization/store-url.test.ts (1 test) 4ms
529
+ ✓  node  test/sdk/auth/useAuth.test.ts (5 tests) 34ms
530
+ ✓  node  test/components/quotes/MyAccountQuotesStatusSelector.test.tsx (6 tests) 161ms
531
+ ✓  node  test/sdk/analytics/hasEnabledRecommendationShelf.test.ts (6 tests) 6ms
532
+ ✓  node  test/utils/getRequestHostname.test.ts (12 tests) 8ms
533
+ ✓  node  test/server/rootSpan.test.ts (4 tests) 50ms
534
+ ✓  node  test/pages/api/preview.test.ts (2 tests) 9ms
535
+ ✓  node  test/utils/validateSessionRefreshToken.test.ts (6 tests) 5ms
536
+ ✓  node  test/components/search/SearchInput.test.ts (6 tests) 8ms
537
+ ✓  node  test/sdk/recommendations/vrn.test.ts (5 tests) 6ms
538
+ ✓  node  test/server/cms/index.test.ts (2 tests) 6ms
539
+ ✓  node  test/utils/retry.test.ts (5 tests) 16ms
540
+ ✓  node  test/components/account/Layout.test.tsx (4 tests) 41ms
541
+ ✓  node  test/sdk/recommendations/useRecommendationUserId.test.ts (4 tests) 182ms
542
+ ✓  node  test/utils/unlockResponse.test.ts (11 tests) 7ms
543
+ ✓  node  test/server/cms/myAccountDefaultSections.test.ts (5 tests) 5ms
544
+ ✓  node  test/sdk/recommendations/useRecommendations.test.ts (2 tests) 6ms
545
+ ✓  node  test/utils/isLocalHost.test.ts (7 tests) 5ms
546
+ ✓  node  test/utils/userOrderStatus.test.ts (3 tests) 5ms
547
+ ✓  node  test/components/account/OrganizationDrawerBody.test.tsx (3 tests) 55ms
548
+ ✓  node  test/sdk/analytics/utils.test.ts (2 tests) 4ms
549
+ ✓  node  test/components/auth/ProfileChallenge.test.tsx (3 tests) 29ms
550
+ ✓  node  test/instrumentation.test.ts (3 tests) 6ms
551
+ ✓  node  test/sdk/account/clearPersistedSessionState.test.ts (1 test) 14ms
552
+ ✓  node  test/components/quotes/MyAccountQuoteStatusBadge.test.tsx (2 tests) 26ms
550
553
 
551
554
   Test Files  82 passed (82)
552
555
   Tests  661 passed (661)
553
-  Start at  17:43:08
554
-  Duration  26.15s (transform 6.03s, setup 0ms, import 21.23s, tests 8.74s, environment 34.27s)
556
+  Start at  13:52:18
557
+  Duration  42.21s (transform 8.23s, setup 0ms, import 32.14s, tests 12.57s, environment 58.03s)
555
558
 
package/CHANGELOG.md CHANGED
@@ -3,6 +3,13 @@
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
+ # [4.6.0-dev.5](https://github.com/vtex/faststore/compare/v4.6.0-dev.4...v4.6.0-dev.5) (2026-08-13)
7
+
8
+ ### Bug Fixes
9
+
10
+ - **core:** add experimental.revalidate404 and skip PLP query on notFound ([855a3ee](https://github.com/vtex/faststore/commit/855a3ee2e3393ee092d4b261ad83a8757289e132))
11
+ - **core:** revalidate ISR cache for notFound PDP/PLP paths ([1d1015e](https://github.com/vtex/faststore/commit/1d1015e8874d794c5f54e572afc3c676fabce69c))
12
+
6
13
  # [4.6.0-dev.4](https://github.com/vtex/faststore/compare/v4.6.0-dev.3...v4.6.0-dev.4) (2026-08-12)
7
14
 
8
15
  **Note:** Version bump only for package @faststore/core
@@ -191,6 +191,8 @@ module.exports = {
191
191
  nofollow: false,
192
192
  preact: false,
193
193
  enableRedirects: false,
194
+ // ISR window (seconds) for notFound PDP/PLP paths.
195
+ revalidate404: 60 * 5, // 5 minutes
194
196
  enableSearchSSR: false,
195
197
  enableFaststoreMyAccount: false,
196
198
  useIsGiftFromOrderForm: false,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@faststore/core",
3
- "version": "4.6.0-dev.4",
3
+ "version": "4.6.0-dev.5",
4
4
  "license": "MIT",
5
5
  "repository": {
6
6
  "type": "git",
@@ -71,11 +71,11 @@
71
71
  "style-loader": "^3.3.1",
72
72
  "swr": "^2.2.5",
73
73
  "use-sync-external-store": "^1.6.0",
74
- "@faststore/api": "4.6.0-dev.4",
75
- "@faststore/lighthouse": "4.6.0-dev.4",
76
- "@faststore/diagnostics": "4.6.0-dev.4",
77
- "@faststore/ui": "4.6.0-dev.4",
78
- "@faststore/sdk": "4.6.0-dev.4"
74
+ "@faststore/api": "4.6.0-dev.5",
75
+ "@faststore/lighthouse": "4.6.0-dev.5",
76
+ "@faststore/diagnostics": "4.6.0-dev.5",
77
+ "@faststore/sdk": "4.6.0-dev.5",
78
+ "@faststore/ui": "4.6.0-dev.5"
79
79
  },
80
80
  "devDependencies": {
81
81
  "@cypress/code-coverage": "^3.12.1",
@@ -191,16 +191,6 @@ export const getStaticProps: GetStaticProps<
191
191
  globalSectionsFooterPromise,
192
192
  ])
193
193
 
194
- const [serverManyProductsData, serverManyProductsVariables] =
195
- await fetchServerManyProducts({
196
- itemsPerPage: cmsPage?.settings?.productGallery?.itemsPerPage,
197
- sort: cmsPage?.settings?.productGallery
198
- ?.sortBySelection as SearchState['sort'],
199
- term: '',
200
- selectedFacets: data?.collection?.meta.selectedFacets,
201
- locale,
202
- })
203
-
204
194
  const notFound = errors.find(isNotFoundError)
205
195
 
206
196
  if (notFound) {
@@ -216,6 +206,7 @@ export const getStaticProps: GetStaticProps<
216
206
 
217
207
  return {
218
208
  notFound: true,
209
+ revalidate: storeConfig.experimental.revalidate404 ?? 60 * 5, // 5 minutes
219
210
  }
220
211
  }
221
212
 
@@ -224,6 +215,16 @@ export const getStaticProps: GetStaticProps<
224
215
  throw errors[0]
225
216
  }
226
217
 
218
+ const [serverManyProductsData, serverManyProductsVariables] =
219
+ await fetchServerManyProducts({
220
+ itemsPerPage: cmsPage?.settings?.productGallery?.itemsPerPage,
221
+ sort: cmsPage?.settings?.productGallery
222
+ ?.sortBySelection as SearchState['sort'],
223
+ term: '',
224
+ selectedFacets: data?.collection?.meta.selectedFacets,
225
+ locale,
226
+ })
227
+
227
228
  const globalSectionsResult = injectGlobalSections({
228
229
  globalSections,
229
230
  globalSectionsHeader,
@@ -47,6 +47,7 @@ import type { PreviewData } from 'src/server/content/types'
47
47
  type StoreConfig = typeof storeConfig & {
48
48
  experimental: {
49
49
  revalidate?: number
50
+ revalidate404?: number
50
51
  enableClientOffer?: boolean
51
52
  }
52
53
  }
@@ -482,6 +483,8 @@ export const getStaticProps: GetStaticProps<
482
483
 
483
484
  return {
484
485
  notFound: true,
486
+ revalidate:
487
+ (storeConfig as StoreConfig).experimental.revalidate404 ?? 60 * 5, // 5 minutes
485
488
  }
486
489
  }
487
490