Launch code execute by rules
npm i -D feat-flag
featureFlag = require('feat-flag');
const transformText = featureFlag(code, rules, options);
custom babel
presets & plugins
e.g:
{
presets: ['react', 'es2015', 'stage-0'],
plugins: ['transform-decorators-legacy'],
}
It will read project's .babelrc
file if you don't set options.
The current version move all babel-preset-\*
and babel-plugin-\*
from dependencies
to devDependencies
ENSURE you import them by your self.
Wrap code between '@flag_start({condition})'
and '@flag_end'
.
e.g:
common();
'@flag_start(A || B && !C)'
codeInFlagA();
'@flag_end'
commonElse();
Support &&
, ||
, !
Rules is a json object, like:
{
A: true,
B: true,
C: true
}