| :mega: Important notice |
|-------------------------|
| This library is superseded by the [new, unified ConfigCat SDK for JavaScript](https://github.com/configcat/js-unified-sdk#configcat-sdk-for-javascript).<br/>This legacy library is in maintenance mode now, it will receive only critical security patches until **official support ends on August 31, 2026**. |

# ConfigCat Common library for JavaScript

[![Common JS CI](https://github.com/configcat/common-js/actions/workflows/common-js-ci.yml/badge.svg?branch=master)](https://github.com/configcat/common-js/actions/workflows/common-js-ci.yml) [![codecov](https://codecov.io/gh/configcat/common-js/branch/master/graph/badge.svg)](https://codecov.io/gh/configcat/common-js) [![Known Vulnerabilities](https://snyk.io/test/github/configcat/common-js/badge.svg?targetFile=package.json)](https://snyk.io/test/github/configcat/common-js?targetFile=package.json) [![Tree Shaking](https://badgen.net/bundlephobia/tree-shaking/configcat-common)](https://bundlephobia.com/result?p=configcat-common) ![License](https://img.shields.io/github/license/configcat/common-js.svg) \
[![NPM](https://nodei.co/npm/configcat-common.png)](https://nodei.co/npm/configcat-common/)

ConfigCat Common library for JavaScript is a shared package that provides the common ConfigCat SDK logic for [ConfigCat SDK for Node.js](https://github.com/configcat/node-sdk) and [ConfigCat SDK for JavaScript](https://github.com/configcat/js-sdk).

ConfigCat is a feature flag, feature toggle, and configuration management service that lets you launch new features and change your software configuration remotely without actually (re)deploying code. ConfigCat even helps you do controlled roll-outs like canary releases and blue-green deployments.

ConfigCat is a [hosted feature flag service](https://configcat.com). Manage feature toggles across frontend, backend, mobile, desktop apps. [Alternative to LaunchDarkly](https://configcat.com). Management app + feature flag SDKs.

## Installing
```
npm install
```

## Running the tests
```
npm test
```

## Need help?
https://configcat.com/support

## Contributing
Contributions are welcome. For more info please read the [Contribution Guideline](CONTRIBUTING.md).

## About ConfigCat
- [Documentation](https://configcat.com/docs)
- [Blog](https://configcat.com/blog)

# Troubleshooting
### Make sure you have the proper Node.js version installed
You might run into errors caused by the wrong version of Node.js. To make sure you are using the recommended Node.js version follow these steps.

1. Have nvm (Node Version Manager - https://github.com/nvm-sh/nvm ) installed:
1. Run `nvm install`. This will install the compatible version of Node.js.
1. Run `nvm use`. This will use the compatible version of Node.js.