Skip to content

Commit fed410e

Browse files
Merge main to release/v2 (#127)
* Merge pull request #124 from microsoft/zhiyuanliang/unify-naming-convention Unify filename naming * correct file name (#125) * Recurring time window filter (#73) * WIP: validation finished * update filename * WIP: evaluation done * add testcases * fix lint * update method name * update * revert change * version bump (#126)
2 parents ae74dfb + 9ca2d53 commit fed410e

File tree

30 files changed

+1607
-76
lines changed

30 files changed

+1607
-76
lines changed

examples/express-app/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
"start": "node server.mjs"
44
},
55
"dependencies": {
6-
"@microsoft/feature-management": "2.1.0",
6+
"@microsoft/feature-management": "latest",
77
"express": "^4.21.2"
88
}
99
}

examples/quote-of-the-day/package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,8 @@
77
},
88
"dependencies": {
99
"@azure/app-configuration-provider": "latest",
10-
"@microsoft/feature-management": "2.1.0",
11-
"@microsoft/feature-management-applicationinsights-node": "2.1.0",
10+
"@microsoft/feature-management": "latest",
11+
"@microsoft/feature-management-applicationinsights-node": "latest",
1212
"applicationinsights": "^2.9.6",
1313
"dotenv": "^16.5.0",
1414
"express": "^4.19.2"

src/feature-management-applicationinsights-browser/package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@microsoft/feature-management-applicationinsights-browser",
3-
"version": "2.1.0",
3+
"version": "2.2.0",
44
"description": "Feature Management Application Insights Plugin for Browser provides a solution for sending feature flag evaluation events produced by the Feature Management library.",
55
"main": "./dist/esm/index.js",
66
"module": "./dist/esm/index.js",
@@ -46,7 +46,7 @@
4646
},
4747
"dependencies": {
4848
"@microsoft/applicationinsights-web": "^3.3.2",
49-
"@microsoft/feature-management": "2.1.0"
49+
"@microsoft/feature-management": "2.2.0"
5050
}
5151
}
5252

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
// Copyright (c) Microsoft Corporation.
22
// Licensed under the MIT license.
33

4-
export const VERSION = "2.1.0";
4+
export const VERSION = "2.2.0";

src/feature-management-applicationinsights-node/package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@microsoft/feature-management-applicationinsights-node",
3-
"version": "2.1.0",
3+
"version": "2.2.0",
44
"description": "Feature Management Application Insights Plugin for Node.js provides a solution for sending feature flag evaluation events produced by the Feature Management library.",
55
"main": "./dist/commonjs/index.js",
66
"module": "./dist/esm/index.js",
@@ -45,7 +45,7 @@
4545
},
4646
"dependencies": {
4747
"applicationinsights": "^2.9.6",
48-
"@microsoft/feature-management": "2.1.0"
48+
"@microsoft/feature-management": "2.2.0"
4949
}
5050
}
5151

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
// Copyright (c) Microsoft Corporation.
22
// Licensed under the MIT license.
33

4-
export const VERSION = "2.1.0";
4+
export const VERSION = "2.2.0";

src/feature-management/package-lock.json

Lines changed: 121 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/feature-management/package.json

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@microsoft/feature-management",
3-
"version": "2.1.0",
3+
"version": "2.2.0",
44
"description": "Feature Management is a library for enabling/disabling features at runtime. Developers can use feature flags in simple use cases like conditional statement to more advanced scenarios like conditionally adding routes.",
55
"main": "./dist/commonjs/index.js",
66
"module": "./dist/esm/index.js",
@@ -18,7 +18,7 @@
1818
"dev": "rollup --config --watch",
1919
"lint": "eslint src/ test/ --ignore-pattern test/browser/testcases.js",
2020
"fix-lint": "eslint src/ test/ --fix --ignore-pattern test/browser/testcases.js",
21-
"test": "mocha out/*.test.{js,cjs,mjs} --parallel",
21+
"test": "mocha out/test/*.test.{js,cjs,mjs} --parallel",
2222
"test-browser": "npx playwright install chromium && npx playwright test"
2323
},
2424
"repository": {
@@ -47,6 +47,7 @@
4747
"rimraf": "^5.0.5",
4848
"rollup": "^4.22.4",
4949
"rollup-plugin-dts": "^6.1.0",
50+
"sinon": "^18.0.0",
5051
"tslib": "^2.6.2",
5152
"typescript": "^5.3.3"
5253
},

src/feature-management/src/featureManager.ts

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,12 @@
11
// Copyright (c) Microsoft Corporation.
22
// Licensed under the MIT license.
33

4-
import { TimeWindowFilter } from "./filter/TimeWindowFilter.js";
5-
import { IFeatureFilter } from "./filter/FeatureFilter.js";
4+
import { TimeWindowFilter } from "./filter/timeWindowFilter.js";
5+
import { IFeatureFilter } from "./filter/featureFilter.js";
66
import { FeatureFlag, RequirementType, VariantDefinition } from "./schema/model.js";
7-
import { IFeatureFlagProvider } from "./featureProvider.js";
8-
import { TargetingFilter } from "./filter/TargetingFilter.js";
9-
import { Variant } from "./variant/Variant.js";
10-
import { IFeatureManager } from "./IFeatureManager.js";
7+
import { IFeatureFlagProvider, IFeatureManager } from "./model.js";
8+
import { TargetingFilter } from "./filter/targetingFilter.js";
9+
import { Variant } from "./variant/variant.js";
1110
import { ITargetingContext, ITargetingContextAccessor } from "./common/targetingContext.js";
1211
import { isTargetedGroup, isTargetedPercentile, isTargetedUser } from "./common/targetingEvaluator.js";
1312

src/feature-management/src/featureProvider.ts

Lines changed: 1 addition & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -3,21 +3,9 @@
33

44
import { IGettable } from "./gettable.js";
55
import { FeatureFlag, FeatureManagementConfiguration, FEATURE_MANAGEMENT_KEY, FEATURE_FLAGS_KEY } from "./schema/model.js";
6+
import { IFeatureFlagProvider } from "./model.js";
67
import { validateFeatureFlag } from "./schema/validator.js";
78

8-
export interface IFeatureFlagProvider {
9-
/**
10-
* Get all feature flags.
11-
*/
12-
getFeatureFlags(): Promise<FeatureFlag[]>;
13-
14-
/**
15-
* Get a feature flag by name.
16-
* @param featureName The name of the feature flag.
17-
*/
18-
getFeatureFlag(featureName: string): Promise<FeatureFlag | undefined>;
19-
}
20-
219
/**
2210
* A feature flag provider that uses a map-like configuration to provide feature flags.
2311
*/

0 commit comments

Comments
 (0)