@faststore/core 4.4.0-dev.4 → 4.4.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.4.0-dev.3 generate /home/runner/work/faststore/faststore/packages/core
2
+ > @faststore/core@4.4.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.4.0-dev.3 gen-types /home/runner/work/faststore/faststore/packages/core
6
+ > @faststore/core@4.4.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.4.0-dev.3 cache-graphql /home/runner/work/faststore/faststore/packages/core
22
+ > @faststore/core@4.4.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,13 +1,13 @@
1
1
 
2
- > @faststore/core@4.4.0-dev.3 test /home/runner/work/faststore/faststore/packages/core
2
+ > @faststore/core@4.4.0-dev.4 test /home/runner/work/faststore/faststore/packages/core
3
3
  > vitest run
4
4
 
5
5
 
6
6
   RUN  v4.0.7 /home/runner/work/faststore/faststore/packages/core
7
7
 
8
- ✓  browser  test/sdk/session/getInitialSession.browser.test.ts (6 tests) 41ms
9
- ✓  browser  test/sdk/session/reconcileSessionLocale.browser.test.ts (5 tests) 25ms
10
- ✓  browser  test/utils/isLocalHost.browser.test.ts (3 tests) 15ms
8
+ ✓  browser  test/sdk/session/getInitialSession.browser.test.ts (6 tests) 26ms
9
+ ✓  browser  test/sdk/session/reconcileSessionLocale.browser.test.ts (5 tests) 34ms
10
+ ✓  browser  test/utils/isLocalHost.browser.test.ts (3 tests) 10ms
11
11
  stderr | test/sdk/localization/store-url.browser.test.ts
12
12
  Error in optimistic validation: TypeError: Cannot read properties of undefined (reading 'read')
13
13
  at validateCart (/home/runner/work/faststore/faststore/packages/core/src/sdk/cart/index.ts:119:27)
