Open jamesarosen opened 4 months ago
Hi @jamesarosen ,
As you mentioned, the API of both packages, @splitsoftware/splitio
and @splitsoftware/splitio-browserjs
, diverge. We plan to unify both APIs but we don't have an ETA yet.
Specifically, the @splitsoftware/splitio
API will look like the @splitsoftware/splitio-browserjs
one, to support PluggableStorage
(i.e., custom storages) for both client-side (client.getTreatment(FEATURE_FLAG_NAME)
) and server-side (client.getTreatment(USER_ID, FEATURE_FLAG_NAME)
) API styles.
But unfortunately, at the moment, you cannot use PluggableStorage with the @splitsoftware/splitio
package, so it is not compatible with the Vercel Edge integration because this requires the EdgeConfigWrapper
to connect the SDK to the Edge Config instance.
Question / Problem
Is the Vercel edge integration compatible with the isomorphic JavaScript library?
The docs for configuring with Vercel's Edge runtime say to use
PluggableStorage
andErrorLogger
, but neither is exported from@splitsoftware/splitio
.Why I Care / Use-Case
I have a Vercel application that includes some code that runs on the Edge runtime and some in the Serverless (Node) runtime. I use feature flags in both runtimes. I want the logic for handling feature flags to be consistent across the two runtimes and I don't want to maintain two implementations / integrations with Split.
Both packages declare the same
SplitIO
Typescript namespace, which results in collisions like this one:Background
The public API for
javascript-client
has diverged from the one forjavascript-browser-client
. For example,versus
See also https://github.com/splitio/javascript-client/issues/781