diff --git a/examples/node/package.json b/examples/node/package.json new file mode 100644 index 00000000..a56c4b93 --- /dev/null +++ b/examples/node/package.json @@ -0,0 +1,15 @@ +{ + "name": "node-example", + "version": "1.0.0", + "description": "an example of using confidence in node", + "main": "src/index.js", + "type": "module", + "license": "MIT", + "dependencies": { + "@openfeature/js-sdk": "^1.6.1", + "@spotify-confidence/openfeature-server-provider": "^0.0.3" + }, + "scripts": { + "dev": "node src/index.js" + } +} diff --git a/examples/node/src/index.js b/examples/node/src/index.js new file mode 100644 index 00000000..332533fe --- /dev/null +++ b/examples/node/src/index.js @@ -0,0 +1,20 @@ +import { createConfidenceServerProvider } from '@spotify-confidence/openfeature-server-provider'; +import { OpenFeature } from '@openfeature/js-sdk'; + +const provider = createConfidenceServerProvider({ + clientSecret: 'RxDVTrXvc6op1XxiQ4OaR31dKbJ39aYV', + region: 'eu', + fetchImplementation: fetch, +}); + +OpenFeature.setProvider(provider); + +const client = OpenFeature.getClient(); + +client + .getBooleanValue('web-sdk-e2e-flag.bool', false, { + targetingKey: `user-${Math.random()}`, + }) + .then(result => { + console.log('result:', result); + }); diff --git a/examples/nodeCJS/package.json b/examples/nodeCJS/package.json new file mode 100644 index 00000000..0f54f60a --- /dev/null +++ b/examples/nodeCJS/package.json @@ -0,0 +1,15 @@ +{ + "name": "node-example-commonjs", + "version": "1.0.0", + "description": "an example of using confidence in node", + "main": "src/index.js", + "type": "commonjs", + "license": "MIT", + "dependencies": { + "@openfeature/js-sdk": "^1.6.1", + "@spotify-confidence/openfeature-server-provider": "^0.0.3" + }, + "scripts": { + "dev": "node src/index.js" + } +} diff --git a/examples/nodeCJS/src/index.js b/examples/nodeCJS/src/index.js new file mode 100644 index 00000000..33f8d3a1 --- /dev/null +++ b/examples/nodeCJS/src/index.js @@ -0,0 +1,20 @@ +const { createConfidenceServerProvider } = require('@spotify-confidence/openfeature-server-provider'); +const { OpenFeature } = require('@openfeature/js-sdk'); + +const provider = createConfidenceServerProvider({ + clientSecret: 'RxDVTrXvc6op1XxiQ4OaR31dKbJ39aYV', + region: 'eu', + fetchImplementation: fetch, +}); + +OpenFeature.setProvider(provider); + +const client = OpenFeature.getClient(); + +client + .getBooleanValue('web-sdk-e2e-flag.bool', false, { + targetingKey: `user-${Math.random()}`, + }) + .then(result => { + console.log('result:', result); + }); diff --git a/packages/openfeature-server-provider/README.md b/packages/openfeature-server-provider/README.md index 15268e17..24c2c346 100644 --- a/packages/openfeature-server-provider/README.md +++ b/packages/openfeature-server-provider/README.md @@ -19,20 +19,23 @@ yarn add @openfeature/js-sdk @spotify-confidence/openfeature-server-provider ```ts import { createConfidenceServerProvider } from '@spotify-confidence/openfeature-server-provider'; -import { OpenFeature, OpenFeatureAPI } from '@openfeature/js-sdk'; -import { fetch } from 'node-fetch'; +import { OpenFeature } from '@openfeature/js-sdk'; const provider = createConfidenceServerProvider({ - clientSecret: 'mysecret', + clientSecret: 'your-client-secret', region: 'eu', fetchImplementation: fetch, }); OpenFeature.setProvider(provider); -OpenFeature.setContext({ targetingKey: 'myTargetingKey' }); const client = OpenFeature.getClient(); -const result = await client.getBooleanValue('flag.my-boolean', false, { - someOtherContext: true, -}); + +client + .getBooleanValue('flagname.bool', false, { + targetingKey: `your targeting key`, + }) + .then(result => { + console.log('result:', result); + }); ``` diff --git a/yarn.lock b/yarn.lock index 636815fe..5a4dbcf1 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2511,6 +2511,11 @@ resolved "https://registry.yarnpkg.com/@openfeature/js-sdk/-/js-sdk-1.4.2.tgz#09bcb5fdcdc94a654b5da432d663c08f25141426" integrity sha512-Qgi26g3r7agzeY9MqFttH8xFlliWf+fQwp3Y0UxaBAdLG4AguCtM7LHWfAXJBh1mIdxoepx1KEf5xzhC2f/BEQ== +"@openfeature/js-sdk@^1.6.1": + version "1.6.1" + resolved "https://registry.yarnpkg.com/@openfeature/js-sdk/-/js-sdk-1.6.1.tgz#4dee9a302aece73b6283d5abc62b72aceae2e076" + integrity sha512-IMxkVxpAiiMfmqQXLsMlePb0/NtmmuisOcA27LGjJy7dXRqafNpJlzJXxSsGou1+/DtrFOVkJ/Udc1adNfXaFg== + "@openfeature/web-sdk@^0.4.0": version "0.4.0" resolved "https://registry.yarnpkg.com/@openfeature/web-sdk/-/web-sdk-0.4.0.tgz#1e12d5190a18479ba9cf253fe8b1e2843bda6553"