Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Expose LDProvider as a standalone export #27

Closed
nimi opened this issue Feb 20, 2020 · 8 comments
Closed

Expose LDProvider as a standalone export #27

nimi opened this issue Feb 20, 2020 · 8 comments

Comments

@nimi
Copy link
Contributor

nimi commented Feb 20, 2020

Is your feature request related to a problem? Please describe.

There are two documented ways to initialize the React SDK -- by using the the synchronous HOC withLDProvider or using an async function, asyncWithLDProvider, which is designed to resolve the javascript client and flags via HTTP before doing an initial render. Both of these solutions are problematic for our use case. The list below describes the issues we're facing

  • First, asyncWithLDProvider requires we block rendering of our app before we have access to the Provider. This requires us to write custom logic outside of the react app to display a loading state. This is handled in our React app, so we now have to manage two different places where loading states are enabled/disabled
  • Second, both asyncWithLDProvider and withLDProvider, we're unable to feed dynamic state into the initialization. We use redux to store global configuration and user state based on environment and auth context. As a HOC, we're unable to initialize our client with the correct clientID and user state.

A related issue is filed here launchdarkly/js-client-sdk#174

Describe the solution you'd like

I'd like to suggest, that exposing the LDProvider as a standalone component which can accept the provider configuration. Something like:

return (
  <LDProvider {...myLDPropsFromRedux} />
   <App />
  </LDProvider>
)

Would this be something you be open as a PR submission or have further thoughts on?

Describe alternatives you've considered
Using the js SDK instead

@nimi nimi changed the title Expose LDComponent as separate Provider Expose LDProvider as a standalone export Feb 20, 2020
@yusinto
Copy link
Contributor

yusinto commented Feb 25, 2020

@nimi thank you for raising this. We are currently reviewing your pr #28 and will have some updates soon.

@vlavella
Copy link

Any updates on this? We also really need this feature

@eli-darkly
Copy link
Contributor

We reviewed the corresponding pull request and made some requests for changes, so we were still waiting for @nimi to follow up. If we can't get in touch with the contributor we'll probably proceed with a similar change on our end soon.

@seanconnollydev
Copy link

Just want to point out this is also an issue because the HOC does not hoist React statics. We have multiple applications that use Next.js's getInitialProps, and they all will break if we try to use the withLDProvider HOC.

@KiranGopalakrishnan
Copy link

KiranGopalakrishnan commented May 20, 2020

we kind of ran into a similar problem , I worked around it by creating a component that received the user data from the store and initialize LD using withLDProvider and do something like

const WithFeatureFlags: React.FC<Props> = ({
    user
}: Props) => {
    if(user){
        const Child = () => <>{children}</>;

        const WithLDContext = withLDProvider({
            clientSideID: launchDarklyClientId,
            user,
            reactOptions: {
                useCamelCaseFlagKeys: false,
            },
        })(Child);

        return <WithLDContext />;
    }

    return <>{children}</>;
};

And wrap this around my App at the root level

@bwoskow-ld
Copy link
Member

We have merged #31 to our contrib branch and will include this in the next version of our React SDK, slated for release in the next week or two. Stay tuned.

@bwoskow-ld
Copy link
Member

This is released in 2.19.0.

@nimi
Copy link
Contributor Author

nimi commented Jul 17, 2020

Hey y'all! Sorry I wasn't able to get back on this one to finish out. Pandemic + work + kiddo at home didn't leave me much time for much else. Thank you so much for getting this one into the release, it looks ✨ . We look forward to getting this into our app 😃

LaunchDarklyReleaseBot added a commit that referenced this issue Feb 18, 2022
* Initial commit

* Delete extraneous files from lib.

* Update initLDClient.test.ts

