Skip to content

Conversation

@EvanReinstein
Copy link
Contributor

Integrates the PayPalProvider with the dataNamespace input for the loadCoreSdkScript function.

@EvanReinstein EvanReinstein requested a review from a team as a code owner October 30, 2025 20:05
@changeset-bot
Copy link

changeset-bot bot commented Oct 30, 2025

⚠️ No Changeset found

Latest commit: 55d3211

Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.

This PR includes no changesets

When changesets are added to this PR, you'll see the packages that this PR includes changesets for and the associated semver types

Click here to learn what changesets are, and how to add one.

Click here if you're a maintainer who wants to add a changeset to this PR

@EvanReinstein EvanReinstein merged commit 168cb9a into feature/react-paypal-js-v6 Nov 3, 2025
2 checks passed
@EvanReinstein EvanReinstein deleted the feature/add-datanamespace-to-provider branch November 3, 2025 15:01
EvanReinstein added a commit that referenced this pull request Nov 6, 2025
* Feat: Upgrade Typescript to v5 in react-paypal-js (#685)

* initial package.json and rollup updates, changes tsconfig to bundler and adds v6 specific tsconfig

* upgrade react-paypal-js typescript package to v5.3.3

* update tsconfig for v6 namespace

* chore: add changeset

* align rollup version and update playwright yml

* change playwright.yml download deps command

* update actions checkout and setup-node to v4

* update .nvmrc

* try different method for installing dependencies

* fix package dependency issues related to rollup and terser

* revert change to download deps step

* update package-lock

* test fix for rollup option deps bug

* update build script

* test adding cache to setup node action, update install command, and remove rollup force install in github workflows

* re-add force rollup install in github workflows

* run npm install to update package-lock with new package versions from typescript upgrade

* revert changes to download deps and setup node steps in github workflows

* install with update to package.json

* leverage fresh package-lock and remove all artifactory package resolution paths

* fix check annotations warnings

* add new line at the end of gitignore

* Feat: V6 Context Provider (#688)

* Feat: Upgrade Typescript to v5 in react-paypal-js (#685)

* initial package.json and rollup updates, changes tsconfig to bundler and adds v6 specific tsconfig

* upgrade react-paypal-js typescript package to v5.3.3

* update tsconfig for v6 namespace

* chore: add changeset

* align rollup version and update playwright yml

* change playwright.yml download deps command

* update actions checkout and setup-node to v4

* update .nvmrc

* try different method for installing dependencies

* fix package dependency issues related to rollup and terser

* revert change to download deps step

* update package-lock

* test fix for rollup option deps bug

* update build script

* test adding cache to setup node action, update install command, and remove rollup force install in github workflows

* re-add force rollup install in github workflows

* run npm install to update package-lock with new package versions from typescript upgrade

* revert changes to download deps and setup node steps in github workflows

* install with update to package.json

* leverage fresh package-lock and remove all artifactory package resolution paths

* fix check annotations warnings

* add new line at the end of gitignore

* add ssr checks to load core sdk script func and add initial instance provider

* add a basic set of hooks

* update exports

* mark usePayPalInstance hook as exportable

* add isServer util and apply where appropriate

* clean up usePayPalInstance file

* update exports

* create v6 specific utils file

* add reducer to manage various state, fix missed isServer condition in paypal-js

* update paypal sdk instance provider name

* remove json.stringify operation from memoizedOptions

* clean up useMemo

* clean up useMemo import

* update provider to account for useEffect during ssr

* add tests for client-side and server-side instance provider

* add instance provider context test

* add context test and clean up other provider tests

* update initial to pending state useEffect with empty dependency array

* configure provider to handle memoization of create instance and script options

* memoize context to prevent rerenders

* remove duplicate isServer

* swap deep equality check packages

* update isServer to a function that also checks whether the document is present

* fix tests and missed isServer uses

* remove isServer from eligibility useEffect

* add changeset

* add ref for initial hydration

* remove abort controller

* flatten create instance options props object

* update naming convention

* update tests to reflect name and prop passing changes

* remove dead code isServer check

* update jsdoc

* update imports to correct values

* add console warning to loadCoreSdkScript

* remove create instance and script options from reducer state

* remove sdkInstance check in loading useEffect

* Feat: Add check for existing core script (#701)

* update loadCoreSdkScript with a condition to check if a core script already exists

* enhance window.paypal check to include version

* chore: add changeset

* feat: Implement use venmo one time payment session hook

* moved `useProxyProps` to this branch

* rename to types file

* CreateOrderPromise

* export CreateOrder* types

* chore: Breakout enums from type file

* add pay later hook

* fix venmo test file

* rename test file

* fix types

* fix tests and types

* add typecheck to lint command for CI

* include all files for tsconfig and fix type errors

* Feat: usePayPalOneTimePaymentSession hook (#699)

* add inital paypal otp payment session hook

* add tests

* address review comments

* update hook after boilerplate agreement

* remove hook jsdoc comment

* address review comments

* review pr comments

* Refactor tests to mock useProxyProps

* add pay later hook

* refactor after convo

* some notes

* remove unused code

* wip

* rename types file

* use correct types

* useProxyProps

* fix error message

* remove comment

* tests placeholder

* add test watch command

* test stubs

* wip

* wip

* tests wip

* use optional chaining

* proxy callback test

* some docs

* test wip

* test wip

* fixed

* cleanup

* rename

* some cleanup

* fix venmo test file

* add tests

* update tests

* remove callback proxying tests

---------

Co-authored-by: Hamza Nasir <[email protected]>
Co-authored-by: Muhammad Hamza Nasir <[email protected]>
Co-authored-by: Andrew Kos <[email protected]>

* Feat: usePayPalSavePaymentSession hook  (#708)

* add paypal save payment session hook

* fix typo

* fix another typo

* Refactor PayPalProvider (#714)

* initial provider refactoring and deep compare updates

* fix infinite loop and refactor create sdk instance useEffect

* remove ts doc comment for the provider

* refactor provider tests

* remove dequal from react-paypal-js dependencies

* remove initial from instance loading state enum

* add jsdoc for isEqualComponentsArray helper

* fix test

* revert paypal-js changes

* remove shared test utils file (#723)

* remove shared test utils file

* update load core sdk script tests

* add a changeset

* Revert "update load core sdk script tests"

This reverts commit 8e8e712.

* re-apply test fix

* Feat: Add dataNamespace to the PayPal Provider (#720)

* add datanamespace option to the provider

* update exported session hooks

* Fix/refactor types (#725)

* refactor pay later types

* refactor paypal otp types

* remove provider type declaration file

* remove venmo type declaration file

* remove save payment declaration file and add base payment session return interface

* apple base payment session return type

* fix build errors

* v6 React error handling (#721)

* error handling

* update state type, remove dispatch

* update package-lock

* fix types

* fix some warnings

* remove sdk instance from expect rejected state

* remove unused code

* skip eligibility error for now

* fix error

* fix changes from merge conflicts

---------

Co-authored-by: Hamza Nasir <[email protected]>
Co-authored-by: Andrew Kos <[email protected]>
Co-authored-by: Muhammad Hamza Nasir <[email protected]>
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.

3 participants