vwo-fme-node-sdk 1.40.0 → 1.41.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +28 -0
- package/README.md +20 -0
- package/dist/VERSION.js +1 -1
- package/dist/client/vwo-fme-javascript-sdk.js +2178 -2063
- package/dist/client/vwo-fme-javascript-sdk.js.map +1 -1
- package/dist/client/vwo-fme-javascript-sdk.min.js +2 -2
- package/dist/client/vwo-fme-javascript-sdk.min.js.map +1 -1
- package/dist/esm/VWOClient.js +19 -0
- package/dist/esm/VWOClient.js.map +1 -1
- package/dist/esm/api/GetFlag.js +2 -2
- package/dist/esm/api/GetFlag.js.map +1 -1
- package/dist/esm/models/VWOOptionsModel.js +24 -0
- package/dist/esm/models/VWOOptionsModel.js.map +1 -1
- package/dist/esm/models/user/ContextModel.js +6 -0
- package/dist/esm/models/user/ContextModel.js.map +1 -1
- package/dist/esm/packages/network-layer/client/NetworkBrowserClient.js.map +1 -1
- package/dist/esm/services/BatchEventsQueue.js +3 -2
- package/dist/esm/services/BatchEventsQueue.js.map +1 -1
- package/dist/esm/services/CampaignDecisionService.js +19 -16
- package/dist/esm/services/CampaignDecisionService.js.map +1 -1
- package/dist/esm/services/SettingsService.js +3 -2
- package/dist/esm/services/SettingsService.js.map +1 -1
- package/dist/esm/utils/CampaignUtil.js +7 -7
- package/dist/esm/utils/CampaignUtil.js.map +1 -1
- package/dist/esm/utils/DecisionUtil.js +8 -5
- package/dist/esm/utils/DecisionUtil.js.map +1 -1
- package/dist/esm/utils/ImpressionUtil.js +3 -2
- package/dist/esm/utils/ImpressionUtil.js.map +1 -1
- package/dist/esm/utils/MegUtil.js +4 -4
- package/dist/esm/utils/MegUtil.js.map +1 -1
- package/dist/esm/utils/NetworkUtil.js +10 -8
- package/dist/esm/utils/NetworkUtil.js.map +1 -1
- package/dist/esm/utils/SDKMetaUtil.js +57 -0
- package/dist/esm/utils/SDKMetaUtil.js.map +1 -0
- package/dist/package.json +1 -1
- package/dist/server/vwo-fme-node-sdk.js +475 -262
- package/dist/server/vwo-fme-node-sdk.js.map +1 -1
- package/dist/server/vwo-fme-node-sdk.min.js +2 -2
- package/dist/server/vwo-fme-node-sdk.min.js.map +1 -1
- package/dist/server-unpacked/VWO.js +5 -5
- package/dist/server-unpacked/VWO.js.map +1 -1
- package/dist/server-unpacked/VWOBuilder.js +2 -2
- package/dist/server-unpacked/VWOClient.js +22 -3
- package/dist/server-unpacked/VWOClient.js.map +1 -1
- package/dist/server-unpacked/api/GetFlag.js +4 -4
- package/dist/server-unpacked/api/GetFlag.js.map +1 -1
- package/dist/server-unpacked/api/SetAttribute.js +2 -2
- package/dist/server-unpacked/api/TrackEvent.js +2 -2
- package/dist/server-unpacked/decorators/StorageDecorator.js +2 -2
- package/dist/server-unpacked/models/VWOOptionsModel.js +26 -0
- package/dist/server-unpacked/models/VWOOptionsModel.js.map +1 -1
- package/dist/server-unpacked/models/user/ContextModel.js +7 -0
- package/dist/server-unpacked/models/user/ContextModel.js.map +1 -1
- package/dist/server-unpacked/packages/network-layer/client/NetworkBrowserClient.js.map +1 -1
- package/dist/server-unpacked/packages/network-layer/client/NetworkClient.js +7 -17
- package/dist/server-unpacked/packages/network-layer/client/NetworkClient.js.map +1 -1
- package/dist/server-unpacked/packages/segmentation-evaluator/core/SegmentationManger.js +2 -2
- package/dist/server-unpacked/packages/segmentation-evaluator/evaluators/SegmentEvaluator.js +2 -2
- package/dist/server-unpacked/packages/segmentation-evaluator/evaluators/SegmentOperandEvaluator.js +2 -2
- package/dist/server-unpacked/packages/segmentation-evaluator/utils/SegmentUtil.js +3 -2
- package/dist/server-unpacked/packages/segmentation-evaluator/utils/SegmentUtil.js.map +1 -1
- package/dist/server-unpacked/services/BatchEventsQueue.js +5 -4
- package/dist/server-unpacked/services/BatchEventsQueue.js.map +1 -1
- package/dist/server-unpacked/services/CampaignDecisionService.js +21 -18
- package/dist/server-unpacked/services/CampaignDecisionService.js.map +1 -1
- package/dist/server-unpacked/services/SettingsService.js +5 -4
- package/dist/server-unpacked/services/SettingsService.js.map +1 -1
- package/dist/server-unpacked/services/StorageService.js +2 -2
- package/dist/server-unpacked/utils/AliasingUtil.js +2 -2
- package/dist/server-unpacked/utils/BatchEventsDispatcher.js +2 -2
- package/dist/server-unpacked/utils/CampaignUtil.js +23 -22
- package/dist/server-unpacked/utils/CampaignUtil.js.map +1 -1
- package/dist/server-unpacked/utils/DataTypeUtil.js +12 -11
- package/dist/server-unpacked/utils/DataTypeUtil.js.map +1 -1
- package/dist/server-unpacked/utils/DebuggerServiceUtil.js +5 -4
- package/dist/server-unpacked/utils/DebuggerServiceUtil.js.map +1 -1
- package/dist/server-unpacked/utils/DecisionUtil.js +10 -7
- package/dist/server-unpacked/utils/DecisionUtil.js.map +1 -1
- package/dist/server-unpacked/utils/FetchUtil.js +12 -21
- package/dist/server-unpacked/utils/FetchUtil.js.map +1 -1
- package/dist/server-unpacked/utils/FunctionUtil.js +13 -12
- package/dist/server-unpacked/utils/FunctionUtil.js.map +1 -1
- package/dist/server-unpacked/utils/GatewayServiceUtil.js +6 -5
- package/dist/server-unpacked/utils/GatewayServiceUtil.js.map +1 -1
- package/dist/server-unpacked/utils/HoldoutUtil.js +6 -5
- package/dist/server-unpacked/utils/HoldoutUtil.js.map +1 -1
- package/dist/server-unpacked/utils/ImpressionUtil.js +5 -4
- package/dist/server-unpacked/utils/ImpressionUtil.js.map +1 -1
- package/dist/server-unpacked/utils/LogMessageUtil.js +2 -1
- package/dist/server-unpacked/utils/LogMessageUtil.js.map +1 -1
- package/dist/server-unpacked/utils/MegUtil.js +8 -8
- package/dist/server-unpacked/utils/MegUtil.js.map +1 -1
- package/dist/server-unpacked/utils/NetworkUtil.js +26 -24
- package/dist/server-unpacked/utils/NetworkUtil.js.map +1 -1
- package/dist/server-unpacked/utils/PromiseUtil.js +2 -1
- package/dist/server-unpacked/utils/PromiseUtil.js.map +1 -1
- package/dist/server-unpacked/utils/RuleEvaluationUtil.js +2 -2
- package/dist/server-unpacked/utils/SDKMetaUtil.js +63 -0
- package/dist/server-unpacked/utils/SDKMetaUtil.js.map +1 -0
- package/dist/server-unpacked/utils/SdkInitAndUsageStatsUtil.js +5 -4
- package/dist/server-unpacked/utils/SdkInitAndUsageStatsUtil.js.map +1 -1
- package/dist/server-unpacked/utils/SettingsUtil.js +2 -1
- package/dist/server-unpacked/utils/SettingsUtil.js.map +1 -1
- package/dist/server-unpacked/utils/UserIdUtil.js +4 -3
- package/dist/server-unpacked/utils/UserIdUtil.js.map +1 -1
- package/dist/server-unpacked/utils/UuidUtil.js +5 -4
- package/dist/server-unpacked/utils/UuidUtil.js.map +1 -1
- package/dist/server-unpacked/utils/XMLUtil.js +3 -2
- package/dist/server-unpacked/utils/XMLUtil.js.map +1 -1
- package/dist/types/models/VWOOptionsModel.d.ts +21 -0
- package/dist/types/models/user/ContextModel.d.ts +3 -0
- package/dist/types/services/CampaignDecisionService.d.ts +6 -6
- package/dist/types/utils/CampaignUtil.d.ts +3 -3
- package/dist/types/utils/DecisionUtil.d.ts +1 -1
- package/dist/types/utils/SDKMetaUtil.d.ts +43 -0
- package/lib/VWOClient.ts +27 -0
- package/lib/api/GetFlag.ts +3 -2
- package/lib/models/VWOOptionsModel.ts +35 -0
- package/lib/models/user/ContextModel.ts +10 -0
- package/lib/services/BatchEventsQueue.ts +3 -2
- package/lib/services/CampaignDecisionService.ts +24 -20
- package/lib/services/SettingsService.ts +3 -2
- package/lib/utils/CampaignUtil.ts +7 -7
- package/lib/utils/DecisionUtil.ts +14 -5
- package/lib/utils/ImpressionUtil.ts +3 -2
- package/lib/utils/MegUtil.ts +12 -4
- package/lib/utils/NetworkUtil.ts +10 -8
- package/lib/utils/SDKMetaUtil.ts +72 -0
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -5,6 +5,34 @@ All notable changes to this project will be documented in this file.
|
|
|
5
5
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
|
6
6
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
7
7
|
|
|
8
|
+
## [1.41.0] - 2026-03-18
|
|
9
|
+
|
|
10
|
+
### Added
|
|
11
|
+
|
|
12
|
+
- Added support for custom bucketing seed via `bucketingSeed` in the context. This allows users to bucket by a shared identifier instead of the individual user ID, ensuring all users within the same group receive the same variation.
|
|
13
|
+
|
|
14
|
+
Example usage:
|
|
15
|
+
|
|
16
|
+
```javascript
|
|
17
|
+
const vwoClient = await init({
|
|
18
|
+
accountId: '123456',
|
|
19
|
+
sdkKey: '32-alpha-numeric-sdk-key',
|
|
20
|
+
});
|
|
21
|
+
|
|
22
|
+
// All employees of company-abc will get the same variation
|
|
23
|
+
const context = {
|
|
24
|
+
id: 'employee-123',
|
|
25
|
+
bucketingSeed: 'company-abc',
|
|
26
|
+
};
|
|
27
|
+
const flag = await vwoClient.getFlag('feature-key', context);
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
## [1.40.1] - 2026-03-02
|
|
31
|
+
|
|
32
|
+
### Changed
|
|
33
|
+
|
|
34
|
+
- Introduced `SDKMetaUtil` and `sdkMeta` config to allow overriding the default SDK name and version used in events. VWO FE React SDK will consume via it.
|
|
35
|
+
|
|
8
36
|
## [1.40.0] - 2026-02-26
|
|
9
37
|
|
|
10
38
|
### Added
|
package/README.md
CHANGED
|
@@ -116,6 +116,7 @@ The following table explains all the parameters in the `context` object:
|
|
|
116
116
|
| `customVariables` | Custom attributes for targeting. | No | Object | `{ age: 25, location: 'US' }` |
|
|
117
117
|
| `userAgent` | User agent string for identifying the user's browser and operating system. | No | String | `'Mozilla/5.0 ... Safari/537.36'` |
|
|
118
118
|
| `ipAddress` | IP address of the user. | No | String | `'1.1.1.1'` |
|
|
119
|
+
| `bucketingSeed` | Custom string used for bucketing instead of user `id`. See [Custom Bucketing Seed](#custom-bucketing-seed). | No | String | `'company-abc'` |
|
|
119
120
|
|
|
120
121
|
#### Example
|
|
121
122
|
|
|
@@ -316,6 +317,25 @@ Behavior and validations:
|
|
|
316
317
|
- For context usage, `context.id` must be a non-empty string (not an array); it is trimmed before use
|
|
317
318
|
- `userId` and `aliasId` cannot be the same
|
|
318
319
|
|
|
320
|
+
### Custom Bucketing Seed
|
|
321
|
+
|
|
322
|
+
By default, the SDK uses the user `id` to determine which variation a user receives. The `bucketingSeed` option in the context lets you override this with a shared identifier (e.g., a company ID), so all users sharing the same seed are bucketed into the same variation.
|
|
323
|
+
|
|
324
|
+
| **Parameter** | **Description** | **Required** | **Type** | **Example** |
|
|
325
|
+
| --------------- | ------------------------------------------------------- | ------------ | -------- | --------------- |
|
|
326
|
+
| `bucketingSeed` | A custom string used for bucketing instead of user `id` | No | String | `'company-abc'` |
|
|
327
|
+
|
|
328
|
+
#### Example Usage
|
|
329
|
+
|
|
330
|
+
```javascript
|
|
331
|
+
// All employees of company-abc will get the same variation
|
|
332
|
+
const context = {
|
|
333
|
+
id: 'employee-123',
|
|
334
|
+
bucketingSeed: 'company-abc',
|
|
335
|
+
};
|
|
336
|
+
const flag = await vwoClient.getFlag('feature-key', context);
|
|
337
|
+
```
|
|
338
|
+
|
|
319
339
|
### Storage
|
|
320
340
|
|
|
321
341
|
The SDK operates in a stateless mode by default, meaning each `getFlag` call triggers a fresh evaluation of the flag against the current user context.
|
package/dist/VERSION.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
module.exports = { version: "1.
|
|
1
|
+
module.exports = { version: "1.41.0" };
|