@@ -244,16 +244,17 @@ act(() => {
244
244
  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
245
245
  at PasswordProtectionLogin (/home/runner/work/faststore/faststore/packages/core/src/pages/password-protection/index.tsx:19:69)
246
246
 
247
- ✓  browser  test/pages/password-protection.browser.test.tsx (6 tests) 1653ms
248
- ✓ renders the password protection form  724ms
249
- ✓  browser  test/sdk/localization/store-url.browser.test.ts (3 tests) 14ms
250
- ✓  node  test/utils/localization/bindingPaths.test.ts (71 tests) 115ms
251
- ✓  node  test/server/password-protection-service.test.ts (22 tests) 122ms
252
- ✓  browser  test/sdk/session/reconcileSessionLocale.disabled.browser.test.ts (1 test) 6ms
253
- ✓  node  test/utils/match-url.test.ts (10 tests) 30ms
254
- ✓  node  test/sdk/localization/bindingSelector.test.ts (18 tests) 32ms
255
- ✓  node  test/pages/api/unlock.test.ts (15 tests) 846ms
256
- ✓ returns 405 for non-POST requests  578ms
247
+ ✓  browser  test/pages/password-protection.browser.test.tsx (6 tests) 1906ms
248
+ ✓ renders the password protection form  799ms
249
+ ✓ posts the password and redirects to the requested return path  317ms
250
+ ✓  browser  test/sdk/localization/store-url.browser.test.ts (3 tests) 12ms
251
+ ✓  browser  test/sdk/session/reconcileSessionLocale.disabled.browser.test.ts (1 test) 11ms
252
+ ✓  node  test/utils/localization/bindingPaths.test.ts (71 tests) 74ms
253
+ ✓  node  test/utils/match-url.test.ts (10 tests) 39ms
254
+ ✓  node  test/server/password-protection-service.test.ts (22 tests) 140ms
255
+ ✓  node  test/sdk/localization/bindingSelector.test.ts (18 tests) 36ms
256
+ ✓  node  test/pages/api/unlock.test.ts (15 tests) 675ms
257
+ ✓ returns 405 for non-POST requests  477ms
257
258
  stderr | test/components/search/SearchInputComponent.test.tsx
258
259
  Warning: forwardRef render functions accept exactly two parameters: props and ref. Did you forget to use the ref parameter?
259
260
 
@@ -317,18 +318,18 @@ Warning: React does not recognize the `providerProps` prop on a DOM element. If
317
318
  at Suspense
318
319
  at Wrapper (/home/runner/work/faststore/faststore/packages/core/test/components/search/SearchInputComponent.test.tsx:106:20)
319
320
 
320
- ✓  node  test/components/search/SearchInputComponent.test.tsx (6 tests) 379ms
321
- ✓  node  test/utils/cookieCacheBusting.test.ts (10 tests) 62ms
322
- ✓  node  test/sdk/search/useSearchHistory.test.ts (13 tests) 289ms
323
- ✓  node  test/sdk/localization/useBindingSelector.test.tsx (12 tests) 33ms
324
- ✓  node  test/utils/clearCookies.test.ts (20 tests) 34ms
325
- ✓  node  test/utils/multipleTemplates.test.ts (8 tests) 7ms
321
+ ✓  node  test/components/search/SearchInputComponent.test.tsx (6 tests) 248ms
322
+ ✓  node  test/utils/cookieCacheBusting.test.ts (10 tests) 71ms
323
+ ✓  node  test/sdk/localization/useBindingSelector.test.tsx (12 tests) 37ms
324
+ ✓  node  test/sdk/search/useSearchHistory.test.ts (13 tests) 203ms
325
+ ✓  node  test/utils/clearCookies.test.ts (20 tests) 59ms
326
+ ✓  node  test/utils/multipleTemplates.test.ts (8 tests) 8ms
327
+ ✓  node  test/utils/localization/localizeRedirectDestination.test.ts (11 tests) 11ms
328
+ ✓  node  test/sdk/orderEntry/useOrderEntryOperation.test.ts (8 tests) 55ms
326
329
  stderr | test/sdk/account/useSetPassword.test.ts > useSetPassword > maps wrongcredentials error responses to the existing message
327
330
  Set password request failed: Bad Request
328
331
 
329
- ✓  node  test/sdk/account/useSetPassword.test.ts (6 tests) 52ms
330
- ✓  node  test/utils/localization/localizeRedirectDestination.test.ts (11 tests) 5ms
331
- ✓  node  test/sdk/orderEntry/useOrderEntryOperation.test.ts (8 tests) 45ms
332
+ ✓  node  test/sdk/account/useSetPassword.test.ts (6 tests) 44ms
332
333
  stderr | test/pages/api/graphql.test.ts > /api/graphql error status propagation > propagates the upstream 400 from a wrapped BadRequestError instead of 500
333
334
  Graphql execution returned with error: [
334
335
  {
@@ -347,7 +348,6 @@ Warning: React does not recognize the `providerProps` prop on a DOM element. If
347
348
  stderr | test/pages/api/graphql.test.ts > /api/graphql error status propagation > propagates NotFoundError status
348
349
  Graphql execution returned with error: [ { message: 'nope', status: 404, type: 'NotFoundError' } ]
349
350
 
350
- ✓  node  test/sdk/orderEntry/useOrderEntryUpload.test.ts (8 tests) 67ms
351
351
  stderr | test/pages/api/graphql.test.ts > /api/graphql error status propagation > propagates an unmapped upstream status (UnknownError 429)
352
352
  Graphql execution returned with error: [ { message: 'slow down', status: 429, type: 'UnknownError' } ]
353
353
 
@@ -376,30 +376,31 @@ Warning: React does not recognize the `providerProps` prop on a DOM element. If
376
376
  { message: 'bad', status: 400, type: 'BadRequestError' }
377
377
  ]
378
378
 
379
- ✓  node  test/pages/api/graphql.test.ts (10 tests) 35ms
380
- ✓  node  test/proxy.localization.test.ts (5 tests) 67ms
381
- ✓  node  test/sdk/orderEntry/useOrderEntry.test.ts (8 tests) 62ms
382
- ✓  node  test/sdk/orderEntry/useOrderFormItems.test.ts (7 tests) 48ms
383
- ✓  node  test/proxy.test.ts (4 tests) 68ms
384
- ✓  node  test/server/webops-api.test.ts (9 tests) 22ms
385
- ✓  node  test/server/index.test.ts (7 tests) 877ms
386
- ✓ should return a valid merged GraphQL schema  319ms
387
- ✓  node  test/server/cms/global.test.ts (3 tests) 5ms
388
- ✓  node  test/server/content/service.test.ts (5 tests) 5ms
389
- ✓  node  test/sdk/localization/store-url.test.ts (1 test) 5ms
390
- ✓  node  test/utils/getRequestHostname.test.ts (12 tests) 6ms
391
- ✓  node  test/sdk/auth/useAuth.test.ts (5 tests) 33ms
392
- ✓  node  test/pages/api/preview.test.ts (2 tests) 10ms
393
- ✓  node  test/utils/validateSessionRefreshToken.test.ts (6 tests) 6ms
394
- ✓  node  test/components/search/SearchInput.test.ts (6 tests) 11ms
395
- ✓  node  test/utils/unlockResponse.test.ts (11 tests) 5ms
396
- ✓  node  test/server/cms/index.test.ts (2 tests) 8ms
379
+ ✓  node  test/pages/api/graphql.test.ts (10 tests) 27ms
380
+ ✓  node  test/sdk/orderEntry/useOrderEntryUpload.test.ts (8 tests) 51ms
381
+ ✓  node  test/proxy.localization.test.ts (5 tests) 55ms
382
+ ✓  node  test/sdk/orderEntry/useOrderEntry.test.ts (8 tests) 42ms
383
+ ✓  node  test/proxy.test.ts (4 tests) 29ms
384
+ ✓  node  test/sdk/orderEntry/useOrderFormItems.test.ts (7 tests) 33ms
385
+ ✓  node  test/server/index.test.ts (7 tests) 921ms
386
+ ✓ should handle options and execute  464ms
387
+ ✓  node  test/server/webops-api.test.ts (9 tests) 16ms
388
+ ✓  node  test/server/cms/global.test.ts (3 tests) 6ms
389
+ ✓  node  test/sdk/localization/store-url.test.ts (1 test) 9ms
390
+ ✓  node  test/server/content/service.test.ts (5 tests) 6ms
391
+ ✓  node  test/utils/getRequestHostname.test.ts (12 tests) 8ms
392
+ ✓  node  test/sdk/auth/useAuth.test.ts (5 tests) 31ms
393
+ ✓  node  test/pages/api/preview.test.ts (2 tests) 9ms
394
+ ✓  node  test/utils/validateSessionRefreshToken.test.ts (6 tests) 5ms
395
+ ✓  node  test/components/search/SearchInput.test.ts (6 tests) 8ms
396
+ ✓  node  test/utils/unlockResponse.test.ts (11 tests) 6ms
397
+ ✓  node  test/server/cms/index.test.ts (2 tests) 7ms
397
398
  ✓  node  test/utils/isLocalHost.test.ts (7 tests) 5ms
398
399
  ✓  node  test/utils/userOrderStatus.test.ts (3 tests) 3ms
399
400
  ✓  node  test/components/auth/ProfileChallenge.test.tsx (3 tests) 26ms
400
401
 
401
402
   Test Files  41 passed (41)
402
403
   Tests  378 passed (378)
403
-  Start at  14:03:48
404
-  Duration  24.51s (transform 6.83s, setup 0ms, collect 18.67s, tests 5.18s, environment 30.97s, prepare 1.05s)
404
+  Start at  14:13:54
405
+  Duration  25.97s (transform 6.84s, setup 0ms, collect 19.27s, tests 5.00s, environment 35.56s, prepare 1.21s)
405
406
 
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
+ # [4.4.0-dev.5](https://github.com/vtex/faststore/compare/v4.4.0-dev.4...v4.4.0-dev.5) (2026-07-01)
7
+
8
+ ### Features
9
+
10
+ - make cms-sync content-source aware (CMS + CP) ([#3406](https://github.com/vtex/faststore/issues/3406)) ([8e4e4ca](https://github.com/vtex/faststore/commit/8e4e4cab61b6e6fec05b8ae014e4ed2298028b92)), closes [#5c1a1](https://github.com/vtex/faststore/issues/5c1a1) [#ff6b6](https://github.com/vtex/faststore/issues/ff6b6) [#3a0d0](https://github.com/vtex/faststore/issues/3a0d0) [#ff6b6](https://github.com/vtex/faststore/issues/ff6b6) [#10391](https://github.com/vtex/faststore/issues/10391) [#3ddc84](https://github.com/vtex/faststore/issues/3ddc84) [#1](https://github.com/vtex/faststore/issues/1) [#14](https://github.com/vtex/faststore/issues/14) [#15](https://github.com/vtex/faststore/issues/15) [#18](https://github.com/vtex/faststore/issues/18)
11
+
6
12
  # [4.4.0-dev.4](https://github.com/vtex/faststore/compare/v4.4.0-dev.3...v4.4.0-dev.4) (2026-06-30)
7
13
 
8
14
  ### Features
package/README.md CHANGED
@@ -124,6 +124,21 @@ vtex content split-content-types -i cms/faststore/content-types.json -s cms/fast
124
124
  ```
125
125
 
126
126
  IMPORTANT: The Faststore Core Team is the only one that needs to add the -l base.jsonc to the output. Merchants will automatically use the base from the Schema Registry.
127
+
128
+ **Store developers:** set `contentSource: { type: 'CP' }` in `discovery.config.js`, place custom schemas under `cms/faststore/components/` and/or `cms/faststore/pages/`, then run:
129
+
130
+ ```sh
131
+ yarn cms-sync
132
+ ```
133
+
134
+ `cms-sync` detects the content source automatically — in CP mode it generates the schema from your customizations and uploads it to the Schema Registry. Use `--dry-run` to generate locally without uploading.
135
+
136
+ Before running anything in CP mode, `cms-sync` checks that the `vtex` toolbelt is installed and that you are logged into your store's account (`api.storeId` in `discovery.config.js`); otherwise it stops with a hint to run `vtex login <account>` / `vtex switch <account>`. The toolbelt is interactive: `generate-schema` asks you to confirm when one of your definitions overrides a base one, and `upload-schema` asks for the version to publish — answer the prompts in your terminal.
137
+
138
+ If `experimental.enableFaststoreMyAccount` is enabled, `cms-sync` also merges the core My Account schemas (shipped in `@faststore/core`) into the generated schema. These schemas are intentionally excluded from the published base schema (so they are not in the Schema Registry). The command performs a file-level merge of the core My Account JSONC with your own `cms/faststore/{components,pages}` into a temporary staging directory under your store's `.faststore/` (your files override core on name collision), runs a single `generate-schema`/`upload-schema` over it, announces the merge, and removes the staging directory afterwards.
139
+
140
+ **FastStore Core team** (publishing the base schema with the core layer):
141
+
127
142
  2. Generate the schema:
128
143
  ```sh
129
144
  vtex content generate-schema cms/faststore/components cms/faststore/pages -l cms/faststore/base.jsonc -o cms/faststore/schema.json
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@faststore/core",
3
- "version": "4.4.0-dev.4",
3
+ "version": "4.4.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/diagnostics": "4.4.0-dev.4",
75
- "@faststore/lighthouse": "4.4.0-dev.4",
76
- "@faststore/api": "4.4.0-dev.4",
77
- "@faststore/sdk": "4.4.0-dev.4",
78
- "@faststore/ui": "4.4.0-dev.4"
74
+ "@faststore/api": "4.4.0-dev.5",
75
+ "@faststore/diagnostics": "4.4.0-dev.5",
76
+ "@faststore/lighthouse": "4.4.0-dev.5",
77
+ "@faststore/ui": "4.4.0-dev.5",
78
+ "@faststore/sdk": "4.4.0-dev.5"
79
79
  },
80
80
  "devDependencies": {
81
81
  "@cypress/code-coverage": "^3.12.1",