LaunchDarkly has published an SDK contributor's guide that provides a detailed explanation of how our SDKs work. See below for additional information on how to contribute to this SDK.
The LaunchDarkly SDK team monitors the issue tracker in the SDK repository. Bug reports and feature requests specific to this SDK should be filed in this issue tracker. The SDK team will respond to all newly filed issues within two business days.
We encourage pull requests and other contributions from the community. Before submitting pull requests, ensure that all temporary or unintended code is removed. Don't worry about adding reviewers to the pull request; the LaunchDarkly SDK team will add themselves. The SDK team will acknowledge all pull requests within two business days.
The project should be built and tested against the lowest compatible version, Node 12. It uses npm
, which is bundled in all supported versions of Node.
Note that much of the basic SDK logic, which is common to all of the LaunchDarkly client-side JavaScript-based SDKs, is in the launchdarkly-js-sdk-common
package within js-client-sdk. This is pulled in automatically by npm
when you build the SDK, but if you are planning to make changes that affect the common code, you will need to check out that repository as well.
To install project dependencies, from the project root directory:
npm install
To run all unit tests:
npm test
To verify that the TypeScript declarations compile correctly (this involves compiling the file test-types.ts
, so if you have changed any types or interfaces, you will want to update that code):
npm run check-typescript
To run the SDK contract test suite (see contract-tests/README.md
):
npm run contract-tests