@newskit-render/feature-flags 0.0.0-1cbb2a4f

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.
Files changed (38) hide show
  1. package/README.md +155 -0
  2. package/dist/cjs/__tests__/utils.tests.d.ts +1 -0
  3. package/dist/cjs/__tests__/utils.tests.js +672 -0
  4. package/dist/cjs/__tests__/utils.tests.js.map +1 -0
  5. package/dist/cjs/feature-flags-context.d.ts +9 -0
  6. package/dist/cjs/feature-flags-context.js +44 -0
  7. package/dist/cjs/feature-flags-context.js.map +1 -0
  8. package/dist/cjs/index.d.ts +3 -0
  9. package/dist/cjs/index.js +20 -0
  10. package/dist/cjs/index.js.map +1 -0
  11. package/dist/cjs/optimizelyClient.d.ts +2 -0
  12. package/dist/cjs/optimizelyClient.js +44 -0
  13. package/dist/cjs/optimizelyClient.js.map +1 -0
  14. package/dist/cjs/types.d.ts +33 -0
  15. package/dist/cjs/types.js +48 -0
  16. package/dist/cjs/types.js.map +1 -0
  17. package/dist/cjs/utils.d.ts +3 -0
  18. package/dist/cjs/utils.js +162 -0
  19. package/dist/cjs/utils.js.map +1 -0
  20. package/dist/esm/__tests__/utils.tests.d.ts +1 -0
  21. package/dist/esm/__tests__/utils.tests.js +670 -0
  22. package/dist/esm/__tests__/utils.tests.js.map +1 -0
  23. package/dist/esm/feature-flags-context.d.ts +9 -0
  24. package/dist/esm/feature-flags-context.js +16 -0
  25. package/dist/esm/feature-flags-context.js.map +1 -0
  26. package/dist/esm/index.d.ts +3 -0
  27. package/dist/esm/index.js +4 -0
  28. package/dist/esm/index.js.map +1 -0
  29. package/dist/esm/optimizelyClient.d.ts +2 -0
  30. package/dist/esm/optimizelyClient.js +40 -0
  31. package/dist/esm/optimizelyClient.js.map +1 -0
  32. package/dist/esm/types.d.ts +33 -0
  33. package/dist/esm/types.js +45 -0
  34. package/dist/esm/types.js.map +1 -0
  35. package/dist/esm/utils.d.ts +3 -0
  36. package/dist/esm/utils.js +157 -0
  37. package/dist/esm/utils.js.map +1 -0
  38. package/package.json +64 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.tests.js","sourceRoot":"","sources":["../../../src/__tests__/utils.tests.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ import React from 'react';
2
+ import { ContextOptions, ContextProviderProps } from './types';
3
+ export declare const FeatureFlagsContextProvider: React.FC<ContextProviderProps>;
4
+ export declare const useFeatureFlagsContext: () => ContextOptions;
5
+ declare const _default: {
6
+ FeatureFlagsContextProvider: React.FC<ContextProviderProps>;
7
+ useFeatureFlagsContext: () => ContextOptions;
8
+ };
9
+ export default _default;
@@ -0,0 +1,16 @@
1
+ import React, { createContext, useContext } from 'react';
2
+ import { MissingFeatureFlagsProvider, } from './types';
3
+ var FeatureFlagsContext = createContext(null);
4
+ export var FeatureFlagsContextProvider = function (_a) {
5
+ var context = _a.context, children = _a.children;
6
+ return (React.createElement(FeatureFlagsContext.Provider, { value: context }, children));
7
+ };
8
+ export var useFeatureFlagsContext = function () {
9
+ var featureFlagsContext = useContext(FeatureFlagsContext);
10
+ if (!featureFlagsContext) {
11
+ throw new MissingFeatureFlagsProvider();
12
+ }
13
+ return featureFlagsContext;
14
+ };
15
+ export default { FeatureFlagsContextProvider: FeatureFlagsContextProvider, useFeatureFlagsContext: useFeatureFlagsContext };
16
+ //# sourceMappingURL=feature-flags-context.js.map
@@ -0,0 +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"}
@@ -0,0 +1,3 @@
1
+ export * from './feature-flags-context';
2
+ export * from './utils';
3
+ export * from './types';
@@ -0,0 +1,4 @@
1
+ export * from './feature-flags-context';
2
+ export * from './utils';
3
+ export * from './types';
4
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,yBAAyB,CAAA;AACvC,cAAc,SAAS,CAAA;AACvB,cAAc,SAAS,CAAA"}
@@ -0,0 +1,2 @@
1
+ import { SDKConfig, OptimizelyClient } from './types';
2
+ export declare const getOptimizelyClient: (options?: SDKConfig) => OptimizelyClient;
@@ -0,0 +1,40 @@
1
+ var __assign = (this && this.__assign) || function () {
2
+ __assign = Object.assign || function(t) {
3
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
4
+ s = arguments[i];
5
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
6
+ t[p] = s[p];
7
+ }
8
+ return t;
9
+ };
10
+ return __assign.apply(this, arguments);
11
+ };
12
+ import { createInstance, logging, setLogLevel, setLogger, } from '@optimizely/optimizely-sdk';
13
+ // export const _resetInstance = (): void => {
14
+ // optimizelyClient = null
15
+ // }
16
+ // let optimizelyClient: OptimizelyClient
17
+ export var getOptimizelyClient = function (options) {
18
+ var _a;
19
+ var sdkKey = ((_a = options === null || options === void 0 ? void 0 : options.sdkConfig) === null || _a === void 0 ? void 0 : _a.sdkKey) || process.env.OPTIMIZELY_SDK_KEY;
20
+ if (!sdkKey) {
21
+ console.error('@newskit-render/feature-flags: Missing configuration. Please provide optimizely sdk key in the environment variables.');
22
+ return null;
23
+ }
24
+ // if (!optimizelyClient) {
25
+ // // Added for debugging. TO DO - remove
26
+ // console.log('MISSING INSTANCE. createInstance called')
27
+ // const config: Config = { sdkKey }
28
+ // optimizelyClient = createInstance({
29
+ // ...config,
30
+ // })
31
+ // }
32
+ var config = { sdkKey: sdkKey };
33
+ var optimizelyClient = createInstance(__assign({}, config));
34
+ if (options === null || options === void 0 ? void 0 : options.logLevel) {
35
+ setLogLevel(options === null || options === void 0 ? void 0 : options.logLevel);
36
+ setLogger(logging.createLogger());
37
+ }
38
+ return optimizelyClient;
39
+ };
40
+ //# sourceMappingURL=optimizelyClient.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"optimizelyClient.js","sourceRoot":"","sources":["../../src/optimizelyClient.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA,OAAO,EACL,cAAc,EAEd,OAAO,EACP,WAAW,EACX,SAAS,GACV,MAAM,4BAA4B,CAAA;AAGnC,8CAA8C;AAC9C,4BAA4B;AAC5B,IAAI;AAEJ,yCAAyC;AAEzC,MAAM,CAAC,IAAM,mBAAmB,GAAG,UAAC,OAAmB;;IACrD,IAAM,MAAM,GAAG,CAAA,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,SAAS,0CAAE,MAAM,KAAI,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAA;IAE3E,IAAI,CAAC,MAAM,EAAE;QACX,OAAO,CAAC,KAAK,CACX,uHAAuH,CACxH,CAAA;QACD,OAAO,IAAI,CAAA;KACZ;IAED,2BAA2B;IAC3B,2CAA2C;IAC3C,2DAA2D;IAC3D,sCAAsC;IACtC,wCAAwC;IACxC,iBAAiB;IACjB,OAAO;IACP,IAAI;IAEJ,IAAM,MAAM,GAAW,EAAE,MAAM,QAAA,EAAE,CAAA;IACjC,IAAM,gBAAgB,GAAG,cAAc,cAClC,MAAM,EACT,CAAA;IAEF,IAAI,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,QAAQ,EAAE;QACrB,WAAW,CAAC,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,QAAQ,CAAC,CAAA;QAC9B,SAAS,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC,CAAA;KAClC;IAED,OAAO,gBAAgB,CAAA;AACzB,CAAC,CAAA"}
@@ -0,0 +1,33 @@
1
+ import { ReactNode } from 'react';
2
+ import { Config, UserAttributes, OptimizelyDecideOption, Client } from '@optimizely/optimizely-sdk';
3
+ export interface ContextOptions {
4
+ featureFlags?: Flags;
5
+ }
6
+ export interface ContextProviderProps {
7
+ children: ReactNode;
8
+ context: ContextOptions;
9
+ }
10
+ export type Flags = {
11
+ [key: string]: {
12
+ variationKey: string | null;
13
+ enabled: boolean;
14
+ variables: {
15
+ [variableKey: string]: unknown;
16
+ };
17
+ };
18
+ };
19
+ export type OptimizelyClient = Client | null;
20
+ export type SDKConfig = {
21
+ sdkConfig?: Config;
22
+ logLevel?: 'critical' | 'error' | 'warning' | 'debug' | 'info';
23
+ userData?: {
24
+ userId?: string;
25
+ attributes?: UserAttributes;
26
+ };
27
+ defaultFeatureFlags?: Flags;
28
+ includeFlagVariables?: boolean;
29
+ decideOptions?: OptimizelyDecideOption[];
30
+ };
31
+ export declare class MissingFeatureFlagsProvider extends Error {
32
+ constructor();
33
+ }
@@ -0,0 +1,45 @@
1
+ var __extends = (this && this.__extends) || (function () {
2
+ var extendStatics = function (d, b) {
3
+ extendStatics = Object.setPrototypeOf ||
4
+ ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
5
+ function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
6
+ return extendStatics(d, b);
7
+ };
8
+ return function (d, b) {
9
+ if (typeof b !== "function" && b !== null)
10
+ throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
11
+ extendStatics(d, b);
12
+ function __() { this.constructor = d; }
13
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
14
+ };
15
+ })();
16
+ // export class MissingConfigurationError extends Error {
17
+ // constructor() {
18
+ // super(
19
+ // '@newskit-render/feature-flags: Missing configuration. Please provide optimizely sdk key in the environment variables.'
20
+ // )
21
+ // }
22
+ // }
23
+ // export class MissingInstanceError extends Error {
24
+ // constructor() {
25
+ // super(
26
+ // '@newskit-render/feature-flags: Missing optimizely instance. Please call getFlagsAll, getFlag or getFlagsByKeys'
27
+ // )
28
+ // }
29
+ // }
30
+ // export class MissingUserContextError extends Error {
31
+ // constructor() {
32
+ // super(
33
+ // '@newskit-render/feature-flags: Missing optimizely user context. Please call getFlagsAll, getFlag or getFlagsByKeys'
34
+ // )
35
+ // }
36
+ // }
37
+ var MissingFeatureFlagsProvider = /** @class */ (function (_super) {
38
+ __extends(MissingFeatureFlagsProvider, _super);
39
+ function MissingFeatureFlagsProvider() {
40
+ return _super.call(this, '@newskit-render/feature-flags: useFeatureFlagsContext was used outside of FeatureFlagsContextProvider') || this;
41
+ }
42
+ return MissingFeatureFlagsProvider;
43
+ }(Error));
44
+ export { MissingFeatureFlagsProvider };
45
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAyCA,yDAAyD;AACzD,oBAAoB;AACpB,aAAa;AACb,gIAAgI;AAChI,QAAQ;AACR,MAAM;AACN,IAAI;AAEJ,oDAAoD;AACpD,oBAAoB;AACpB,aAAa;AACb,yHAAyH;AACzH,QAAQ;AACR,MAAM;AACN,IAAI;AAEJ,uDAAuD;AACvD,oBAAoB;AACpB,aAAa;AACb,6HAA6H;AAC7H,QAAQ;AACR,MAAM;AACN,IAAI;AAEJ;IAAiD,+CAAK;IACpD;eACE,kBACE,uGAAuG,CACxG;IACH,CAAC;IACH,kCAAC;AAAD,CAAC,AAND,CAAiD,KAAK,GAMrD"}
@@ -0,0 +1,3 @@
1
+ import { Flags, SDKConfig } from './types';
2
+ export declare const getAllFeatureFlags: (options?: SDKConfig) => Promise<Flags>;
3
+ export declare const getFeatureFlagsByKeys: (keys: string[], options?: SDKConfig) => Promise<Flags>;
@@ -0,0 +1,157 @@
1
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
+ return new (P || (P = Promise))(function (resolve, reject) {
4
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
8
+ });
9
+ };
10
+ var __generator = (this && this.__generator) || function (thisArg, body) {
11
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
12
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
13
+ function verb(n) { return function (v) { return step([n, v]); }; }
14
+ function step(op) {
15
+ if (f) throw new TypeError("Generator is already executing.");
16
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
17
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
18
+ if (y = 0, t) op = [op[0] & 2, t.value];
19
+ switch (op[0]) {
20
+ case 0: case 1: t = op; break;
21
+ case 4: _.label++; return { value: op[1], done: false };
22
+ case 5: _.label++; y = op[1]; op = [0]; continue;
23
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
24
+ default:
25
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
26
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
27
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
28
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
29
+ if (t[2]) _.ops.pop();
30
+ _.trys.pop(); continue;
31
+ }
32
+ op = body.call(thisArg, _);
33
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
34
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
35
+ }
36
+ };
37
+ import { getOptimizelyClient } from './optimizelyClient';
38
+ // let optimizelyClient: Client | null
39
+ // let user: OptimizelyUserContext | null
40
+ // let optimizelyClientReady = true
41
+ // TO DO: Update ReadMe
42
+ // TO DO: Improve TS
43
+ // TO DO: Investigate loading feature fags directly on the client
44
+ var createUserContext = function (optimizelyClient, options) {
45
+ var _a, _b;
46
+ // Added for debugging. TO DO - remove
47
+ console.log('Creating new user. createUserContext called');
48
+ var defaultUserId = 'default_userId';
49
+ var userId = ((_a = options === null || options === void 0 ? void 0 : options.userData) === null || _a === void 0 ? void 0 : _a.userId) || defaultUserId;
50
+ var attributes = (_b = options === null || options === void 0 ? void 0 : options.userData) === null || _b === void 0 ? void 0 : _b.attributes;
51
+ var userContext = optimizelyClient.createUserContext(userId, attributes);
52
+ return userContext;
53
+ };
54
+ // const createOptimizelyInstance = (options?: SDKConfig) => {
55
+ // const sdkKey = options?.sdkConfig?.sdkKey || process.env.OPTIMIZELY_SDK_KEY
56
+ // if (!sdkKey) {
57
+ // console.error(
58
+ // '@newskit-render/feature-flags: Missing configuration. Please provide optimizely sdk key in the environment variables.'
59
+ // )
60
+ // return
61
+ // }
62
+ // // TO DO: We are loading data file options without file url. This should be extended or removed
63
+ // // const defaultConfig: Config = {
64
+ // // datafileOptions: {
65
+ // // autoUpdate: true,
66
+ // // updateInterval: 300000,
67
+ // // },
68
+ // // }
69
+ // const config: Config = { sdkKey }
70
+ // const optimizely: Client | null = createInstance({
71
+ // // ...defaultConfig,
72
+ // ...config,
73
+ // })
74
+ // if (options?.logLevel) {
75
+ // setLogLevel(options?.logLevel)
76
+ // setLogger(logging.createLogger())
77
+ // }
78
+ // optimizelyClient = optimizely
79
+ // }
80
+ var initializeAndStartInstance = function (options) { return __awaiter(void 0, void 0, void 0, function () {
81
+ var optimizelyClient, _a, success, reason;
82
+ return __generator(this, function (_b) {
83
+ switch (_b.label) {
84
+ case 0:
85
+ optimizelyClient = getOptimizelyClient(options);
86
+ if (!optimizelyClient) {
87
+ console.error('@newskit-render/feature-flags: Missing optimizely instance.');
88
+ return [2 /*return*/, null];
89
+ }
90
+ return [4 /*yield*/, optimizelyClient.onReady({ timeout: 3000 })];
91
+ case 1:
92
+ _a = _b.sent(), success = _a.success, reason = _a.reason;
93
+ if (!success) {
94
+ // optimizelyClientReady = false
95
+ console.error("client initialization unsuccessful, reason: ".concat(reason));
96
+ return [2 /*return*/, null];
97
+ }
98
+ return [2 /*return*/, optimizelyClient
99
+ // createUserContext(userId, attributes)
100
+ // // TO DO: this check should be moved to the createUserContext function
101
+ // if (!user) {
102
+ // throw new MissingUserContextError()
103
+ // }
104
+ ];
105
+ }
106
+ });
107
+ }); };
108
+ var remapFlagInfo = function (flags, options) {
109
+ if (!flags)
110
+ return (options === null || options === void 0 ? void 0 : options.defaultFeatureFlags) || {};
111
+ var flagKeys = flags.flagKey ? [flags.flagKey] : Object.keys(flags);
112
+ return flagKeys.reduce(function (acc, flagKey) {
113
+ var decision = flags.flagKey ? flags : flags[flagKey];
114
+ if (options === null || options === void 0 ? void 0 : options.includeFlagVariables) {
115
+ acc[flagKey] = {
116
+ variationKey: decision.variationKey,
117
+ enabled: decision.enabled,
118
+ variables: decision.variables,
119
+ };
120
+ }
121
+ else {
122
+ acc[flagKey] = decision.enabled;
123
+ }
124
+ return acc;
125
+ }, {});
126
+ };
127
+ export var getAllFeatureFlags = function (options) { return __awaiter(void 0, void 0, void 0, function () {
128
+ var optimizelyClient, user, decisions;
129
+ return __generator(this, function (_a) {
130
+ switch (_a.label) {
131
+ case 0: return [4 /*yield*/, initializeAndStartInstance(options)];
132
+ case 1:
133
+ optimizelyClient = _a.sent();
134
+ if (!optimizelyClient)
135
+ return [2 /*return*/, (options === null || options === void 0 ? void 0 : options.defaultFeatureFlags) || {}];
136
+ user = createUserContext(optimizelyClient, options);
137
+ decisions = user.decideAll(options === null || options === void 0 ? void 0 : options.decideOptions);
138
+ return [2 /*return*/, remapFlagInfo(decisions, options)];
139
+ }
140
+ });
141
+ }); };
142
+ export var getFeatureFlagsByKeys = function (keys, options) { return __awaiter(void 0, void 0, void 0, function () {
143
+ var optimizelyClient, user, decisions;
144
+ return __generator(this, function (_a) {
145
+ switch (_a.label) {
146
+ case 0: return [4 /*yield*/, initializeAndStartInstance(options)];
147
+ case 1:
148
+ optimizelyClient = _a.sent();
149
+ if (!optimizelyClient)
150
+ return [2 /*return*/, (options === null || options === void 0 ? void 0 : options.defaultFeatureFlags) || {}];
151
+ user = createUserContext(optimizelyClient, options);
152
+ decisions = user.decideForKeys(keys, options === null || options === void 0 ? void 0 : options.decideOptions);
153
+ return [2 /*return*/, remapFlagInfo(decisions, options)];
154
+ }
155
+ });
156
+ }); };
157
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":"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"}
package/package.json ADDED
@@ -0,0 +1,64 @@
1
+ {
2
+ "name": "@newskit-render/feature-flags",
3
+ "version": "0.0.0-1cbb2a4f",
4
+ "description": "A package for utilizing feature flags for newskit-render consumers, based on optimizely's capabilities.",
5
+ "author": "",
6
+ "license": "UNLICENSED",
7
+ "keywords": [],
8
+ "module": "dist/esm/index.js",
9
+ "main": "dist/cjs/index.js",
10
+ "types": "dist/esm/index.d.ts",
11
+ "sideEffects": false,
12
+ "engines": {
13
+ "node": ">=16.13"
14
+ },
15
+ "scripts": {
16
+ "build": "rm -rf dist && tsc -p tsconfig.build.json && tsc -p tsconfig.build.json --module CommonJS --outDir './dist/cjs'",
17
+ "build:watch": "tsc -b tsconfig.build.json -w",
18
+ "test:unit:watch": "jest --watch",
19
+ "test:unit": "jest",
20
+ "lint": "eslint --ext .js,.jsx,.ts,.tsx . --color",
21
+ "lint:fix": "eslint --ext .js,.jsx,.ts,.tsx . --color --fix && prettier --write './**/*.{js,jsx,ts,tsx,json}'",
22
+ "clean": "rm -rf node_modules & rm -f package-lock.json & rm -f yarn.lock",
23
+ "test:unit:ci": "JEST_JUNIT_OUTPUT_NAME=feature-flags.xml jest --ci --reporters=default --reporters=jest-junit"
24
+ },
25
+ "dependencies": {
26
+ "@optimizely/optimizely-sdk": "5.3.3"
27
+ },
28
+ "devDependencies": {
29
+ "@babel/polyfill": "7.12.1",
30
+ "@babel/register": "7.18.9",
31
+ "@testing-library/react-hooks": "7.0.2",
32
+ "@types/jest": "29.5.5",
33
+ "@types/react": "18.0.26",
34
+ "@types/react-dom": "18.0.10",
35
+ "@typescript-eslint/eslint-plugin": "5.51.0",
36
+ "@typescript-eslint/parser": "5.51.0",
37
+ "eslint": "8.34.0",
38
+ "eslint-config-prettier": "8.6.0",
39
+ "eslint-plugin-prettier": "4.2.1",
40
+ "eslint-plugin-react": "7.31.11",
41
+ "jest": "29.7.0",
42
+ "jest-environment-jsdom": "29.7.0",
43
+ "jest-junit": "15.0.0",
44
+ "prettier": "2.8.1",
45
+ "react": "18.2.0",
46
+ "react-dom": "18.2.0",
47
+ "ts-jest": "29.1.1",
48
+ "typescript": "4.9.4"
49
+ },
50
+ "peerDependencies": {
51
+ "react": ">= 17.0.2 <= 18.2.0",
52
+ "react-dom": ">= 17.0.2 <= 18.2.0"
53
+ },
54
+ "resolutions": {
55
+ "@types/react": "18.0.26",
56
+ "@types/react-dom": "18.0.10"
57
+ },
58
+ "files": [
59
+ "dist"
60
+ ],
61
+ "publishConfig": {
62
+ "access": "public"
63
+ }
64
+ }