Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

chore: disable SSE for all SDKs #496

Merged
merged 15 commits into from
Jan 23, 2025
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
33 changes: 31 additions & 2 deletions jest-global.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,25 @@
import { getSDKs } from './harness/types'
import testContainersSetup from '@eresearchqut/jest-testcontainers/dist/setup'
import { exec } from 'child_process'
import { promisify } from 'util'

const execAsync = promisify(exec)

async function checkDockerCommand() {
try {
await execAsync('docker compose version')
return 'docker compose'
} catch {
try {
await execAsync('docker-compose version')
return 'docker-compose'
} catch {
throw new Error(
'Neither docker compose nor docker-compose commands are available',
)
}
}
}

async function setup(opts) {
const sdks = getSDKs()
Expand All @@ -12,8 +32,17 @@ async function setup(opts) {
.join(',')

if (process.env.LOCAL_MODE === '1') {
// Effectively disable all docker containers by setting a profile that none of them use
process.env.COMPOSE_PROFILES = 'local'
// In LOCAL_MODE, we don't need to set up any containers
return Promise.resolve()
}

try {
// Check which docker compose command is available and set it in the environment
process.env.DOCKER_COMPOSE_COMMAND = await checkDockerCommand()
console.log(`Using ${process.env.DOCKER_COMPOSE_COMMAND} command`)
} catch (error) {
console.error('Docker compose command check failed:', error.message)
throw error
}

console.log(`Set COMPOSE_PROFILES to ${process.env.COMPOSE_PROFILES}`)
Expand Down
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@
"author": "DevCycle <[email protected]>",
"license": "MIT",
"devDependencies": {
"@devcycle/types": "^1.14.0",
"@devcycle/types": "^1.20.0",
"@eresearchqut/jest-testcontainers": "^3.2.0",
"@koa/router": "^12.0.0",
"@types/jest": "^29.2.3",
Expand Down
7 changes: 6 additions & 1 deletion proxies/nodejs/handlers/client.ts
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,12 @@ export const handleClient = async (ctx: Koa.ParameterizedContext) => {
let client: DevCycleClient | DevCycleCloudClient

if (!enableCloudBucketing) {
client = initializeDevCycle(sdkKey, { ...options })
client = initializeDevCycle(sdkKey, {
...options,
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore disableRealTimeUpdates needs to get released in the updated types release.
disableRealTimeUpdates: true,
})
if (waitForInitialization) {
try {
await client.onClientInitialized()
Expand Down
4 changes: 2 additions & 2 deletions proxies/nodejs/package.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"dependencies": {
"@devcycle/js-client-sdk": "^1.26.0",
"@devcycle/nodejs-server-sdk": "^1.31.1",
"@devcycle/js-client-sdk": "^1.33.0",
"@devcycle/nodejs-server-sdk": "../../../js-sdks/dist/sdk/nodejs",
"@types/koa": "^2.13.5",
"@types/koa-bodyparser": "^4.3.10",
"@types/koa-router": "^7.4.4",
Expand Down
70 changes: 37 additions & 33 deletions proxies/nodejs/yarn.lock
Original file line number Diff line number Diff line change
Expand Up @@ -14,66 +14,70 @@ __metadata:
languageName: node
linkType: hard

"@devcycle/bucketing-assembly-script@npm:^1.23.0":
version: 1.23.0
resolution: "@devcycle/bucketing-assembly-script@npm:1.23.0"
"@devcycle/bucketing-assembly-script@npm:^1.29.0":
version: 1.29.0
resolution: "@devcycle/bucketing-assembly-script@npm:1.29.0"
dependencies:
protobufjs: "npm:^7.2.5"
checksum: 10/feab0a9d3abf99872af78e26bc1096516afe248b1ccc71d7b2986366053d8130bbeff6f6bf68ce658c08a5a0eb58278120e37c33999eff860c0f5658c042b637
protobufjs: "npm:^7.4.0"
checksum: 10/a923c5d81d65c3edb9e52980e615cce9cd1860c8b9334357c2fb68e5bce5cce991a572bcd18acf3cfcbf9ca102af8aee4cfdcc1b7d6520c34c35127bddbd0f15
languageName: node
linkType: hard

"@devcycle/js-client-sdk@npm:^1.26.0":
version: 1.26.0
resolution: "@devcycle/js-client-sdk@npm:1.26.0"
"@devcycle/js-client-sdk@npm:^1.33.0":
version: 1.33.0
resolution: "@devcycle/js-client-sdk@npm:1.33.0"
dependencies:
"@devcycle/types": "npm:^1.14.0"
"@devcycle/types": "npm:^1.20.0"
fetch-retry: "npm:^5.0.6"
lodash: "npm:^4.17.21"
ua-parser-js: "npm:^1.0.36"
uuid: "npm:^8.3.2"
checksum: 10/1087bd5b4a01f46f17044c30eb24499a5c647072b111b8c551dcffbbd31bc45ef9023948887efc9b63f8724b7145b8a0991eb3de24091bb9e342613f7e0c8206
checksum: 10/b0039b99afd50dd5269432c222e7a30995d48a4d99d7040a554893eeeaaed29e3d524957aba49bde1003eb259f39141ab9cdf37690643c7b897112c8492c424e
languageName: node
linkType: hard

"@devcycle/js-cloud-server-sdk@npm:^1.13.0":
version: 1.13.0
resolution: "@devcycle/js-cloud-server-sdk@npm:1.13.0"
"@devcycle/js-cloud-server-sdk@npm:^1.19.0":
version: 1.19.0
resolution: "@devcycle/js-cloud-server-sdk@npm:1.19.0"
dependencies:
"@devcycle/types": "npm:^1.14.0"
"@devcycle/types": "npm:^1.20.0"
cross-fetch: "npm:^4.0.0"
fetch-retry: "npm:^5.0.6"
lodash: "npm:^4.17.21"
checksum: 10/32674e92fd8f83377723553ea54ac91a11dfa4dab169f8e6f809b6692418c203054c188d331a0eb7927075894bcda6977f17ee53677108fd0d43686931929c11
checksum: 10/09232931d3d6b390804b2fba5fd80d0331eaef54a0fcd9dcf0c74e7430f5243b8e9597114e8f379644237c790ba98705f062d7bd24517fe7f88a449ebee3ce9a
languageName: node
linkType: hard

"@devcycle/nodejs-server-sdk@npm:^1.31.1":
version: 1.31.1
resolution: "@devcycle/nodejs-server-sdk@npm:1.31.1"
"@devcycle/nodejs-server-sdk@file:../../../js-sdks/dist/sdk/nodejs::locator=root-workspace-0b6124%40workspace%3A.":
version: 1.39.0
resolution: "@devcycle/nodejs-server-sdk@file:../../../js-sdks/dist/sdk/nodejs#../../../js-sdks/dist/sdk/nodejs::hash=bafbe1&locator=root-workspace-0b6124%40workspace%3A."
dependencies:
"@devcycle/bucketing-assembly-script": "npm:^1.23.0"
"@devcycle/js-cloud-server-sdk": "npm:^1.13.0"
"@devcycle/types": "npm:^1.14.0"
"@devcycle/bucketing-assembly-script": "npm:^1.29.0"
"@devcycle/js-cloud-server-sdk": "npm:^1.19.0"
"@devcycle/types": "npm:^1.20.0"
cross-fetch: "npm:^4.0.0"
eventsource: "npm:^2.0.2"
fetch-retry: "npm:^5.0.6"
peerDependencies:
"@openfeature/server-sdk": ^1.13.5
checksum: 10/19dd5b21e5a9e4e614d80734adb9bdc7e754e05b18785a34ecd1275508b8c7d2209120c7332a2bf3274496feb7f7fb3f881a4b3c194f32260548162c754c2e4d
"@openfeature/multi-provider": ^0.1.1
"@openfeature/server-sdk": ^1.16.2
peerDependenciesMeta:
"@openfeature/multi-provider":
optional: true
checksum: 10/32e9ab300202585c03c48cfdb351f36deb0626ff47a48f5591acb58def80090d6c0555b4be9d11afd4d8ac316e1fc7d93ee222c9de4fb827b8656d229c3b708c
languageName: node
linkType: hard

"@devcycle/types@npm:^1.14.0":
version: 1.14.0
resolution: "@devcycle/types@npm:1.14.0"
"@devcycle/types@npm:^1.20.0":
version: 1.20.0
resolution: "@devcycle/types@npm:1.20.0"
dependencies:
class-transformer: "npm:0.5.1"
class-validator: "npm:0.14.1"
iso-639-1: "npm:^2.1.13"
lodash: "npm:^4.17.21"
reflect-metadata: "npm:^0.1.13"
checksum: 10/f040ca4262c53214f7236fb5c04612fd29ec8f41b55e3e2e9ae97748b64827bf4a1c9be03593ce98fbb4838a6eb954e9b40b77900776d1a208aede518543d528
checksum: 10/bcfc96b7095c7af6768a6252d406e6f231020e03c18683c81f79ab969cc84b400e6185e4a9cd69a256b0907faaefbd07cdddd0430f7d95404965dc593d34e3a2
languageName: node
linkType: hard

Expand Down Expand Up @@ -950,9 +954,9 @@ __metadata:
languageName: node
linkType: hard

"protobufjs@npm:^7.2.5":
version: 7.2.5
resolution: "protobufjs@npm:7.2.5"
"protobufjs@npm:^7.4.0":
version: 7.4.0
resolution: "protobufjs@npm:7.4.0"
dependencies:
"@protobufjs/aspromise": "npm:^1.1.2"
"@protobufjs/base64": "npm:^1.1.2"
Expand All @@ -966,7 +970,7 @@ __metadata:
"@protobufjs/utf8": "npm:^1.1.0"
"@types/node": "npm:>=13.7.0"
long: "npm:^5.0.0"
checksum: 10/6c5aa62b61dff843f585f3acd9cb7a82d566de2dbf167a300b39afee91b04298c4b4aec61354b7c00308b40596f5f3f4b07d6246cfb4ee0abeaea25101033315
checksum: 10/408423506610f70858d7593632f4a6aa4f05796c90fd632be9b9252457c795acc71aa6d3b54bb7f48a890141728fee4ca3906723ccea6c202ad71f21b3879b8b
languageName: node
linkType: hard

Expand Down Expand Up @@ -1002,8 +1006,8 @@ __metadata:
version: 0.0.0-use.local
resolution: "root-workspace-0b6124@workspace:."
dependencies:
"@devcycle/js-client-sdk": "npm:^1.26.0"
"@devcycle/nodejs-server-sdk": "npm:^1.31.1"
"@devcycle/js-client-sdk": "npm:^1.33.0"
"@devcycle/nodejs-server-sdk": ../../../js-sdks/dist/sdk/nodejs
"@types/koa": "npm:^2.13.5"
"@types/koa-bodyparser": "npm:^4.3.10"
"@types/koa-router": "npm:^7.4.4"
Expand Down
3 changes: 3 additions & 0 deletions proxies/openfeature-nodejs/handlers/client.ts
Original file line number Diff line number Diff line change
Expand Up @@ -26,9 +26,12 @@ export const handleClient = async (ctx: Koa.ParameterizedContext) => {

try {
let asyncError
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore disableRealTimeUpdates needs to get released in the updated types release.
const dvcClient = initializeDevCycle(sdkKey, {
...options,
enableCloudBucketing,
disableRealTimeUpdates: true,
})

try {
Expand Down
6 changes: 3 additions & 3 deletions proxies/openfeature-nodejs/package.json
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
{
"dependencies": {
"@devcycle/nodejs-server-sdk": "^1.28.1",
"@openfeature/core": "^1.1.0",
"@openfeature/server-sdk": "^1.13.5",
"@devcycle/nodejs-server-sdk": "^1.39.0",
"@openfeature/core": "^1.6.0",
"@openfeature/server-sdk": "^1.17.0",
"@types/koa": "^2.13.5",
"@types/koa-bodyparser": "^4.3.10",
"@types/koa-router": "^7.4.4",
Expand Down
88 changes: 50 additions & 38 deletions proxies/openfeature-nodejs/yarn.lock
Original file line number Diff line number Diff line change
Expand Up @@ -14,52 +14,57 @@ __metadata:
languageName: node
linkType: hard

"@devcycle/bucketing-assembly-script@npm:^1.20.1":
version: 1.20.1
resolution: "@devcycle/bucketing-assembly-script@npm:1.20.1"
"@devcycle/bucketing-assembly-script@npm:^1.29.0":
version: 1.29.0
resolution: "@devcycle/bucketing-assembly-script@npm:1.29.0"
dependencies:
protobufjs: "npm:^7.2.5"
checksum: 10/2045f818f85f53241cf8928d5676797d2b95193f850daa15fd74e1ca6478d712d106d84a07522685961bc0eb1e4e76bdecfcf70a659b11f1467f86ab1c731627
protobufjs: "npm:^7.4.0"
checksum: 10/a923c5d81d65c3edb9e52980e615cce9cd1860c8b9334357c2fb68e5bce5cce991a572bcd18acf3cfcbf9ca102af8aee4cfdcc1b7d6520c34c35127bddbd0f15
languageName: node
linkType: hard

"@devcycle/js-cloud-server-sdk@npm:^1.11.2":
version: 1.11.2
resolution: "@devcycle/js-cloud-server-sdk@npm:1.11.2"
"@devcycle/js-cloud-server-sdk@npm:^1.19.0":
version: 1.19.0
resolution: "@devcycle/js-cloud-server-sdk@npm:1.19.0"
dependencies:
"@devcycle/types": "npm:^1.12.2"
"@devcycle/types": "npm:^1.20.0"
cross-fetch: "npm:^4.0.0"
fetch-retry: "npm:^5.0.6"
lodash: "npm:^4.17.21"
checksum: 10/063f3d41ed41cb69c3e2636fbbcf576d089116e19546f9cef0182cc2ccde2ce1b45c072fb99a6f43ae8235350be7542c73edf2200423baf98f95661f0590008e
checksum: 10/09232931d3d6b390804b2fba5fd80d0331eaef54a0fcd9dcf0c74e7430f5243b8e9597114e8f379644237c790ba98705f062d7bd24517fe7f88a449ebee3ce9a
languageName: node
linkType: hard

"@devcycle/nodejs-server-sdk@npm:^1.28.1":
version: 1.28.1
resolution: "@devcycle/nodejs-server-sdk@npm:1.28.1"
"@devcycle/nodejs-server-sdk@npm:^1.39.0":
version: 1.39.0
resolution: "@devcycle/nodejs-server-sdk@npm:1.39.0"
dependencies:
"@devcycle/bucketing-assembly-script": "npm:^1.20.1"
"@devcycle/js-cloud-server-sdk": "npm:^1.11.2"
"@devcycle/types": "npm:^1.12.2"
"@devcycle/bucketing-assembly-script": "npm:^1.29.0"
"@devcycle/js-cloud-server-sdk": "npm:^1.19.0"
"@devcycle/types": "npm:^1.20.0"
cross-fetch: "npm:^4.0.0"
eventsource: "npm:^2.0.2"
fetch-retry: "npm:^5.0.6"
peerDependencies:
"@openfeature/server-sdk": ^1.13.5
checksum: 10/135555a655d3515b0345e04c041fd4812f7af538ff251b7878e020450eef85d6c312b7ec0b241a0ca5b05ea5a72fb948dfb4d98b85a5d5ad1418a90d4b43bbff
"@openfeature/multi-provider": ^0.1.1
"@openfeature/server-sdk": ^1.16.2
peerDependenciesMeta:
"@openfeature/multi-provider":
optional: true
checksum: 10/d1e9a9b2d851f2bd3c4d50a1ed3f42863fa876168876c9caa1d2d4b814afeeb06d27c5834ffac2142e1d8c75bf736976a5261317a137cf5b215725a6f093e54f
languageName: node
linkType: hard

"@devcycle/types@npm:^1.12.2":
version: 1.12.2
resolution: "@devcycle/types@npm:1.12.2"
"@devcycle/types@npm:^1.20.0":
version: 1.20.0
resolution: "@devcycle/types@npm:1.20.0"
dependencies:
class-transformer: "npm:0.5.1"
class-validator: "npm:0.14.1"
iso-639-1: "npm:^2.1.13"
lodash: "npm:^4.17.21"
reflect-metadata: "npm:^0.1.13"
checksum: 10/d7fd998d9a3f30007429f6568de863b608653833710cb538f5f9bf7b7d21820d1327b7081097c83311ff6b6fd931c5c42ba9f9c4bb42172c4b06aca3a04729a2
checksum: 10/bcfc96b7095c7af6768a6252d406e6f231020e03c18683c81f79ab969cc84b400e6185e4a9cd69a256b0907faaefbd07cdddd0430f7d95404965dc593d34e3a2
languageName: node
linkType: hard

Expand Down Expand Up @@ -87,19 +92,19 @@ __metadata:
languageName: node
linkType: hard

"@openfeature/core@npm:^1.1.0":
version: 1.1.0
resolution: "@openfeature/core@npm:1.1.0"
checksum: 10/7b319beeccadcdedde968a039dd3c7bc5158294aa4977754b4612a4eca97433265837ca5d1cf73cd14ce284354bf1bab08ef96390f720f1d5cadaf4737aa3a08
"@openfeature/core@npm:^1.6.0":
version: 1.6.0
resolution: "@openfeature/core@npm:1.6.0"
checksum: 10/017460339bb86125166cc379352f1079f6a021ca817e0beac6eb10d4251ab7ca0ae5917ff3d67e388ae8061bf61a2b28058c6921ae43d62dfd490238de7437c4
languageName: node
linkType: hard

"@openfeature/server-sdk@npm:^1.13.5":
version: 1.13.5
resolution: "@openfeature/server-sdk@npm:1.13.5"
"@openfeature/server-sdk@npm:^1.17.0":
version: 1.17.0
resolution: "@openfeature/server-sdk@npm:1.17.0"
peerDependencies:
"@openfeature/core": 1.1.0
checksum: 10/51d4203c32fb0d4fb1415ac232c8e8149067ce0cbc11c3f6241dbae107a24efb7b642cc5dce408131e3819d12bef6be8723ef4308bdd1ebed075baae5f4bc8b1
"@openfeature/core": ^1.6.0
checksum: 10/62b6c08f6a3e4622427ea4ad8aaf5957e9313e91c956c6e5acfae07fc0bd223a6eabbc9594e3eedc907470948225e5f23a07a4c836e7eec9a56ab3ab5cf091b0
languageName: node
linkType: hard

Expand Down Expand Up @@ -611,6 +616,13 @@ __metadata:
languageName: node
linkType: hard

"eventsource@npm:^2.0.2":
version: 2.0.2
resolution: "eventsource@npm:2.0.2"
checksum: 10/e1c4c3664cebf9efdd55c90818ef847099f298bf521768d479cf22d8a681e666b3042de85327711ba6a8414ac6a04c70d2aeb4f405bba8239a8c36e06a019374
languageName: node
linkType: hard

"fetch-retry@npm:^5.0.6":
version: 5.0.6
resolution: "fetch-retry@npm:5.0.6"
Expand Down Expand Up @@ -945,9 +957,9 @@ __metadata:
languageName: node
linkType: hard

"protobufjs@npm:^7.2.5":
version: 7.2.5
resolution: "protobufjs@npm:7.2.5"
"protobufjs@npm:^7.4.0":
version: 7.4.0
resolution: "protobufjs@npm:7.4.0"
dependencies:
"@protobufjs/aspromise": "npm:^1.1.2"
"@protobufjs/base64": "npm:^1.1.2"
Expand All @@ -961,7 +973,7 @@ __metadata:
"@protobufjs/utf8": "npm:^1.1.0"
"@types/node": "npm:>=13.7.0"
long: "npm:^5.0.0"
checksum: 10/6c5aa62b61dff843f585f3acd9cb7a82d566de2dbf167a300b39afee91b04298c4b4aec61354b7c00308b40596f5f3f4b07d6246cfb4ee0abeaea25101033315
checksum: 10/408423506610f70858d7593632f4a6aa4f05796c90fd632be9b9252457c795acc71aa6d3b54bb7f48a890141728fee4ca3906723ccea6c202ad71f21b3879b8b
languageName: node
linkType: hard

Expand Down Expand Up @@ -997,9 +1009,9 @@ __metadata:
version: 0.0.0-use.local
resolution: "root-workspace-0b6124@workspace:."
dependencies:
"@devcycle/nodejs-server-sdk": "npm:^1.28.1"
"@openfeature/core": "npm:^1.1.0"
"@openfeature/server-sdk": "npm:^1.13.5"
"@devcycle/nodejs-server-sdk": "npm:^1.39.0"
"@openfeature/core": "npm:^1.6.0"
"@openfeature/server-sdk": "npm:^1.17.0"
"@types/koa": "npm:^2.13.5"
"@types/koa-bodyparser": "npm:^4.3.10"
"@types/koa-router": "npm:^7.4.4"
Expand Down
Loading
Loading