Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

feature-toggle-service

Package Overview
Dependencies
Maintainers
1
Versions
14
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

feature-toggle-service

The simplest solution for feature toggle in Javascript. Simple how it should be.

  • 6.1.0
  • latest
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
7.9K
decreased by-3.27%
Maintainers
1
Weekly downloads
 
Created
Source

Feature Toggle Service

Greenkeeper badge npm

npm version npm downloads MIT License

Build Status Coverage Status Dependency Status

NPM NPM

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 version

In 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 version

Via Chocolatey:

$ choco install nodejs.install -version 6.10.2

Install 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 install

Demo

Try out our demo on Stackblitz!

Run the tests

$ yarn test # run the tests

Run the build

$ yarn build # run the tests

Run the bundlesize check

$ yarn bundlesize # run the tests

Run the code lint

$ yarn lint # run the tests

FeatureToggleService

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)

Keywords

FAQs

Package last updated on 28 Feb 2023

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc