Skip to content
Merged
Show file tree
Hide file tree
Changes from 166 commits
Commits
Show all changes
168 commits
Select commit Hold shift + click to select a range
eaaa094
Fix: prevent `generateCustomEndpointOptions` from overriding headers …
joeluong-sfcc Oct 16, 2025
1adfe9f
@W-19347602 - Fix In Store Inventory Stock Level Checks (#3401)
shauryemahajanSF Oct 16, 2025
c79409c
skip this flaky tests that randomly fails everyday
kevinxh Oct 17, 2025
41e2490
Merge pull request #3407 from SalesforceCommerceCloud/skip-flaky-e2e-…
kevinxh Oct 20, 2025
510f540
add support for slas proxy req/res callbacks; update jsdocs
clavery Oct 20, 2025
668b6ac
callback name clarity
clavery Oct 20, 2025
9e0afed
update changelog for private proxy ext
clavery Oct 20, 2025
f732b21
slas private proxy test coverage
clavery Oct 20, 2025
fb4de91
lint
clavery Oct 20, 2025
4c6cfd4
lint warnings
clavery Oct 20, 2025
25ea212
@W-19450863 feat: Site ID regex and prompt updated for correctness & …
sf-henry-semaganda Oct 21, 2025
1688036
@W-19995399 - Add Rules for Custom API in Dev Guidelines (#3413)
shauryemahajanSF Oct 21, 2025
baa0359
@W-20002879 Register guest save addresses is multi-ship aware (#3412)
patricksullivansf Oct 21, 2025
1bf252c
Merge branch 'develop' into feature/slas-proxy-extensibility
clavery Oct 22, 2025
2b5d086
Merge pull request #3411 from SalesforceCommerceCloud/feature/slas-pr…
clavery Oct 22, 2025
4159106
Switch a11y tests to private storefront and single set of snapshots
shethj Oct 22, 2025
29e9e33
Update guest user snapshots
shethj Oct 22, 2025
a2e9964
Merge pull request #3416 from SalesforceCommerceCloud/e2e/nightly-a11…
shethj Oct 22, 2025
e7f146c
@W-19688128 Order Details supports multiship and BOPIS (#3414)
patricksullivansf Oct 23, 2025
9765651
@W-19869537 Added Hybrid Proxy support for local and ODS hybrid devel…
yhsieh1 Oct 23, 2025
0b003ba
@W-20026654 Merge einstein suggested phrases in search feature into d…
sf-madhuri-uppu Oct 23, 2025
8d09b13
@W-20027133 - Add Parent Dir Check for dw.json (#3423)
shauryemahajanSF Oct 23, 2025
9c1df04
@W-19838058 Post pwa-kit-mcp release update (#3429)
yhsieh1 Oct 24, 2025
49d0a17
@W-19687986 Store Locator responsive fix (#3420)
patricksullivansf Oct 24, 2025
9ecf901
Fix publish script for a specific package (#3430)
vmarta Oct 24, 2025
ec39daf
Bump versions for 3.14.0-preview.0
shethj Oct 25, 2025
31d17a2
Add support for Rule Based Promotions for Choice of Bonus Products (#…
sf-shikhar-prasoon Oct 25, 2025
adc0deb
@W-19785986 MCP remove create component tool (#3437)
patricksullivansf Oct 29, 2025
f5b2b6d
Remove transfer-encoding if chunked (#3439)
kieran-sf Oct 29, 2025
f88dea1
Fix chunked encoding option name (#3440)
kieran-sf Oct 29, 2025
4ba60df
@W-20073841: Fixed intermittent issues with bonus product modal selec…
ddiazccrz Oct 30, 2025
9360fa5
@W-20038640 Fix: 400 Error (#3443)
sf-shikhar-prasoon Oct 30, 2025
c8c0432
Update changelogs
shethj Oct 31, 2025
b9074eb
@W-20073841: Fixed intermittent issues with bonus product modal selec…
ddiazccrz Oct 30, 2025
0e9fa1b
@W-20038640 Fix: 400 Error (#3443)
sf-shikhar-prasoon Oct 30, 2025
6a64b1b
Add support for Rule Based Promotions for Choice of Bonus Products (#…
sf-shikhar-prasoon Oct 25, 2025
ff640d4
Merge pull request #3434 from SalesforceCommerceCloud/prepare-release…
shethj Oct 31, 2025
90feedf
Update commerce-sdk-isomorphic to latest release
shethj Nov 4, 2025
66cad33
Bump versions for 3.14.0-preview.1 release
shethj Nov 4, 2025
582d9c2
Update changelogs
shethj Nov 4, 2025
220825f
Backport commerce-sdk-isomorphic to v4.0.1
shethj Nov 4, 2025
e18e0bc
Merge pull request #3449 from SalesforceCommerceCloud/prepare-release…
shethj Nov 4, 2025
4504ab6
Bump versions for final 3.14.0 release
shethj Nov 5, 2025
990cdd2
Merge pull request #3451 from SalesforceCommerceCloud/prepare-release…
shethj Nov 5, 2025
1b68dca
Merge branch 'develop' into release-3.14.x
shethj Nov 5, 2025
7957630
Merge pull request #3452 from SalesforceCommerceCloud/release-3.14.x
shethj Nov 5, 2025
7cbfd57
Bump dev versions
shethj Nov 5, 2025
1f06707
Merge pull request #3453 from SalesforceCommerceCloud/post-3.14-bump-…
shethj Nov 5, 2025
8c91b6e
Added the fallback path for the Custom API Tool
snilakandan13 Nov 7, 2025
bfc20d1
Modified the env variable to SFCC_CARTRIDGE_PATH
snilakandan13 Nov 7, 2025
9f7a477
Merge branch 'develop' of https://github.com/SalesforceCommerceCloud/…
snilakandan13 Nov 7, 2025
40e751c
Modified the env variable to SFCC_CARTRIDGE_PATH
snilakandan13 Nov 7, 2025
c23c137
Modified the env variable to SFCC_CARTRIDGE_PATH
snilakandan13 Nov 7, 2025
346d35c
Test failures
snilakandan13 Nov 7, 2025
b220e3d
Test failures
snilakandan13 Nov 7, 2025
6bf6512
Review comments
snilakandan13 Nov 7, 2025
598e83e
Merge pull request #3458 from SalesforceCommerceCloud/t/commerce/W-19…
snilakandan13 Nov 7, 2025
63d1359
W-20398991
giridhari-gupta Dec 4, 2025
3495a3c
W-20276592
giridhari-gupta Dec 5, 2025
4de195b
Merge pull request #3493 from SalesforceCommerceCloud/W-20276592.giri…
giridhari-gupta Dec 5, 2025
7880214
fix(a11y): Improve color swatch text contrast for WCAG 2 AA complianc…
kevinxh Dec 11, 2025
da5245b
@W-20276592: Address autocompletion feature (#3484)
dannyphan2000 Dec 12, 2025
1f4fb85
Add endpoint to test presence of file in ssr_shared
shivaniverma-sf Dec 12, 2025
74afcd7
Fix setting multiple cookies (#3508)
kieran-sf Dec 12, 2025
eb50b97
Merge branch 'develop' into W19001395_shivaniverma-sf_ssr-file-endpoint
shivaniverma-sf Dec 15, 2025
2aa7f32
Merge pull request #3511 from SalesforceCommerceCloud/W19001395_shiva…
shivaniverma-sf Dec 15, 2025
754b4ae
Initial Commit
bendvc Dec 17, 2025
da711f9
Add new endpoint which is a no-op for non-streaming.
lizcross Dec 17, 2025
0aafe63
Add tests remove console logs
bendvc Dec 17, 2025
c68cb26
Add change log, lint, remove unused file
bendvc Dec 17, 2025
03f50be
Fix lint error
lizcross Dec 18, 2025
1f46c4f
Merge 3.15.0 back to develop (#3532)
vcua-mobify Dec 18, 2025
00df94f
@W-20593254 MCP zod 4 dependency update (#3537)
patricksullivansf Dec 18, 2025
fbcb028
Add server header
lizcross Dec 18, 2025
c1e3b1a
Merge branch 'develop' of github.com:SalesforceCommerceCloud/pwa-kit …
lizcross Dec 18, 2025
6b34fdb
@W-19758028 Consolidated duplicated bonus products in checkout and or…
sf-madhuri-uppu Dec 19, 2025
a47947d
Merge branch 'develop' into add-non-streaming-endpoint
lizcross Dec 19, 2025
972437e
Merge pull request #3529 from SalesforceCommerceCloud/add-non-streami…
lizcross Dec 19, 2025
585f7b0
Merge branch 'develop' into bendvc/W-20607771_add-fuzzy-path-matching
bendvc Dec 23, 2025
4a7178b
Remove debugging console logs
bendvc Dec 23, 2025
d70df91
Revert unrelated debugging change
bendvc Dec 23, 2025
112d1d4
Update CHANGELOG.md
bendvc Dec 23, 2025
a800235
Merge pull request #3530 from SalesforceCommerceCloud/bendvc/W-206077…
bendvc Dec 23, 2025
09703bb
@W-20452321: migrate aws-sdk from v2 to v3
o-olaosebikan Jan 6, 2026
3d80301
Update ssr-server.test.js
o-olaosebikan Jan 6, 2026
3601043
lint fix
o-olaosebikan Jan 7, 2026
f7f6874
Empty-Commit
o-olaosebikan Jan 7, 2026
8544f63
Empty-Commit
o-olaosebikan Jan 7, 2026
92fb225
fix nexus
o-olaosebikan Jan 8, 2026
3cf0d91
Update express.lambda.test.js
o-olaosebikan Jan 8, 2026
7faf699
Fix reset password (#3567)
alexvuong Jan 8, 2026
a75f34f
remove callback reference
o-olaosebikan Jan 8, 2026
c8c94cf
Merge branch 'develop' into o.olaosebikan/aws-sdk
o-olaosebikan Jan 8, 2026
dafc10e
Update metrics-sender.js
o-olaosebikan Jan 8, 2026
476ee4d
Merge branch 'o.olaosebikan/aws-sdk' of https://github.com/Salesforce…
o-olaosebikan Jan 8, 2026
1c39b41
@W-20450671 [Bug Fix] Passwordless Login landingPath, Reset Password …
hajinsuha1 Jan 9, 2026
758c27e
Merge branch 'develop' into o.olaosebikan/aws-sdk
o-olaosebikan Jan 9, 2026
e268e67
Merge pull request #3566 from SalesforceCommerceCloud/o.olaosebikan/a…
o-olaosebikan Jan 9, 2026
96e16a9
Tests for bonus product grouping on order summary bug (#3569)
sf-madhuri-uppu Jan 12, 2026
5406271
Added descriptions for composite actions.
shethj Jan 15, 2026
1798f99
@W-20874529 - Integrate PWA Order Details with SOM/OMS (#3573)
sf-deepali-bharmal Jan 15, 2026
30a241d
Add NPM token expiry verification script
shethj Jan 16, 2026
5664a40
Add emoji to slack notification
shethj Jan 16, 2026
3c81e58
Merge branch 'develop' into feature/update-publish-to-npm-auth
shethj Jan 16, 2026
a3a923b
Integrate Order History with OMS (#3581)
sf-deepali-bharmal Jan 16, 2026
c63d78f
Merge branch 'develop' into feature/update-publish-to-npm-auth
shethj Jan 16, 2026
1936bff
Add a link to PWA Kit release doc
shethj Jan 16, 2026
2ae46a9
Remove redundant env set
shethj Jan 17, 2026
e193a2c
Merge pull request #3582 from SalesforceCommerceCloud/feature/update-…
shethj Jan 17, 2026
e261f59
Commerce react sdk strengthen some types (#3589)
alexvuong Jan 21, 2026
b81884c
Add shipping support for OMS (#3588)
sf-deepali-bharmal Jan 23, 2026
3748b56
Add tests (#3610)
sf-deepali-bharmal Jan 27, 2026
5c30741
Feature: Passwordless Login and Password Reset supports use of `email…
hajinsuha1 Jan 28, 2026
d82757a
@W-20931847 - OMS multiple shipment support with pickups (#3613)
sf-deepali-bharmal Jan 29, 2026
bff4b48
@W-20975885 New launch agent location in header component (#3606)
sf-tejas-nadkarni Jan 30, 2026
6f13edb
Public client hybrid preset to bjmk_prd
shethj Jan 30, 2026
c3bb176
trigger PR CI
shethj Jan 30, 2026
9b4f68b
Trigger PR CI
shethj Jan 30, 2026
b8bc171
Merge pull request #3621 from SalesforceCommerceCloud/fix/update-hybr…
shethj Jan 30, 2026
3533930
@W-20540715 MERGE 1CC TO DEVELOP (#3552)
syadupathi-sf Feb 2, 2026
57a665f
@W-21043644 Translation for Ask Shopper Agent for launch location (#3…
sf-tejas-nadkarni Feb 3, 2026
5f9738e
Passwordless Login - Util function for passwordless callback URI (#3630)
vcua-mobify Feb 3, 2026
9a3ec60
[Cleanup] Remove unused absoluteUrl util from retail react app (#3633)
vcua-mobify Feb 4, 2026
9b5050f
@W-20448811 Shopper can manually enter OTP in login flows (#3554)
hajinsuha1 Feb 4, 2026
32ff733
@W-21094171: Fix Resend Code for OTP modal (#3624)
dannyphan2000 Feb 5, 2026
2c809bb
@W-21188588 Default to ECOM Shipping when OMS does not return shippin…
sf-deepali-bharmal Feb 5, 2026
1a3a015
port in basepath changes from https://github.com/SalesforceCommerceCl…
noahadams Feb 6, 2026
5f6b9ae
W-21190081 Add spinner during OTP verification (#3643)
syadupathi-sf Feb 6, 2026
5d47b78
Update changelogs for 3.16.0 release preparation
kevinxh Feb 6, 2026
f14c1e9
Bump versions for 3.16.0-preview.0
kevinxh Feb 6, 2026
24dcf3d
feedback, check for path segment and not just prefix matching in midd…
noahadams Feb 7, 2026
0e107a7
@W-21111863 @W-21109829 @W-21005976 @W-21109850 1CC Bug Fixes (#3638)
syadupathi-sf Feb 9, 2026
1582aaa
Merge develop for preview.1
kevinxh Feb 9, 2026
9fa94f7
correct parentheses, comment test-cases
noahadams Feb 9, 2026
5a3d81e
Bump versions for 3.16.0-preview.1
kevinxh Feb 9, 2026
4401444
Merge pull request #3649 from SalesforceCommerceCloud/prep-3.16.0-pre…
kevinxh Feb 9, 2026
50bfe72
Merge remote-tracking branch 'origin/develop' into W-20726574-update-…
noahadams Feb 9, 2026
3057903
logging to debug level
noahadams Feb 9, 2026
06c022d
Merge pull request #3644 from SalesforceCommerceCloud/W-20726574-upda…
noahadams Feb 10, 2026
17d98be
Update button alignment in OtpAuth component to be centered (#3650)
hajinsuha1 Feb 10, 2026
414cb66
Shopper Agent: Control floating button visibility and fix programmati…
sf-tejas-nadkarni Feb 10, 2026
6d80118
@W-21109829: updated file ownership for 1cc (#3645)
kumaravinashcommercecloud Feb 11, 2026
9ee3f5d
[Node 24][V3] Migrate Deprecated Node URL APIs to WHATWG Standard (@W…
adamraya Feb 11, 2026
fb333b9
1CC UX fixes (W-21240479)
kevinxh Feb 12, 2026
61b3f28
Trigger CI
kevinxh Feb 12, 2026
85a9dfc
Merge pull request #3660 from SalesforceCommerceCloud/prep-3.16.0-bugfix
kevinxh Feb 12, 2026
5e9958a
[Node 24][V3]Update `ssrFunctionNodeVersion` (@W-20777230@) (#3656)
adamraya Feb 12, 2026
82fcae0
Bump versions for 3.16.0-preview.2
kevinxh Feb 12, 2026
37cee6d
Trigger CI
kevinxh Feb 12, 2026
f86c2c1
@W-21252790: 1cc in Developer Preview mode (#3662)
kumaravinashcommercecloud Feb 12, 2026
70ef0ff
Merge pull request #3661 from SalesforceCommerceCloud/prep-3.16.0-pre…
kevinxh Feb 12, 2026
167ede5
Bump versions for 3.16.0 stable release
kevinxh Feb 12, 2026
9667b10
Clean up changelogs for stable release
kevinxh Feb 12, 2026
c6730fc
Update 1CC config comment with Developer Preview note and release link
kevinxh Feb 12, 2026
6c5fadd
Merge pull request #3664 from SalesforceCommerceCloud/prep-3.16.0-stable
kevinxh Feb 13, 2026
a0b508b
Merge release-3.16.x back to develop
kevinxh Feb 13, 2026
bffe5c9
Bump dev versions to 3.17.0-dev for next release cycle
kevinxh Feb 13, 2026
10c07ad
Regenerate package-lock files from develop baseline
kevinxh Feb 13, 2026
004ba7f
Fix package versions and changelog headers after failed bump
kevinxh Feb 13, 2026
6e2b841
Merge pull request #3665 from SalesforceCommerceCloud/merge-release-3…
kevinxh Feb 13, 2026
8151418
@W-20726537 Data access layer middleware (#3648)
raiyaj Feb 13, 2026
f7847c5
@W-20615533 Search popup – Ask Shopping Agent banner and Embedded Mes…
sf-tejas-nadkarni Feb 18, 2026
1e07dc7
Merge develop into t/team404/sfp-on-pwa
Feb 18, 2026
7dd1757
W-21241548: resolve conflicts
Feb 19, 2026
afab363
Merge latest t/team404/sfp-on-pwa (Adyen SPM) into rvishwanathbhat/me…
Feb 20, 2026
4de025f
W-21241548: resolve conflicts
Feb 20, 2026
8b3fc01
W-21241548: resolve conflicts
Feb 20, 2026
cd5f773
W-21241548: resolve conflicts
Feb 20, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
11 changes: 10 additions & 1 deletion .github/CODEOWNERS
Original file line number Diff line number Diff line change
Expand Up @@ -59,6 +59,15 @@ packages/template-retail-react-app/app/pages/cart/partials/bonus-products-title.
# Standard Products feature files - PR #2697
packages/template-retail-react-app/app/mocks/standard-product.js @SalesforceCommerceCloud/cc-sharks
packages/template-retail-react-app/app/utils/add-to-cart-utils.js @SalesforceCommerceCloud/cc-sharks


# One-Click Checkout feature files
packages/template-retail-react-app/app/pages/checkout-one-click/ @SalesforceCommerceCloud/stretch-armstrong
packages/template-retail-react-app/app/components/otp-auth/ @SalesforceCommerceCloud/stretch-armstrong
packages/template-retail-react-app/app/hooks/use-checkout-auto-select.js @SalesforceCommerceCloud/stretch-armstrong
packages/template-retail-react-app/app/hooks/use-checkout-auto-select.test.js @SalesforceCommerceCloud/stretch-armstrong
packages/template-retail-react-app/app/hooks/use-countdown.js @SalesforceCommerceCloud/stretch-armstrong
packages/template-retail-react-app/app/hooks/use-countdown.test.js @SalesforceCommerceCloud/stretch-armstrong
packages/template-retail-react-app/app/hooks/use-otp-inputs.js @SalesforceCommerceCloud/stretch-armstrong
packages/template-retail-react-app/app/hooks/use-otp-inputs.test.js @SalesforceCommerceCloud/stretch-armstrong

#ECCN:Open Source
1 change: 1 addition & 0 deletions .github/actions/bundle_size_test/action.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
name: bundlesize
description: Check bundle size against maximum file size limits
runs:
using: composite
steps:
Expand Down
1 change: 1 addition & 0 deletions .github/actions/check_clean/action.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
name: check_clean
description: Check if repository has uncommitted changes
runs:
using: composite
steps:
Expand Down
1 change: 1 addition & 0 deletions .github/actions/check_if_latest_release/action.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
name: check_if_latest_release
description: Check if the current release is the latest release
inputs:
token:
description: "Github API token"
Expand Down
1 change: 1 addition & 0 deletions .github/actions/count_deps/action.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
name: count_deps
description: Count and validate project dependencies
inputs:
project_dir:
description: 'Path to the project directory'
Expand Down
1 change: 1 addition & 0 deletions .github/actions/create_mrt/action.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
name: create_mrt
description: Create MRT credentials file
inputs:
mobify_user:
description: "Mobify user email"
Expand Down
1 change: 1 addition & 0 deletions .github/actions/datadog/action.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
name: datadog
description: Send metrics to Datadog
inputs:
datadog_api_key:
description: "Datadog API key"
Expand Down
1 change: 1 addition & 0 deletions .github/actions/e2e_generate_app/action.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
name: e2e_generate_app
description: Generate a new project for E2E testing
inputs:
PROJECT_KEY:
description: Project key to specify project to generate ("retail-app-demo", "retail-app-ext" or "retail-app-no-ext")
Expand Down
1 change: 1 addition & 0 deletions .github/actions/e2e_validate_generated_app/action.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
name: e2e_validate_generated_app
description: Validate generated project for E2E testing
inputs:
PROJECT_KEY:
description: Project key to specify project to validate ("retail-app-demo", "retail-app-ext" or "retail-app-no-ext")
Expand Down
1 change: 1 addition & 0 deletions .github/actions/lighthouse_ci/action.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
name: lighthouse_ci
description: Run Lighthouse CI performance tests
runs:
using: composite
steps:
Expand Down
1 change: 1 addition & 0 deletions .github/actions/linting/action.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
name: linting
description: Run linting checks on the codebase
inputs:
cwd:
required: false
Expand Down
1 change: 1 addition & 0 deletions .github/actions/publish_to_npm/action.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
name: publish_to_npm
description: Publish packages to NPM registry
inputs:
NODE_AUTH_TOKEN:
description: "Node auth token"
Expand Down
1 change: 1 addition & 0 deletions .github/actions/push_to_mrt/action.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
name: push_to_mrt
description: Push bundle to MRT (Managed Runtime)
inputs:
CWD:
description: Project directory
Expand Down
1 change: 1 addition & 0 deletions .github/actions/smoke_tests/action.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
name: smoke_tests
description: Run smoke tests on npm scripts
inputs:
dir:
required: false
Expand Down
1 change: 1 addition & 0 deletions .github/actions/snyk/action.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
name: snyk
description: Run Snyk security audit on the project
inputs:
snyk_token:
description: "Snyk token"
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/agent_checkout_rebase_action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ jobs:
- name: Set up Node.js
uses: actions/setup-node@v4
with:
node-version: '22' # Or your project's specific Node.js version
node-version: '24' # Or your project's specific Node.js version
cache: 'npm' # Caches npm dependencies for faster runs

# Step 3: Configure Git with a user name and email.
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/bundle-size.yml
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ jobs:
- name: Setup Node
uses: actions/setup-node@v4
with:
node-version: 22 # Use latest LTS version for bundle size check
node-version: 24 # Use latest LTS version for bundle size check
cache: npm

- name: Setup Ubuntu Machine
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/deploy_latest_release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -63,7 +63,7 @@ jobs:
id: setup_node
uses: actions/setup-node@v4
with:
node-version: 22
node-version: 24
cache: "npm"

- name: Install Monorepo Dependencies
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/e2e-pr.yml
Original file line number Diff line number Diff line change
Expand Up @@ -82,7 +82,7 @@ jobs:
if: ${{ env.SKIP_WORKFLOW != 'true' }}
uses: actions/setup-node@v4
with:
node-version: 22
node-version: 24
cache: npm

- name: Install Monorepo Dependencies
Expand Down Expand Up @@ -219,4 +219,4 @@ jobs:
# This is used by the e2e tests to run the tests against the MRT target.
export RETAIL_APP_HOME="https://${{ github.event_name == 'workflow_dispatch' && github.event.inputs.mrt_target_external_hostname || steps.mrt_target_details.outputs.ssrExternalHostname }}"
echo "RETAIL_APP_HOME environment variable value: $RETAIL_APP_HOME"
npx playwright test --project=chromium --project=mobile-chrome --project=a11y-mobile-slas-private-client --project=a11y-desktop-slas-private-client --workers=4
npx playwright test --project=chromium --project=mobile-chrome --project=a11y-mobile --project=a11y-desktop --workers=4
32 changes: 15 additions & 17 deletions .github/workflows/e2e.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,14 +11,14 @@ jobs:
fail-fast: false
matrix:
# Run all matrix env at once because we will not deploy demo app to MRT.
node: [20, 22]
node: [20, 22, 24]
npm: [10, 11]
runs-on: ubuntu-latest
env:
# The "default" npm is the one that ships with a given version of node.
# For more: https://nodejs.org/en/download/releases/
# (We also use this env var for making sure a step runs once for the current node version)
IS_DEFAULT_NPM: ${{ (matrix.node == 20 && matrix.npm == 10) || (matrix.node == 22 && matrix.npm == 10) }}
IS_DEFAULT_NPM: ${{ (matrix.node == 20 && matrix.npm == 10) || (matrix.node == 22 && matrix.npm == 10) || (matrix.node == 24 && matrix.npm == 11) }}
steps:
- name: Checkout
uses: actions/checkout@v4
Expand Down Expand Up @@ -63,14 +63,14 @@ jobs:
max-parallel: 1
matrix:
# Run all matrix env at once because we will not deploy demo app to MRT.
node: [20, 22]
node: [20, 22, 24]
npm: [10, 11]
runs-on: ubuntu-latest
env:
# The "default" npm is the one that ships with a given version of node.
# For more: https://nodejs.org/en/download/releases/
# (We also use this env var for making sure a step runs once for the current node version)
IS_DEFAULT_NPM: ${{ (matrix.node == 20 && matrix.npm == 10) || (matrix.node == 22 && matrix.npm == 10) }}
IS_DEFAULT_NPM: ${{ (matrix.node == 20 && matrix.npm == 10) || (matrix.node == 22 && matrix.npm == 10) || (matrix.node == 24 && matrix.npm == 11) }}

steps:
- name: Checkout
Expand Down Expand Up @@ -175,17 +175,14 @@ jobs:
max-parallel: 1
matrix:
# Run all matrix env at once because we will not deploy demo app to MRT.
node: [20, 22]
node: [20, 22, 24]
npm: [10, 11]
runs-on: ubuntu-latest
env:
# The "default" npm is the one that ships with a given version of node.
# For more: https://nodejs.org/en/download/releases/
# (We also use this env var for making sure a step runs once for the current node version)
IS_DEFAULT_NPM: ${{ (matrix.node == 20 && matrix.npm == 10) || (matrix.node == 22 && matrix.npm == 10) }}
# The current recommended version for Managed Runtime:
# https://developer.salesforce.com/docs/commerce/pwa-kit-managed-runtime/guide/upgrade-node-version.html
IS_MRT_NODE: ${{ matrix.node == 22 && matrix.npm == 11 }}
IS_DEFAULT_NPM: ${{ (matrix.node == 20 && matrix.npm == 10) || (matrix.node == 22 && matrix.npm == 10) || (matrix.node == 24 && matrix.npm == 11) }}
steps:
- name: Checkout
uses: actions/checkout@v4
Expand Down Expand Up @@ -251,11 +248,6 @@ jobs:
# this will not include a11y tests
- name: Run Playwright tests
run: npm run test:e2e

- name: Run a11y test for Node 22 with npm 11
if: env.IS_MRT_NODE == 'true'
run: npm run test:e2e:a11y:slas-public-client

notify-slack-pwa-ext:
needs: [run-generator-retail-app-ext]
if: ${{ always() }}
Expand Down Expand Up @@ -291,14 +283,17 @@ jobs:
max-parallel: 1
matrix:
# Run all matrix env at once because we will not deploy demo app to MRT.
node: [20, 22]
node: [20, 22, 24]
npm: [10, 11]
runs-on: ubuntu-latest
env:
# The "default" npm is the one that ships with a given version of node.
# For more: https://nodejs.org/en/download/releases/
# (We also use this env var for making sure a step runs once for the current node version)
IS_DEFAULT_NPM: ${{ (matrix.node == 20 && matrix.npm == 10) || (matrix.node == 22 && matrix.npm == 10) }}
IS_DEFAULT_NPM: ${{ (matrix.node == 20 && matrix.npm == 10) || (matrix.node == 22 && matrix.npm == 10) || (matrix.node == 24 && matrix.npm == 11) }}
# The current recommended version for Managed Runtime:
# https://developer.salesforce.com/docs/commerce/pwa-kit-managed-runtime/guide/upgrade-node-version.html
IS_MRT_NODE: ${{ matrix.node == 24 && matrix.npm == 11 }}
steps:
- name: Checkout
uses: actions/checkout@v4
Expand Down Expand Up @@ -370,6 +365,9 @@ jobs:
- name: Run Playwright tests
run: npm run test:e2e

- name: Run a11y test for Node 24 with npm 11
if: env.IS_MRT_NODE == 'true'
run: npm run test:e2e:a11y
notify-slack-pwa-private-client:
needs: [run-generator-private-client]
if: ${{ always() }}
Expand Down Expand Up @@ -407,7 +405,7 @@ jobs:
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: 22
node-version: 24
cache: npm
- name: Install Monorepo Dependencies
run: node ./scripts/gtime.js monorepo_install npm ci
Expand Down
6 changes: 3 additions & 3 deletions .github/workflows/lint.yml
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ jobs:
- name: Setup Node
uses: actions/setup-node@v4
with:
node-version: 22 # Use latest LTS version for linting
node-version: 24 # Use latest LTS version for linting
cache: npm

- name: Setup Ubuntu Machine
Expand All @@ -48,7 +48,7 @@ jobs:
- name: Setup Node
uses: actions/setup-node@v4
with:
node-version: 22
node-version: 24
cache: npm

- name: Setup Ubuntu Machine
Expand Down Expand Up @@ -87,7 +87,7 @@ jobs:
- name: Setup Node
uses: actions/setup-node@v4
with:
node-version: 22
node-version: 24
cache: npm

- name: Setup Windows Machine
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/mrt-pool-cleanup.yml
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ jobs:
- name: Setup Node
uses: actions/setup-node@v4
with:
node-version: 22
node-version: 24
cache: npm

- name: Install Monorepo Dependencies
Expand Down
37 changes: 33 additions & 4 deletions .github/workflows/nightly_release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,6 @@ jobs:
echo "monorepo_version_base=$version" >> "$GITHUB_ENV"
version_major=`echo "$version" | cut -d "." -f 1`
echo "monorepo_version_major=$version_major" >> "$GITHUB_ENV"
echo "nightly_version=${{ env.monorepo_version_base }}-nightly-${{ env.release_timestamp }}" ?? "$GITHUB_ENV"

- name: Get nightly version
run: echo "nightly_version=${{ env.monorepo_version_base }}-nightly-${{ env.release_timestamp }}" >> "$GITHUB_ENV"
Expand All @@ -49,7 +48,7 @@ jobs:
- name: Setup Node
uses: actions/setup-node@v4
with:
node-version: 22
node-version: 24
cache: npm

- name: Install Monorepo Dependencies
Expand Down Expand Up @@ -116,7 +115,7 @@ jobs:
with:
payload: |
{
"message": "Successfully released PWA Kit v${{ env.nightly_version }}"
"message": "✅ Successfully released PWA Kit v${{ env.nightly_version }}"
}
env:
SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }}
Expand All @@ -128,7 +127,37 @@ jobs:
with:
payload: |
{
"message": "Failed to release PWA Kit v${{ env.monorepo_version_base }}-nightly-${{ env.release_timestamp }} (${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }})"
"message": "❌ Failed to release PWA Kit v${{ env.monorepo_version_base }}-nightly-${{ env.release_timestamp }} (${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }})"
}
env:
SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }}

- name: Check NPM Token Expiry
if: always()
run: |
LAST_ROTATION="${{ secrets.NPM_TOKEN_LAST_ROTATION_DATE }}"

if [ -z "$LAST_ROTATION" ]; then
echo "NPM_TOKEN_LAST_ROTATION_DATE secret not set, skipping expiry check"
exit 0
fi

CURRENT_DATE=$(date +%s)
EXPIRY_DATE=$(( $LAST_ROTATION + 7776000 )) # 90 days in seconds (90 * 24 * 60 * 60)
DAYS_LEFT=$(( ($EXPIRY_DATE - $CURRENT_DATE) / 86400 ))

echo "NPM Token last rotated: $(date -d @$LAST_ROTATION +'%Y-%m-%d')"
echo "Days until expiry: $DAYS_LEFT"
echo "days_left=$DAYS_LEFT" >> "$GITHUB_ENV"
echo "should_notify=$( [ $DAYS_LEFT -le 10 ] && echo 'true' || echo 'false' )" >> "$GITHUB_ENV"

- name: Send Token Expiry Warning to Slack
if: always() && env.should_notify == 'true'
uses: slackapi/slack-github-action@v1.23.0
with:
payload: |
{
"message": "⚠️ NPM Token expiring soon! Only ${{ env.days_left }} days remaining. Please rotate the token using the instructions in this doc: ${{ secrets.PWA_KIT_RELEASE_DOC_LINK }}"
}
env:
SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }}
2 changes: 1 addition & 1 deletion .github/workflows/performance-metrics.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ jobs:
- name: Setup Node
uses: actions/setup-node@v4
with:
node-version: 22
node-version: 24
cache: npm

- name: Install Monorepo Dependencies
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/setup_pwa_manual.yml
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,7 @@ jobs:
id: setup_node
uses: actions/setup-node@v4
with:
node-version: 22
node-version: 24
cache: "npm"

- name: Setup PWA dependencies
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ jobs:
id: setup_node
uses: actions/setup-node@v4
with:
node-version: 22
node-version: 24
cache: "npm"

- name: Setup PWA dependencies
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/sync_extra_features_e2e.yml
Original file line number Diff line number Diff line change
Expand Up @@ -141,7 +141,7 @@ jobs:
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: 22
node-version: 24
cache: 'npm'

- name: Install Monorepo Dependencies
Expand Down
Loading
Loading