@togglely/sdk-core 1.1.11 → 1.2.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/README.md +243 -50
- package/dist/cli.d.ts +10 -0
- package/dist/cli.d.ts.map +1 -0
- package/dist/cli.js +157 -0
- package/dist/cli.js.map +1 -0
- package/dist/index.d.ts +58 -8
- package/dist/index.d.ts.map +1 -1
- package/dist/index.esm.js +105 -53
- package/dist/index.esm.js.map +1 -1
- package/dist/index.js +105 -53
- package/dist/index.js.map +1 -1
- package/package.json +8 -3
package/dist/index.esm.js
CHANGED
|
@@ -1,11 +1,14 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Togglely Core SDK - Framework agnostic
|
|
2
|
+
* Togglely Core SDK - Framework agnostic feature flag management
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
*
|
|
4
|
+
* Features:
|
|
5
|
+
* - Real-time feature flag evaluation
|
|
6
|
+
* - Offline fallback via JSON file, environment variables, or window object
|
|
7
|
+
* - Multi-brand/tenant support
|
|
8
|
+
* - Type-safe flag access
|
|
9
|
+
* - Build-time JSON generation for offline-first deployment
|
|
8
10
|
*/
|
|
11
|
+
// ==================== Togglely Client ====================
|
|
9
12
|
class TogglelyClient {
|
|
10
13
|
constructor(config) {
|
|
11
14
|
this.toggles = new Map();
|
|
@@ -23,6 +26,7 @@ class TogglelyClient {
|
|
|
23
26
|
offlineFallback: true,
|
|
24
27
|
envPrefix: 'TOGGLELY_',
|
|
25
28
|
autoFetch: true,
|
|
29
|
+
offlineJsonPath: undefined,
|
|
26
30
|
...config
|
|
27
31
|
};
|
|
28
32
|
// Initialize event handlers
|
|
@@ -88,30 +92,49 @@ class TogglelyClient {
|
|
|
88
92
|
return this.state.isOffline;
|
|
89
93
|
}
|
|
90
94
|
// ==================== Toggle Accessors ====================
|
|
95
|
+
/**
|
|
96
|
+
* Check if a boolean feature flag is enabled
|
|
97
|
+
* @param key - The flag key
|
|
98
|
+
* @param defaultValue - Default value if flag not found
|
|
99
|
+
* @returns Promise<boolean>
|
|
100
|
+
*/
|
|
91
101
|
async isEnabled(key, defaultValue = false) {
|
|
92
|
-
console.log(`[Togglely SDK] isEnabled("${key}", default=${defaultValue})`);
|
|
93
102
|
const value = await this.getValue(key);
|
|
94
|
-
console.log(`[Togglely SDK] isEnabled result for "${key}":`, value);
|
|
95
103
|
if (value === null) {
|
|
96
|
-
console.log(`[Togglely SDK] "${key}" not found, returning default: ${defaultValue}`);
|
|
97
104
|
return defaultValue;
|
|
98
105
|
}
|
|
99
|
-
|
|
100
|
-
console.log(`[Togglely SDK] "${key}" enabled=${value.enabled}, value=${value.value} → returning ${result}`);
|
|
101
|
-
return result;
|
|
106
|
+
return value.enabled && value.value === true;
|
|
102
107
|
}
|
|
108
|
+
/**
|
|
109
|
+
* Get a string feature flag value
|
|
110
|
+
* @param key - The flag key
|
|
111
|
+
* @param defaultValue - Default value if flag not found or disabled
|
|
112
|
+
* @returns Promise<string>
|
|
113
|
+
*/
|
|
103
114
|
async getString(key, defaultValue = '') {
|
|
104
115
|
const value = await this.getValue(key);
|
|
105
116
|
if (value === null || !value.enabled)
|
|
106
117
|
return defaultValue;
|
|
107
118
|
return String(value.value);
|
|
108
119
|
}
|
|
120
|
+
/**
|
|
121
|
+
* Get a number feature flag value
|
|
122
|
+
* @param key - The flag key
|
|
123
|
+
* @param defaultValue - Default value if flag not found or disabled
|
|
124
|
+
* @returns Promise<number>
|
|
125
|
+
*/
|
|
109
126
|
async getNumber(key, defaultValue = 0) {
|
|
110
127
|
const value = await this.getValue(key);
|
|
111
128
|
if (value === null || !value.enabled)
|
|
112
129
|
return defaultValue;
|
|
113
130
|
return Number(value.value);
|
|
114
131
|
}
|
|
132
|
+
/**
|
|
133
|
+
* Get a JSON feature flag value
|
|
134
|
+
* @param key - The flag key
|
|
135
|
+
* @param defaultValue - Default value if flag not found or disabled
|
|
136
|
+
* @returns Promise<T>
|
|
137
|
+
*/
|
|
115
138
|
async getJSON(key, defaultValue = {}) {
|
|
116
139
|
const value = await this.getValue(key);
|
|
117
140
|
if (value === null || !value.enabled)
|
|
@@ -126,57 +149,41 @@ class TogglelyClient {
|
|
|
126
149
|
}
|
|
127
150
|
return value.value;
|
|
128
151
|
}
|
|
152
|
+
/**
|
|
153
|
+
* Get raw toggle value
|
|
154
|
+
* @param key - The flag key
|
|
155
|
+
* @returns Promise<ToggleValue | null>
|
|
156
|
+
*/
|
|
129
157
|
async getValue(key) {
|
|
130
158
|
// Try cache first - but only if no context is set
|
|
131
159
|
if (Object.keys(this.context).length === 0) {
|
|
132
160
|
const cached = this.toggles.get(key);
|
|
133
161
|
if (cached) {
|
|
134
|
-
console.log(`[Togglely SDK] Cache hit for "${key}":`, cached);
|
|
135
162
|
return cached;
|
|
136
163
|
}
|
|
137
164
|
}
|
|
138
165
|
// Fetch from server
|
|
139
166
|
try {
|
|
140
167
|
const params = new URLSearchParams();
|
|
141
|
-
// Send API key as query parameter (required by backend)
|
|
142
168
|
if (this.config.apiKey)
|
|
143
169
|
params.set('apiKey', this.config.apiKey);
|
|
144
170
|
const brandKey = this.context.tenantId || this.context.brandKey;
|
|
145
171
|
if (brandKey)
|
|
146
172
|
params.set('tenantId', String(brandKey));
|
|
147
|
-
// Always send context if available (needed for targeting rules)
|
|
148
173
|
if (Object.keys(this.context).length > 0) {
|
|
149
174
|
params.set('context', JSON.stringify(this.context));
|
|
150
175
|
}
|
|
151
176
|
const query = params.toString() ? `?${params.toString()}` : '';
|
|
152
177
|
const url = `${this.config.baseUrl}/sdk/flags/${encodeURIComponent(this.config.project)}/${encodeURIComponent(this.config.environment)}/${encodeURIComponent(key)}${query}`;
|
|
153
|
-
console.log(`[Togglely SDK] Fetching: ${url}`);
|
|
154
178
|
const response = await this.fetchWithTimeout(url, { headers: { 'Content-Type': 'application/json' } });
|
|
155
|
-
console.log(`[Togglely SDK] Response status: ${response.status}`);
|
|
156
179
|
if (!response.ok) {
|
|
157
|
-
// Try to get error details from response
|
|
158
|
-
let errorBody = '';
|
|
159
|
-
try {
|
|
160
|
-
errorBody = await response.text();
|
|
161
|
-
console.error(`[Togglely SDK] Error response body:`, errorBody);
|
|
162
|
-
}
|
|
163
|
-
catch { }
|
|
164
180
|
if (response.status === 404) {
|
|
165
|
-
console.log(`[Togglely SDK] Flag "${key}" not found (404)`);
|
|
166
181
|
return null;
|
|
167
182
|
}
|
|
168
|
-
|
|
169
|
-
console.error(`[Togglely SDK] Authentication failed (401) - Check your API key`);
|
|
170
|
-
}
|
|
171
|
-
if (response.status === 403) {
|
|
172
|
-
console.error(`[Togglely SDK] Forbidden (403) - Origin not allowed`);
|
|
173
|
-
}
|
|
174
|
-
throw new Error(`HTTP ${response.status}: ${errorBody || response.statusText}`);
|
|
183
|
+
throw new Error(`HTTP ${response.status}: ${response.statusText}`);
|
|
175
184
|
}
|
|
176
185
|
const data = await response.json();
|
|
177
|
-
console.log(`[Togglely SDK] Received data for "${key}":`, data);
|
|
178
186
|
this.toggles.set(key, data);
|
|
179
|
-
// Update state if we were offline
|
|
180
187
|
if (this.state.isOffline) {
|
|
181
188
|
this.state.isOffline = false;
|
|
182
189
|
this.emit('online');
|
|
@@ -184,20 +191,21 @@ class TogglelyClient {
|
|
|
184
191
|
return data;
|
|
185
192
|
}
|
|
186
193
|
catch (error) {
|
|
187
|
-
|
|
188
|
-
// Try offline fallback only if enabled
|
|
194
|
+
// Try offline fallback
|
|
189
195
|
if (this.config.offlineFallback) {
|
|
190
196
|
const offlineValue = this.getOfflineToggle(key);
|
|
191
197
|
if (offlineValue !== null) {
|
|
192
|
-
console.log(`[Togglely SDK] Using offline fallback for "${key}":`, offlineValue);
|
|
193
198
|
return offlineValue;
|
|
194
199
|
}
|
|
195
200
|
}
|
|
196
|
-
// Return safe default
|
|
197
|
-
console.warn(`[Togglely SDK] Returning default (disabled) for "${key}" due to error`);
|
|
201
|
+
// Return safe default
|
|
198
202
|
return { value: false, enabled: false };
|
|
199
203
|
}
|
|
200
204
|
}
|
|
205
|
+
/**
|
|
206
|
+
* Get all toggles
|
|
207
|
+
* @returns Record<string, ToggleValue>
|
|
208
|
+
*/
|
|
201
209
|
getAllToggles() {
|
|
202
210
|
const result = {};
|
|
203
211
|
this.toggles.forEach((value, key) => {
|
|
@@ -207,12 +215,28 @@ class TogglelyClient {
|
|
|
207
215
|
}
|
|
208
216
|
// ==================== Offline Fallback ====================
|
|
209
217
|
/**
|
|
210
|
-
* Load toggles from
|
|
211
|
-
*
|
|
218
|
+
* Load offline toggles from multiple sources (in priority order):
|
|
219
|
+
* 1. Inline offlineToggles from config
|
|
220
|
+
* 2. JSON file (if offlineJsonPath is set)
|
|
221
|
+
* 3. window.__TOGGLELY_TOGGLES (browser)
|
|
222
|
+
* 4. Environment variables (Node.js)
|
|
212
223
|
*/
|
|
213
224
|
loadOfflineToggles() {
|
|
214
225
|
try {
|
|
215
|
-
//
|
|
226
|
+
// Priority 1: Inline offline toggles from config
|
|
227
|
+
if (this.config.offlineToggles && Object.keys(this.config.offlineToggles).length > 0) {
|
|
228
|
+
for (const [key, value] of Object.entries(this.config.offlineToggles)) {
|
|
229
|
+
this.toggles.set(key, value);
|
|
230
|
+
}
|
|
231
|
+
this.offlineTogglesLoaded = true;
|
|
232
|
+
console.log('[Togglely] Loaded offline toggles from config');
|
|
233
|
+
return;
|
|
234
|
+
}
|
|
235
|
+
// Priority 2: JSON file (browser only - fetch synchronously not possible, will try async)
|
|
236
|
+
if (this.config.offlineJsonPath && typeof window !== 'undefined') {
|
|
237
|
+
this.loadOfflineJsonFile(this.config.offlineJsonPath);
|
|
238
|
+
}
|
|
239
|
+
// Priority 3: Browser environment - check window.__TOGGLELY_TOGGLES
|
|
216
240
|
if (typeof window !== 'undefined' && window.__TOGGLELY_TOGGLES) {
|
|
217
241
|
const offlineToggles = window.__TOGGLELY_TOGGLES;
|
|
218
242
|
for (const [key, value] of Object.entries(offlineToggles)) {
|
|
@@ -222,12 +246,11 @@ class TogglelyClient {
|
|
|
222
246
|
console.log('[Togglely] Loaded offline toggles from window.__TOGGLELY_TOGGLES');
|
|
223
247
|
return;
|
|
224
248
|
}
|
|
225
|
-
// Node.js / Bun / Deno environment - check process.env
|
|
249
|
+
// Priority 4: Node.js / Bun / Deno environment - check process.env
|
|
226
250
|
if (typeof process !== 'undefined' && process.env) {
|
|
227
251
|
const prefix = this.config.envPrefix;
|
|
228
252
|
for (const [envKey, envValue] of Object.entries(process.env)) {
|
|
229
253
|
if (envKey?.startsWith(prefix) && envValue !== undefined) {
|
|
230
|
-
// Parse toggle key: TOGGLELY_MY_FEATURE -> my-feature
|
|
231
254
|
const toggleKey = envKey
|
|
232
255
|
.slice(prefix.length)
|
|
233
256
|
.toLowerCase()
|
|
@@ -243,13 +266,47 @@ class TogglelyClient {
|
|
|
243
266
|
console.warn('[Togglely] Failed to load offline toggles:', error);
|
|
244
267
|
}
|
|
245
268
|
}
|
|
269
|
+
/**
|
|
270
|
+
* Load offline toggles from JSON file (async)
|
|
271
|
+
*/
|
|
272
|
+
async loadOfflineJsonFile(path) {
|
|
273
|
+
try {
|
|
274
|
+
if (typeof window !== 'undefined') {
|
|
275
|
+
// Browser - fetch the JSON file
|
|
276
|
+
const response = await fetch(path);
|
|
277
|
+
if (response.ok) {
|
|
278
|
+
const data = await response.json();
|
|
279
|
+
for (const [key, value] of Object.entries(data)) {
|
|
280
|
+
this.toggles.set(key, this.parseOfflineValue(value));
|
|
281
|
+
}
|
|
282
|
+
this.offlineTogglesLoaded = true;
|
|
283
|
+
console.log('[Togglely] Loaded offline toggles from JSON file:', path);
|
|
284
|
+
}
|
|
285
|
+
}
|
|
286
|
+
else if (typeof require !== 'undefined') {
|
|
287
|
+
// Node.js - require the JSON file
|
|
288
|
+
const fs = require('fs');
|
|
289
|
+
const pathModule = require('path');
|
|
290
|
+
const fullPath = pathModule.resolve(path);
|
|
291
|
+
if (fs.existsSync(fullPath)) {
|
|
292
|
+
const data = JSON.parse(fs.readFileSync(fullPath, 'utf-8'));
|
|
293
|
+
for (const [key, value] of Object.entries(data)) {
|
|
294
|
+
this.toggles.set(key, this.parseOfflineValue(value));
|
|
295
|
+
}
|
|
296
|
+
this.offlineTogglesLoaded = true;
|
|
297
|
+
console.log('[Togglely] Loaded offline toggles from JSON file:', fullPath);
|
|
298
|
+
}
|
|
299
|
+
}
|
|
300
|
+
}
|
|
301
|
+
catch (error) {
|
|
302
|
+
console.warn('[Togglely] Failed to load offline JSON file:', error);
|
|
303
|
+
}
|
|
304
|
+
}
|
|
246
305
|
getOfflineToggle(key) {
|
|
247
306
|
if (!this.config.offlineFallback)
|
|
248
307
|
return null;
|
|
249
|
-
// Try to get from already loaded offline toggles
|
|
250
308
|
const cached = this.toggles.get(key);
|
|
251
309
|
if (cached) {
|
|
252
|
-
// If we haven't emitted offline event yet, do it now
|
|
253
310
|
if (!this.state.isOffline) {
|
|
254
311
|
this.state.isOffline = true;
|
|
255
312
|
this.emit('offline');
|
|
@@ -259,40 +316,37 @@ class TogglelyClient {
|
|
|
259
316
|
return null;
|
|
260
317
|
}
|
|
261
318
|
parseOfflineValue(value) {
|
|
262
|
-
// Handle boolean strings
|
|
263
319
|
if (typeof value === 'string') {
|
|
264
320
|
const lower = value.toLowerCase();
|
|
265
321
|
if (lower === 'true')
|
|
266
322
|
return { value: true, enabled: true };
|
|
267
323
|
if (lower === 'false')
|
|
268
324
|
return { value: false, enabled: true };
|
|
269
|
-
// Try to parse as number
|
|
270
325
|
if (!isNaN(Number(value))) {
|
|
271
326
|
return { value: Number(value), enabled: true };
|
|
272
327
|
}
|
|
273
|
-
// Try to parse as JSON
|
|
274
328
|
try {
|
|
275
329
|
const parsed = JSON.parse(value);
|
|
276
330
|
return { value: parsed, enabled: true };
|
|
277
331
|
}
|
|
278
332
|
catch {
|
|
279
|
-
// Return as string
|
|
280
333
|
return { value, enabled: true };
|
|
281
334
|
}
|
|
282
335
|
}
|
|
283
336
|
return { value, enabled: true };
|
|
284
337
|
}
|
|
285
338
|
// ==================== Refresh / Polling ====================
|
|
339
|
+
/**
|
|
340
|
+
* Refresh all toggles from the server
|
|
341
|
+
*/
|
|
286
342
|
async refresh() {
|
|
287
343
|
try {
|
|
288
344
|
const params = new URLSearchParams();
|
|
289
|
-
// Send API key as query parameter (required by backend)
|
|
290
345
|
if (this.config.apiKey)
|
|
291
346
|
params.set('apiKey', this.config.apiKey);
|
|
292
347
|
const brandKey = this.context.tenantId || this.context.brandKey;
|
|
293
348
|
if (brandKey)
|
|
294
349
|
params.set('tenantId', String(brandKey));
|
|
295
|
-
// Always send context if available (needed for targeting rules)
|
|
296
350
|
if (Object.keys(this.context).length > 0) {
|
|
297
351
|
params.set('context', JSON.stringify(this.context));
|
|
298
352
|
}
|
|
@@ -311,7 +365,6 @@ class TogglelyClient {
|
|
|
311
365
|
this.state.isReady = true;
|
|
312
366
|
this.emit('ready');
|
|
313
367
|
}
|
|
314
|
-
// If we were offline, go online
|
|
315
368
|
if (this.state.isOffline) {
|
|
316
369
|
this.state.isOffline = false;
|
|
317
370
|
this.emit('online');
|
|
@@ -320,7 +373,6 @@ class TogglelyClient {
|
|
|
320
373
|
}
|
|
321
374
|
catch (error) {
|
|
322
375
|
this.state.lastError = error;
|
|
323
|
-
// If we have offline toggles, switch to offline mode
|
|
324
376
|
if (this.config.offlineFallback && this.offlineTogglesLoaded) {
|
|
325
377
|
if (!this.state.isOffline) {
|
|
326
378
|
this.state.isOffline = true;
|
package/dist/index.esm.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.esm.js","sources":["../src/index.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.esm.js","sources":["../src/index.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|