Skip to content
This repository was archived by the owner on Jun 21, 2023. It is now read-only.

Commit a21da49

Browse files
committed
Merge v4.0.0 into v4 (using imerge)
2 parents 91aaac3 + 619dfbc commit a21da49

File tree

9 files changed

+43
-23
lines changed

9 files changed

+43
-23
lines changed

packages/optimizely-sdk/CHANGELOG.MD

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,37 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.
77

88
## [Unreleased]
99

10+
## [4.0.0] - April 30, 2020
11+
12+
### New Features
13+
14+
- Removed lodash dependency
15+
- ES module entry point for the browser - `"module"` property of `package.json` points to `dist/optimizely.browser.es.min.js` ([#445](https://github.com/optimizely/javascript-sdk/pull/445))
16+
17+
### Breaking Changes
18+
19+
- Removed `Promise` polyfill from browser entry point ([417](https://github.com/optimizely/javascript-sdk/pull/417)).
20+
- Changed functionality of JSON schema validation in all entry points ([442](https://github.com/optimizely/javascript-sdk/pull/442)).
21+
- Previously, `skipJSONValidation` flag was used by the user to specify whether the JSON object should be validated.
22+
- Now, `skipJSONValidation` has been removed entirely from all entry points. Instead, a user will need to import `jsonSchemaValidator` from `@optimizely/optimizely-sdk/dist/optimizely.json_schema_validator.min.js` and pass it to `createInstance` to perform validation as shown below:
23+
```js
24+
const optimizelySDK = require('@optimizely/optimizely-sdk');
25+
const jsonSchemaValidator = require('@optimizely/optimizely-sdk/dist/optimizely.json_schema_validator.min');
26+
27+
// Require JSON schema validation for the datafile
28+
var optimizelyClientInstance = optimizely.createInstance({
29+
datafile: datafile,
30+
jsonSchemaValidator: jsonSchemaValidator,
31+
});
32+
```
33+
- Dropped support for Node.js version <8 ([#456](https://github.com/optimizely/javascript-sdk/pull/456))
34+
35+
### Bug fixes
36+
37+
- Changed `track()` to log a warning instead of an error when the event isn't in the datafile ([#418](https://github.com/optimizely/javascript-sdk/pull/418))
38+
- Fixed return type for `close` method in TypeScript type definitions ([#410](https://github.com/optimizely/javascript-sdk/pull/410))
39+
- Node.js datafile manager uses gzip,deflate compression for requests ([#456](https://github.com/optimizely/javascript-sdk/pull/456))
40+
1041
## [4.0.0-rc.2] - April 24, 2020
1142

1243
### Bug fixes

packages/optimizely-sdk/lib/index.browser.tests.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -145,7 +145,7 @@ describe('javascript-sdk', function() {
145145
optlyInstance.onReady().catch(function() {});
146146

147147
assert.instanceOf(optlyInstance, Optimizely);
148-
assert.equal(optlyInstance.clientVersion, '4.0.0-rc.2');
148+
assert.equal(optlyInstance.clientVersion, '4.0.0');
149149
});
150150

151151
it('should set the JavaScript client engine and version', function() {

packages/optimizely-sdk/lib/index.node.tests.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -90,7 +90,7 @@ describe('optimizelyFactory', function() {
9090
optlyInstance.onReady().catch(function() {});
9191

9292
assert.instanceOf(optlyInstance, Optimizely);
93-
assert.equal(optlyInstance.clientVersion, '4.0.0-rc.2');
93+
assert.equal(optlyInstance.clientVersion, '4.0.0');
9494
});
9595

9696
describe('event processor configuration', function() {

packages/optimizely-sdk/lib/index.react_native.js

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -78,7 +78,7 @@ var createInstance = function(config) {
7878

7979
config = fns.assign(
8080
{
81-
clientEngine: enums.REACT_NATIVE_JS_CLIENT_ENGINE,
81+
clientEngine: enums.JAVASCRIPT_CLIENT_ENGINE,
8282
eventBatchSize: DEFAULT_EVENT_BATCH_SIZE,
8383
eventDispatcher: defaultEventDispatcher,
8484
eventFlushInterval: DEFAULT_EVENT_FLUSH_INTERVAL,
@@ -91,11 +91,6 @@ var createInstance = function(config) {
9191
}
9292
);
9393

94-
// If client engine is react, convert it to react native
95-
if (config.clientEngine === enums.REACT_CLIENT_ENGINE) {
96-
config.clientEngine = enums.REACT_NATIVE_CLIENT_ENGINE
97-
}
98-
9994
if (!eventProcessorConfigValidator.validateEventBatchSize(config.eventBatchSize)) {
10095
logger.warn('Invalid eventBatchSize %s, defaulting to %s', config.eventBatchSize, DEFAULT_EVENT_BATCH_SIZE);
10196
config.eventBatchSize = DEFAULT_EVENT_BATCH_SIZE;

packages/optimizely-sdk/lib/index.react_native.tests.js

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -89,10 +89,10 @@ describe('javascript-sdk/react-native', function() {
8989
optlyInstance.onReady().catch(function() {});
9090

9191
assert.instanceOf(optlyInstance, Optimizely);
92-
assert.equal(optlyInstance.clientVersion, '4.0.0-rc.2');
92+
assert.equal(optlyInstance.clientVersion, '4.0.0');
9393
});
9494

95-
it('should set the React Native JS client engine and javascript SDK version', function() {
95+
it('should set the Javascript client engine and version', function() {
9696
var optlyInstance = optimizelyFactory.createInstance({
9797
datafile: {},
9898
errorHandler: fakeErrorHandler,
@@ -101,11 +101,11 @@ describe('javascript-sdk/react-native', function() {
101101
});
102102
// Invalid datafile causes onReady Promise rejection - catch this error
103103
optlyInstance.onReady().catch(function() {});
104-
assert.equal('react-native-js-sdk', optlyInstance.clientEngine);
104+
assert.equal('javascript-sdk', optlyInstance.clientEngine);
105105
assert.equal(packageJSON.version, optlyInstance.clientVersion);
106106
});
107107

108-
it('should allow passing of "react-sdk" as the clientEngine and convert it to "react-native-sdk"', function() {
108+
it('should allow passing of "react-sdk" as the clientEngine', function() {
109109
var optlyInstance = optimizelyFactory.createInstance({
110110
clientEngine: 'react-sdk',
111111
datafile: {},
@@ -115,7 +115,7 @@ describe('javascript-sdk/react-native', function() {
115115
});
116116
// Invalid datafile causes onReady Promise rejection - catch this error
117117
optlyInstance.onReady().catch(function() {});
118-
assert.equal('react-native-sdk', optlyInstance.clientEngine);
118+
assert.equal('react-sdk', optlyInstance.clientEngine);
119119
});
120120

121121
it('should activate with provided event dispatcher', function() {

packages/optimizely-sdk/lib/utils/enums/index.js

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -173,16 +173,12 @@ export var CONTROL_ATTRIBUTES = {
173173
export var JAVASCRIPT_CLIENT_ENGINE = 'javascript-sdk';
174174
export var NODE_CLIENT_ENGINE = 'node-sdk';
175175
export var REACT_CLIENT_ENGINE = 'react-sdk';
176-
export var REACT_NATIVE_CLIENT_ENGINE = 'react-native-sdk';
177-
export var REACT_NATIVE_JS_CLIENT_ENGINE = 'react-native-js-sdk';
178-
export var NODE_CLIENT_VERSION = '4.0.0-rc.2';
176+
export var NODE_CLIENT_VERSION = '4.0.0';
179177

180178
export var VALID_CLIENT_ENGINES = [
181179
NODE_CLIENT_ENGINE,
182180
REACT_CLIENT_ENGINE,
183181
JAVASCRIPT_CLIENT_ENGINE,
184-
REACT_NATIVE_CLIENT_ENGINE,
185-
REACT_NATIVE_JS_CLIENT_ENGINE,
186182
];
187183

188184
export var NOTIFICATION_TYPES = notificationTypesEnum;
@@ -233,8 +229,6 @@ export default {
233229
JAVASCRIPT_CLIENT_ENGINE: JAVASCRIPT_CLIENT_ENGINE,
234230
NODE_CLIENT_ENGINE: NODE_CLIENT_ENGINE,
235231
REACT_CLIENT_ENGINE: REACT_CLIENT_ENGINE,
236-
REACT_NATIVE_CLIENT_ENGINE: REACT_NATIVE_CLIENT_ENGINE,
237-
REACT_NATIVE_JS_CLIENT_ENGINE: REACT_NATIVE_JS_CLIENT_ENGINE,
238232
NODE_CLIENT_VERSION: NODE_CLIENT_VERSION,
239233
VALID_CLIENT_ENGINES: VALID_CLIENT_ENGINES,
240234
NOTIFICATION_TYPES: NOTIFICATION_TYPES,

packages/optimizely-sdk/package-lock.json

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

packages/optimizely-sdk/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@github/optimizely-sdk",
3-
"version": "4.0.0-rc.2.github",
3+
"version": "4.0.0-github",
44
"publishConfig": {
55
"registry": "https://npm.pkg.github.com",
66
"access": "public"

packages/optimizely-sdk/rollup.config.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ const esmBundle = {
4949
format: 'es',
5050
file: 'dist/optimizely.browser.es.min.js',
5151
sourcemap: true,
52-
plugins: [ terser() ]
52+
plugins: [ terser() ],
5353
sourcemap: true,
5454
}]
5555
}

0 commit comments

Comments
 (0)