Devcycle To Openfeature Nodejs Initialization Transform
DevCycle to OpenFeature Node.js - Initialization Transform CodeMod
This Codemod will transform the initialization of the DevCycle Node.js Server SDK to use OpenFeature Node.js SDK.
- Calls to
initializeDevCycle()should be replaced withnew DevCycleProvider()where the same parameters used. - The variable named from the
initializeDevCycle()call should be renamed to replaceclientwithprovider. For example:devcycleClientrenamed todevcycleProvider. - The new provider should be passed into
await OpenFeature.setProviderAndWait(devcycleProvider); - C new
openFeatureClientshould be created fromOpenFeature.getClient() - Usages of the variabled named from the
initializeDevCycle()call should be updated to use theopenFeatureClientinstead.
Before
let devcycleClient: DevCycleClient;async function initializeDevCycleClient() {devcycleClient = await initializeDevCycle(DEVCYCLE_SERVER_SDK_KEY, {logLevel: "info",eventFlushIntervalMS: 1000,}).onClientInitialized();return devcycleClient;}function getDevCycleClient() {return devcycleClient;}export { initializeDevCycleClient, getDevCycleClient };
After
let openFeatureClient: Client;async function initializeDevCycleClient() {const Devcycleprovider = new DevCycleProvider(DEVCYCLE_SERVER_SDK_KEY, {logLevel: "info",eventFlushIntervalMS: 1000,});await OpenFeature.setProviderAndWait(Devcycleprovider);const openFeatureClient = OpenFeature.getClient();return openFeatureClient;}function getDevCycleClient() {return openFeatureClient;}export { initializeDevCycleClient, getDevCycleClient };
Build custom codemods
Use AI-powered codemod studio and automate undifferentiated tasks for yourself, colleagues or the community