Security News
UK Officials Consider Banning Ransomware Payments from Public Entities
The UK is proposing a bold ban on ransomware payments by public entities to disrupt cybercrime, protect critical services, and lead global cybersecurity efforts.
Removing the chaos from your features.
Featurama gives you feature flags for enabling front-end features at build-time and run-time, while using the same configuration.
npm install featurama
To use build-time featurama:
var featurama = require('featurama')({
featurePath: '/features',
root: '/src'
});
To use run-time featurama:
featurama-client.js
into your client-side javascript build.featurama.buildRunTimeConfigFile()
in the API section below).In /features
(or whatever you specified as the featurePath
):
module.exports = {
featureName: 'Feature 1',
buildTimeEnabled: false,
runTimeEnabled: function() { return !!Modernizr.history; },
jsFiles: [
'feature1.js',
],
vendorFiles: [],
scssFiles: [
'_feature1.scss',
],
};
featurama.enabled(featureName)
Given a feature name, this indicates if it is enabled or not.
Parameter | Type | Description |
---|---|---|
featureName | string | the name of the feature |
Returns: | boolean | true if enabled |
featurama.on(featureName)
Given a feature name, this enables that feature.
Parameter | Type | Description |
---|---|---|
featureName | string | the name of the feature |
featurama.off(featureName)
Given a feature name, this disables that feature.
Parameter | Type | Description |
---|---|---|
featureName | string | the name of the feature |
featurama.isBuildTimeEnabled(buildTimeEnabled)
Return the boolean value or executes the function that defines if this feature is enabled or not.
Parameter | Type | Description |
---|---|---|
buildTimeEnabled | `boolean | function` |
Returns: | boolean | true if enabled |
featurama.buildFeatureExclusions
Build a list of files to exclude
Type | Description | |
---|---|---|
Returns: | object | object of arrays containing files to exclude |
featurama.buildFeatureInclusions()
Build a list of files to include
Type | Description | |
---|---|---|
Returns: | object | object of arrays containing files to include |
featurama.featureValuesList()
Get a list of all of the declared features, their states, and file lists
Type | Description | |
---|---|---|
Returns: | object | combined feature configs |
featurama.featureList()
Build a key:value list of features and their enabled states
Type | Description | |
---|---|---|
Returns: | object | key: value pairs |
featurama.buildRunTimeConfigFile(outputFolder, outputType)
Generates a config file (named runTimeFlags.js
) to be included in your client-side code. This file bridges the gap between your featurama configuration and your run-time feature flags.
Parameter | Type | Description |
---|---|---|
outputFolder | string | path to the folder where you want to generate runTimeFlags.js ; example: path/to/my/scripts . |
outputType | string | The type of output ['var', 'ES6'] |
FAQs
Enable/Disable features via JS config files.
The npm package featurama receives a total of 1 weekly downloads. As such, featurama popularity was classified as not popular.
We found that featurama demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
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.
Security News
The UK is proposing a bold ban on ransomware payments by public entities to disrupt cybercrime, protect critical services, and lead global cybersecurity efforts.
Security News
Snyk's use of malicious npm packages for research raises ethical concerns, highlighting risks in public deployment, data exfiltration, and unauthorized testing.
Research
Security News
Socket researchers found several malicious npm packages typosquatting Chalk and Chokidar, targeting Node.js developers with kill switches and data theft.