diff --git a/.gitignore b/.gitignore index af77b8e69..23f7dd5e1 100644 --- a/.gitignore +++ b/.gitignore @@ -41,6 +41,7 @@ Thumbs.db # generated files proto +.nx # yalc stuff .yalc diff --git a/libs/hooks/open-telemetry/package.json b/libs/hooks/open-telemetry/package.json index 9e6013f59..138370b02 100644 --- a/libs/hooks/open-telemetry/package.json +++ b/libs/hooks/open-telemetry/package.json @@ -14,8 +14,8 @@ "current-version": "echo $npm_package_version" }, "peerDependencies": { - "@openfeature/server-sdk": "^1.6.0", + "@openfeature/server-sdk": "^1.8.0", "@opentelemetry/api": ">=1.3.0" }, "license": "Apache-2.0" -} +} \ No newline at end of file diff --git a/libs/hooks/open-telemetry/src/lib/metrics/metrics-hook.spec.ts b/libs/hooks/open-telemetry/src/lib/metrics/metrics-hook.spec.ts index 9bfce7672..d73f31e8f 100644 --- a/libs/hooks/open-telemetry/src/lib/metrics/metrics-hook.spec.ts +++ b/libs/hooks/open-telemetry/src/lib/metrics/metrics-hook.spec.ts @@ -225,7 +225,7 @@ describe(MetricsHook.name, () => { } as EvaluationDetails; // configure a mapper that throws - const attributeMapper: AttributeMapper = (_) => { + const attributeMapper: AttributeMapper = () => { throw new Error('fake error'); }; const hook = new MetricsHook({ attributeMapper }); diff --git a/libs/hooks/open-telemetry/src/lib/traces/tracing-hook.spec.ts b/libs/hooks/open-telemetry/src/lib/traces/tracing-hook.spec.ts index 3f6236166..c227fcc06 100644 --- a/libs/hooks/open-telemetry/src/lib/traces/tracing-hook.spec.ts +++ b/libs/hooks/open-telemetry/src/lib/traces/tracing-hook.spec.ts @@ -148,7 +148,7 @@ describe('OpenTelemetry Hooks', () => { describe('error in mapper', () => { beforeEach(() => { tracingHook = new TracingHook({ - attributeMapper: (_) => { + attributeMapper: () => { throw new Error('fake error'); }, }); diff --git a/libs/providers/config-cat/package.json b/libs/providers/config-cat/package.json index 77b82b076..1807a6e44 100644 --- a/libs/providers/config-cat/package.json +++ b/libs/providers/config-cat/package.json @@ -6,7 +6,7 @@ "current-version": "echo $npm_package_version" }, "peerDependencies": { - "@openfeature/server-sdk": "^1.6.0", + "@openfeature/server-sdk": "^1.8.0", "configcat-js": "^8.0.0" } -} +} \ No newline at end of file diff --git a/libs/providers/config-cat/src/lib/config-cat-provider.spec.ts b/libs/providers/config-cat/src/lib/config-cat-provider.spec.ts index c8760d753..a357e518e 100644 --- a/libs/providers/config-cat/src/lib/config-cat-provider.spec.ts +++ b/libs/providers/config-cat/src/lib/config-cat-provider.spec.ts @@ -39,6 +39,7 @@ describe('ConfigCatProvider', () => { await provider.initialize(); // Currently there is no option to get access to the event emitter + // eslint-disable-next-line @typescript-eslint/no-explicit-any configCatEmitter = (provider.configCatClient as any).options.hooks; }); diff --git a/libs/providers/env-var/package.json b/libs/providers/env-var/package.json index 11cbc2ee7..c442ea2f6 100644 --- a/libs/providers/env-var/package.json +++ b/libs/providers/env-var/package.json @@ -6,6 +6,6 @@ "current-version": "echo $npm_package_version" }, "peerDependencies": { - "@openfeature/server-sdk": "^1.6.0" + "@openfeature/server-sdk": "^1.8.0" } -} +} \ No newline at end of file diff --git a/libs/providers/flagd/package.json b/libs/providers/flagd/package.json index 21e80016f..584adcbb9 100644 --- a/libs/providers/flagd/package.json +++ b/libs/providers/flagd/package.json @@ -6,10 +6,10 @@ "current-version": "echo $npm_package_version" }, "dependencies": { - "@openfeature/flagd-core": "~0.1.4" + "@openfeature/flagd-core": "~0.1.7" }, "peerDependencies": { "@grpc/grpc-js": "~1.8.0 || ~1.9.0", - "@openfeature/server-sdk": ">=1.6.0" + "@openfeature/server-sdk": ">=1.8.0" } -} +} \ No newline at end of file diff --git a/libs/providers/flagd/src/e2e/setup-in-process-provider.ts b/libs/providers/flagd/src/e2e/setup-in-process-provider.ts index 2c2ffa166..0774a4717 100644 --- a/libs/providers/flagd/src/e2e/setup-in-process-provider.ts +++ b/libs/providers/flagd/src/e2e/setup-in-process-provider.ts @@ -3,17 +3,25 @@ import { OpenFeature } from '@openfeature/server-sdk'; import { FlagdProvider } from '../lib/flagd-provider'; const FLAGD_NAME = 'flagd Provider'; +const E2E_CLIENT_NAME = 'e2e'; +const UNSTABLE_CLIENT_NAME = 'unstable'; // register the flagd provider before the tests. console.log('Setting flagd provider...'); OpenFeature.setProvider( - 'e2e', + E2E_CLIENT_NAME, new FlagdProvider({ cache: 'disabled', resolverType: 'in-process', host: 'localhost', port: 9090 }), ); -OpenFeature.setProvider('unstable', new FlagdProvider({ resolverType: 'in-process', host: 'localhost', port: 9091 })); -// TODO: update with correct assertions once we have ability to get providerMetadata for any provider -// assert( -// OpenFeature.providerMetadata.name === FLAGD_NAME, -// new Error(`Expected ${FLAGD_NAME} provider to be configured, instead got: ${OpenFeature.providerMetadata.name}`), -// ); +OpenFeature.setProvider( + UNSTABLE_CLIENT_NAME, + new FlagdProvider({ resolverType: 'in-process', host: 'localhost', port: 9091 }), +); +assert( + OpenFeature.getProviderMetadata(E2E_CLIENT_NAME).name === FLAGD_NAME, + new Error(`Expected ${FLAGD_NAME} provider to be configured, instead got: ${OpenFeature.providerMetadata.name}`), +); +assert( + OpenFeature.getProviderMetadata(UNSTABLE_CLIENT_NAME).name === FLAGD_NAME, + new Error(`Expected ${FLAGD_NAME} provider to be configured, instead got: ${OpenFeature.providerMetadata.name}`), +); console.log('flagd provider configured!'); diff --git a/libs/providers/flagd/src/e2e/setup-rpc-provider.ts b/libs/providers/flagd/src/e2e/setup-rpc-provider.ts index 6974b2cb2..6ccab77cb 100644 --- a/libs/providers/flagd/src/e2e/setup-rpc-provider.ts +++ b/libs/providers/flagd/src/e2e/setup-rpc-provider.ts @@ -3,14 +3,19 @@ import { OpenFeature } from '@openfeature/server-sdk'; import { FlagdProvider } from '../lib/flagd-provider'; const FLAGD_NAME = 'flagd Provider'; +const E2E_CLIENT_NAME = 'e2e'; +const UNSTABLE_CLIENT_NAME = 'unstable'; // register the flagd provider before the tests. console.log('Setting flagd provider...'); -OpenFeature.setProvider('e2e', new FlagdProvider({ cache: 'disabled' })); -OpenFeature.setProvider('unstable', new FlagdProvider({ cache: 'disabled', port: 8014 })); -// TODO: update with correct assertions once we have ability to get providerMetadata for any provider -// assert( -// OpenFeature.providerMetadata.name === FLAGD_NAME, -// new Error(`Expected ${FLAGD_NAME} provider to be configured, instead got: ${OpenFeature.providerMetadata.name}`), -// ); +OpenFeature.setProvider(E2E_CLIENT_NAME, new FlagdProvider({ cache: 'disabled' })); +OpenFeature.setProvider(UNSTABLE_CLIENT_NAME, new FlagdProvider({ cache: 'disabled', port: 8014 })); +assert( + OpenFeature.getProviderMetadata(E2E_CLIENT_NAME).name === FLAGD_NAME, + new Error(`Expected ${FLAGD_NAME} provider to be configured, instead got: ${OpenFeature.providerMetadata.name}`), +); +assert( + OpenFeature.getProviderMetadata(UNSTABLE_CLIENT_NAME).name === FLAGD_NAME, + new Error(`Expected ${FLAGD_NAME} provider to be configured, instead got: ${OpenFeature.providerMetadata.name}`), +); console.log('flagd provider configured!'); diff --git a/libs/providers/flagd/src/e2e/step-definitions/flagd.spec.ts b/libs/providers/flagd/src/e2e/step-definitions/flagd.spec.ts index 0a277f62d..a39872c66 100644 --- a/libs/providers/flagd/src/e2e/step-definitions/flagd.spec.ts +++ b/libs/providers/flagd/src/e2e/step-definitions/flagd.spec.ts @@ -52,7 +52,7 @@ defineFeature(feature, (test) => { then('the PROVIDER_CONFIGURATION_CHANGED handler must run', () => { expect(ran).toBeTruthy(); }); - and(/^the event details must indicate "(.*)" was altered$/, (arg0) => { + and(/^the event details must indicate "(.*)" was altered$/, () => { // not supported }); }); diff --git a/libs/providers/flagd/src/lib/configuration.spec.ts b/libs/providers/flagd/src/lib/configuration.spec.ts index f6696179c..b7a90086a 100644 --- a/libs/providers/flagd/src/lib/configuration.spec.ts +++ b/libs/providers/flagd/src/lib/configuration.spec.ts @@ -1,5 +1,5 @@ import { FlagdProviderOptions, getConfig } from './configuration'; -import { DEFAULT_MAX_CACHE_SIZE, DEFAULT_MAX_EVENT_STREAM_RETRIES } from './constants'; +import { DEFAULT_MAX_CACHE_SIZE } from './constants'; describe('Configuration', () => { const OLD_ENV = process.env; diff --git a/libs/providers/flagd/src/lib/configuration.ts b/libs/providers/flagd/src/lib/configuration.ts index 4fe37a7bf..008a70693 100644 --- a/libs/providers/flagd/src/lib/configuration.ts +++ b/libs/providers/flagd/src/lib/configuration.ts @@ -1,4 +1,4 @@ -import { DEFAULT_MAX_CACHE_SIZE, DEFAULT_MAX_EVENT_STREAM_RETRIES } from './constants'; +import { DEFAULT_MAX_CACHE_SIZE } from './constants'; export type CacheOption = 'lru' | 'disabled'; export type ResolverType = 'rpc' | 'in-process'; diff --git a/libs/providers/go-feature-flag-web/src/lib/model.ts b/libs/providers/go-feature-flag-web/src/lib/model.ts index c1dcaf72b..aed0185f1 100644 --- a/libs/providers/go-feature-flag-web/src/lib/model.ts +++ b/libs/providers/go-feature-flag-web/src/lib/model.ts @@ -1,3 +1,4 @@ +/* eslint-disable @typescript-eslint/no-explicit-any */ import { FlagValue, ErrorCode, EvaluationContextValue } from '@openfeature/web-sdk'; /** diff --git a/libs/providers/go-feature-flag/package.json b/libs/providers/go-feature-flag/package.json index 2858fcbeb..da9b7e8b3 100644 --- a/libs/providers/go-feature-flag/package.json +++ b/libs/providers/go-feature-flag/package.json @@ -6,6 +6,6 @@ "current-version": "echo $npm_package_version" }, "peerDependencies": { - "@openfeature/server-sdk": "^1.6.0" + "@openfeature/server-sdk": "^1.8.0" } -} +} \ No newline at end of file diff --git a/libs/providers/go-feature-flag/src/lib/data-collector-hook.ts b/libs/providers/go-feature-flag/src/lib/data-collector-hook.ts index 437e02ffb..dc1849a3e 100644 --- a/libs/providers/go-feature-flag/src/lib/data-collector-hook.ts +++ b/libs/providers/go-feature-flag/src/lib/data-collector-hook.ts @@ -91,7 +91,7 @@ export class GoFeatureFlagDataCollectorHook implements Hook { } } - after(hookContext: HookContext, evaluationDetails: EvaluationDetails, hookHints?: HookHints) { + after(hookContext: HookContext, evaluationDetails: EvaluationDetails) { if (!this.collectUnCachedEvaluation && evaluationDetails.reason !== StandardResolutionReasons.CACHED) { return; } @@ -109,7 +109,7 @@ export class GoFeatureFlagDataCollectorHook implements Hook { this.dataCollectorBuffer?.push(event); } - error(hookContext: HookContext, err: unknown, hookHints?: HookHints) { + error(hookContext: HookContext) { const event = { contextKind: hookContext.context['anonymous'] ? 'anonymousUser' : 'user', kind: 'feature', diff --git a/libs/providers/launchdarkly-client/src/lib/translate-context.ts b/libs/providers/launchdarkly-client/src/lib/translate-context.ts index 3aa49bf5a..6d24efdf3 100644 --- a/libs/providers/launchdarkly-client/src/lib/translate-context.ts +++ b/libs/providers/launchdarkly-client/src/lib/translate-context.ts @@ -1,3 +1,4 @@ +/* eslint-disable @typescript-eslint/no-explicit-any */ //Copyright 2022 Catamorphic, Co. // // Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/package-lock.json b/package-lock.json index 7861148e1..d2640d283 100644 --- a/package-lock.json +++ b/package-lock.json @@ -41,7 +41,7 @@ "@nx/workspace": "16.9.1", "@openfeature/core": "^0.0.21", "@openfeature/flagd-core": ">=0.1.1", - "@openfeature/server-sdk": "^1.6.2", + "@openfeature/server-sdk": "^1.8.0", "@openfeature/web-sdk": "^0.4.0", "@opentelemetry/sdk-metrics": "^1.15.0", "@swc-node/register": "~1.6.0", @@ -3346,12 +3346,15 @@ } }, "node_modules/@openfeature/server-sdk": { - "version": "1.6.2", - "resolved": "https://registry.npmjs.org/@openfeature/server-sdk/-/server-sdk-1.6.2.tgz", - "integrity": "sha512-GR4bDu+SvNZ+ycp3TKTXcRbY30tmTRMBoFOsgi3/YgttDFEJvDxZBgtpqWrA9C6kVaAYqfsL/Z6iVXX2DUgiQg==", + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/@openfeature/server-sdk/-/server-sdk-1.8.0.tgz", + "integrity": "sha512-1jEaoph4UXzd3RJZwbki7ZbUvjdExwPJ2ZER2/8kqNVcOvwUXDJyTwhrr5CFKTvBq0pO8z8xk5JeM4GvgrhnlQ==", "dev": true, "engines": { "node": ">=16" + }, + "peerDependencies": { + "@openfeature/core": "0.0.21" } }, "node_modules/@openfeature/web-sdk": { diff --git a/package.json b/package.json index cbde715f8..8241e8d9d 100644 --- a/package.json +++ b/package.json @@ -46,7 +46,7 @@ "@nx/workspace": "16.9.1", "@openfeature/core": "^0.0.21", "@openfeature/flagd-core": ">=0.1.1", - "@openfeature/server-sdk": "^1.6.2", + "@openfeature/server-sdk": "^1.8.0", "@openfeature/web-sdk": "^0.4.0", "@opentelemetry/sdk-metrics": "^1.15.0", "@swc-node/register": "~1.6.0",