UNPKG

unleash-server

Version:

Unleash is an enterprise ready feature flag service. It provides different strategies for handling feature flags.

89 lines 6.43 kB
import { PayloadType } from 'unleash-client'; import { defaultVariant } from 'unleash-client/lib/variant.js'; import { parseEnvVarBoolean, parseEnvVarBooleanOrStringVariant, } from '../util/index.js'; const flags = { anonymiseEventLog: false, enableLicense: false, responseTimeWithAppNameKillSwitch: parseEnvVarBoolean(process.env.UNLEASH_RESPONSE_TIME_WITH_APP_NAME_KILL_SWITCH, false), maintenanceMode: parseEnvVarBooleanOrStringVariant(process.env.UNLEASH_EXPERIMENTAL_MAINTENANCE_MODE, false), messageBanner: { name: 'message-banner', enabled: parseEnvVarBoolean(process.env.UNLEASH_EXPERIMENTAL_MESSAGE_BANNER, false), payload: { type: PayloadType.JSON, value: process.env.UNLEASH_EXPERIMENTAL_MESSAGE_BANNER_PAYLOAD ?? '', }, }, strictSchemaValidation: parseEnvVarBoolean(process.env.UNLEASH_STRICT_SCHEMA_VALIDTION, false), personalAccessTokensKillSwitch: parseEnvVarBoolean(process.env.UNLEASH_PAT_KILL_SWITCH, false), migrationLock: parseEnvVarBoolean(process.env.MIGRATION_LOCK, true), demo: parseEnvVarBoolean(process.env.UNLEASH_DEMO, false), filterInvalidClientMetrics: parseEnvVarBoolean(process.env.FILTER_INVALID_CLIENT_METRICS, false), disableMetrics: parseEnvVarBoolean(process.env.UNLEASH_EXPERIMENTAL_DISABLE_METRICS, false), signals: parseEnvVarBoolean(process.env.UNLEASH_EXPERIMENTAL_SIGNALS, false), automatedActions: parseEnvVarBoolean(process.env.UNLEASH_EXPERIMENTAL_AUTOMATED_ACTIONS, false), celebrateUnleash: parseEnvVarBoolean(process.env.UNLEASH_EXPERIMENTAL_CELEBRATE_UNLEASH, false), feedbackPosting: parseEnvVarBoolean(process.env.UNLEASH_EXPERIMENTAL_FEEDBACK_POSTING, false), encryptEmails: parseEnvVarBoolean(process.env.UNLEASH_EXPERIMENTAL_ENCRYPT_EMAILS, false), extendedUsageMetrics: parseEnvVarBoolean(process.env.UNLEASH_EXPERIMENTAL_EXTENDED_USAGE_METRICS, false), outdatedSdksBanner: parseEnvVarBoolean(process.env.UNLEASH_EXPERIMENTAL_OUTDATED_SDKS_BANNER, false), feedbackComments: { name: 'feedbackComments', enabled: parseEnvVarBoolean(process.env.UNLEASH_EXPERIMENTAL_FEEDBACK_COMMENTS, false), payload: { type: PayloadType.JSON, value: process.env.UNLEASH_EXPERIMENTAL_FEEDBACK_COMMENTS_PAYLOAD ?? '', }, }, useMemoizedActiveTokens: parseEnvVarBoolean(process.env.UNLEASH_EXPERIMENTAL_MEMOIZED_ACTIVE_TOKENS, false), killScheduledChangeRequestCache: parseEnvVarBoolean(process.env.UNLEASH_EXPERIMENTAL_KILL_SCHEDULED_CHANGE_REQUEST_CACHE, false), estimateTrafficDataCost: parseEnvVarBoolean(process.env.UNLEASH_EXPERIMENTAL_ESTIMATE_TRAFFIC_DATA_COST, false), disableUpdateMaxRevisionId: parseEnvVarBoolean(process.env.UNLEASH_EXPERIMENTAL_DISABLE_SCHEDULED_CACHES, false), disablePublishUnannouncedEvents: parseEnvVarBoolean(process.env.UNLEASH_EXPERIMENTAL_DISABLE_SCHEDULED_CACHES, false), queryMissingTokens: parseEnvVarBoolean(process.env.UNLEASH_EXPERIMENTAL_QUERY_MISSING_TOKENS, false), responseTimeMetricsFix: parseEnvVarBoolean(process.env.UNLEASH_EXPERIMENTAL_RESPONSE_TIME_METRICS_FIX, false), disableShowContextFieldSelectionValues: parseEnvVarBoolean(process.env .UNLEASH_EXPERIMENTAL_DISABLE_SHOW_CONTEXT_FIELD_SELECTION_VALUES, false), manyStrategiesPagination: parseEnvVarBoolean(process.env.UNLEASH_EXPERIMENTAL_MANY_STRATEGIES_PAGINATION, false), enableLegacyVariants: parseEnvVarBoolean(process.env.UNLEASH_EXPERIMENTAL_ENABLE_LEGACY_VARIANTS, false), extendedMetrics: parseEnvVarBoolean(process.env.UNLEASH_EXPERIMENTAL_EXTENDED_METRICS, false), removeUnsafeInlineStyleSrc: parseEnvVarBoolean(process.env.UNLEASH_EXPERIMENTAL_REMOVE_UNSAFE_INLINE_STYLE_SRC, false), projectRoleAssignment: parseEnvVarBoolean(process.env.UNLEASH_EXPERIMENTAL_PROJECT_ROLE_ASSIGNMENT, false), webhookDomainLogging: parseEnvVarBoolean(process.env.UNLEASH_EXPERIMENT_WEBHOOK_DOMAIN_LOGGING, false), productivityReportEmail: parseEnvVarBoolean(process.env.UNLEASH_EXPERIMENTAL_PRODUCTIVITY_REPORT_EMAIL, false), productivityReportUnsubscribers: parseEnvVarBoolean(process.env.UNLEASH_EXPERIMENTAL_PRODUCTIVITY_REPORT_UNSUBSCRIBERS, false), showUserDeviceCount: parseEnvVarBoolean(process.env.UNLEASH_EXPERIMENTAL_SHOW_USER_DEVICE_COUNT, false), deltaApi: parseEnvVarBoolean(process.env.UNLEASH_EXPERIMENTAL_DELTA_API, false), deltaDiff: parseEnvVarBoolean(process.env.UNLEASH_EXPERIMENTAL_DELTA_DIFF, false), uniqueSdkTracking: parseEnvVarBoolean(process.env.UNLEASH_EXPERIMENTAL_UNIQUE_SDK_TRACKING, false), consumptionModel: parseEnvVarBoolean(process.env.EXPERIMENTAL_CONSUMPTION_MODEL, false), consumptionModelUI: parseEnvVarBoolean(process.env.EXPERIMENTAL_CONSUMPTION_MODEL_UI, false), impactMetrics: parseEnvVarBoolean(process.env.UNLEASH_EXPERIMENTAL_IMPACT_METRICS, false), streaming: { name: 'disabled', enabled: parseEnvVarBoolean(process.env.UNLEASH_EXPERIMENTAL_STREAMING, false), }, denyStreamingForNonEdge: parseEnvVarBoolean(process.env.UNLEASH_EXPERIMENTAL_STREAMING_DENY_STREAMING_FOR_NON_EDGE, false), fetchMode: { name: 'disabled', enabled: parseEnvVarBoolean(process.env.UNLEASH_EXPERIMENTAL_FETCH_MODE, false), }, milestoneProgression: parseEnvVarBoolean(process.env.UNLEASH_EXPERIMENTAL_MILESTONE_PROGRESSION, false), featureReleasePlans: parseEnvVarBoolean(process.env.UNLEASH_EXPERIMENTAL_FEATURE_RELEASE_PLANS, false), plausibleMetrics: parseEnvVarBoolean(process.env.UNLEASH_EXPERIMENTAL_PLAUSIBLE_METRICS, false), safeguards: parseEnvVarBoolean(process.env.UNLEASH_EXPERIMENTAL_SAFEGUARDS, false), oidcPkceSupport: parseEnvVarBoolean(process.env.UNLEASH_EXPERIMENTAL_OIDC_PKCE_SUPPORT, false), newInUnleash: parseEnvVarBooleanOrStringVariant(process.env.UNLEASH_EXPERIMENTAL_NEW_IN_UNLEASH, false), gtmReleaseManagement: parseEnvVarBoolean(process.env.UNLEASH_EXPERIMENTAL_GTM_RELEASE_MANAGEMENT, false), projectContextFields: parseEnvVarBoolean(process.env.UNLEASH_EXPERIMENTAL_PROJECT_CONTEXT_FIELDS, false), }; export const defaultExperimentalOptions = { flags, externalResolver: { isEnabled: () => false, getVariant: () => defaultVariant, getStaticContext: () => ({}), }, }; //# sourceMappingURL=experimental.js.map