Skip to content

Supported Scope

FlagLint currently supports LaunchDarkly Node.js server-side SDK evaluation calls in JavaScript and TypeScript from:

  • @launchdarkly/node-server-sdk
  • legacy launchdarkly-node-server-sdk

React SDK hooks, HOC, and provider are detected and reported for manual review. Browser SDKs, non-Node SDKs, and non-LaunchDarkly providers are outside current detection coverage and do not appear in reports.

PatternScanApplyManual ReviewUnsupported
variation("key", ctx, false) with literal fallbackYesYes, when type and OpenFeature binding are provenNoNo
boolVariation("key", ctx, false)YesYes, when OpenFeature binding is provenNoNo
stringVariation("key", ctx, "control")YesYes, when OpenFeature binding is provenNoNo
numberVariation("key", ctx, 100)YesYes, when OpenFeature binding is provenNoNo
jsonVariation("key", ctx, {...})YesYes, when OpenFeature binding is provenNoNo
Dynamic flag keysYesNoYesNo
*VariationDetail(...) methodsYesNoYesNo
allFlags() and allFlagsState()YesNoYesNo
Unknown fallback typeYesNoYesNo
Configured wrappersYesNoYesNo
Ambiguous OpenFeature client bindingYesNoYesNo
Browser SDKsNoNoNoYes
React SDK hooks (useFlags, useLDClient, useVariation)YesNoYesNo
React SDK HOC (withLDConsumer)YesNoYesNo
React SDK provider (LDProvider, asyncWithLDProvider)YesNoYesNo
Go, Java, Python, or other SDKsNoNoNoYes
Non-LaunchDarkly providersNoNoNoYes

FlagLint resolves LaunchDarkly client provenance from supported SDK imports only:

import * as LaunchDarkly from "@launchdarkly/node-server-sdk";
const client = LaunchDarkly.init("sdk-key");
import { init as ldInit } from "@launchdarkly/node-server-sdk";
const client = ldInit("sdk-key");
const { init: ldInit } = require("@launchdarkly/node-server-sdk");
const client = ldInit("sdk-key");

Unrelated functions named init, ldInit, client, feature, flag, or similar do not establish LaunchDarkly provenance.

React SDK hooks, HOC, and provider are detected via verified import chains from launchdarkly-react-client-sdk:

import { useFlags, useLDClient } from "launchdarkly-react-client-sdk";
// useFlags() and useLDClient() calls are reported for manual review
import { withLDConsumer } from "launchdarkly-react-client-sdk";
// withLDConsumer()(Component) is reported for manual review
import { LDProvider, asyncWithLDProvider } from "launchdarkly-react-client-sdk";
// Provider usage is reported for manual review

React SDK patterns are reported for manual review and are not auto-migrated. They fall outside the current flaglint migrate --apply scope because they require browser/React-specific OpenFeature provider setup that cannot be inferred statically.