@togglely/sdk-core 1.1.6 → 1.1.8

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.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.test.js","sourceRoot":"","sources":["../../src/__tests__/index.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,17 @@
1
+ /**
2
+ * Integration Tests for Togglely SDK
3
+ *
4
+ * These tests run against the actual Docker backend container.
5
+ * They verify:
6
+ * 1. SDK can fetch flags from the API
7
+ * 2. CORS origin validation works correctly
8
+ * 3. Multi-tenant brand resolution works
9
+ *
10
+ * Prerequisites:
11
+ * - Backend container must be running on localhost:4000
12
+ * - Demo data must be seeded
13
+ *
14
+ * Run with: npm run test:integration
15
+ */
16
+ export {};
17
+ //# sourceMappingURL=integration.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"integration.test.d.ts","sourceRoot":"","sources":["../../src/__tests__/integration.test.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG"}
@@ -0,0 +1,304 @@
1
+ /**
2
+ * Integration Tests for Togglely SDK
3
+ *
4
+ * These tests run against the actual Docker backend container.
5
+ * They verify:
6
+ * 1. SDK can fetch flags from the API
7
+ * 2. CORS origin validation works correctly
8
+ * 3. Multi-tenant brand resolution works
9
+ *
10
+ * Prerequisites:
11
+ * - Backend container must be running on localhost:4000
12
+ * - Demo data must be seeded
13
+ *
14
+ * Run with: npm run test:integration
15
+ */
16
+ import { TogglelyClient } from '../index';
17
+ // Test configuration - matches demo data
18
+ const TEST_API_URL = 'http://localhost:4000';
19
+ const TEST_API_KEY = 'togglely_demo_simple_key'; // Simple Web App project
20
+ const TEST_PROJECT = 'simple-web-app';
21
+ const TEST_ENVIRONMENT = 'development';
22
+ // Multi-tenant test config
23
+ const TEST_MT_API_KEY = 'togglely_demo_saas_key'; // Multi-Tenant SaaS project
24
+ const TEST_MT_PROJECT = 'multi-tenant-saas';
25
+ // Helper to wait for SDK to be ready
26
+ const waitForReady = (client, timeout = 5000) => {
27
+ return new Promise((resolve, reject) => {
28
+ const startTime = Date.now();
29
+ const checkReady = () => {
30
+ const state = client.getState();
31
+ if (state.isReady) {
32
+ resolve();
33
+ return;
34
+ }
35
+ if (Date.now() - startTime > timeout) {
36
+ reject(new Error('SDK failed to become ready within timeout'));
37
+ return;
38
+ }
39
+ setTimeout(checkReady, 100);
40
+ };
41
+ checkReady();
42
+ });
43
+ };
44
+ describe('Togglely SDK Integration Tests', () => {
45
+ let client;
46
+ afterEach(() => {
47
+ client?.destroy();
48
+ });
49
+ describe('Basic Connectivity', () => {
50
+ it('should successfully connect and fetch flags from Docker backend', async () => {
51
+ client = new TogglelyClient({
52
+ apiKey: TEST_API_KEY,
53
+ baseUrl: TEST_API_URL,
54
+ project: TEST_PROJECT,
55
+ environment: TEST_ENVIRONMENT,
56
+ autoFetch: true,
57
+ });
58
+ await waitForReady(client);
59
+ // Verify SDK fetched flags
60
+ const toggles = client.getAllToggles();
61
+ expect(Object.keys(toggles).length).toBeGreaterThan(0);
62
+ // Verify we can get flag values
63
+ const toggleValue = await client.getValue('new-dashboard');
64
+ expect(toggleValue).not.toBeNull();
65
+ expect(typeof toggleValue?.value).toBe('boolean');
66
+ console.log('Successfully fetched toggles:', Object.keys(toggles));
67
+ });
68
+ it('should return correct flag values', async () => {
69
+ client = new TogglelyClient({
70
+ apiKey: TEST_API_KEY,
71
+ baseUrl: TEST_API_URL,
72
+ project: TEST_PROJECT,
73
+ environment: TEST_ENVIRONMENT,
74
+ autoFetch: true,
75
+ });
76
+ await waitForReady(client);
77
+ // Test boolean flags
78
+ const darkMode = await client.getValue('dark-mode');
79
+ expect(darkMode).not.toBeNull();
80
+ expect(typeof darkMode?.value).toBe('boolean');
81
+ expect(typeof darkMode?.enabled).toBe('boolean');
82
+ });
83
+ it('should handle offline mode gracefully when backend is unreachable', async () => {
84
+ client = new TogglelyClient({
85
+ apiKey: TEST_API_KEY,
86
+ baseUrl: 'http://localhost:99999', // Invalid port
87
+ project: TEST_PROJECT,
88
+ environment: TEST_ENVIRONMENT,
89
+ autoFetch: true,
90
+ offlineFallback: true,
91
+ });
92
+ // Wait for offline mode
93
+ await new Promise(resolve => setTimeout(resolve, 2000));
94
+ const state = client.getState();
95
+ // Should be offline or have error
96
+ expect(state.isOffline || state.lastError !== null).toBe(true);
97
+ });
98
+ });
99
+ describe('CORS Origin Validation', () => {
100
+ it('should successfully fetch when origin is allowed', async () => {
101
+ // The demo project has allowedOrigins: [] initially (allows all)
102
+ client = new TogglelyClient({
103
+ apiKey: TEST_API_KEY,
104
+ baseUrl: TEST_API_URL,
105
+ project: TEST_PROJECT,
106
+ environment: TEST_ENVIRONMENT,
107
+ autoFetch: true,
108
+ });
109
+ await waitForReady(client);
110
+ const toggles = client.getAllToggles();
111
+ expect(Object.keys(toggles).length).toBeGreaterThan(0);
112
+ console.log('Origin validation passed - toggles fetched successfully');
113
+ });
114
+ it('should track SDK connection state correctly', async () => {
115
+ const stateUpdates = [];
116
+ client = new TogglelyClient({
117
+ apiKey: TEST_API_KEY,
118
+ baseUrl: TEST_API_URL,
119
+ project: TEST_PROJECT,
120
+ environment: TEST_ENVIRONMENT,
121
+ autoFetch: true,
122
+ });
123
+ client.on('update', () => {
124
+ stateUpdates.push('updated');
125
+ });
126
+ // Wait for initialization
127
+ await new Promise(resolve => setTimeout(resolve, 1500));
128
+ // Check SDK state
129
+ const state = client.getState();
130
+ console.log('SDK State:', state);
131
+ // State should be ready or offline
132
+ expect(state.isReady || state.isOffline).toBe(true);
133
+ });
134
+ });
135
+ describe('Multi-Tenant Brand Resolution', () => {
136
+ it('should fetch flags with brand context', async () => {
137
+ client = new TogglelyClient({
138
+ apiKey: TEST_MT_API_KEY,
139
+ baseUrl: TEST_API_URL,
140
+ project: TEST_MT_PROJECT,
141
+ environment: TEST_ENVIRONMENT,
142
+ autoFetch: true,
143
+ });
144
+ // Set brand context
145
+ client.setContext({
146
+ tenantId: 'acme-corp', // One of the demo brands
147
+ });
148
+ await waitForReady(client);
149
+ const toggles = client.getAllToggles();
150
+ expect(Object.keys(toggles).length).toBeGreaterThan(0);
151
+ console.log('Multi-tenant toggles fetched for brand:', Object.keys(toggles));
152
+ });
153
+ it('should include tenantId in API requests', async () => {
154
+ let requestUrl = '';
155
+ // Mock fetch to capture URL
156
+ const originalFetch = global.fetch;
157
+ global.fetch = jest.fn(async (url, init) => {
158
+ if (typeof url === 'string' && url.includes('/sdk/')) {
159
+ requestUrl = url;
160
+ }
161
+ return originalFetch(url, init);
162
+ });
163
+ client = new TogglelyClient({
164
+ apiKey: TEST_MT_API_KEY,
165
+ baseUrl: TEST_API_URL,
166
+ project: TEST_MT_PROJECT,
167
+ environment: TEST_ENVIRONMENT,
168
+ autoFetch: true,
169
+ });
170
+ client.setContext({
171
+ tenantId: 'startup-inc',
172
+ });
173
+ await new Promise(resolve => setTimeout(resolve, 2000));
174
+ // Restore fetch
175
+ global.fetch = originalFetch;
176
+ console.log('Request URL:', requestUrl);
177
+ // Check if tenantId was included in the URL
178
+ if (requestUrl) {
179
+ expect(requestUrl.includes('startup-inc') || requestUrl.includes('context=')).toBe(true);
180
+ }
181
+ });
182
+ it('should handle different brands', async () => {
183
+ // Create client for first brand
184
+ const client1 = new TogglelyClient({
185
+ apiKey: TEST_MT_API_KEY,
186
+ baseUrl: TEST_API_URL,
187
+ project: TEST_MT_PROJECT,
188
+ environment: TEST_ENVIRONMENT,
189
+ autoFetch: true,
190
+ });
191
+ client1.setContext({ tenantId: 'acme-corp' });
192
+ await waitForReady(client1);
193
+ const toggles1 = client1.getAllToggles();
194
+ client1.destroy();
195
+ // Create client for second brand
196
+ const client2 = new TogglelyClient({
197
+ apiKey: TEST_MT_API_KEY,
198
+ baseUrl: TEST_API_URL,
199
+ project: TEST_MT_PROJECT,
200
+ environment: TEST_ENVIRONMENT,
201
+ autoFetch: true,
202
+ });
203
+ client2.setContext({ tenantId: 'startup-inc' });
204
+ await waitForReady(client2);
205
+ const toggles2 = client2.getAllToggles();
206
+ client2.destroy();
207
+ // Both should have toggles
208
+ expect(Object.keys(toggles1).length).toBeGreaterThan(0);
209
+ expect(Object.keys(toggles2).length).toBeGreaterThan(0);
210
+ console.log('Brand 1 toggles:', Object.keys(toggles1));
211
+ console.log('Brand 2 toggles:', Object.keys(toggles2));
212
+ });
213
+ });
214
+ describe('SDK Event Handling', () => {
215
+ it('should trigger ready event when ready', async () => {
216
+ let readyCalled = false;
217
+ client = new TogglelyClient({
218
+ apiKey: TEST_API_KEY,
219
+ baseUrl: TEST_API_URL,
220
+ project: TEST_PROJECT,
221
+ environment: TEST_ENVIRONMENT,
222
+ autoFetch: true,
223
+ });
224
+ client.on('ready', () => {
225
+ readyCalled = true;
226
+ });
227
+ await waitForReady(client);
228
+ // Wait a bit for callback
229
+ await new Promise(resolve => setTimeout(resolve, 500));
230
+ expect(readyCalled).toBe(true);
231
+ });
232
+ it('should trigger error event on connection failure', async () => {
233
+ let errorCalled = false;
234
+ client = new TogglelyClient({
235
+ apiKey: 'invalid-key',
236
+ baseUrl: TEST_API_URL,
237
+ project: TEST_PROJECT,
238
+ environment: TEST_ENVIRONMENT,
239
+ autoFetch: true,
240
+ });
241
+ client.on('error', () => {
242
+ errorCalled = true;
243
+ });
244
+ // Wait for error
245
+ await new Promise(resolve => setTimeout(resolve, 2000));
246
+ // Error should be called or SDK should be offline
247
+ const state = client.getState();
248
+ expect(errorCalled || state.lastError !== null || state.isOffline).toBe(true);
249
+ });
250
+ });
251
+ describe('Refresh and Updates', () => {
252
+ it('should manually refresh toggles', async () => {
253
+ client = new TogglelyClient({
254
+ apiKey: TEST_API_KEY,
255
+ baseUrl: TEST_API_URL,
256
+ project: TEST_PROJECT,
257
+ environment: TEST_ENVIRONMENT,
258
+ autoFetch: false, // Don't auto-fetch
259
+ });
260
+ // Initially no toggles
261
+ let toggles = client.getAllToggles();
262
+ expect(Object.keys(toggles).length).toBe(0);
263
+ // Manually refresh
264
+ await client.refresh();
265
+ // Now should have toggles (or be offline)
266
+ toggles = client.getAllToggles();
267
+ const state = client.getState();
268
+ expect(Object.keys(toggles).length > 0 || state.isOffline).toBe(true);
269
+ });
270
+ it('should update context dynamically', async () => {
271
+ client = new TogglelyClient({
272
+ apiKey: TEST_MT_API_KEY,
273
+ baseUrl: TEST_API_URL,
274
+ project: TEST_MT_PROJECT,
275
+ environment: TEST_ENVIRONMENT,
276
+ autoFetch: true,
277
+ });
278
+ client.setContext({ tenantId: 'acme-corp' });
279
+ await waitForReady(client);
280
+ // Update context
281
+ client.setContext({ tenantId: 'startup-inc' });
282
+ // Refresh with new context
283
+ await client.refresh();
284
+ const toggles = client.getAllToggles();
285
+ expect(Object.keys(toggles).length).toBeGreaterThan(0);
286
+ });
287
+ });
288
+ });
289
+ // Health check test to verify backend is running
290
+ describe('Backend Health Check', () => {
291
+ it('should confirm backend is accessible', async () => {
292
+ try {
293
+ const response = await fetch(`${TEST_API_URL}/health`);
294
+ expect(response.ok).toBe(true);
295
+ console.log('Backend is healthy and accessible');
296
+ }
297
+ catch (error) {
298
+ console.error('Backend is not accessible at', TEST_API_URL);
299
+ console.error('Make sure Docker containers are running: docker-compose up -d');
300
+ throw error;
301
+ }
302
+ });
303
+ });
304
+ //# sourceMappingURL=integration.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"integration.test.js","sourceRoot":"","sources":["../../src/__tests__/integration.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ //# sourceMappingURL=setup.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"setup.d.ts","sourceRoot":"","sources":["../../src/__tests__/setup.ts"],"names":[],"mappings":""}
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ // Test setup
3
+ global.fetch = jest.fn();
4
+ // Mock process.env
5
+ process.env.TOGGLELY_TEST_FEATURE = 'true';
6
+ process.env.TOGGLELY_API_URL = 'https://api.test.com';
7
+ //# sourceMappingURL=setup.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"setup.js","sourceRoot":"","sources":["../../src/__tests__/setup.ts"],"names":[],"mappings":";AAAA,aAAa;AACb,MAAM,CAAC,KAAK,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;AAEzB,mBAAmB;AACnB,OAAO,CAAC,GAAG,CAAC,qBAAqB,GAAG,MAAM,CAAC;AAC3C,OAAO,CAAC,GAAG,CAAC,gBAAgB,GAAG,sBAAsB,CAAC"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Integration Test: String Flag Value Bug
3
+ *
4
+ * This test reproduces the issue where a STRING flag with value "hallo"
5
+ * returns "false" instead of the actual value.
6
+ */
7
+ export {};
8
+ //# sourceMappingURL=string-flag-value.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"string-flag-value.test.d.ts","sourceRoot":"","sources":["../../src/__tests__/string-flag-value.test.ts"],"names":[],"mappings":"AAAA;;;;;GAKG"}
@@ -0,0 +1,96 @@
1
+ /**
2
+ * Integration Test: String Flag Value Bug
3
+ *
4
+ * This test reproduces the issue where a STRING flag with value "hallo"
5
+ * returns "false" instead of the actual value.
6
+ */
7
+ import { TogglelyClient } from '../index';
8
+ const TEST_API_URL = 'http://localhost:4000';
9
+ const TEST_API_KEY = 'togglely_demo_saas_key';
10
+ const TEST_PROJECT = 'multi-tenant-saas';
11
+ const TEST_ENVIRONMENT = 'development';
12
+ describe('String Flag Value Bug', () => {
13
+ let client;
14
+ beforeEach(() => {
15
+ client = new TogglelyClient({
16
+ apiKey: TEST_API_KEY,
17
+ baseUrl: TEST_API_URL,
18
+ project: TEST_PROJECT,
19
+ environment: TEST_ENVIRONMENT,
20
+ autoFetch: false,
21
+ });
22
+ });
23
+ afterEach(() => {
24
+ client.destroy();
25
+ });
26
+ it('should return correct string value for existing flag', async () => {
27
+ // Get the "welcome-message" flag (STRING type in demo data)
28
+ const result = await client.getValue('welcome-message');
29
+ console.log('welcome-message result:', JSON.stringify(result, null, 2));
30
+ // The value should be a string, not "false"
31
+ expect(result).not.toBeNull();
32
+ expect(result?.value).not.toBe('false');
33
+ expect(result?.value).not.toBe(false);
34
+ // For STRING type, value should be the actual string value
35
+ expect(typeof result?.value).toBe('string');
36
+ });
37
+ it('should return correct boolean value for boolean flag', async () => {
38
+ // Get the "premium-features" flag (BOOLEAN type)
39
+ const result = await client.getValue('premium-features');
40
+ console.log('premium-features result:', JSON.stringify(result, null, 2));
41
+ expect(result).not.toBeNull();
42
+ // Boolean flag should return actual boolean
43
+ expect(typeof result?.value).toBe('boolean');
44
+ });
45
+ it('should return correct value with brand context', async () => {
46
+ client.setContext({ tenantId: 'acme-corp' });
47
+ const result = await client.getValue('welcome-message');
48
+ console.log('welcome-message with brand:', JSON.stringify(result, null, 2));
49
+ expect(result).not.toBeNull();
50
+ expect(result?.value).not.toBe('false');
51
+ });
52
+ it('should fetch all flags and verify string values', async () => {
53
+ await client.refresh();
54
+ const allToggles = client.getAllToggles();
55
+ console.log('All toggles:', JSON.stringify(allToggles, null, 2));
56
+ // Check each flag
57
+ Object.entries(allToggles).forEach(([key, toggle]) => {
58
+ console.log(`Flag ${key}:`, {
59
+ value: toggle.value,
60
+ enabled: toggle.enabled,
61
+ valueType: typeof toggle.value
62
+ });
63
+ // No flag should have "false" as string value unless it's a boolean false
64
+ if (toggle.value === 'false' && toggle.enabled) {
65
+ console.error(`BUG DETECTED: Flag "${key}" has string "false" but is enabled!`);
66
+ }
67
+ });
68
+ });
69
+ });
70
+ // Direct API test without SDK
71
+ describe('Direct API Test', () => {
72
+ it('should return correct value from API directly', async () => {
73
+ const url = `${TEST_API_URL}/sdk/flags/${TEST_PROJECT}/${TEST_ENVIRONMENT}/welcome-message?apiKey=${TEST_API_KEY}`;
74
+ console.log('Fetching:', url);
75
+ const response = await fetch(url);
76
+ const data = await response.json();
77
+ console.log('API Response:', JSON.stringify(data, null, 2));
78
+ expect(data.value).not.toBe('false');
79
+ expect(data.value).not.toBe(false);
80
+ expect(typeof data.value).toBe('string');
81
+ });
82
+ it('should return correct value with brandKey', async () => {
83
+ const url = `${TEST_API_URL}/sdk/flags/${TEST_PROJECT}/${TEST_ENVIRONMENT}/welcome-message?apiKey=${TEST_API_KEY}&brandKey=acme-corp`;
84
+ console.log('Fetching with brand:', url);
85
+ const response = await fetch(url);
86
+ const data = await response.json();
87
+ console.log('API Response with brand:', JSON.stringify(data, null, 2));
88
+ // This is where the bug manifests - value should NOT be "false"
89
+ if (data.value === 'false' || data.value === false) {
90
+ console.error('BUG CONFIRMED: API returns false instead of actual value!');
91
+ }
92
+ expect(data.value).not.toBe('false');
93
+ expect(data.value).not.toBe(false);
94
+ });
95
+ });
96
+ //# sourceMappingURL=string-flag-value.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"string-flag-value.test.js","sourceRoot":"","sources":["../../src/__tests__/string-flag-value.test.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -12,14 +12,14 @@ export interface TogglelyConfig {
12
12
  environment: string;
13
13
  /** Base URL of your Togglely instance */
14
14
  baseUrl: string;
15
- /** Refresh interval in milliseconds (default: 60000) */
16
- refreshInterval?: number;
17
15
  /** Request timeout in milliseconds (default: 5000) */
18
16
  timeout?: number;
19
17
  /** Enable offline mode fallback via environment variables (default: true) */
20
18
  offlineFallback?: boolean;
21
19
  /** Prefix for environment variables (default: 'TOGGLELY_') */
22
20
  envPrefix?: string;
21
+ /** Auto-fetch toggles on init (default: true) */
22
+ autoFetch?: boolean;
23
23
  }
24
24
  export interface ToggleContext {
25
25
  userId?: string;
@@ -49,7 +49,6 @@ export type TogglelyEventHandler = (state: TogglelyState) => void;
49
49
  export declare class TogglelyClient {
50
50
  private config;
51
51
  private toggles;
52
- private refreshTimer?;
53
52
  private context;
54
53
  private state;
55
54
  private eventHandlers;
@@ -81,7 +80,6 @@ export declare class TogglelyClient {
81
80
  forceOfflineMode(): void;
82
81
  forceOnlineMode(): void;
83
82
  destroy(): void;
84
- private startPolling;
85
83
  private fetchWithTimeout;
86
84
  }
87
85
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}