-
Notifications
You must be signed in to change notification settings - Fork 71
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
Support a MockedProvider for Storybook/Testing #30
Comments
Thank you for filing this @JaidenAshmore! We are investigating ways to better support storybook use cases. One approach we are looking at is to officially support LaunchDarkly through storybook addons. We feel that this approach is best given storybook's rich ecosystem of addons and will be consistent with other products as well like apollo, figma, etc. Unfortunately there's no eta yet right now and it is still WIP. In the meantime you can proceed with the workaround you described above. |
Awesome, a Storybook addon is a much better approach. looking forward to seeing that! |
Hi! We use Storybook but also regular end-to-end tests in which we'll need to mock LaunchDarkly provider. The only issue with the workaround is having to import from I could open a PR with that and a MockProvider if you are ok with it. |
@JaidenAshmore thank you for your patience. We have just published jest-launchdarkly-mock which you can use with jest to test launchdarkly react components. This is intended for jest only, not storybook however. We are currently still working on the storybook addon so we can't guarantee an ETA just yet. |
hi guys, any update regarding the storybook component? |
+1 |
In case you wanted to use a hacked version of it. Here is something that worked for me:
Include this in your story and wrap your LD dependent component with |
It would be easier to create a |
* 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 <nicholas@netlify.com> Co-authored-by: Martin Heller <mheller@testo.de> * 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 <cembry@atlassian.com> * 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 <48036130+bwoskow-ld@users.noreply.github.com> * 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 <molly.jones@launchdarkly.com> * 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 <eli@launchdarkly.com> * update js-client-sdk to 2.20.2 for sc-142333 fix (#53) Co-authored-by: Yusinto Ngadiman <yusinto@gmail.com> Co-authored-by: Ben Woskow <48036130+bwoskow-ld@users.noreply.github.com> Co-authored-by: Eli Bishop <eli@launchdarkly.com> Co-authored-by: LaunchDarklyCI <dev@launchdarkly.com> Co-authored-by: Martin Heller <github@technopolis.de> Co-authored-by: Ben Woskow <bwoskow@launchdarkly.com> Co-authored-by: bezreyhan <bezreyhan@gmail.com> Co-authored-by: Nicholas Mitchell <nicholas@netlify.com> Co-authored-by: Martin Heller <mheller@testo.de> Co-authored-by: clayembry <clayembry@yahoo.com> Co-authored-by: Clay Embry <cembry@atlassian.com> Co-authored-by: Jonathan Felchlin <jonathan@xgecko.com> Co-authored-by: Mac Lockard <maclockard@gmail.com> Co-authored-by: Gavin Whelan <gwhelan@launchdarkly.com> Co-authored-by: Nathan Waddell <45477581+NathanWaddell121107@users.noreply.github.com> Co-authored-by: Clifford Tawiah <ctawiah@launchdarkly.com> Co-authored-by: Cliff Tawiah <82856282+ctawiah@users.noreply.github.com> Co-authored-by: LaunchDarklyReleaseBot <launchdarklyreleasebot@launchdarkly.com> Co-authored-by: Ember Stevens <ember.stevens@launchdarkly.com> Co-authored-by: ember-stevens <79482775+ember-stevens@users.noreply.github.com> Co-authored-by: Derek Sifford <dereksifford@gmail.com> Co-authored-by: Jaz White <jwhite@launchdarkly.com> Co-authored-by: Molly <molly.jones@launchdarkly.com> Co-authored-by: Tim Lee <tim.lee@red-badger.com>
* 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 <nicholas@netlify.com> Co-authored-by: Martin Heller <mheller@testo.de> * 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 <cembry@atlassian.com> * 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 <48036130+bwoskow-ld@users.noreply.github.com> * 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 <molly.jones@launchdarkly.com> * 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 <eli@launchdarkly.com> * 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 <yusinto@gmail.com> Co-authored-by: Ben Woskow <48036130+bwoskow-ld@users.noreply.github.com> Co-authored-by: Eli Bishop <eli@launchdarkly.com> Co-authored-by: LaunchDarklyCI <dev@launchdarkly.com> Co-authored-by: Martin Heller <github@technopolis.de> Co-authored-by: Ben Woskow <bwoskow@launchdarkly.com> Co-authored-by: bezreyhan <bezreyhan@gmail.com> Co-authored-by: Nicholas Mitchell <nicholas@netlify.com> Co-authored-by: Martin Heller <mheller@testo.de> Co-authored-by: clayembry <clayembry@yahoo.com> Co-authored-by: Clay Embry <cembry@atlassian.com> Co-authored-by: Jonathan Felchlin <jonathan@xgecko.com> Co-authored-by: Mac Lockard <maclockard@gmail.com> Co-authored-by: Gavin Whelan <gwhelan@launchdarkly.com> Co-authored-by: Nathan Waddell <45477581+NathanWaddell121107@users.noreply.github.com> Co-authored-by: Clifford Tawiah <ctawiah@launchdarkly.com> Co-authored-by: Cliff Tawiah <82856282+ctawiah@users.noreply.github.com> Co-authored-by: LaunchDarklyReleaseBot <launchdarklyreleasebot@launchdarkly.com> Co-authored-by: Ember Stevens <ember.stevens@launchdarkly.com> Co-authored-by: ember-stevens <79482775+ember-stevens@users.noreply.github.com> Co-authored-by: Derek Sifford <dereksifford@gmail.com> Co-authored-by: Jaz White <jwhite@launchdarkly.com> Co-authored-by: Molly <molly.jones@launchdarkly.com> Co-authored-by: Tim Lee <tim.lee@red-badger.com> Co-authored-by: Louis Chan <91093020+louis-launchdarkly@users.noreply.github.com> Co-authored-by: Louis Chan <lchan@launchdarkly.com>
* 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 <nicholas@netlify.com> Co-authored-by: Martin Heller <mheller@testo.de> * 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 <cembry@atlassian.com> * 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 <48036130+bwoskow-ld@users.noreply.github.com> * 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 <molly.jones@launchdarkly.com> * 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 <eli@launchdarkly.com> * 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 <yusinto@gmail.com> Co-authored-by: Ben Woskow <48036130+bwoskow-ld@users.noreply.github.com> Co-authored-by: Eli Bishop <eli@launchdarkly.com> Co-authored-by: LaunchDarklyCI <dev@launchdarkly.com> Co-authored-by: Martin Heller <github@technopolis.de> Co-authored-by: Ben Woskow <bwoskow@launchdarkly.com> Co-authored-by: bezreyhan <bezreyhan@gmail.com> Co-authored-by: Nicholas Mitchell <nicholas@netlify.com> Co-authored-by: Martin Heller <mheller@testo.de> Co-authored-by: clayembry <clayembry@yahoo.com> Co-authored-by: Clay Embry <cembry@atlassian.com> Co-authored-by: Jonathan Felchlin <jonathan@xgecko.com> Co-authored-by: Mac Lockard <maclockard@gmail.com> Co-authored-by: Gavin Whelan <gwhelan@launchdarkly.com> Co-authored-by: Nathan Waddell <45477581+NathanWaddell121107@users.noreply.github.com> Co-authored-by: Clifford Tawiah <ctawiah@launchdarkly.com> Co-authored-by: Cliff Tawiah <82856282+ctawiah@users.noreply.github.com> Co-authored-by: LaunchDarklyReleaseBot <launchdarklyreleasebot@launchdarkly.com> Co-authored-by: Ember Stevens <ember.stevens@launchdarkly.com> Co-authored-by: ember-stevens <79482775+ember-stevens@users.noreply.github.com> Co-authored-by: Derek Sifford <dereksifford@gmail.com> Co-authored-by: Jaz White <jwhite@launchdarkly.com> Co-authored-by: Molly <molly.jones@launchdarkly.com> Co-authored-by: Tim Lee <tim.lee@red-badger.com> Co-authored-by: Louis Chan <91093020+louis-launchdarkly@users.noreply.github.com> Co-authored-by: Louis Chan <lchan@launchdarkly.com> Co-authored-by: Ryan Lamb <4955475+kinyoklion@users.noreply.github.com>
Now that It'd be nice for there to be a defined way of getting a working React setup that didn't contact LaunchDarkly's servers so that local development we could try things out without stomping on each other. That'd mean something like a function that creates a working |
I ended up using https://github.com/tdeekens/flopflip to wrap LaunchDarkly's React SDK. With it, I was able to use a memory/offline flags provider on tests and storybooks. |
* 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 <nicholas@netlify.com> Co-authored-by: Martin Heller <mheller@testo.de> * 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 <cembry@atlassian.com> * 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 <48036130+bwoskow-ld@users.noreply.github.com> * 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 <molly.jones@launchdarkly.com> * 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 <eli@launchdarkly.com> * 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 <molly.jones@launchdarkly.com> * 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 <yusinto@gmail.com> Co-authored-by: Ben Woskow <48036130+bwoskow-ld@users.noreply.github.com> Co-authored-by: Eli Bishop <eli@launchdarkly.com> Co-authored-by: LaunchDarklyCI <dev@launchdarkly.com> Co-authored-by: Martin Heller <github@technopolis.de> Co-authored-by: Ben Woskow <bwoskow@launchdarkly.com> Co-authored-by: bezreyhan <bezreyhan@gmail.com> Co-authored-by: Nicholas Mitchell <nicholas@netlify.com> Co-authored-by: Martin Heller <mheller@testo.de> Co-authored-by: clayembry <clayembry@yahoo.com> Co-authored-by: Clay Embry <cembry@atlassian.com> Co-authored-by: Jonathan Felchlin <jonathan@xgecko.com> Co-authored-by: Mac Lockard <maclockard@gmail.com> Co-authored-by: Gavin Whelan <gwhelan@launchdarkly.com> Co-authored-by: Nathan Waddell <45477581+NathanWaddell121107@users.noreply.github.com> Co-authored-by: Clifford Tawiah <ctawiah@launchdarkly.com> Co-authored-by: Cliff Tawiah <82856282+ctawiah@users.noreply.github.com> Co-authored-by: LaunchDarklyReleaseBot <launchdarklyreleasebot@launchdarkly.com> Co-authored-by: Ember Stevens <ember.stevens@launchdarkly.com> Co-authored-by: ember-stevens <79482775+ember-stevens@users.noreply.github.com> Co-authored-by: Derek Sifford <dereksifford@gmail.com> Co-authored-by: Jaz White <jwhite@launchdarkly.com> Co-authored-by: Molly <molly.jones@launchdarkly.com> Co-authored-by: Tim Lee <tim.lee@red-badger.com> Co-authored-by: Louis Chan <91093020+louis-launchdarkly@users.noreply.github.com> Co-authored-by: Louis Chan <lchan@launchdarkly.com> Co-authored-by: Ryan Lamb <4955475+kinyoklion@users.noreply.github.com> Co-authored-by: Christie Williams <xie.williams@gmail.com>
* 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 <nicholas@netlify.com> Co-authored-by: Martin Heller <mheller@testo.de> * 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 <cembry@atlassian.com> * 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 <48036130+bwoskow-ld@users.noreply.github.com> * 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 <molly.jones@launchdarkly.com> * 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 <eli@launchdarkly.com> * 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 <molly.jones@launchdarkly.com> * 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 <yusinto@gmail.com> Co-authored-by: Ben Woskow <48036130+bwoskow-ld@users.noreply.github.com> Co-authored-by: Eli Bishop <eli@launchdarkly.com> Co-authored-by: LaunchDarklyCI <dev@launchdarkly.com> Co-authored-by: Martin Heller <github@technopolis.de> Co-authored-by: Ben Woskow <bwoskow@launchdarkly.com> Co-authored-by: bezreyhan <bezreyhan@gmail.com> Co-authored-by: Nicholas Mitchell <nicholas@netlify.com> Co-authored-by: Martin Heller <mheller@testo.de> Co-authored-by: clayembry <clayembry@yahoo.com> Co-authored-by: Clay Embry <cembry@atlassian.com> Co-authored-by: Jonathan Felchlin <jonathan@xgecko.com> Co-authored-by: Mac Lockard <maclockard@gmail.com> Co-authored-by: Gavin Whelan <gwhelan@launchdarkly.com> Co-authored-by: Nathan Waddell <45477581+NathanWaddell121107@users.noreply.github.com> Co-authored-by: Clifford Tawiah <ctawiah@launchdarkly.com> Co-authored-by: Cliff Tawiah <82856282+ctawiah@users.noreply.github.com> Co-authored-by: LaunchDarklyReleaseBot <launchdarklyreleasebot@launchdarkly.com> Co-authored-by: Ember Stevens <ember.stevens@launchdarkly.com> Co-authored-by: ember-stevens <79482775+ember-stevens@users.noreply.github.com> Co-authored-by: Derek Sifford <dereksifford@gmail.com> Co-authored-by: Jaz White <jwhite@launchdarkly.com> Co-authored-by: Molly <molly.jones@launchdarkly.com> Co-authored-by: Tim Lee <tim.lee@red-badger.com> Co-authored-by: Louis Chan <91093020+louis-launchdarkly@users.noreply.github.com> Co-authored-by: Louis Chan <lchan@launchdarkly.com> Co-authored-by: Ryan Lamb <4955475+kinyoklion@users.noreply.github.com> Co-authored-by: Christie Williams <xie.williams@gmail.com>
* 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 <nicholas@netlify.com> Co-authored-by: Martin Heller <mheller@testo.de> * 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 <cembry@atlassian.com> * 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 <48036130+bwoskow-ld@users.noreply.github.com> * 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 <molly.jones@launchdarkly.com> * 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 <eli@launchdarkly.com> * 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 <molly.jones@launchdarkly.com> * 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 <yusinto@gmail.com> Co-authored-by: Ben Woskow <48036130+bwoskow-ld@users.noreply.github.com> Co-authored-by: Eli Bishop <eli@launchdarkly.com> Co-authored-by: LaunchDarklyCI <dev@launchdarkly.com> Co-authored-by: Martin Heller <github@technopolis.de> Co-authored-by: Ben Woskow <bwoskow@launchdarkly.com> Co-authored-by: bezreyhan <bezreyhan@gmail.com> Co-authored-by: Nicholas Mitchell <nicholas@netlify.com> Co-authored-by: Martin Heller <mheller@testo.de> Co-authored-by: clayembry <clayembry@yahoo.com> Co-authored-by: Clay Embry <cembry@atlassian.com> Co-authored-by: Jonathan Felchlin <jonathan@xgecko.com> Co-authored-by: Mac Lockard <maclockard@gmail.com> Co-authored-by: Gavin Whelan <gwhelan@launchdarkly.com> Co-authored-by: Nathan Waddell <45477581+NathanWaddell121107@users.noreply.github.com> Co-authored-by: Clifford Tawiah <ctawiah@launchdarkly.com> Co-authored-by: Cliff Tawiah <82856282+ctawiah@users.noreply.github.com> Co-authored-by: LaunchDarklyReleaseBot <launchdarklyreleasebot@launchdarkly.com> Co-authored-by: Ember Stevens <ember.stevens@launchdarkly.com> Co-authored-by: ember-stevens <79482775+ember-stevens@users.noreply.github.com> Co-authored-by: Derek Sifford <dereksifford@gmail.com> Co-authored-by: Jaz White <jwhite@launchdarkly.com> Co-authored-by: Molly <molly.jones@launchdarkly.com> Co-authored-by: Tim Lee <tim.lee@red-badger.com> Co-authored-by: Louis Chan <91093020+louis-launchdarkly@users.noreply.github.com> Co-authored-by: Louis Chan <lchan@launchdarkly.com> Co-authored-by: Ryan Lamb <4955475+kinyoklion@users.noreply.github.com> Co-authored-by: Christie Williams <xie.williams@gmail.com>
* 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 <nicholas@netlify.com> Co-authored-by: Martin Heller <mheller@testo.de> * 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 <cembry@atlassian.com> * 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 <48036130+bwoskow-ld@users.noreply.github.com> * 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 <molly.jones@launchdarkly.com> * 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 <eli@launchdarkly.com> * 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 <molly.jones@launchdarkly.com> * 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 <yusinto@gmail.com> Co-authored-by: Ben Woskow <48036130+bwoskow-ld@users.noreply.github.com> Co-authored-by: Eli Bishop <eli@launchdarkly.com> Co-authored-by: LaunchDarklyCI <dev@launchdarkly.com> Co-authored-by: Martin Heller <github@technopolis.de> Co-authored-by: Ben Woskow <bwoskow@launchdarkly.com> Co-authored-by: bezreyhan <bezreyhan@gmail.com> Co-authored-by: Nicholas Mitchell <nicholas@netlify.com> Co-authored-by: Martin Heller <mheller@testo.de> Co-authored-by: clayembry <clayembry@yahoo.com> Co-authored-by: Clay Embry <cembry@atlassian.com> Co-authored-by: Jonathan Felchlin <jonathan@xgecko.com> Co-authored-by: Mac Lockard <maclockard@gmail.com> Co-authored-by: Gavin Whelan <gwhelan@launchdarkly.com> Co-authored-by: Nathan Waddell <45477581+NathanWaddell121107@users.noreply.github.com> Co-authored-by: Clifford Tawiah <ctawiah@launchdarkly.com> Co-authored-by: Cliff Tawiah <82856282+ctawiah@users.noreply.github.com> Co-authored-by: LaunchDarklyReleaseBot <launchdarklyreleasebot@launchdarkly.com> Co-authored-by: Ember Stevens <ember.stevens@launchdarkly.com> Co-authored-by: ember-stevens <79482775+ember-stevens@users.noreply.github.com> Co-authored-by: Derek Sifford <dereksifford@gmail.com> Co-authored-by: Jaz White <jwhite@launchdarkly.com> Co-authored-by: Molly <molly.jones@launchdarkly.com> Co-authored-by: Tim Lee <tim.lee@red-badger.com> Co-authored-by: Louis Chan <91093020+louis-launchdarkly@users.noreply.github.com> Co-authored-by: Louis Chan <lchan@launchdarkly.com> Co-authored-by: Ryan Lamb <4955475+kinyoklion@users.noreply.github.com> Co-authored-by: Christie Williams <xie.williams@gmail.com>
* 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 <nicholas@netlify.com> Co-authored-by: Martin Heller <mheller@testo.de> * 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 <cembry@atlassian.com> * 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 <48036130+bwoskow-ld@users.noreply.github.com> * 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 <molly.jones@launchdarkly.com> * 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 <eli@launchdarkly.com> * 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 <molly.jones@launchdarkly.com> * 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 <yus@launchdarkly.com> * [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 <yus@launchdarkly.com> * Update package.json (#92) Co-authored-by: Yusinto Ngadiman <yus@launchdarkly.com> Co-authored-by: Yusinto Ngadiman <yusinto@gmail.com> Co-authored-by: Ben Woskow <48036130+bwoskow-ld@users.noreply.github.com> Co-authored-by: Eli Bishop <eli@launchdarkly.com> Co-authored-by: LaunchDarklyCI <dev@launchdarkly.com> Co-authored-by: Martin Heller <github@technopolis.de> Co-authored-by: Ben Woskow <bwoskow@launchdarkly.com> Co-authored-by: bezreyhan <bezreyhan@gmail.com> Co-authored-by: Nicholas Mitchell <nicholas@netlify.com> Co-authored-by: Martin Heller <mheller@testo.de> Co-authored-by: clayembry <clayembry@yahoo.com> Co-authored-by: Clay Embry <cembry@atlassian.com> Co-authored-by: Jonathan Felchlin <jonathan@xgecko.com> Co-authored-by: Mac Lockard <maclockard@gmail.com> Co-authored-by: Gavin Whelan <gwhelan@launchdarkly.com> Co-authored-by: Nathan Waddell <45477581+NathanWaddell121107@users.noreply.github.com> Co-authored-by: Clifford Tawiah <ctawiah@launchdarkly.com> Co-authored-by: Cliff Tawiah <82856282+ctawiah@users.noreply.github.com> Co-authored-by: LaunchDarklyReleaseBot <launchdarklyreleasebot@launchdarkly.com> Co-authored-by: Ember Stevens <ember.stevens@launchdarkly.com> Co-authored-by: ember-stevens <79482775+ember-stevens@users.noreply.github.com> Co-authored-by: Derek Sifford <dereksifford@gmail.com> Co-authored-by: Jaz White <jwhite@launchdarkly.com> Co-authored-by: Molly <molly.jones@launchdarkly.com> Co-authored-by: Tim Lee <tim.lee@red-badger.com> Co-authored-by: Louis Chan <91093020+louis-launchdarkly@users.noreply.github.com> Co-authored-by: Louis Chan <lchan@launchdarkly.com> Co-authored-by: Ryan Lamb <4955475+kinyoklion@users.noreply.github.com> Co-authored-by: Christie Williams <xie.williams@gmail.com> Co-authored-by: Yusinto Ngadiman <yus@launchdarkly.com>
* 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 <nicholas@netlify.com> Co-authored-by: Martin Heller <mheller@testo.de> * 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 <cembry@atlassian.com> * 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 <48036130+bwoskow-ld@users.noreply.github.com> * 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 <molly.jones@launchdarkly.com> * 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 <eli@launchdarkly.com> * 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 <molly.jones@launchdarkly.com> * 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 <yus@launchdarkly.com> * Update config.yml Co-authored-by: Yusinto Ngadiman <yusinto@gmail.com> Co-authored-by: Ben Woskow <48036130+bwoskow-ld@users.noreply.github.com> Co-authored-by: Eli Bishop <eli@launchdarkly.com> Co-authored-by: LaunchDarklyCI <dev@launchdarkly.com> Co-authored-by: Martin Heller <github@technopolis.de> Co-authored-by: Ben Woskow <bwoskow@launchdarkly.com> Co-authored-by: bezreyhan <bezreyhan@gmail.com> Co-authored-by: Nicholas Mitchell <nicholas@netlify.com> Co-authored-by: Martin Heller <mheller@testo.de> Co-authored-by: clayembry <clayembry@yahoo.com> Co-authored-by: Clay Embry <cembry@atlassian.com> Co-authored-by: Jonathan Felchlin <jonathan@xgecko.com> Co-authored-by: Mac Lockard <maclockard@gmail.com> Co-authored-by: Gavin Whelan <gwhelan@launchdarkly.com> Co-authored-by: Nathan Waddell <45477581+NathanWaddell121107@users.noreply.github.com> Co-authored-by: Clifford Tawiah <ctawiah@launchdarkly.com> Co-authored-by: Cliff Tawiah <82856282+ctawiah@users.noreply.github.com> Co-authored-by: LaunchDarklyReleaseBot <launchdarklyreleasebot@launchdarkly.com> Co-authored-by: Ember Stevens <ember.stevens@launchdarkly.com> Co-authored-by: ember-stevens <79482775+ember-stevens@users.noreply.github.com> Co-authored-by: Derek Sifford <dereksifford@gmail.com> Co-authored-by: Jaz White <jwhite@launchdarkly.com> Co-authored-by: Molly <molly.jones@launchdarkly.com> Co-authored-by: Tim Lee <tim.lee@red-badger.com> Co-authored-by: Louis Chan <91093020+louis-launchdarkly@users.noreply.github.com> Co-authored-by: Louis Chan <lchan@launchdarkly.com> Co-authored-by: Ryan Lamb <4955475+kinyoklion@users.noreply.github.com> Co-authored-by: Christie Williams <xie.williams@gmail.com> Co-authored-by: Yusinto Ngadiman <yus@launchdarkly.com>
This is blocking us from upgrading to It seems exceedingly simple to at least export the |
@hon2a My workaround is to use https://github.com/tdeekens/flopflip and toggle between a memory adapter (tests and development) and the LD adapter. |
@taschetto Thanks for the suggestion. I'd rather avoid adding another layer that I have no need for though. Still, it might come in handy eventually, if things get nowhere on this front. |
Looks like some folks using my basic storybook plugin. I would love to hand over the maintenance as I can't prioritize keep up to date if it make sense |
+1 That this is blocking us from upgrading to |
+1 for either exporting the |
I've been able to work around this with import { LDProvider } from 'launchdarkly-react-client-sdk'
<LDProvider flags={options.flags ?? {}} options={{ bootstrap: options.flags }} clientSideID={''}>
{children}
</LDProvider> but it causes my console to be flooded with
It would be great if the |
@yusinto mentioned in #234 that the recommended approach for now is to follow this example using storybooks mocks |
Are there any updates on this front? It's kinda confusing to me that being able to provided mocked values from a provider is not supported in any way. |
fixed the console span with new Logger: export const noop = () => undefined;
export const withLaunchDarkly: Decorator = (Story, context) => {
const params = context.parameters["launchdarkly"]?.flags ?? {};
return (
<LDProvider
clientSideID=""
flags={params}
options={{
bootstrap: params,
logger: { debug: noop, error: noop, warn: noop, info: noop },
}}
>
<Story />
</LDProvider>
);
}; |
Is your feature request related to a problem? Please describe.
I am working on a Typescript React App and currently use StorybookJS to be able to test my components over different use cases. These components are using the
useFlags
React Hook and therefore I need to provide a LaunchDarkly Provider to this. I don't want to actually communicate with a launch darkly server and instead just want to provide mock values for these flags in these storybooks.Therefore I would like a way to provide mock Feature Flag values to my rendered components just like you use the MockedProvider in the Apollo GraphQL Client instead of using the
withLDProvider
.As storybooks are not tests I cannot use Jest Mocks or Sinon.
Describe the solution you'd like
The ability to do the following:
where my component is like:
Describe alternatives you've considered
Maybe you are fine with me manually grabbing the
Provider
from inside the library? In which case I can pretty much do the equivalent in my components. E.g. currently I have something written like the following.If the above is a recommended way to do this mocking for our consumers and you don't want to provide a
MockProvider
as part of the library is there a place we can update documentation to recommend this approach for future developers? I struggled to find anything about this while googling.The text was updated successfully, but these errors were encountered: