@newskit-render/feature-flags 0.3.0 → 0.4.2

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 CHANGED
@@ -3,6 +3,44 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ ## [0.4.2](https://github.com/newscorp-ghfb/ncu-newskit-render/compare/@newskit-render/feature-flags@0.4.1...@newskit-render/feature-flags@0.4.2) (2021-12-14)
7
+
8
+ **Note:** Version bump only for package @newskit-render/feature-flags
9
+
10
+
11
+
12
+
13
+
14
+ ## [0.4.1](https://github.com/newscorp-ghfb/ncu-newskit-render/compare/@newskit-render/feature-flags@0.4.0...@newskit-render/feature-flags@0.4.1) (2021-11-26)
15
+
16
+ **Note:** Version bump only for package @newskit-render/feature-flags
17
+
18
+
19
+
20
+
21
+
22
+ # [0.4.0](https://github.com/newscorp-ghfb/ncu-newskit-render/compare/@newskit-render/feature-flags@0.3.1...@newskit-render/feature-flags@0.4.0) (2021-11-22)
23
+
24
+
25
+ ### Features
26
+
27
+ * **PPDSR-0:** fix broken dependecy ([#521](https://github.com/newscorp-ghfb/ncu-newskit-render/issues/521)) ([2690dd3](https://github.com/newscorp-ghfb/ncu-newskit-render/commit/2690dd3bc6cf61a88740a0ff935adf461be02416))
28
+
29
+
30
+
31
+
32
+
33
+ ## [0.3.1](https://github.com/newscorp-ghfb/ncu-newskit-render/compare/@newskit-render/feature-flags@0.3.0...@newskit-render/feature-flags@0.3.1) (2021-11-15)
34
+
35
+
36
+ ### Bug Fixes
37
+
38
+ * **PPDSR-541:** change packages to get published ([#506](https://github.com/newscorp-ghfb/ncu-newskit-render/issues/506)) ([4de773b](https://github.com/newscorp-ghfb/ncu-newskit-render/commit/4de773b8e22663a2822f64255f347c32384532c0))
39
+
40
+
41
+
42
+
43
+
6
44
  # [0.3.0](https://github.com/newscorp-ghfb/ncu-newskit-render/compare/@newskit-render/feature-flags@0.2.0...@newskit-render/feature-flags@0.3.0) (2021-11-10)
7
45
 
8
46
 
package/README.md CHANGED
@@ -3,13 +3,15 @@
3
3
  A package for adding feature flags to projects generated by newskit-render.
4
4
 
5
5
  ## How to use:
6
+
6
7
  `yarn add @newskit-render/feature-flags` or <br />
7
8
  `npm install --save @newskit-render/feature-flags` <br /><br />
8
9
 
9
10
  There are two ways that feature flags can be utilized.
10
- ### getFeatureFlags() in getServerSideProps ###
11
11
 
12
- The most performant way to use feature flags is to call `getFeatureFlags()` in `getServersideProps` and then use them throughout the page. This way the implementation will only be available for the current page and and wouldn't effect the rest of the site.
12
+ ### getFeatureFlags() in getServerSideProps
13
+
14
+ The most performant way to use feature flags is to call `getFeatureFlags()` in `getServersideProps` and then use them throughout the page. This way the implementation will only be available for the current page and and wouldn't effect the rest of the site.
13
15
  To do so you will need to initialize the package by calling `createFeatureFlagsInstance` with the sdkKey from optimizely.
14
16
  Best practice is to store your sdk key in environment variables, the examples below utilize that method.
15
17
  For local use, you cadd the Optimizely SDK key from your project in your `.env.local` file like so
@@ -19,6 +21,7 @@ Optionally the config can be switched to suit your need. More on this can be fou
19
21
  An example implementation would be as follows:
20
22
 
21
23
  `pages/index.ts`
24
+
22
25
  ```
23
26
  import {getFeatureFlags, createFeatureFlagsInstance} from '@newskit-render/feature-flags';
24
27
 
@@ -31,7 +34,7 @@ export async function getServerSideProps(context) {
31
34
  // other queries,
32
35
  getFeatureFlags()
33
36
  ])
34
-
37
+
35
38
  const featureFlags = featureFlagsResult.value;
36
39
 
37
40
  return {
@@ -42,6 +45,7 @@ export async function getServerSideProps(context) {
42
45
  }
43
46
  }
44
47
  ```
48
+
45
49
  `samplePage/index.tsx`
46
50
 
47
51
  ```
@@ -51,9 +55,9 @@ import { FeatureFlag } from '@newskit-render/feature-flags'
51
55
  const SectionPage: React.FC<{
52
56
  page: Page
53
57
  // pageprops...
54
- featureFlags?: FeatureFlag[]
58
+ featureFlags?: FeatureFlag[]
55
59
  }> = ({ page, pageprops..., featureFlags }) => {
56
-
60
+
57
61
  return(
58
62
  <Layout>
59
63
  {featureFlags && featureFlags['test_flag'] && <p>FEATURE FLAG IS HEREEE</p>}
@@ -67,14 +71,15 @@ export default SamplePage
67
71
 
68
72
  ```
69
73
 
70
- ### hooks in getInitialProps ###
74
+ ### hooks in getInitialProps
71
75
 
72
76
  Alternatively, feature flags can be applied on the whole app. To do so, you'll need to instantiate the package in `getInitialProps` of the main app, then call `getFeatureFlags` and pass the result to the whole app.
73
- By calling the `useFeatureFlagsContext` hook, the list of featureFlags can be accessed from any point of the site.
77
+ By calling the `useFeatureFlagsContext` hook, the list of featureFlags can be accessed from any point of the site.
74
78
  <br /> <br />
75
79
  Below we explore a solution, where we use it in the header of the app.
76
80
 
77
81
  `pages/_app.tsx`
82
+
78
83
  ```
79
84
  import { getFeatureFlags, FeatureFlagsContextProvider, FeatureFlag, createFeatureFlagsInstance } from '@newskit-render/feature-flags';
80
85
 
@@ -94,7 +99,6 @@ MyApp.getInitialProps = async () => {
94
99
  export default MyApp
95
100
  ```
96
101
 
97
-
98
102
  `header/index.tsx`
99
103
 
100
104
  ```
@@ -102,7 +106,7 @@ import { useFeatureFlagsContext } from '@newskit-render/feature-flags';
102
106
 
103
107
  const Header: React.FC<{ user: UserData }> = ({ user }) => {
104
108
  const featureFlags = useFeatureFlagsContext();
105
-
109
+
106
110
  return (
107
111
  <>
108
112
  <StyledHeader>
@@ -122,8 +126,10 @@ const Header: React.FC<{ user: UserData }> = ({ user }) => {
122
126
 
123
127
  export default Header
124
128
  ```
125
- ### createFeatureFlagsInstance ###
126
- `createFeatureFlagsInstance` takes config object as parameter. The config object consists of [`optimizelyConfig`](https://docs.developers.optimizely.com/full-stack/v4.0/docs/initialize-sdk-javascript-node#section-parameters), `userId`, `defaultFeatureFlags`, `logLevel`. The only requirement for the feature flags to be instantiated is passing optimizely sdk key to `optimizelyConfig`. Further, the whole config can be changed to suit your needs.
129
+
130
+ ### createFeatureFlagsInstance
131
+
132
+ `createFeatureFlagsInstance` takes config object as parameter. The config object consists of [`optimizelyConfig`](https://docs.developers.optimizely.com/full-stack/v4.0/docs/initialize-sdk-javascript-node#section-parameters), `userId`, `defaultFeatureFlags`, `logLevel`. The only requirement for the feature flags to be instantiated is passing optimizely sdk key to `optimizelyConfig`. Further, the whole config can be changed to suit your needs.
127
133
  `userId` serves as optimizely user identity.
128
134
  `defaultFeatureFlags` are used in the event that optimizely doesn't load up and initial values are required.
129
135
  `logLevel` serves to configure the optimizely logger if you wish to use it. It accepts `critical`, `error`, `warning`, `debug` or `info`
@@ -1,3 +1,4 @@
1
+ "use strict";
1
2
  var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
3
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
4
  return new (P || (P = Promise))(function (resolve, reject) {
@@ -34,10 +35,14 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
34
35
  if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
35
36
  }
36
37
  };
37
- import { getFeatureFlags, createFeatureFlagsInstance, getFlattenFeatureFlags, userIdentity, defaultFeatureFlags, _resetInstance, } from '../utils';
38
- import { defaultUserId } from '../config';
39
- import optimizelySDK from '@optimizely/optimizely-sdk';
40
- import { MissingConfigurationError, MissingInstanceError } from '../types';
38
+ var __importDefault = (this && this.__importDefault) || function (mod) {
39
+ return (mod && mod.__esModule) ? mod : { "default": mod };
40
+ };
41
+ Object.defineProperty(exports, "__esModule", { value: true });
42
+ var utils_1 = require("../utils");
43
+ var config_1 = require("../config");
44
+ var optimizely_sdk_1 = __importDefault(require("@optimizely/optimizely-sdk"));
45
+ var types_1 = require("../types");
41
46
  var mockFeaturesMap = {
42
47
  test_flag: {
43
48
  key: 'test_flag',
@@ -48,7 +53,7 @@ var mockFeaturesMap = {
48
53
  enabled: true,
49
54
  },
50
55
  };
51
- optimizelySDK.createInstance = jest.fn().mockReturnValue({
56
+ optimizely_sdk_1.default.createInstance = jest.fn().mockReturnValue({
52
57
  isFeatureEnabled: jest.fn().mockImplementation(function (key) {
53
58
  return mockFeaturesMap[key].enabled;
54
59
  }),
@@ -58,24 +63,24 @@ optimizelySDK.createInstance = jest.fn().mockReturnValue({
58
63
  .mockReturnValue({ featuresMap: mockFeaturesMap }),
59
64
  });
60
65
  jest
61
- .spyOn(optimizelySDK, 'setLogLevel')
66
+ .spyOn(optimizely_sdk_1.default, 'setLogLevel')
62
67
  .mockImplementation(function (logLevel) { return logLevel; });
63
- jest.spyOn(optimizelySDK, 'setLogger');
68
+ jest.spyOn(optimizely_sdk_1.default, 'setLogger');
64
69
  afterEach(function () {
65
70
  jest.clearAllMocks();
66
- _resetInstance();
71
+ (0, utils_1._resetInstance)();
67
72
  });
68
73
  describe('createFeatureFlagsInstance', function () {
69
74
  it('should throw error when called without sdk key', function () {
70
- expect(function () { return createFeatureFlagsInstance({ optimizelyConfig: {} }); }).toThrow(new MissingConfigurationError());
75
+ expect(function () { return (0, utils_1.createFeatureFlagsInstance)({ optimizelyConfig: {} }); }).toThrow(new types_1.MissingConfigurationError());
71
76
  });
72
77
  it('should use default userId when creating instance', function () { return __awaiter(void 0, void 0, void 0, function () {
73
78
  return __generator(this, function (_a) {
74
79
  switch (_a.label) {
75
- case 0: return [4 /*yield*/, createFeatureFlagsInstance({ optimizelyConfig: { sdkKey: 'sdkkey' } })];
80
+ case 0: return [4 /*yield*/, (0, utils_1.createFeatureFlagsInstance)({ optimizelyConfig: { sdkKey: 'sdkkey' } })];
76
81
  case 1:
77
82
  _a.sent();
78
- expect(userIdentity).toEqual(defaultUserId);
83
+ expect(utils_1.userIdentity).toEqual(config_1.defaultUserId);
79
84
  return [2 /*return*/];
80
85
  }
81
86
  });
@@ -83,13 +88,13 @@ describe('createFeatureFlagsInstance', function () {
83
88
  it('should set userId when creating instance and passing userId', function () { return __awaiter(void 0, void 0, void 0, function () {
84
89
  return __generator(this, function (_a) {
85
90
  switch (_a.label) {
86
- case 0: return [4 /*yield*/, createFeatureFlagsInstance({
91
+ case 0: return [4 /*yield*/, (0, utils_1.createFeatureFlagsInstance)({
87
92
  optimizelyConfig: { sdkKey: 'sdkkey' },
88
93
  userId: 'user123',
89
94
  })];
90
95
  case 1:
91
96
  _a.sent();
92
- expect(userIdentity).toEqual('user123');
97
+ expect(utils_1.userIdentity).toEqual('user123');
93
98
  return [2 /*return*/];
94
99
  }
95
100
  });
@@ -98,15 +103,15 @@ describe('createFeatureFlagsInstance', function () {
98
103
  return __generator(this, function (_a) {
99
104
  switch (_a.label) {
100
105
  case 0:
101
- expect(defaultFeatureFlags).toEqual({});
102
- return [4 /*yield*/, createFeatureFlagsInstance({
106
+ expect(utils_1.defaultFeatureFlags).toEqual({});
107
+ return [4 /*yield*/, (0, utils_1.createFeatureFlagsInstance)({
103
108
  optimizelyConfig: { sdkKey: 'sdkkey' },
104
109
  defaultFeatureFlags: { default_flag: true, default_flag2: false },
105
110
  })];
106
111
  case 1:
107
112
  _a.sent();
108
- expect(optimizelySDK.setLogLevel).not.toHaveBeenCalled();
109
- expect(defaultFeatureFlags).toEqual({
113
+ expect(optimizely_sdk_1.default.setLogLevel).not.toHaveBeenCalled();
114
+ expect(utils_1.defaultFeatureFlags).toEqual({
110
115
  default_flag: true,
111
116
  default_flag2: false,
112
117
  });
@@ -117,14 +122,14 @@ describe('createFeatureFlagsInstance', function () {
117
122
  it('should instantiate logger with log level', function () { return __awaiter(void 0, void 0, void 0, function () {
118
123
  return __generator(this, function (_a) {
119
124
  switch (_a.label) {
120
- case 0: return [4 /*yield*/, createFeatureFlagsInstance({
125
+ case 0: return [4 /*yield*/, (0, utils_1.createFeatureFlagsInstance)({
121
126
  optimizelyConfig: { sdkKey: 'sdkkey' },
122
127
  logLevel: 'critical',
123
128
  })];
124
129
  case 1:
125
130
  _a.sent();
126
- expect(optimizelySDK.setLogLevel).toBeCalledWith('critical');
127
- expect(optimizelySDK.setLogger).toHaveBeenCalled();
131
+ expect(optimizely_sdk_1.default.setLogLevel).toBeCalledWith('critical');
132
+ expect(optimizely_sdk_1.default.setLogger).toHaveBeenCalled();
128
133
  return [2 /*return*/];
129
134
  }
130
135
  });
@@ -135,11 +140,11 @@ describe('getFlattenFeatureFlags', function () {
135
140
  var _a;
136
141
  return __generator(this, function (_b) {
137
142
  switch (_b.label) {
138
- case 0: return [4 /*yield*/, createFeatureFlagsInstance({ optimizelyConfig: { sdkKey: 'sdkkey' } })];
143
+ case 0: return [4 /*yield*/, (0, utils_1.createFeatureFlagsInstance)({ optimizelyConfig: { sdkKey: 'sdkkey' } })];
139
144
  case 1:
140
145
  _b.sent();
141
146
  _a = expect;
142
- return [4 /*yield*/, getFlattenFeatureFlags(Object.keys(mockFeaturesMap), mockFeaturesMap)];
147
+ return [4 /*yield*/, (0, utils_1.getFlattenFeatureFlags)(Object.keys(mockFeaturesMap), mockFeaturesMap)];
143
148
  case 2:
144
149
  _a.apply(void 0, [_b.sent()]).toEqual({
145
150
  test_flag: false,
@@ -153,7 +158,7 @@ describe('getFlattenFeatureFlags', function () {
153
158
  describe('getFeatureFlags', function () {
154
159
  it('should throw error when called without optimizely instance', function () { return __awaiter(void 0, void 0, void 0, function () {
155
160
  return __generator(this, function (_a) {
156
- expect(function () { return getFeatureFlags(); }).rejects.toEqual(new MissingInstanceError());
161
+ expect(function () { return (0, utils_1.getFeatureFlags)(); }).rejects.toEqual(new types_1.MissingInstanceError());
157
162
  return [2 /*return*/];
158
163
  });
159
164
  }); });
@@ -161,11 +166,11 @@ describe('getFeatureFlags', function () {
161
166
  var _a;
162
167
  return __generator(this, function (_b) {
163
168
  switch (_b.label) {
164
- case 0: return [4 /*yield*/, createFeatureFlagsInstance({ optimizelyConfig: { sdkKey: 'sdkkey' } })];
169
+ case 0: return [4 /*yield*/, (0, utils_1.createFeatureFlagsInstance)({ optimizelyConfig: { sdkKey: 'sdkkey' } })];
165
170
  case 1:
166
171
  _b.sent();
167
172
  _a = expect;
168
- return [4 /*yield*/, getFeatureFlags()];
173
+ return [4 /*yield*/, (0, utils_1.getFeatureFlags)()];
169
174
  case 2:
170
175
  _a.apply(void 0, [_b.sent()]).toEqual({
171
176
  test_flag: false,
@@ -180,20 +185,20 @@ describe('getFeatureFlags', function () {
180
185
  return __generator(this, function (_b) {
181
186
  switch (_b.label) {
182
187
  case 0:
183
- optimizelySDK.createInstance = jest.fn().mockReturnValue({
188
+ optimizely_sdk_1.default.createInstance = jest.fn().mockReturnValue({
184
189
  onReady: jest.fn().mockResolvedValue({ success: false }),
185
190
  isFeatureEnabled: jest.fn().mockImplementation(function (key) {
186
191
  return mockFeaturesMap[key].enabled;
187
192
  }),
188
193
  });
189
- return [4 /*yield*/, createFeatureFlagsInstance({
194
+ return [4 /*yield*/, (0, utils_1.createFeatureFlagsInstance)({
190
195
  optimizelyConfig: { sdkKey: 'sdkkey' },
191
196
  defaultFeatureFlags: { defaultFlag: true },
192
197
  })];
193
198
  case 1:
194
199
  _b.sent();
195
200
  _a = expect;
196
- return [4 /*yield*/, getFeatureFlags()];
201
+ return [4 /*yield*/, (0, utils_1.getFeatureFlags)()];
197
202
  case 2:
198
203
  _a.apply(void 0, [_b.sent()]).toEqual({
199
204
  defaultFlag: true,
@@ -1 +1 @@
1
- {"version":3,"file":"utils.tests.js","sourceRoot":"","sources":["../../src/__tests__/utils.tests.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utils.tests.js","sourceRoot":"","sources":["../../src/__tests__/utils.tests.ts"],"names":[],"mappings":"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"}
package/dist/config.js CHANGED
@@ -1,8 +1,11 @@
1
- export var optimizelyDefaultSDKConfig = {
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.defaultUserId = exports.optimizelyDefaultSDKConfig = void 0;
4
+ exports.optimizelyDefaultSDKConfig = {
2
5
  datafileOptions: {
3
6
  autoUpdate: true,
4
7
  updateInterval: 300000,
5
8
  },
6
9
  };
7
- export var defaultUserId = 'default_userId';
10
+ exports.defaultUserId = 'default_userId';
8
11
  //# sourceMappingURL=config.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AACA,MAAM,CAAC,IAAM,0BAA0B,GAAyB;IAC9D,eAAe,EAAE;QACf,UAAU,EAAE,IAAI;QAChB,cAAc,EAAE,MAAM;KACvB;CACF,CAAA;AAED,MAAM,CAAC,IAAM,aAAa,GAAG,gBAAgB,CAAA"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":";;;AACa,QAAA,0BAA0B,GAAyB;IAC9D,eAAe,EAAE;QACf,UAAU,EAAE,IAAI;QAChB,cAAc,EAAE,MAAM;KACvB;CACF,CAAA;AAEY,QAAA,aAAa,GAAG,gBAAgB,CAAA"}
@@ -1,16 +1,40 @@
1
- import React, { createContext, useContext } from 'react';
2
- import { MissingFeatureFlagsProvider, } from './types';
3
- var FeatureFlagsContext = createContext(null);
4
- export var FeatureFlagsContextProvider = function (_a) {
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
+ }) : (function(o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k;
7
+ o[k2] = m[k];
8
+ }));
9
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
10
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
11
+ }) : function(o, v) {
12
+ o["default"] = v;
13
+ });
14
+ var __importStar = (this && this.__importStar) || function (mod) {
15
+ if (mod && mod.__esModule) return mod;
16
+ var result = {};
17
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
18
+ __setModuleDefault(result, mod);
19
+ return result;
20
+ };
21
+ Object.defineProperty(exports, "__esModule", { value: true });
22
+ exports.useFeatureFlagsContext = exports.FeatureFlagsContextProvider = void 0;
23
+ var react_1 = __importStar(require("react"));
24
+ var types_1 = require("./types");
25
+ var FeatureFlagsContext = (0, react_1.createContext)(null);
26
+ var FeatureFlagsContextProvider = function (_a) {
5
27
  var context = _a.context, children = _a.children;
6
- return (React.createElement(FeatureFlagsContext.Provider, { value: context }, children));
28
+ return (react_1.default.createElement(FeatureFlagsContext.Provider, { value: context }, children));
7
29
  };
8
- export var useFeatureFlagsContext = function () {
9
- var featureFlagsContext = useContext(FeatureFlagsContext);
30
+ exports.FeatureFlagsContextProvider = FeatureFlagsContextProvider;
31
+ var useFeatureFlagsContext = function () {
32
+ var featureFlagsContext = (0, react_1.useContext)(FeatureFlagsContext);
10
33
  if (!featureFlagsContext) {
11
- throw new MissingFeatureFlagsProvider();
34
+ throw new types_1.MissingFeatureFlagsProvider();
12
35
  }
13
36
  return featureFlagsContext;
14
37
  };
15
- export default { FeatureFlagsContextProvider: FeatureFlagsContextProvider, useFeatureFlagsContext: useFeatureFlagsContext };
38
+ exports.useFeatureFlagsContext = useFeatureFlagsContext;
39
+ exports.default = { FeatureFlagsContextProvider: exports.FeatureFlagsContextProvider, useFeatureFlagsContext: exports.useFeatureFlagsContext };
16
40
  //# sourceMappingURL=feature-flags-context.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"feature-flags-context.js","sourceRoot":"","sources":["../src/feature-flags-context.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,OAAO,CAAA;AACxD,OAAO,EAGL,2BAA2B,GAC5B,MAAM,SAAS,CAAA;AAEhB,IAAM,mBAAmB,GAAG,aAAa,CAAwB,IAAI,CAAC,CAAA;AAEtE,MAAM,CAAC,IAAM,2BAA2B,GAAmC,UAAC,EAG3E;QAFC,OAAO,aAAA,EACP,QAAQ,cAAA;IAER,OAAO,CACL,oBAAC,mBAAmB,CAAC,QAAQ,IAAC,KAAK,EAAE,OAAO,IACzC,QAAQ,CACoB,CAChC,CAAA;AACH,CAAC,CAAA;AAED,MAAM,CAAC,IAAM,sBAAsB,GAAG;IACpC,IAAM,mBAAmB,GAAG,UAAU,CAAC,mBAAmB,CAAC,CAAA;IAC3D,IAAI,CAAC,mBAAmB,EAAE;QACxB,MAAM,IAAI,2BAA2B,EAAE,CAAA;KACxC;IACD,OAAO,mBAAmB,CAAA;AAC5B,CAAC,CAAA;AAED,eAAe,EAAE,2BAA2B,6BAAA,EAAE,sBAAsB,wBAAA,EAAE,CAAA"}
1
+ {"version":3,"file":"feature-flags-context.js","sourceRoot":"","sources":["../src/feature-flags-context.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAAA,6CAAwD;AACxD,iCAIgB;AAEhB,IAAM,mBAAmB,GAAG,IAAA,qBAAa,EAAwB,IAAI,CAAC,CAAA;AAE/D,IAAM,2BAA2B,GAAmC,UAAC,EAG3E;QAFC,OAAO,aAAA,EACP,QAAQ,cAAA;IAER,OAAO,CACL,8BAAC,mBAAmB,CAAC,QAAQ,IAAC,KAAK,EAAE,OAAO,IACzC,QAAQ,CACoB,CAChC,CAAA;AACH,CAAC,CAAA;AATY,QAAA,2BAA2B,+BASvC;AAEM,IAAM,sBAAsB,GAAG;IACpC,IAAM,mBAAmB,GAAG,IAAA,kBAAU,EAAC,mBAAmB,CAAC,CAAA;IAC3D,IAAI,CAAC,mBAAmB,EAAE;QACxB,MAAM,IAAI,mCAA2B,EAAE,CAAA;KACxC;IACD,OAAO,mBAAmB,CAAA;AAC5B,CAAC,CAAA;AANY,QAAA,sBAAsB,0BAMlC;AAED,kBAAe,EAAE,2BAA2B,qCAAA,EAAE,sBAAsB,gCAAA,EAAE,CAAA"}
package/dist/index.js CHANGED
@@ -1,3 +1,15 @@
1
- export * from './feature-flags-context';
2
- export * from './utils';
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
+ }) : (function(o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k;
7
+ o[k2] = m[k];
8
+ }));
9
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
10
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
11
+ };
12
+ Object.defineProperty(exports, "__esModule", { value: true });
13
+ __exportStar(require("./feature-flags-context"), exports);
14
+ __exportStar(require("./utils"), exports);
3
15
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,yBAAyB,CAAA;AACvC,cAAc,SAAS,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,0DAAuC;AACvC,0CAAuB"}
package/dist/types.js CHANGED
@@ -1,3 +1,4 @@
1
+ "use strict";
1
2
  var __extends = (this && this.__extends) || (function () {
2
3
  var extendStatics = function (d, b) {
3
4
  extendStatics = Object.setPrototypeOf ||
@@ -13,6 +14,8 @@ var __extends = (this && this.__extends) || (function () {
13
14
  d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
14
15
  };
15
16
  })();
17
+ Object.defineProperty(exports, "__esModule", { value: true });
18
+ exports.MissingFeatureFlagsProvider = exports.MissingInstanceError = exports.MissingConfigurationError = void 0;
16
19
  var MissingConfigurationError = /** @class */ (function (_super) {
17
20
  __extends(MissingConfigurationError, _super);
18
21
  function MissingConfigurationError() {
@@ -20,7 +23,7 @@ var MissingConfigurationError = /** @class */ (function (_super) {
20
23
  }
21
24
  return MissingConfigurationError;
22
25
  }(Error));
23
- export { MissingConfigurationError };
26
+ exports.MissingConfigurationError = MissingConfigurationError;
24
27
  var MissingInstanceError = /** @class */ (function (_super) {
25
28
  __extends(MissingInstanceError, _super);
26
29
  function MissingInstanceError() {
@@ -28,7 +31,7 @@ var MissingInstanceError = /** @class */ (function (_super) {
28
31
  }
29
32
  return MissingInstanceError;
30
33
  }(Error));
31
- export { MissingInstanceError };
34
+ exports.MissingInstanceError = MissingInstanceError;
32
35
  var MissingFeatureFlagsProvider = /** @class */ (function (_super) {
33
36
  __extends(MissingFeatureFlagsProvider, _super);
34
37
  function MissingFeatureFlagsProvider() {
@@ -36,5 +39,5 @@ var MissingFeatureFlagsProvider = /** @class */ (function (_super) {
36
39
  }
37
40
  return MissingFeatureFlagsProvider;
38
41
  }(Error));
39
- export { MissingFeatureFlagsProvider };
42
+ exports.MissingFeatureFlagsProvider = MissingFeatureFlagsProvider;
40
43
  //# sourceMappingURL=types.js.map
package/dist/types.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAuBA;IAA+C,6CAAK;IAClD;eACE,kBACE,uHAAuH,CACxH;IACH,CAAC;IACH,gCAAC;AAAD,CAAC,AAND,CAA+C,KAAK,GAMnD;;AAED;IAA0C,wCAAK;IAC7C;eACE,kBACE,sHAAsH,CACvH;IACH,CAAC;IACH,2BAAC;AAAD,CAAC,AAND,CAA0C,KAAK,GAM9C;;AAED;IAAiD,+CAAK;IACpD;eACE,kBACE,uGAAuG,CACxG;IACH,CAAC;IACH,kCAAC;AAAD,CAAC,AAND,CAAiD,KAAK,GAMrD"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAuBA;IAA+C,6CAAK;IAClD;eACE,kBACE,uHAAuH,CACxH;IACH,CAAC;IACH,gCAAC;AAAD,CAAC,AAND,CAA+C,KAAK,GAMnD;AANY,8DAAyB;AAQtC;IAA0C,wCAAK;IAC7C;eACE,kBACE,sHAAsH,CACvH;IACH,CAAC;IACH,2BAAC;AAAD,CAAC,AAND,CAA0C,KAAK,GAM9C;AANY,oDAAoB;AAQjC;IAAiD,+CAAK;IACpD;eACE,kBACE,uGAAuG,CACxG;IACH,CAAC;IACH,kCAAC;AAAD,CAAC,AAND,CAAiD,KAAK,GAMrD;AANY,kEAA2B"}
package/dist/utils.js CHANGED
@@ -1,3 +1,4 @@
1
+ "use strict";
1
2
  var __assign = (this && this.__assign) || function () {
2
3
  __assign = Object.assign || function(t) {
3
4
  for (var s, i = 1, n = arguments.length; i < n; i++) {
@@ -45,35 +46,40 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
45
46
  if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
46
47
  }
47
48
  };
48
- import optimizelySDK from '@optimizely/optimizely-sdk';
49
- import { MissingConfigurationError, MissingInstanceError, } from './types';
50
- import { optimizelyDefaultSDKConfig, defaultUserId } from './config';
51
- export var optimizelyInstance;
52
- export var userIdentity;
53
- export var defaultFeatureFlags = {};
54
- export var _resetInstance = function () {
55
- optimizelyInstance = null;
49
+ var __importDefault = (this && this.__importDefault) || function (mod) {
50
+ return (mod && mod.__esModule) ? mod : { "default": mod };
56
51
  };
57
- export var createFeatureFlagsInstance = function (config) {
52
+ Object.defineProperty(exports, "__esModule", { value: true });
53
+ exports.getFeatureFlags = exports.getFlattenFeatureFlags = exports.createFeatureFlagsInstance = exports._resetInstance = exports.defaultFeatureFlags = exports.userIdentity = exports.optimizelyInstance = void 0;
54
+ var optimizely_sdk_1 = __importDefault(require("@optimizely/optimizely-sdk"));
55
+ var types_1 = require("./types");
56
+ var config_1 = require("./config");
57
+ exports.defaultFeatureFlags = {};
58
+ var _resetInstance = function () {
59
+ exports.optimizelyInstance = null;
60
+ };
61
+ exports._resetInstance = _resetInstance;
62
+ var createFeatureFlagsInstance = function (config) {
58
63
  if (!config.optimizelyConfig.sdkKey) {
59
- throw new MissingConfigurationError();
64
+ throw new types_1.MissingConfigurationError();
60
65
  }
61
- optimizelyInstance = optimizelySDK.createInstance(__assign(__assign({}, config.optimizelyConfig), optimizelyDefaultSDKConfig));
62
- userIdentity = config.userId || defaultUserId;
66
+ exports.optimizelyInstance = optimizely_sdk_1.default.createInstance(__assign(__assign({}, config.optimizelyConfig), config_1.optimizelyDefaultSDKConfig));
67
+ exports.userIdentity = config.userId || config_1.defaultUserId;
63
68
  if (config.logLevel) {
64
- optimizelySDK.setLogLevel(config.logLevel);
65
- optimizelySDK.setLogger(optimizelySDK.logging.createLogger());
69
+ optimizely_sdk_1.default.setLogLevel(config.logLevel);
70
+ optimizely_sdk_1.default.setLogger(optimizely_sdk_1.default.logging.createLogger());
66
71
  }
67
72
  if (config.defaultFeatureFlags) {
68
- defaultFeatureFlags = config.defaultFeatureFlags;
73
+ exports.defaultFeatureFlags = config.defaultFeatureFlags;
69
74
  }
70
75
  };
71
- export var getFlattenFeatureFlags = function (keys, array) {
76
+ exports.createFeatureFlagsInstance = createFeatureFlagsInstance;
77
+ var getFlattenFeatureFlags = function (keys, array) {
72
78
  return keys
73
79
  .map(function (feat) {
74
80
  var _a;
75
81
  return _a = {},
76
- _a[array[feat].key] = optimizelyInstance.isFeatureEnabled(array[feat].key, userIdentity),
82
+ _a[array[feat].key] = exports.optimizelyInstance.isFeatureEnabled(array[feat].key, exports.userIdentity),
77
83
  _a;
78
84
  })
79
85
  .reduce(function (map, obj) {
@@ -82,32 +88,34 @@ export var getFlattenFeatureFlags = function (keys, array) {
82
88
  return map;
83
89
  }, {});
84
90
  };
85
- export var getFeatureFlags = function () { return __awaiter(void 0, void 0, void 0, function () {
91
+ exports.getFlattenFeatureFlags = getFlattenFeatureFlags;
92
+ var getFeatureFlags = function () { return __awaiter(void 0, void 0, void 0, function () {
86
93
  var config, featureFlags, featureFlagsKeys, allFeatureFlags;
87
94
  return __generator(this, function (_a) {
88
95
  switch (_a.label) {
89
96
  case 0:
90
- if (!optimizelyInstance) {
91
- throw new MissingInstanceError();
97
+ if (!exports.optimizelyInstance) {
98
+ throw new types_1.MissingInstanceError();
92
99
  }
93
- return [4 /*yield*/, optimizelyInstance
100
+ return [4 /*yield*/, exports.optimizelyInstance
94
101
  .onReady({ timeout: 1000 })
95
102
  .then(function (result) {
96
103
  if (result && result.success) {
97
- return optimizelyInstance.getOptimizelyConfig();
104
+ return exports.optimizelyInstance.getOptimizelyConfig();
98
105
  }
99
106
  return null;
100
107
  })];
101
108
  case 1:
102
109
  config = _a.sent();
103
110
  if (!config)
104
- return [2 /*return*/, defaultFeatureFlags];
111
+ return [2 /*return*/, exports.defaultFeatureFlags];
105
112
  featureFlags = config.featuresMap;
106
113
  featureFlagsKeys = Object.keys(featureFlags);
107
- allFeatureFlags = getFlattenFeatureFlags(featureFlagsKeys, featureFlags);
114
+ allFeatureFlags = (0, exports.getFlattenFeatureFlags)(featureFlagsKeys, featureFlags);
108
115
  return [2 /*return*/, allFeatureFlags];
109
116
  }
110
117
  });
111
118
  }); };
112
- export default { createFeatureFlagsInstance: createFeatureFlagsInstance, getFeatureFlags: getFeatureFlags };
119
+ exports.getFeatureFlags = getFeatureFlags;
120
+ exports.default = { createFeatureFlagsInstance: exports.createFeatureFlagsInstance, getFeatureFlags: exports.getFeatureFlags };
113
121
  //# sourceMappingURL=utils.js.map
package/dist/utils.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,aAAmC,MAAM,4BAA4B,CAAA;AAC5E,OAAO,EACL,yBAAyB,EACzB,oBAAoB,GAGrB,MAAM,SAAS,CAAA;AAChB,OAAO,EAAE,0BAA0B,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AAEpE,MAAM,CAAC,IAAI,kBAAkB,CAAA;AAC7B,MAAM,CAAC,IAAI,YAAY,CAAA;AACvB,MAAM,CAAC,IAAI,mBAAmB,GAAgB,EAAE,CAAA;AAChD,MAAM,CAAC,IAAM,cAAc,GAAG;IAC5B,kBAAkB,GAAG,IAAI,CAAA;AAC3B,CAAC,CAAA;AAED,MAAM,CAAC,IAAM,0BAA0B,GAAG,UAAC,MAAsB;IAC/D,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,MAAM,EAAE;QACnC,MAAM,IAAI,yBAAyB,EAAE,CAAA;KACtC;IAED,kBAAkB,GAAG,aAAa,CAAC,cAAc,uBAC5C,MAAM,CAAC,gBAAgB,GACvB,0BAA0B,EAC7B,CAAA;IACF,YAAY,GAAG,MAAM,CAAC,MAAM,IAAI,aAAa,CAAA;IAC7C,IAAI,MAAM,CAAC,QAAQ,EAAE;QACnB,aAAa,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;QAC1C,aAAa,CAAC,SAAS,CAAC,aAAa,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC,CAAA;KAC9D;IACD,IAAI,MAAM,CAAC,mBAAmB,EAAE;QAC9B,mBAAmB,GAAG,MAAM,CAAC,mBAAmB,CAAA;KACjD;AACH,CAAC,CAAA;AAED,MAAM,CAAC,IAAM,sBAAsB,GAAG,UAAC,IAAI,EAAE,KAAK;IAChD,OAAA,IAAI;SACD,GAAG,CAAC,UAAC,IAAI;;QACR;YACE,GAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,IAAG,kBAAkB,CAAC,gBAAgB,CACpD,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,EACf,YAAY,CACb;eACF;IACH,CAAC,CAAC;SACD,MAAM,CAAC,UAAC,GAAG,EAAE,GAAG;QACf,IAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAA;QAC/B,GAAG,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,CAAA;QACnB,OAAO,GAAG,CAAA;IACZ,CAAC,EAAE,EAAE,CAAC;AAbR,CAaQ,CAAA;AAEV,MAAM,CAAC,IAAM,eAAe,GAAG;;;;;gBAC7B,IAAI,CAAC,kBAAkB,EAAE;oBACvB,MAAM,IAAI,oBAAoB,EAAE,CAAA;iBACjC;gBACuC,qBAAM,kBAAkB;yBAC7D,OAAO,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;yBAC1B,IAAI,CAAC,UAAC,MAAM;wBACX,IAAI,MAAM,IAAI,MAAM,CAAC,OAAO,EAAE;4BAC5B,OAAO,kBAAkB,CAAC,mBAAmB,EAAE,CAAA;yBAChD;wBACD,OAAO,IAAI,CAAA;oBACb,CAAC,CAAC,EAAA;;gBAPE,MAAM,GAA4B,SAOpC;gBACJ,IAAI,CAAC,MAAM;oBAAE,sBAAO,mBAAmB,EAAA;gBACjC,YAAY,GAAG,MAAM,CAAC,WAAW,CAAA;gBAEjC,gBAAgB,GAAG,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAA;gBAE5C,eAAe,GAAgB,sBAAsB,CACzD,gBAAgB,EAChB,YAAY,CACb,CAAA;gBAED,sBAAO,eAAe,EAAA;;;KACvB,CAAA;AAED,eAAe,EAAE,0BAA0B,4BAAA,EAAE,eAAe,iBAAA,EAAE,CAAA"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,8EAA4E;AAC5E,iCAKgB;AAChB,mCAAoE;AAIzD,QAAA,mBAAmB,GAAgB,EAAE,CAAA;AACzC,IAAM,cAAc,GAAG;IAC5B,0BAAkB,GAAG,IAAI,CAAA;AAC3B,CAAC,CAAA;AAFY,QAAA,cAAc,kBAE1B;AAEM,IAAM,0BAA0B,GAAG,UAAC,MAAsB;IAC/D,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,MAAM,EAAE;QACnC,MAAM,IAAI,iCAAyB,EAAE,CAAA;KACtC;IAED,0BAAkB,GAAG,wBAAa,CAAC,cAAc,uBAC5C,MAAM,CAAC,gBAAgB,GACvB,mCAA0B,EAC7B,CAAA;IACF,oBAAY,GAAG,MAAM,CAAC,MAAM,IAAI,sBAAa,CAAA;IAC7C,IAAI,MAAM,CAAC,QAAQ,EAAE;QACnB,wBAAa,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;QAC1C,wBAAa,CAAC,SAAS,CAAC,wBAAa,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC,CAAA;KAC9D;IACD,IAAI,MAAM,CAAC,mBAAmB,EAAE;QAC9B,2BAAmB,GAAG,MAAM,CAAC,mBAAmB,CAAA;KACjD;AACH,CAAC,CAAA;AAjBY,QAAA,0BAA0B,8BAiBtC;AAEM,IAAM,sBAAsB,GAAG,UAAC,IAAI,EAAE,KAAK;IAChD,OAAA,IAAI;SACD,GAAG,CAAC,UAAC,IAAI;;QACR;YACE,GAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,IAAG,0BAAkB,CAAC,gBAAgB,CACpD,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,EACf,oBAAY,CACb;eACF;IACH,CAAC,CAAC;SACD,MAAM,CAAC,UAAC,GAAG,EAAE,GAAG;QACf,IAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAA;QAC/B,GAAG,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,CAAA;QACnB,OAAO,GAAG,CAAA;IACZ,CAAC,EAAE,EAAE,CAAC;AAbR,CAaQ,CAAA;AAdG,QAAA,sBAAsB,0BAczB;AAEH,IAAM,eAAe,GAAG;;;;;gBAC7B,IAAI,CAAC,0BAAkB,EAAE;oBACvB,MAAM,IAAI,4BAAoB,EAAE,CAAA;iBACjC;gBACuC,qBAAM,0BAAkB;yBAC7D,OAAO,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;yBAC1B,IAAI,CAAC,UAAC,MAAM;wBACX,IAAI,MAAM,IAAI,MAAM,CAAC,OAAO,EAAE;4BAC5B,OAAO,0BAAkB,CAAC,mBAAmB,EAAE,CAAA;yBAChD;wBACD,OAAO,IAAI,CAAA;oBACb,CAAC,CAAC,EAAA;;gBAPE,MAAM,GAA4B,SAOpC;gBACJ,IAAI,CAAC,MAAM;oBAAE,sBAAO,2BAAmB,EAAA;gBACjC,YAAY,GAAG,MAAM,CAAC,WAAW,CAAA;gBAEjC,gBAAgB,GAAG,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAA;gBAE5C,eAAe,GAAgB,IAAA,8BAAsB,EACzD,gBAAgB,EAChB,YAAY,CACb,CAAA;gBAED,sBAAO,eAAe,EAAA;;;KACvB,CAAA;AAvBY,QAAA,eAAe,mBAuB3B;AAED,kBAAe,EAAE,0BAA0B,oCAAA,EAAE,eAAe,yBAAA,EAAE,CAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@newskit-render/feature-flags",
3
- "version": "0.3.0",
3
+ "version": "0.4.2",
4
4
  "description": "A package for utilizing feature flags for newskit-render consumers, based on optimizely's capabilities.",
5
5
  "author": "",
6
6
  "license": "UNLICENSED",