1
0
mirror of https://github.com/bitwarden/browser synced 2025-12-16 08:13:42 +00:00

[EC-473] Add feature flags to common code (#3324)

This commit is contained in:
Thomas Rittson
2022-08-26 13:00:14 +10:00
committed by GitHub
parent aed78a5b61
commit 90137936fa
10 changed files with 261 additions and 114 deletions

View File

@@ -1,19 +1,29 @@
import {
flagEnabled as baseFlagEnabled,
devFlagEnabled as baseDevFlagEnabled,
devFlagValue as baseDevFlagValue,
SharedFlags,
SharedDevFlags,
} from "@bitwarden/common/misc/flags";
// required to avoid linting errors when there are no flags
/* eslint-disable-next-line @typescript-eslint/ban-types */
export type Flags = {
showTrial?: boolean;
};
} & SharedFlags;
export type FlagName = keyof Flags;
// required to avoid linting errors when there are no flags
/* eslint-disable-next-line @typescript-eslint/ban-types */
export type DevFlags = {} & SharedDevFlags;
export function flagEnabled(flag: FlagName): boolean {
return flags()[flag] == null || flags()[flag];
export function flagEnabled(flag: keyof Flags): boolean {
return baseFlagEnabled<Flags>(flag);
}
function flags(): Flags {
const envFlags = process.env.FLAGS as string | Flags;
if (typeof envFlags === "string") {
return JSON.parse(envFlags) as Flags;
} else {
return envFlags as Flags;
}
export function devFlagEnabled(flag: keyof DevFlags) {
return baseDevFlagEnabled<DevFlags>(flag);
}
export function devFlagValue(flag: keyof DevFlags) {
return baseDevFlagValue(flag);
}