* Update withLDProvider.tsx (#18)

* update JS SDK dependency to 2.16.3

* use JS SDK 2.17.0

* improve tests to clarify which options we're passing in and which ones are added by the wrapper

* set wrapperName to react-client-sdk

* lint

* Update withLDProvider.test.tsx

* update JS SDK to 2.17.5 + a few dev dependency bumps (#21)

* downgrade typescript to 3.8.3 (#22)

* [Fixes for] Expose LDProvider as a standalone component (#31)

* remove startsWith usage (#23)

* Fix the broken build (#24)

* Expose ld provider (#40)

* Add tests for the LDProvider

* Add LDProvider component

* Add LDProvider to main export

* Update provider tests

* Remove unused EnhancedComponent

* Abstract function to generate react options

* add waitForUserToInitializeClient flag to Provider

* rename to LDProvider.tsx

* fix tests

* remove async from componentDidMount

* fixes from CR

* add test

* cleanup

* update types for componentDidUpdate

* await initLDClient

Co-authored-by: Nicholas Mitchell <[email protected]>
Co-authored-by: Martin Heller <[email protected]>

* update to JS SDK 2.18.0 (adds disableSyncEventPost) (#25)

* 45 fix providers to respect subscribed flags (#46)

* Fixed asyncWithLDProvider.tsx and provider.tsx so that they only provide flag changes for subscribed flags.

* Removed unused imports.

* Addressed PR feedback. Fixed linting errors.

Co-authored-by: Clay Embry <[email protected]>

* targetflags simplified logic (#26)

* remove client-side ids from examples (#27)

* update JS SDK to 2.18.1

* Fixing camelCaseKeys export (#44)

* new js-common-sdk version (#30)

* adding alias functionality (#31)

* pin typedoc to unblock our releases (#32)

* Removed the guides link

* add inlineUsersToEvents to TypeScript defs by updating js-client-sdk (#33)

* debugging

* Fix linting errors

* [ch103643] Fix examples to use local sdk

* Remove unwanted changes.

* Update package.json

* Update yarn.lock

* Update lock files.

* Update package-lock.json

* Update package-lock.json

* Update package.json

* Update link-dev.sh

Co-authored-by: Ben Woskow <[email protected]>

* Update link-dev.sh

* Update yarn.lock

* Add react 17 peer dep (#61)

* Update common JS SDK library to use fixes for debug event generation issues. (#36)

* HOC static hoisting (#71)

* Added a test for hoisting react statics in withLDProvider HOC

* Fixed linting errors

* Fixed more linting errors

* update example app deps (#38)

* Updated asyncWithLDProvider to fetch latest flag values when the Provider renders (#39)

* Updated asyncWithLDProvider to fetch latest flag values when the Provider renders

* Fixed linting

* Updates docs URLs

* fix: improve types of withLDProvider (#97)

* [sc-107070] Include src for sourcemaps to work

* [sc-127032] Omit deferInitialization from asyncWithLDProvider config

* Removed and ignored lock files.

* Update types.ts

* Update typescript version (#44)

* Update Makefile

* Update Makefile

* Deleting test-types.ts (#45)

* [sc-132394] Add typedoc for AsyncProviderConfig (#47)

Co-authored-by: Molly <[email protected]>

* Pass in client (#105)

* [sc134057] Fix react sdk lint errors (#48)

* remove custom TypeDoc build, use Releaser's standard logic (#49)

* update js-client-sdk to 2.20.1 for localstorage error-handling fix and others

* export more public symbols from entry point

* [sc134364] Upgrade typescript, tslint and jest. (#50)

Co-authored-by: Eli Bishop <[email protected]>

* update js-client-sdk to 2.20.2 for sc-142333 fix (#53)

Co-authored-by: Yusinto Ngadiman <[email protected]>
Co-authored-by: Ben Woskow <[email protected]>
Co-authored-by: Eli Bishop <[email protected]>
Co-authored-by: LaunchDarklyCI <[email protected]>
Co-authored-by: Martin Heller <[email protected]>
Co-authored-by: Ben Woskow <[email protected]>
Co-authored-by: bezreyhan <[email protected]>
Co-authored-by: Nicholas Mitchell <[email protected]>
Co-authored-by: Martin Heller <[email protected]>
Co-authored-by: clayembry <[email protected]>
Co-authored-by: Clay Embry <[email protected]>
Co-authored-by: Jonathan Felchlin <[email protected]>
Co-authored-by: Mac Lockard <[email protected]>
Co-authored-by: Gavin Whelan <[email protected]>
Co-authored-by: Nathan Waddell <[email protected]>
Co-authored-by: Clifford Tawiah <[email protected]>
Co-authored-by: Cliff Tawiah <[email protected]>
Co-authored-by: LaunchDarklyReleaseBot <[email protected]>
Co-authored-by: Ember Stevens <[email protected]>
Co-authored-by: ember-stevens <[email protected]>
Co-authored-by: Derek Sifford <[email protected]>
Co-authored-by: Jaz White <[email protected]>
Co-authored-by: Molly <[email protected]>
Co-authored-by: Tim Lee <[email protected]>
LaunchDarklyReleaseBot added a commit that referenced this issue Apr 15, 2022
* Initial commit

* Delete extraneous files from lib.

* Update initLDClient.test.ts

* Update withLDProvider.tsx (#18)

* update JS SDK dependency to 2.16.3

* use JS SDK 2.17.0

* improve tests to clarify which options we're passing in and which ones are added by the wrapper

* set wrapperName to react-client-sdk

* lint

* Update withLDProvider.test.tsx

* update JS SDK to 2.17.5 + a few dev dependency bumps (#21)

* downgrade typescript to 3.8.3 (#22)

* [Fixes for] Expose LDProvider as a standalone component (#31)

* remove startsWith usage (#23)

* Fix the broken build (#24)

* Expose ld provider (#40)

* Add tests for the LDProvider

* Add LDProvider component

* Add LDProvider to main export

* Update provider tests

* Remove unused EnhancedComponent

* Abstract function to generate react options

* add waitForUserToInitializeClient flag to Provider

* rename to LDProvider.tsx

* fix tests

* remove async from componentDidMount

* fixes from CR

* add test

* cleanup

* update types for componentDidUpdate

* await initLDClient

Co-authored-by: Nicholas Mitchell <[email protected]>
Co-authored-by: Martin Heller <[email protected]>

* update to JS SDK 2.18.0 (adds disableSyncEventPost) (#25)

* 45 fix providers to respect subscribed flags (#46)

* Fixed asyncWithLDProvider.tsx and provider.tsx so that they only provide flag changes for subscribed flags.

* Removed unused imports.

* Addressed PR feedback. Fixed linting errors.

Co-authored-by: Clay Embry <[email protected]>

* targetflags simplified logic (#26)

* remove client-side ids from examples (#27)

* update JS SDK to 2.18.1

* Fixing camelCaseKeys export (#44)

* new js-common-sdk version (#30)

* adding alias functionality (#31)

* pin typedoc to unblock our releases (#32)

* Removed the guides link

* add inlineUsersToEvents to TypeScript defs by updating js-client-sdk (#33)

* debugging

* Fix linting errors

* [ch103643] Fix examples to use local sdk

* Remove unwanted changes.

* Update package.json

* Update yarn.lock

* Update lock files.

* Update package-lock.json

* Update package-lock.json

* Update package.json

* Update link-dev.sh

Co-authored-by: Ben Woskow <[email protected]>

* Update link-dev.sh

* Update yarn.lock

* Add react 17 peer dep (#61)

* Update common JS SDK library to use fixes for debug event generation issues. (#36)

* HOC static hoisting (#71)

* Added a test for hoisting react statics in withLDProvider HOC

* Fixed linting errors

* Fixed more linting errors

* update example app deps (#38)

* Updated asyncWithLDProvider to fetch latest flag values when the Provider renders (#39)

* Updated asyncWithLDProvider to fetch latest flag values when the Provider renders

* Fixed linting

* Updates docs URLs

* fix: improve types of withLDProvider (#97)

* [sc-107070] Include src for sourcemaps to work

* [sc-127032] Omit deferInitialization from asyncWithLDProvider config

* Removed and ignored lock files.

* Update types.ts

* Update typescript version (#44)

* Update Makefile

* Update Makefile

* Deleting test-types.ts (#45)

* [sc-132394] Add typedoc for AsyncProviderConfig (#47)

Co-authored-by: Molly <[email protected]>

* Pass in client (#105)

* [sc134057] Fix react sdk lint errors (#48)

* remove custom TypeDoc build, use Releaser's standard logic (#49)

* update js-client-sdk to 2.20.1 for localstorage error-handling fix and others

* export more public symbols from entry point

* [sc134364] Upgrade typescript, tslint and jest. (#50)

Co-authored-by: Eli Bishop <[email protected]>

* update js-client-sdk to 2.20.2 for sc-142333 fix (#53)

* First commit. TODO: migrate enzyme to rtl.

* Removed enzyme. Fixed prettier parentheses rule.

* Fixed broken snapshot tests. Removed unused imports.

* Update package.json

Co-authored-by: Yusinto Ngadiman <[email protected]>
Co-authored-by: Ben Woskow <[email protected]>
Co-authored-by: Eli Bishop <[email protected]>
Co-authored-by: LaunchDarklyCI <[email protected]>
Co-authored-by: Martin Heller <[email protected]>
Co-authored-by: Ben Woskow <[email protected]>
Co-authored-by: bezreyhan <[email protected]>
Co-authored-by: Nicholas Mitchell <[email protected]>
Co-authored-by: Martin Heller <[email protected]>
Co-authored-by: clayembry <[email protected]>
Co-authored-by: Clay Embry <[email protected]>
Co-authored-by: Jonathan Felchlin <[email protected]>
Co-authored-by: Mac Lockard <[email protected]>
Co-authored-by: Gavin Whelan <[email protected]>
Co-authored-by: Nathan Waddell <[email protected]>
Co-authored-by: Clifford Tawiah <[email protected]>
Co-authored-by: Cliff Tawiah <[email protected]>
Co-authored-by: LaunchDarklyReleaseBot <[email protected]>
Co-authored-by: Ember Stevens <[email protected]>
Co-authored-by: ember-stevens <[email protected]>
Co-authored-by: Derek Sifford <[email protected]>
Co-authored-by: Jaz White <[email protected]>
Co-authored-by: Molly <[email protected]>
Co-authored-by: Tim Lee <[email protected]>
Co-authored-by: Louis Chan <[email protected]>
Co-authored-by: Louis Chan <[email protected]>
LaunchDarklyReleaseBot added a commit that referenced this issue Apr 27, 2022
* Initial commit

* Delete extraneous files from lib.

* Update initLDClient.test.ts

* Update withLDProvider.tsx (#18)

* update JS SDK dependency to 2.16.3

* use JS SDK 2.17.0

* improve tests to clarify which options we're passing in and which ones are added by the wrapper

* set wrapperName to react-client-sdk

* lint

* Update withLDProvider.test.tsx

* update JS SDK to 2.17.5 + a few dev dependency bumps (#21)

* downgrade typescript to 3.8.3 (#22)

* [Fixes for] Expose LDProvider as a standalone component (#31)

* remove startsWith usage (#23)

* Fix the broken build (#24)

* Expose ld provider (#40)

* Add tests for the LDProvider

* Add LDProvider component

* Add LDProvider to main export

* Update provider tests

* Remove unused EnhancedComponent

* Abstract function to generate react options

* add waitForUserToInitializeClient flag to Provider

* rename to LDProvider.tsx

* fix tests

* remove async from componentDidMount

* fixes from CR

* add test

* cleanup

* update types for componentDidUpdate

* await initLDClient

Co-authored-by: Nicholas Mitchell <[email protected]>
Co-authored-by: Martin Heller <[email protected]>

* update to JS SDK 2.18.0 (adds disableSyncEventPost) (#25)

* 45 fix providers to respect subscribed flags (#46)

* Fixed asyncWithLDProvider.tsx and provider.tsx so that they only provide flag changes for subscribed flags.

* Removed unused imports.

* Addressed PR feedback. Fixed linting errors.

Co-authored-by: Clay Embry <[email protected]>

* targetflags simplified logic (#26)

* remove client-side ids from examples (#27)

* update JS SDK to 2.18.1

* Fixing camelCaseKeys export (#44)

* new js-common-sdk version (#30)

* adding alias functionality (#31)

* pin typedoc to unblock our releases (#32)

* Removed the guides link

* add inlineUsersToEvents to TypeScript defs by updating js-client-sdk (#33)

* debugging

* Fix linting errors

* [ch103643] Fix examples to use local sdk

* Remove unwanted changes.

* Update package.json

* Update yarn.lock

* Update lock files.

* Update package-lock.json

* Update package-lock.json

* Update package.json

* Update link-dev.sh

Co-authored-by: Ben Woskow <[email protected]>

* Update link-dev.sh

* Update yarn.lock

* Add react 17 peer dep (#61)

* Update common JS SDK library to use fixes for debug event generation issues. (#36)

* HOC static hoisting (#71)

* Added a test for hoisting react statics in withLDProvider HOC

* Fixed linting errors

* Fixed more linting errors

* update example app deps (#38)

* Updated asyncWithLDProvider to fetch latest flag values when the Provider renders (#39)

* Updated asyncWithLDProvider to fetch latest flag values when the Provider renders

* Fixed linting

* Updates docs URLs

* fix: improve types of withLDProvider (#97)

* [sc-107070] Include src for sourcemaps to work

* [sc-127032] Omit deferInitialization from asyncWithLDProvider config

* Removed and ignored lock files.

* Update types.ts

* Update typescript version (#44)

* Update Makefile

* Update Makefile

* Deleting test-types.ts (#45)

* [sc-132394] Add typedoc for AsyncProviderConfig (#47)

Co-authored-by: Molly <[email protected]>

* Pass in client (#105)

* [sc134057] Fix react sdk lint errors (#48)

* remove custom TypeDoc build, use Releaser's standard logic (#49)

* update js-client-sdk to 2.20.1 for localstorage error-handling fix and others

* export more public symbols from entry point

* [sc134364] Upgrade typescript, tslint and jest. (#50)

Co-authored-by: Eli Bishop <[email protected]>

* update js-client-sdk to 2.20.2 for sc-142333 fix (#53)

* First commit. TODO: migrate enzyme to rtl.

* Removed enzyme. Fixed prettier parentheses rule.

* Fixed broken snapshot tests. Removed unused imports.

* Update package.json

* Update the version of the js-client-sdk

* Update patch version.

Co-authored-by: Yusinto Ngadiman <[email protected]>
Co-authored-by: Ben Woskow <[email protected]>
Co-authored-by: Eli Bishop <[email protected]>
Co-authored-by: LaunchDarklyCI <[email protected]>
Co-authored-by: Martin Heller <[email protected]>
Co-authored-by: Ben Woskow <[email protected]>
Co-authored-by: bezreyhan <[email protected]>
Co-authored-by: Nicholas Mitchell <[email protected]>
Co-authored-by: Martin Heller <[email protected]>
Co-authored-by: clayembry <[email protected]>
Co-authored-by: Clay Embry <[email protected]>
Co-authored-by: Jonathan Felchlin <[email protected]>
Co-authored-by: Mac Lockard <[email protected]>
Co-authored-by: Gavin Whelan <[email protected]>
Co-authored-by: Nathan Waddell <[email protected]>
Co-authored-by: Clifford Tawiah <[email protected]>
Co-authored-by: Cliff Tawiah <[email protected]>
Co-authored-by: LaunchDarklyReleaseBot <[email protected]>
Co-authored-by: Ember Stevens <[email protected]>
Co-authored-by: ember-stevens <[email protected]>
Co-authored-by: Derek Sifford <[email protected]>
Co-authored-by: Jaz White <[email protected]>
Co-authored-by: Molly <[email protected]>
Co-authored-by: Tim Lee <[email protected]>
Co-authored-by: Louis Chan <[email protected]>
Co-authored-by: Louis Chan <[email protected]>
Co-authored-by: Ryan Lamb <[email protected]>
LaunchDarklyReleaseBot added a commit that referenced this issue Oct 5, 2022
* Initial commit

* Delete extraneous files from lib.

* Update initLDClient.test.ts

* Update withLDProvider.tsx (#18)

* update JS SDK dependency to 2.16.3

* use JS SDK 2.17.0

* improve tests to clarify which options we're passing in and which ones are added by the wrapper

* set wrapperName to react-client-sdk

* lint

* Update withLDProvider.test.tsx

* update JS SDK to 2.17.5 + a few dev dependency bumps (#21)

* downgrade typescript to 3.8.3 (#22)

* [Fixes for] Expose LDProvider as a standalone component (#31)

* remove startsWith usage (#23)

* Fix the broken build (#24)

* Expose ld provider (#40)

* Add tests for the LDProvider

* Add LDProvider component

* Add LDProvider to main export

* Update provider tests

* Remove unused EnhancedComponent

* Abstract function to generate react options

* add waitForUserToInitializeClient flag to Provider

* rename to LDProvider.tsx

* fix tests

* remove async from componentDidMount

* fixes from CR

* add test

* cleanup

* update types for componentDidUpdate

* await initLDClient

Co-authored-by: Nicholas Mitchell <[email protected]>
Co-authored-by: Martin Heller <[email protected]>

* update to JS SDK 2.18.0 (adds disableSyncEventPost) (#25)

* 45 fix providers to respect subscribed flags (#46)

* Fixed asyncWithLDProvider.tsx and provider.tsx so that they only provide flag changes for subscribed flags.

* Removed unused imports.

* Addressed PR feedback. Fixed linting errors.

Co-authored-by: Clay Embry <[email protected]>

* targetflags simplified logic (#26)

* remove client-side ids from examples (#27)

* update JS SDK to 2.18.1

* Fixing camelCaseKeys export (#44)

* new js-common-sdk version (#30)

* adding alias functionality (#31)

* pin typedoc to unblock our releases (#32)

* Removed the guides link

* add inlineUsersToEvents to TypeScript defs by updating js-client-sdk (#33)

* debugging

* Fix linting errors

* [ch103643] Fix examples to use local sdk

* Remove unwanted changes.

* Update package.json

* Update yarn.lock

* Update lock files.

* Update package-lock.json

* Update package-lock.json

* Update package.json

* Update link-dev.sh

Co-authored-by: Ben Woskow <[email protected]>

* Update link-dev.sh

* Update yarn.lock

* Add react 17 peer dep (#61)

* Update common JS SDK library to use fixes for debug event generation issues. (#36)

* HOC static hoisting (#71)

* Added a test for hoisting react statics in withLDProvider HOC

* Fixed linting errors

* Fixed more linting errors

* update example app deps (#38)

* Updated asyncWithLDProvider to fetch latest flag values when the Provider renders (#39)

* Updated asyncWithLDProvider to fetch latest flag values when the Provider renders

* Fixed linting

* Updates docs URLs

* fix: improve types of withLDProvider (#97)

* [sc-107070] Include src for sourcemaps to work

* [sc-127032] Omit deferInitialization from asyncWithLDProvider config

* Removed and ignored lock files.

* Update types.ts

* Update typescript version (#44)

* Update Makefile

* Update Makefile

* Deleting test-types.ts (#45)

* [sc-132394] Add typedoc for AsyncProviderConfig (#47)

Co-authored-by: Molly <[email protected]>

* Pass in client (#105)

* [sc134057] Fix react sdk lint errors (#48)

* remove custom TypeDoc build, use Releaser's standard logic (#49)

* update js-client-sdk to 2.20.1 for localstorage error-handling fix and others

* export more public symbols from entry point

* [sc134364] Upgrade typescript, tslint and jest. (#50)

Co-authored-by: Eli Bishop <[email protected]>

* update js-client-sdk to 2.20.2 for sc-142333 fix (#53)

* First commit. TODO: migrate enzyme to rtl.

* Removed enzyme. Fixed prettier parentheses rule.

* Fixed broken snapshot tests. Removed unused imports.

* Update package.json

* Update the version of the js-client-sdk

* Update patch version.

* Rename master to main (#56)

* Set sendEventsOnlyForVariation by default

* Add jest-environment-jsdom as explicit dependency

* Fix TS error

* Add jest-environment-jsdom as explicit dependency

* Fix TS error

* Update tests

* Move wrapper options into base options obj

* Target ES6

* Add tests for camel case cases

* Remove vestigial package

* Make targetFlags doc more clear

* Add error hook and handler

* Revert changes to original docs

* Add context and flags proxy util

* Use flags proxy and update tests

* Fixup

* Fixup

* Don't call variation when initializing

* Add option and failing test

* Passing test

* Remove incorrect comment and fix typo

* Update proxy's get trap

* except after c

* Remove unproxied flags from context

* Restore ldClient dec and clean up camelization

* Update src/types.ts

Co-authored-by: Molly <[email protected]>

* Fixup

* Handle symbols

* Add type constraint to withLDProvider

* Remove getter setter

* Remove error handler and fix bad merge

* Update snapshots

* Update releaser config

* Fixup

* Update version of js-client-sdk used. (#82)

Co-authored-by: Yusinto Ngadiman <[email protected]>
Co-authored-by: Ben Woskow <[email protected]>
Co-authored-by: Eli Bishop <[email protected]>
Co-authored-by: LaunchDarklyCI <[email protected]>
Co-authored-by: Martin Heller <[email protected]>
Co-authored-by: Ben Woskow <[email protected]>
Co-authored-by: bezreyhan <[email protected]>
Co-authored-by: Nicholas Mitchell <[email protected]>
Co-authored-by: Martin Heller <[email protected]>
Co-authored-by: clayembry <[email protected]>
Co-authored-by: Clay Embry <[email protected]>
Co-authored-by: Jonathan Felchlin <[email protected]>
Co-authored-by: Mac Lockard <[email protected]>
Co-authored-by: Gavin Whelan <[email protected]>
Co-authored-by: Nathan Waddell <[email protected]>
Co-authored-by: Clifford Tawiah <[email protected]>
Co-authored-by: Cliff Tawiah <[email protected]>
Co-authored-by: LaunchDarklyReleaseBot <[email protected]>
Co-authored-by: Ember Stevens <[email protected]>
Co-authored-by: ember-stevens <[email protected]>
Co-authored-by: Derek Sifford <[email protected]>
Co-authored-by: Jaz White <[email protected]>
Co-authored-by: Molly <[email protected]>
Co-authored-by: Tim Lee <[email protected]>
Co-authored-by: Louis Chan <[email protected]>
Co-authored-by: Louis Chan <[email protected]>
Co-authored-by: Ryan Lamb <[email protected]>
Co-authored-by: Christie Williams <[email protected]>
LaunchDarklyReleaseBot added a commit that referenced this issue Oct 18, 2022
* Initial commit

* Delete extraneous files from lib.

* Update initLDClient.test.ts

* Update withLDProvider.tsx (#18)

* update JS SDK dependency to 2.16.3

* use JS SDK 2.17.0

* improve tests to clarify which options we're passing in and which ones are added by the wrapper

* set wrapperName to react-client-sdk

* lint

* Update withLDProvider.test.tsx

* update JS SDK to 2.17.5 + a few dev dependency bumps (#21)

* downgrade typescript to 3.8.3 (#22)

* [Fixes for] Expose LDProvider as a standalone component (#31)

* remove startsWith usage (#23)

* Fix the broken build (#24)

* Expose ld provider (#40)

* Add tests for the LDProvider

* Add LDProvider component

* Add LDProvider to main export

* Update provider tests

* Remove unused EnhancedComponent

* Abstract function to generate react options

* add waitForUserToInitializeClient flag to Provider

* rename to LDProvider.tsx

* fix tests

* remove async from componentDidMount

* fixes from CR

* add test

* cleanup

* update types for componentDidUpdate

* await initLDClient

Co-authored-by: Nicholas Mitchell <[email protected]>
Co-authored-by: Martin Heller <[email protected]>

* update to JS SDK 2.18.0 (adds disableSyncEventPost) (#25)

* 45 fix providers to respect subscribed flags (#46)

* Fixed asyncWithLDProvider.tsx and provider.tsx so that they only provide flag changes for subscribed flags.

* Removed unused imports.

* Addressed PR feedback. Fixed linting errors.

Co-authored-by: Clay Embry <[email protected]>

* targetflags simplified logic (#26)

* remove client-side ids from examples (#27)

* update JS SDK to 2.18.1

* Fixing camelCaseKeys export (#44)

* new js-common-sdk version (#30)

* adding alias functionality (#31)

* pin typedoc to unblock our releases (#32)

* Removed the guides link

* add inlineUsersToEvents to TypeScript defs by updating js-client-sdk (#33)

* debugging

* Fix linting errors

* [ch103643] Fix examples to use local sdk

* Remove unwanted changes.

* Update package.json

* Update yarn.lock

* Update lock files.

* Update package-lock.json

* Update package-lock.json

* Update package.json

* Update link-dev.sh

Co-authored-by: Ben Woskow <[email protected]>

* Update link-dev.sh

* Update yarn.lock

* Add react 17 peer dep (#61)

* Update common JS SDK library to use fixes for debug event generation issues. (#36)

* HOC static hoisting (#71)

* Added a test for hoisting react statics in withLDProvider HOC

* Fixed linting errors

* Fixed more linting errors

* update example app deps (#38)

* Updated asyncWithLDProvider to fetch latest flag values when the Provider renders (#39)

* Updated asyncWithLDProvider to fetch latest flag values when the Provider renders

* Fixed linting

* Updates docs URLs

* fix: improve types of withLDProvider (#97)

* [sc-107070] Include src for sourcemaps to work

* [sc-127032] Omit deferInitialization from asyncWithLDProvider config

* Removed and ignored lock files.

* Update types.ts

* Update typescript version (#44)

* Update Makefile

* Update Makefile

* Deleting test-types.ts (#45)

* [sc-132394] Add typedoc for AsyncProviderConfig (#47)

Co-authored-by: Molly <[email protected]>

* Pass in client (#105)

* [sc134057] Fix react sdk lint errors (#48)

* remove custom TypeDoc build, use Releaser's standard logic (#49)

* update js-client-sdk to 2.20.1 for localstorage error-handling fix and others

* export more public symbols from entry point

* [sc134364] Upgrade typescript, tslint and jest. (#50)

Co-authored-by: Eli Bishop <[email protected]>

* update js-client-sdk to 2.20.2 for sc-142333 fix (#53)

* First commit. TODO: migrate enzyme to rtl.

* Removed enzyme. Fixed prettier parentheses rule.

* Fixed broken snapshot tests. Removed unused imports.

* Update package.json

* Update the version of the js-client-sdk

* Update patch version.

* Rename master to main (#56)

* Set sendEventsOnlyForVariation by default

* Add jest-environment-jsdom as explicit dependency

* Fix TS error

* Add jest-environment-jsdom as explicit dependency

* Fix TS error

* Update tests

* Move wrapper options into base options obj

* Target ES6

* Add tests for camel case cases

* Remove vestigial package

* Make targetFlags doc more clear

* Add error hook and handler

* Revert changes to original docs

* Add context and flags proxy util

* Use flags proxy and update tests

* Fixup

* Fixup

* Don't call variation when initializing

* Add option and failing test

* Passing test

* Remove incorrect comment and fix typo

* Update proxy's get trap

* except after c

* Remove unproxied flags from context

* Restore ldClient dec and clean up camelization

* Update src/types.ts

Co-authored-by: Molly <[email protected]>

* Fixup

* Handle symbols

* Add type constraint to withLDProvider

* Remove getter setter

* Remove error handler and fix bad merge

* Update snapshots

* Update releaser config

* Fixup

* Update version of js-client-sdk used. (#82)

* Upgrade js-client-sdk version to 2.24.0 (#83)

Co-authored-by: Yusinto Ngadiman <[email protected]>
Co-authored-by: Ben Woskow <[email protected]>
Co-authored-by: Eli Bishop <[email protected]>
Co-authored-by: LaunchDarklyCI <[email protected]>
Co-authored-by: Martin Heller <[email protected]>
Co-authored-by: Ben Woskow <[email protected]>
Co-authored-by: bezreyhan <[email protected]>
Co-authored-by: Nicholas Mitchell <[email protected]>
Co-authored-by: Martin Heller <[email protected]>
Co-authored-by: clayembry <[email protected]>
Co-authored-by: Clay Embry <[email protected]>
Co-authored-by: Jonathan Felchlin <[email protected]>
Co-authored-by: Mac Lockard <[email protected]>
Co-authored-by: Gavin Whelan <[email protected]>
Co-authored-by: Nathan Waddell <[email protected]>
Co-authored-by: Clifford Tawiah <[email protected]>
Co-authored-by: Cliff Tawiah <[email protected]>
Co-authored-by: LaunchDarklyReleaseBot <[email protected]>
Co-authored-by: Ember Stevens <[email protected]>
Co-authored-by: ember-stevens <[email protected]>
Co-authored-by: Derek Sifford <[email protected]>
Co-authored-by: Jaz White <[email protected]>
Co-authored-by: Molly <[email protected]>
Co-authored-by: Tim Lee <[email protected]>
Co-authored-by: Louis Chan <[email protected]>
Co-authored-by: Louis Chan <[email protected]>
Co-authored-by: Ryan Lamb <[email protected]>
Co-authored-by: Christie Williams <[email protected]>
LaunchDarklyReleaseBot added a commit that referenced this issue Oct 21, 2022
* Initial commit

* Delete extraneous files from lib.

* Update initLDClient.test.ts

* Update withLDProvider.tsx (#18)

* update JS SDK dependency to 2.16.3

* use JS SDK 2.17.0

* improve tests to clarify which options we're passing in and which ones are added by the wrapper

* set wrapperName to react-client-sdk

* lint

* Update withLDProvider.test.tsx

* update JS SDK to 2.17.5 + a few dev dependency bumps (#21)

* downgrade typescript to 3.8.3 (#22)

* [Fixes for] Expose LDProvider as a standalone component (#31)

* remove startsWith usage (#23)

* Fix the broken build (#24)

* Expose ld provider (#40)

* Add tests for the LDProvider

* Add LDProvider component

* Add LDProvider to main export

* Update provider tests

* Remove unused EnhancedComponent

* Abstract function to generate react options

* add waitForUserToInitializeClient flag to Provider

* rename to LDProvider.tsx

* fix tests

* remove async from componentDidMount

* fixes from CR

* add test

* cleanup

* update types for componentDidUpdate

* await initLDClient

Co-authored-by: Nicholas Mitchell <[email protected]>
Co-authored-by: Martin Heller <[email protected]>

* update to JS SDK 2.18.0 (adds disableSyncEventPost) (#25)

* 45 fix providers to respect subscribed flags (#46)

* Fixed asyncWithLDProvider.tsx and provider.tsx so that they only provide flag changes for subscribed flags.

* Removed unused imports.

* Addressed PR feedback. Fixed linting errors.

Co-authored-by: Clay Embry <[email protected]>

* targetflags simplified logic (#26)

* remove client-side ids from examples (#27)

* update JS SDK to 2.18.1

* Fixing camelCaseKeys export (#44)

* new js-common-sdk version (#30)

* adding alias functionality (#31)

* pin typedoc to unblock our releases (#32)

* Removed the guides link

* add inlineUsersToEvents to TypeScript defs by updating js-client-sdk (#33)

* debugging

* Fix linting errors

* [ch103643] Fix examples to use local sdk

* Remove unwanted changes.

* Update package.json

* Update yarn.lock

* Update lock files.

* Update package-lock.json

* Update package-lock.json

* Update package.json

* Update link-dev.sh

Co-authored-by: Ben Woskow <[email protected]>

* Update link-dev.sh

* Update yarn.lock

* Add react 17 peer dep (#61)

* Update common JS SDK library to use fixes for debug event generation issues. (#36)

* HOC static hoisting (#71)

* Added a test for hoisting react statics in withLDProvider HOC

* Fixed linting errors

* Fixed more linting errors

* update example app deps (#38)

* Updated asyncWithLDProvider to fetch latest flag values when the Provider renders (#39)

* Updated asyncWithLDProvider to fetch latest flag values when the Provider renders

* Fixed linting

* Updates docs URLs

* fix: improve types of withLDProvider (#97)

* [sc-107070] Include src for sourcemaps to work

* [sc-127032] Omit deferInitialization from asyncWithLDProvider config

* Removed and ignored lock files.

* Update types.ts

* Update typescript version (#44)

* Update Makefile

* Update Makefile

* Deleting test-types.ts (#45)

* [sc-132394] Add typedoc for AsyncProviderConfig (#47)

Co-authored-by: Molly <[email protected]>

* Pass in client (#105)

* [sc134057] Fix react sdk lint errors (#48)

* remove custom TypeDoc build, use Releaser's standard logic (#49)

* update js-client-sdk to 2.20.1 for localstorage error-handling fix and others

* export more public symbols from entry point

* [sc134364] Upgrade typescript, tslint and jest. (#50)

Co-authored-by: Eli Bishop <[email protected]>

* update js-client-sdk to 2.20.2 for sc-142333 fix (#53)

* First commit. TODO: migrate enzyme to rtl.

* Removed enzyme. Fixed prettier parentheses rule.

* Fixed broken snapshot tests. Removed unused imports.

* Update package.json

* Update the version of the js-client-sdk

* Update patch version.

* Rename master to main (#56)

* Set sendEventsOnlyForVariation by default

* Add jest-environment-jsdom as explicit dependency

* Fix TS error

* Add jest-environment-jsdom as explicit dependency

* Fix TS error

* Update tests

* Move wrapper options into base options obj

* Target ES6

* Add tests for camel case cases

* Remove vestigial package

* Make targetFlags doc more clear

* Add error hook and handler

* Revert changes to original docs

* Add context and flags proxy util

* Use flags proxy and update tests

* Fixup

* Fixup

* Don't call variation when initializing

* Add option and failing test

* Passing test

* Remove incorrect comment and fix typo

* Update proxy's get trap

* except after c

* Remove unproxied flags from context

* Restore ldClient dec and clean up camelization

* Update src/types.ts

Co-authored-by: Molly <[email protected]>

* Fixup

* Handle symbols

* Add type constraint to withLDProvider

* Remove getter setter

* Remove error handler and fix bad merge

* Update snapshots

* Update releaser config

* Fixup

* Update version of js-client-sdk used. (#82)

* Upgrade js-client-sdk version to 2.24.0 (#83)

* Upgrade common to 2.24.2 (#84)

Co-authored-by: Yusinto Ngadiman <[email protected]>
Co-authored-by: Ben Woskow <[email protected]>
Co-authored-by: Eli Bishop <[email protected]>
Co-authored-by: LaunchDarklyCI <[email protected]>
Co-authored-by: Martin Heller <[email protected]>
Co-authored-by: Ben Woskow <[email protected]>
Co-authored-by: bezreyhan <[email protected]>
Co-authored-by: Nicholas Mitchell <[email protected]>
Co-authored-by: Martin Heller <[email protected]>
Co-authored-by: clayembry <[email protected]>
Co-authored-by: Clay Embry <[email protected]>
Co-authored-by: Jonathan Felchlin <[email protected]>
Co-authored-by: Mac Lockard <[email protected]>
Co-authored-by: Gavin Whelan <[email protected]>
Co-authored-by: Nathan Waddell <[email protected]>
Co-authored-by: Clifford Tawiah <[email protected]>
Co-authored-by: Cliff Tawiah <[email protected]>
Co-authored-by: LaunchDarklyReleaseBot <[email protected]>
Co-authored-by: Ember Stevens <[email protected]>
Co-authored-by: ember-stevens <[email protected]>
Co-authored-by: Derek Sifford <[email protected]>
Co-authored-by: Jaz White <[email protected]>
Co-authored-by: Molly <[email protected]>
Co-authored-by: Tim Lee <[email protected]>
Co-authored-by: Louis Chan <[email protected]>
Co-authored-by: Louis Chan <[email protected]>
Co-authored-by: Ryan Lamb <[email protected]>
Co-authored-by: Christie Williams <[email protected]>
LaunchDarklyReleaseBot added a commit that referenced this issue Oct 28, 2022
* Initial commit

* Delete extraneous files from lib.

* Update initLDClient.test.ts

* Update withLDProvider.tsx (#18)

* update JS SDK dependency to 2.16.3

* use JS SDK 2.17.0

* improve tests to clarify which options we're passing in and which ones are added by the wrapper

* set wrapperName to react-client-sdk

* lint

* Update withLDProvider.test.tsx

* update JS SDK to 2.17.5 + a few dev dependency bumps (#21)

* downgrade typescript to 3.8.3 (#22)

* [Fixes for] Expose LDProvider as a standalone component (#31)

* remove startsWith usage (#23)

* Fix the broken build (#24)

* Expose ld provider (#40)

* Add tests for the LDProvider

* Add LDProvider component

* Add LDProvider to main export

* Update provider tests

* Remove unused EnhancedComponent

* Abstract function to generate react options

* add waitForUserToInitializeClient flag to Provider

* rename to LDProvider.tsx

* fix tests

* remove async from componentDidMount

* fixes from CR

* add test

* cleanup

* update types for componentDidUpdate

* await initLDClient

Co-authored-by: Nicholas Mitchell <[email protected]>
Co-authored-by: Martin Heller <[email protected]>

* update to JS SDK 2.18.0 (adds disableSyncEventPost) (#25)

* 45 fix providers to respect subscribed flags (#46)

* Fixed asyncWithLDProvider.tsx and provider.tsx so that they only provide flag changes for subscribed flags.

* Removed unused imports.

* Addressed PR feedback. Fixed linting errors.

Co-authored-by: Clay Embry <[email protected]>

* targetflags simplified logic (#26)

* remove client-side ids from examples (#27)

* update JS SDK to 2.18.1

* Fixing camelCaseKeys export (#44)

* new js-common-sdk version (#30)

* adding alias functionality (#31)

* pin typedoc to unblock our releases (#32)

* Removed the guides link

* add inlineUsersToEvents to TypeScript defs by updating js-client-sdk (#33)

* debugging

* Fix linting errors

* [ch103643] Fix examples to use local sdk

* Remove unwanted changes.

* Update package.json

* Update yarn.lock

* Update lock files.

* Update package-lock.json

* Update package-lock.json

* Update package.json

* Update link-dev.sh

Co-authored-by: Ben Woskow <[email protected]>

* Update link-dev.sh

* Update yarn.lock

* Add react 17 peer dep (#61)

* Update common JS SDK library to use fixes for debug event generation issues. (#36)

* HOC static hoisting (#71)

* Added a test for hoisting react statics in withLDProvider HOC

* Fixed linting errors

* Fixed more linting errors

* update example app deps (#38)

* Updated asyncWithLDProvider to fetch latest flag values when the Provider renders (#39)

* Updated asyncWithLDProvider to fetch latest flag values when the Provider renders

* Fixed linting

* Updates docs URLs

* fix: improve types of withLDProvider (#97)

* [sc-107070] Include src for sourcemaps to work

* [sc-127032] Omit deferInitialization from asyncWithLDProvider config

* Removed and ignored lock files.

* Update types.ts

* Update typescript version (#44)

* Update Makefile

* Update Makefile

* Deleting test-types.ts (#45)

* [sc-132394] Add typedoc for AsyncProviderConfig (#47)

Co-authored-by: Molly <[email protected]>

* Pass in client (#105)

* [sc134057] Fix react sdk lint errors (#48)

* remove custom TypeDoc build, use Releaser's standard logic (#49)

* update js-client-sdk to 2.20.1 for localstorage error-handling fix and others

* export more public symbols from entry point

* [sc134364] Upgrade typescript, tslint and jest. (#50)

Co-authored-by: Eli Bishop <[email protected]>

* update js-client-sdk to 2.20.2 for sc-142333 fix (#53)

* First commit. TODO: migrate enzyme to rtl.

* Removed enzyme. Fixed prettier parentheses rule.

* Fixed broken snapshot tests. Removed unused imports.

* Update package.json

* Update the version of the js-client-sdk

* Update patch version.

* Rename master to main (#56)

* Set sendEventsOnlyForVariation by default

* Add jest-environment-jsdom as explicit dependency

* Fix TS error

* Add jest-environment-jsdom as explicit dependency

* Fix TS error

* Update tests

* Move wrapper options into base options obj

* Target ES6

* Add tests for camel case cases

* Remove vestigial package

* Make targetFlags doc more clear

* Add error hook and handler

* Revert changes to original docs

* Add context and flags proxy util

* Use flags proxy and update tests

* Fixup

* Fixup

* Don't call variation when initializing

* Add option and failing test

* Passing test

* Remove incorrect comment and fix typo

* Update proxy's get trap

* except after c

* Remove unproxied flags from context

* Restore ldClient dec and clean up camelization

* Update src/types.ts

Co-authored-by: Molly <[email protected]>

* Fixup

* Handle symbols

* Add type constraint to withLDProvider

* Remove getter setter

* Remove error handler and fix bad merge

* Update snapshots

* Update releaser config

* Fixup

* Update version of js-client-sdk used. (#82)

* Upgrade js-client-sdk version to 2.24.0 (#83)

* Upgrade common to 2.24.2 (#84)

* Populate the context with the initial flag state and proxy. (#85)

Co-authored-by: Yusinto Ngadiman <[email protected]>
Co-authored-by: Ben Woskow <[email protected]>
Co-authored-by: Eli Bishop <[email protected]>
Co-authored-by: LaunchDarklyCI <[email protected]>
Co-authored-by: Martin Heller <[email protected]>
Co-authored-by: Ben Woskow <[email protected]>
Co-authored-by: bezreyhan <[email protected]>
Co-authored-by: Nicholas Mitchell <[email protected]>
Co-authored-by: Martin Heller <[email protected]>
Co-authored-by: clayembry <[email protected]>
Co-authored-by: Clay Embry <[email protected]>
Co-authored-by: Jonathan Felchlin <[email protected]>
Co-authored-by: Mac Lockard <[email protected]>
Co-authored-by: Gavin Whelan <[email protected]>
Co-authored-by: Nathan Waddell <[email protected]>
Co-authored-by: Clifford Tawiah <[email protected]>
Co-authored-by: Cliff Tawiah <[email protected]>
Co-authored-by: LaunchDarklyReleaseBot <[email protected]>
Co-authored-by: Ember Stevens <[email protected]>
Co-authored-by: ember-stevens <[email protected]>
Co-authored-by: Derek Sifford <[email protected]>
Co-authored-by: Jaz White <[email protected]>
Co-authored-by: Molly <[email protected]>
Co-authored-by: Tim Lee <[email protected]>
Co-authored-by: Louis Chan <[email protected]>
Co-authored-by: Louis Chan <[email protected]>
Co-authored-by: Ryan Lamb <[email protected]>
Co-authored-by: Christie Williams <[email protected]>
LaunchDarklyReleaseBot added a commit that referenced this issue Dec 7, 2022
* Initial commit

* Delete extraneous files from lib.

* Update initLDClient.test.ts

* Update withLDProvider.tsx (#18)

* update JS SDK dependency to 2.16.3

* use JS SDK 2.17.0

* improve tests to clarify which options we're passing in and which ones are added by the wrapper

* set wrapperName to react-client-sdk

* lint

* Update withLDProvider.test.tsx

* update JS SDK to 2.17.5 + a few dev dependency bumps (#21)

* downgrade typescript to 3.8.3 (#22)

* [Fixes for] Expose LDProvider as a standalone component (#31)

* remove startsWith usage (#23)

* Fix the broken build (#24)

* Expose ld provider (#40)

* Add tests for the LDProvider

* Add LDProvider component

* Add LDProvider to main export

* Update provider tests

* Remove unused EnhancedComponent

* Abstract function to generate react options

* add waitForUserToInitializeClient flag to Provider

* rename to LDProvider.tsx

* fix tests

* remove async from componentDidMount

* fixes from CR

* add test

* cleanup

* update types for componentDidUpdate

* await initLDClient

Co-authored-by: Nicholas Mitchell <[email protected]>
Co-authored-by: Martin Heller <[email protected]>

* update to JS SDK 2.18.0 (adds disableSyncEventPost) (#25)

* 45 fix providers to respect subscribed flags (#46)

* Fixed asyncWithLDProvider.tsx and provider.tsx so that they only provide flag changes for subscribed flags.

* Removed unused imports.

* Addressed PR feedback. Fixed linting errors.

Co-authored-by: Clay Embry <[email protected]>

* targetflags simplified logic (#26)

* remove client-side ids from examples (#27)

* update JS SDK to 2.18.1

* Fixing camelCaseKeys export (#44)

* new js-common-sdk version (#30)

* adding alias functionality (#31)

* pin typedoc to unblock our releases (#32)

* Removed the guides link

* add inlineUsersToEvents to TypeScript defs by updating js-client-sdk (#33)

* debugging

* Fix linting errors

* [ch103643] Fix examples to use local sdk

* Remove unwanted changes.

* Update package.json

* Update yarn.lock

* Update lock files.

* Update package-lock.json

* Update package-lock.json

* Update package.json

* Update link-dev.sh

Co-authored-by: Ben Woskow <[email protected]>

* Update link-dev.sh

* Update yarn.lock

* Add react 17 peer dep (#61)

* Update common JS SDK library to use fixes for debug event generation issues. (#36)

* HOC static hoisting (#71)

* Added a test for hoisting react statics in withLDProvider HOC

* Fixed linting errors

* Fixed more linting errors

* update example app deps (#38)

* Updated asyncWithLDProvider to fetch latest flag values when the Provider renders (#39)

* Updated asyncWithLDProvider to fetch latest flag values when the Provider renders

* Fixed linting

* Updates docs URLs

* fix: improve types of withLDProvider (#97)

* [sc-107070] Include src for sourcemaps to work

* [sc-127032] Omit deferInitialization from asyncWithLDProvider config

* Removed and ignored lock files.

* Update types.ts

* Update typescript version (#44)

* Update Makefile

* Update Makefile

* Deleting test-types.ts (#45)

* [sc-132394] Add typedoc for AsyncProviderConfig (#47)

Co-authored-by: Molly <[email protected]>

* Pass in client (#105)

* [sc134057] Fix react sdk lint errors (#48)

* remove custom TypeDoc build, use Releaser's standard logic (#49)

* update js-client-sdk to 2.20.1 for localstorage error-handling fix and others

* export more public symbols from entry point

* [sc134364] Upgrade typescript, tslint and jest. (#50)

Co-authored-by: Eli Bishop <[email protected]>

* update js-client-sdk to 2.20.2 for sc-142333 fix (#53)

* First commit. TODO: migrate enzyme to rtl.

* Removed enzyme. Fixed prettier parentheses rule.

* Fixed broken snapshot tests. Removed unused imports.

* Update package.json

* Update the version of the js-client-sdk

* Update patch version.

* Rename master to main (#56)

* Set sendEventsOnlyForVariation by default

* Add jest-environment-jsdom as explicit dependency

* Fix TS error

* Add jest-environment-jsdom as explicit dependency

* Fix TS error

* Update tests

* Move wrapper options into base options obj

* Target ES6

* Add tests for camel case cases

* Remove vestigial package

* Make targetFlags doc more clear

* Add error hook and handler

* Revert changes to original docs

* Add context and flags proxy util

* Use flags proxy and update tests

* Fixup

* Fixup

* Don't call variation when initializing

* Add option and failing test

* Passing test

* Remove incorrect comment and fix typo

* Update proxy's get trap

* except after c

* Remove unproxied flags from context

* Restore ldClient dec and clean up camelization

* Update src/types.ts

Co-authored-by: Molly <[email protected]>

* Fixup

* Handle symbols

* Add type constraint to withLDProvider

* Remove getter setter

* Remove error handler and fix bad merge

* Update snapshots

* Update releaser config

* Fixup

* Update version of js-client-sdk used. (#82)

* Upgrade js-client-sdk version to 2.24.0 (#83)

* Upgrade common to 2.24.2 (#84)

* Populate the context with the initial flag state and proxy. (#85)

* [sc-178045] u2c changes for v3.0 release (#90)

* Update js sdk version to prerelease

* Renamed LDContext to ReactSdkContext

* Added context to provider config. Replaced LDUser with context in init client function. Deprecated user prop in provider config.

* Added getContextOrUser helper function. Replaced user props with getContextOrUser function.

* Update js sdk to v3 alpha 2 to fix messages error

* Replaced LDUser with LDContext. Added kind prop to test cases.

* Update circleci node image version

* Renamed wording "user" to "context". Added more test cases for provider.

* Added more unit tests to cover backwards compatibility and new context. Renamed user to context in test data and comments.

* Force async example to use js sdk alpha version

* Update package.json

* Add manual resolution for acorn to make webpack 4 work with optional chaining. Add context to init code.

* [sc-177377] Update js dep to alpha3

* Update alpha packages

* Removed redundant null coalescence. Added more unit tests for getContextOrUser.

* Update package.json

* Remove un-used import

* Minor comment fixes

* Removed unnecessary context arg in example init

* Update app.js

* Set default context kind to user

* Create CODEOWNERS

Co-authored-by: Yusinto Ngadiman <[email protected]>

* [sc-178466] Bugfix flags proxy errors when using native functions (#91)

* [sc-178466] Fix native function proxy errors

* Added unit tests.

* Fix ts any error

* Update getFlagsProxy.test.ts

Co-authored-by: Yusinto Ngadiman <[email protected]>

* Update package.json (#92)

Co-authored-by: Yusinto Ngadiman <[email protected]>

Co-authored-by: Yusinto Ngadiman <[email protected]>
Co-authored-by: Ben Woskow <[email protected]>
Co-authored-by: Eli Bishop <[email protected]>
Co-authored-by: LaunchDarklyCI <[email protected]>
Co-authored-by: Martin Heller <[email protected]>
Co-authored-by: Ben Woskow <[email protected]>
Co-authored-by: bezreyhan <[email protected]>
Co-authored-by: Nicholas Mitchell <[email protected]>
Co-authored-by: Martin Heller <[email protected]>
Co-authored-by: clayembry <[email protected]>
Co-authored-by: Clay Embry <[email protected]>
Co-authored-by: Jonathan Felchlin <[email protected]>
Co-authored-by: Mac Lockard <[email protected]>
Co-authored-by: Gavin Whelan <[email protected]>
Co-authored-by: Nathan Waddell <[email protected]>
Co-authored-by: Clifford Tawiah <[email protected]>
Co-authored-by: Cliff Tawiah <[email protected]>
Co-authored-by: LaunchDarklyReleaseBot <[email protected]>
Co-authored-by: Ember Stevens <[email protected]>
Co-authored-by: ember-stevens <[email protected]>
Co-authored-by: Derek Sifford <[email protected]>
Co-authored-by: Jaz White <[email protected]>
Co-authored-by: Molly <[email protected]>
Co-authored-by: Tim Lee <[email protected]>
Co-authored-by: Louis Chan <[email protected]>
Co-authored-by: Louis Chan <[email protected]>
Co-authored-by: Ryan Lamb <[email protected]>
Co-authored-by: Christie Williams <[email protected]>
Co-authored-by: Yusinto Ngadiman <[email protected]>
LaunchDarklyReleaseBot added a commit that referenced this issue Dec 7, 2022
* Initial commit

* Delete extraneous files from lib.

* Update initLDClient.test.ts

* Update withLDProvider.tsx (#18)

* update JS SDK dependency to 2.16.3

* use JS SDK 2.17.0

* improve tests to clarify which options we're passing in and which ones are added by the wrapper

* set wrapperName to react-client-sdk

* lint

* Update withLDProvider.test.tsx

* update JS SDK to 2.17.5 + a few dev dependency bumps (#21)

* downgrade typescript to 3.8.3 (#22)

* [Fixes for] Expose LDProvider as a standalone component (#31)

* remove startsWith usage (#23)

* Fix the broken build (#24)

* Expose ld provider (#40)

* Add tests for the LDProvider

* Add LDProvider component

* Add LDProvider to main export

* Update provider tests

* Remove unused EnhancedComponent

* Abstract function to generate react options

* add waitForUserToInitializeClient flag to Provider

* rename to LDProvider.tsx

* fix tests

* remove async from componentDidMount

* fixes from CR

* add test

* cleanup

* update types for componentDidUpdate

* await initLDClient

Co-authored-by: Nicholas Mitchell <[email protected]>
Co-authored-by: Martin Heller <[email protected]>

* update to JS SDK 2.18.0 (adds disableSyncEventPost) (#25)

* 45 fix providers to respect subscribed flags (#46)

* Fixed asyncWithLDProvider.tsx and provider.tsx so that they only provide flag changes for subscribed flags.

* Removed unused imports.

* Addressed PR feedback. Fixed linting errors.

Co-authored-by: Clay Embry <[email protected]>

* targetflags simplified logic (#26)

* remove client-side ids from examples (#27)

* update JS SDK to 2.18.1

* Fixing camelCaseKeys export (#44)

* new js-common-sdk version (#30)

* adding alias functionality (#31)

* pin typedoc to unblock our releases (#32)

* Removed the guides link

* add inlineUsersToEvents to TypeScript defs by updating js-client-sdk (#33)

* debugging

* Fix linting errors

* [ch103643] Fix examples to use local sdk

* Remove unwanted changes.

* Update package.json

* Update yarn.lock

* Update lock files.

* Update package-lock.json

* Update package-lock.json

* Update package.json

* Update link-dev.sh

Co-authored-by: Ben Woskow <[email protected]>

* Update link-dev.sh

* Update yarn.lock

* Add react 17 peer dep (#61)

* Update common JS SDK library to use fixes for debug event generation issues. (#36)

* HOC static hoisting (#71)

* Added a test for hoisting react statics in withLDProvider HOC

* Fixed linting errors

* Fixed more linting errors

* update example app deps (#38)

* Updated asyncWithLDProvider to fetch latest flag values when the Provider renders (#39)

* Updated asyncWithLDProvider to fetch latest flag values when the Provider renders

* Fixed linting

* Updates docs URLs

* fix: improve types of withLDProvider (#97)

* [sc-107070] Include src for sourcemaps to work

* [sc-127032] Omit deferInitialization from asyncWithLDProvider config

* Removed and ignored lock files.

* Update types.ts

* Update typescript version (#44)

* Update Makefile

* Update Makefile

* Deleting test-types.ts (#45)

* [sc-132394] Add typedoc for AsyncProviderConfig (#47)

Co-authored-by: Molly <[email protected]>

* Pass in client (#105)

* [sc134057] Fix react sdk lint errors (#48)

* remove custom TypeDoc build, use Releaser's standard logic (#49)

* update js-client-sdk to 2.20.1 for localstorage error-handling fix and others

* export more public symbols from entry point

* [sc134364] Upgrade typescript, tslint and jest. (#50)

Co-authored-by: Eli Bishop <[email protected]>

* update js-client-sdk to 2.20.2 for sc-142333 fix (#53)

* First commit. TODO: migrate enzyme to rtl.

* Removed enzyme. Fixed prettier parentheses rule.

* Fixed broken snapshot tests. Removed unused imports.

* Update package.json

* Update the version of the js-client-sdk

* Update patch version.

* Rename master to main (#56)

* Set sendEventsOnlyForVariation by default

* Add jest-environment-jsdom as explicit dependency

* Fix TS error

* Add jest-environment-jsdom as explicit dependency

* Fix TS error

* Update tests

* Move wrapper options into base options obj

* Target ES6

* Add tests for camel case cases

* Remove vestigial package

* Make targetFlags doc more clear

* Add error hook and handler

* Revert changes to original docs

* Add context and flags proxy util

* Use flags proxy and update tests

* Fixup

* Fixup

* Don't call variation when initializing

* Add option and failing test

* Passing test

* Remove incorrect comment and fix typo

* Update proxy's get trap

* except after c

* Remove unproxied flags from context

* Restore ldClient dec and clean up camelization

* Update src/types.ts

Co-authored-by: Molly <[email protected]>

* Fixup

* Handle symbols

* Add type constraint to withLDProvider

* Remove getter setter

* Remove error handler and fix bad merge

* Update snapshots

* Update releaser config

* Fixup

* Update version of js-client-sdk used. (#82)

* Upgrade js-client-sdk version to 2.24.0 (#83)

* Upgrade common to 2.24.2 (#84)

* Populate the context with the initial flag state and proxy. (#85)

* [sc-178466] Bugfix flags proxy errors when using native functions (#91)

* [sc-178466] Fix native function proxy errors

* Added unit tests.

* Fix ts any error

* Update getFlagsProxy.test.ts

Co-authored-by: Yusinto Ngadiman <[email protected]>

* Update config.yml

Co-authored-by: Yusinto Ngadiman <[email protected]>
Co-authored-by: Ben Woskow <[email protected]>
Co-authored-by: Eli Bishop <[email protected]>
Co-authored-by: LaunchDarklyCI <[email protected]>
Co-authored-by: Martin Heller <[email protected]>
Co-authored-by: Ben Woskow <[email protected]>
Co-authored-by: bezreyhan <[email protected]>
Co-authored-by: Nicholas Mitchell <[email protected]>
Co-authored-by: Martin Heller <[email protected]>
Co-authored-by: clayembry <[email protected]>
Co-authored-by: Clay Embry <[email protected]>
Co-authored-by: Jonathan Felchlin <[email protected]>
Co-authored-by: Mac Lockard <[email protected]>
Co-authored-by: Gavin Whelan <[email protected]>
Co-authored-by: Nathan Waddell <[email protected]>
Co-authored-by: Clifford Tawiah <[email protected]>
Co-authored-by: Cliff Tawiah <[email protected]>
Co-authored-by: LaunchDarklyReleaseBot <[email protected]>
Co-authored-by: Ember Stevens <[email protected]>
Co-authored-by: ember-stevens <[email protected]>
Co-authored-by: Derek Sifford <[email protected]>
Co-authored-by: Jaz White <[email protected]>
Co-authored-by: Molly <[email protected]>
Co-authored-by: Tim Lee <[email protected]>
Co-authored-by: Louis Chan <[email protected]>
Co-authored-by: Louis Chan <[email protected]>
Co-authored-by: Ryan Lamb <[email protected]>
Co-authored-by: Christie Williams <[email protected]>
Co-authored-by: Yusinto Ngadiman <[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

No branches or pull requests

7 participants