feature-toggle-service v6.1.0
Feature Toggle Service
The simplest solution for feature toggles in Javascript. Simple how it should be.
Why Feature toggle?
This is a common concept, but why use this directive instead solve it via server-side rendering?
The idea of this directive is make this process transparent and easier. So the main point is integrate this directive with other tooling process, such as:
- Server-side rendering;
- Progressive rendering;
- Any other that yoy like :)
You can integrate with WebSockets or handling this in a EventSourcing architecture. It's totally transparent for you and you can integrate easier in your application.
Contributing
Please check our contributing.md to know more about setup and how to contribute.
Setup and installation
Make sure that you are using the NodeJS version is the same as .nvmrc file version. If you don't have this version please use a version manager such as nvm or n to manage your local nodejs versions.
Please make sure that you are using NodeJS version 6.10.2
Assuming that you are using nvm, please run the commands inside this folder:
$ nvm install $(cat .nvmrc); # install required nodejs version
$ nvm use $(cat .nvmrc); # use nodejs versionIn Windows, please install NodeJS using one of these options:
Via NVM Windows package: Dowload via this link. After that, run the commands:
$ nvm install $(cat .nvmrc); # install required nodejs version
$ nvm use $(cat .nvmrc); # use nodejs versionVia Chocolatey:
$ choco install nodejs.install -version 6.10.2Install yarn
We use yarn as our package manager instead of npm
Install it following these steps
After that, just navigate to your local repository and run
$ yarn installDemo
Try out our demo on Stackblitz!
Run the tests
$ yarn test # run the testsRun the build
$ yarn build # run the testsRun the bundlesize check
$ yarn bundlesize # run the testsRun the code lint
$ yarn lint # run the testsFeatureToggleService
This service exposes a few different methods with which you can interact with feature toggle service.
featureToggleService.set(obj)
Adds the feature toggle configuration in your application. This information will be private and checked via featureToggleService.isOn(key) method.
featureToggleService.isOn(key, debug)
Checks if the feature toggle configuration has the string key value with true value. For bundle reasons if you want to check if the feature toggle is turned off, please use !featureToggleService.isOn(key). When debug param is passed as true and it's not NODE_ENV is not set to prod, it prints configuration, version and settings for debug purposes
Publish
this project is using np package to publish, which makes things straightforward. EX: np <patch|minor|major>
For more details, please check np package on npmjs.com
Author
Wilson Mendes (willmendesneto)

