cozy-flags v4.7.0
Flags
Use and manage cozy feature flags. Flags can be toggled for a cozy instance, a context or globally. See the stack documentation on flags for more information.
- ✅ jQuery like API for getter/setter
- ✅ Devtool component to set/unset flags
Installation
npm install --save cozy-flags
# or yarn add cozy-flags
A CozyClient plugin is exported that
- initializes flags on client's login
- resets them on client's logout
import flag from 'cozy-flags'
client.registerPlugin(flag.plugin)
ℹ️ It will fetch server flags for consumption by the app
- either from DOM data (if
data-cozy={{ .CozyData }}
ordata-flags={{ .Flags }}
, on web - or by fetching data from the server (on mobile)
Usage
⚠️ Make sure you have registered the flag plugin before using the flags.
import flag from 'cozy-flags'
if (flag('my-feature')) {
enableMyFeature()
}
The FlagSwitcher
shows all flags in use and displays all
flags in use.
import flag from 'cozy-flags'
import FlagSwitcher from 'cozy-flags/dist/FlagSwitcher'
if (process.env.NODE_ENV !== 'production'
&& flag('switcher') === null) {
flag('switcher', true) // set default flag in dev mode
}
const App = () => {
return (
<div>
{ flag('switcher') && <FlagSwitcher /> }
<MyApp />
</div>
)
}
Demo
The FlagSwitcher
component helps toggling the flags.
Flags enabled at build time
It is possible to handle flags enabled at build time. Your app should just
provide a global __ENABLED_FLAGS__
array with flag names that should be
enabled. If such a global exists, cozy-flags
will iterate on the array and
enable all the flags it contains when it is imported.
6 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
11 months ago
11 months ago
1 year ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago