Skip to content

Conversation

@davidchin
Copy link
Contributor

What/Why?

Lazy load customer strategies by importing them on demand. This is achieved by switching to @bigcommerce/checkout-sdk/essential, which excludes payment integration code from its distribution bundle. To initialise checkout buttons in the customer step, we now explicitly import its corresponding integration strategy and pass it into the initialisation method. This allows us to effectively lazy load the integration code only when needed, instead of loading all strategies upfront when only a few are applicable.

See #2563 for the corresponding PR related to payment strategies.

Rollout/Rollback

Disable CHECKOUT-9450.lazy_load_payment_strategies experiment

Testing

See bigcommerce/checkout-sdk-js#2989

@davidchin davidchin force-pushed the lazy_customer_strategies branch from 6034cae to fd84a5a Compare September 23, 2025 06:27
@davidchin davidchin marked this pull request as ready for review September 24, 2025 03:59
@davidchin davidchin requested review from a team as code owners September 24, 2025 03:59
@davidchin davidchin force-pushed the lazy_customer_strategies branch from fd84a5a to 8c23c66 Compare October 2, 2025 02:04
@davidchin davidchin merged commit cd94913 into master Oct 3, 2025
10 checks passed
@davidchin davidchin deleted the lazy_customer_strategies branch October 3, 2025 00:03
@bc-launchbay
Copy link

checkout-js deployed to Integration US
success 20251003002155 by Launchbay

@bc-launchbay
Copy link

checkout-js deployed to Staging US
success 20251003002155 by Launchbay

@github-actions
Copy link

github-actions bot commented Oct 3, 2025

⚡️ Lighthouse results

🖥️ Desktop:

Category Score
🟠 Performance 89
🟢 Accessibility 91
🟠 Best practices 78

📱 Mobile:

Category Score
🟠 Performance 57
🟢 Accessibility 94
🟠 Best practices 78

@bc-launchbay
Copy link

checkout-js deployed to Production US
success 20251003002155 by Launchbay

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants