@ops-ai/toggly-docusaurus-plugin 0.1.4 → 0.1.5
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/dist/client/index.d.ts +1 -1
- package/dist/client/index.d.ts.map +1 -1
- package/dist/client/index.js +1 -1
- package/dist/client/index.js.map +1 -1
- package/dist/lib/toggly-client.d.ts +67 -0
- package/dist/lib/toggly-client.d.ts.map +1 -0
- package/dist/lib/toggly-client.js +132 -0
- package/dist/lib/toggly-client.js.map +1 -0
- package/package.json +1 -3
package/dist/client/index.d.ts
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* Provides React context, hooks, and components for feature flag evaluation
|
|
5
5
|
*/
|
|
6
6
|
import { ReactNode } from 'react';
|
|
7
|
-
import { type TogglyConfig, type Flags } from '
|
|
7
|
+
import { type TogglyConfig, type Flags } from '../lib/toggly-client';
|
|
8
8
|
export interface TogglyProviderProps {
|
|
9
9
|
config: TogglyConfig;
|
|
10
10
|
children: ReactNode;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/client/index.tsx"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAc,EAKZ,SAAS,EACV,MAAM,OAAO,CAAC;AACf,OAAO,EAAsB,KAAK,YAAY,EAAE,KAAK,KAAK,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/client/index.tsx"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAc,EAKZ,SAAS,EACV,MAAM,OAAO,CAAC;AACf,OAAO,EAAsB,KAAK,YAAY,EAAE,KAAK,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAEzF,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,YAAY,CAAC;IACrB,QAAQ,EAAE,SAAS,CAAC;CACrB;AAED,MAAM,WAAW,kBAAkB;IACjC,KAAK,EAAE,KAAK,CAAC;IACb,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,OAAO,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IACnE,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;CACrB;AAID;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,cAAc,CAAC,EAC7B,MAAM,EAAE,cAAc,EACtB,QAAQ,GACT,EAAE,mBAAmB,GAAG,GAAG,CAAC,OAAO,CAgDnC;AAED;;;;GAIG;AACH,wBAAgB,SAAS,IAAI,kBAAkB,CAM9C;AAED;;;;;;GAMG;AACH,wBAAgB,OAAO,CACrB,OAAO,EAAE,MAAM,EACf,YAAY,CAAC,EAAE,OAAO,GACrB;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAAE,CAiBxC;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,oCAAoC;IACpC,IAAI,EAAE,MAAM,CAAC;IACb,6CAA6C;IAC7C,QAAQ,EAAE,SAAS,CAAC;IACpB,yDAAyD;IACzD,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,0DAA0D;IAC1D,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,OAAO,CAAC,EACtB,IAAI,EACJ,QAAQ,EACR,QAAe,EACf,YAAoB,GACrB,EAAE,YAAY,GAAG,GAAG,CAAC,OAAO,CAS5B"}
|
package/dist/client/index.js
CHANGED
|
@@ -5,7 +5,7 @@ import { jsx as _jsx, Fragment as _Fragment } from "react/jsx-runtime";
|
|
|
5
5
|
* Provides React context, hooks, and components for feature flag evaluation
|
|
6
6
|
*/
|
|
7
7
|
import { createContext, useContext, useState, useEffect, } from 'react';
|
|
8
|
-
import { createTogglyClient } from '
|
|
8
|
+
import { createTogglyClient } from '../lib/toggly-client';
|
|
9
9
|
const TogglyContext = createContext(null);
|
|
10
10
|
/**
|
|
11
11
|
* TogglyProvider - React context provider for Toggly feature flags
|
package/dist/client/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/client/index.tsx"],"names":[],"mappings":";AAAA;;;;GAIG;AAEH,OAAc,EACZ,aAAa,EACb,UAAU,EACV,QAAQ,EACR,SAAS,GAEV,MAAM,OAAO,CAAC;AACf,OAAO,EAAE,kBAAkB,EAAiC,MAAM,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/client/index.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @ops-ai/toggly-client-core - Framework-agnostic Toggly client
|
|
3
|
+
*
|
|
4
|
+
* Bundled directly into the Docusaurus plugin to avoid module resolution issues.
|
|
5
|
+
* Original source: @ops-ai/toggly-client-core
|
|
6
|
+
*/
|
|
7
|
+
/**
|
|
8
|
+
* Configuration options for creating a Toggly client
|
|
9
|
+
* Matches the API structure used in other Toggly SDKs
|
|
10
|
+
*/
|
|
11
|
+
export interface TogglyConfig {
|
|
12
|
+
/** Base URI for the Toggly API (default: 'https://client.toggly.io') */
|
|
13
|
+
baseURI?: string;
|
|
14
|
+
/** Application key from Toggly */
|
|
15
|
+
appKey?: string;
|
|
16
|
+
/** Environment name (e.g., 'Production', 'Staging') (default: 'Production') */
|
|
17
|
+
environment?: string;
|
|
18
|
+
/** Default flag values to use when API is unavailable or appKey is not provided */
|
|
19
|
+
flagDefaults?: {
|
|
20
|
+
[key: string]: boolean;
|
|
21
|
+
};
|
|
22
|
+
/** Feature flags refresh interval in milliseconds (default: 180000 = 3 minutes) */
|
|
23
|
+
featureFlagsRefreshInterval?: number;
|
|
24
|
+
/** Enable debug logging (default: false) */
|
|
25
|
+
isDebug?: boolean;
|
|
26
|
+
/** Connection timeout in milliseconds (default: 5000) */
|
|
27
|
+
connectTimeout?: number;
|
|
28
|
+
/** Custom fetch implementation (useful for testing or Cloudflare Workers) */
|
|
29
|
+
fetch?: typeof fetch;
|
|
30
|
+
/** User identity for targeting (optional) */
|
|
31
|
+
identity?: string;
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Map of feature flag keys to their boolean values
|
|
35
|
+
*/
|
|
36
|
+
export type Flags = Record<string, boolean>;
|
|
37
|
+
/**
|
|
38
|
+
* Toggly client instance
|
|
39
|
+
*/
|
|
40
|
+
export interface TogglyClient {
|
|
41
|
+
/**
|
|
42
|
+
* Get all feature flags as a map of key-value pairs
|
|
43
|
+
* @param context - Optional context for flag evaluation
|
|
44
|
+
* @returns Promise resolving to a map of flag keys to boolean values
|
|
45
|
+
*/
|
|
46
|
+
getFlags(): Promise<Flags>;
|
|
47
|
+
/**
|
|
48
|
+
* Get a single feature flag value
|
|
49
|
+
* @param key - The feature flag key
|
|
50
|
+
* @param defaultValue - Optional default value if flag is not found (default: false)
|
|
51
|
+
* @returns Promise resolving to the flag's boolean value
|
|
52
|
+
*/
|
|
53
|
+
getFlag(key: string, defaultValue?: boolean): Promise<boolean>;
|
|
54
|
+
/**
|
|
55
|
+
* Manually refresh the feature flags cache by fetching from the API
|
|
56
|
+
* @returns Promise that resolves when flags have been refreshed
|
|
57
|
+
*/
|
|
58
|
+
refreshFlags(): Promise<void>;
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* Creates a new Toggly client instance
|
|
62
|
+
*
|
|
63
|
+
* @param config - Configuration options for the client
|
|
64
|
+
* @returns A Toggly client instance
|
|
65
|
+
*/
|
|
66
|
+
export declare function createTogglyClient(config?: TogglyConfig): TogglyClient;
|
|
67
|
+
//# sourceMappingURL=toggly-client.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"toggly-client.d.ts","sourceRoot":"","sources":["../../src/lib/toggly-client.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH;;;GAGG;AACH,MAAM,WAAW,YAAY;IAC3B,wEAAwE;IACxE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,kCAAkC;IAClC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,+EAA+E;IAC/E,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,mFAAmF;IACnF,YAAY,CAAC,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;KAAE,CAAC;IAC1C,mFAAmF;IACnF,2BAA2B,CAAC,EAAE,MAAM,CAAC;IACrC,4CAA4C;IAC5C,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,yDAAyD;IACzD,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,6EAA6E;IAC7E,KAAK,CAAC,EAAE,OAAO,KAAK,CAAC;IACrB,6CAA6C;IAC7C,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAE5C;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B;;;;OAIG;IACH,QAAQ,IAAI,OAAO,CAAC,KAAK,CAAC,CAAC;IAE3B;;;;;OAKG;IACH,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAE/D;;;OAGG;IACH,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CAC/B;AAOD;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,GAAE,YAAiB,GAAG,YAAY,CAyJ1E"}
|
|
@@ -0,0 +1,132 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @ops-ai/toggly-client-core - Framework-agnostic Toggly client
|
|
3
|
+
*
|
|
4
|
+
* Bundled directly into the Docusaurus plugin to avoid module resolution issues.
|
|
5
|
+
* Original source: @ops-ai/toggly-client-core
|
|
6
|
+
*/
|
|
7
|
+
/**
|
|
8
|
+
* Creates a new Toggly client instance
|
|
9
|
+
*
|
|
10
|
+
* @param config - Configuration options for the client
|
|
11
|
+
* @returns A Toggly client instance
|
|
12
|
+
*/
|
|
13
|
+
export function createTogglyClient(config = {}) {
|
|
14
|
+
const { baseURI = 'https://client.toggly.io', appKey, environment = 'Production', flagDefaults = {}, featureFlagsRefreshInterval = 3 * 60 * 1000, // 3 minutes
|
|
15
|
+
isDebug = false, connectTimeout = 5 * 1000, // 5 seconds
|
|
16
|
+
fetch: fetchImpl, identity, } = config;
|
|
17
|
+
// Resolve fetch implementation: use provided, then globalThis.fetch, then throw
|
|
18
|
+
let resolvedFetch;
|
|
19
|
+
if (fetchImpl) {
|
|
20
|
+
resolvedFetch = fetchImpl;
|
|
21
|
+
}
|
|
22
|
+
else if (typeof globalThis !== 'undefined' && typeof globalThis.fetch === 'function') {
|
|
23
|
+
resolvedFetch = globalThis.fetch.bind(globalThis);
|
|
24
|
+
}
|
|
25
|
+
else {
|
|
26
|
+
throw new Error('fetch is not available. Please provide a fetch implementation via config.fetch');
|
|
27
|
+
}
|
|
28
|
+
let cache = null;
|
|
29
|
+
const getApiUrl = () => {
|
|
30
|
+
const baseUrl = baseURI.replace(/\/$/, ''); // Remove trailing slash
|
|
31
|
+
// If no appKey is provided, return empty URL (will use flagDefaults)
|
|
32
|
+
if (!appKey) {
|
|
33
|
+
return '';
|
|
34
|
+
}
|
|
35
|
+
let url = `${baseUrl}/${appKey}-${environment}/defs`;
|
|
36
|
+
// Add identity parameter if provided
|
|
37
|
+
if (identity) {
|
|
38
|
+
url += `?u=${identity}`;
|
|
39
|
+
}
|
|
40
|
+
return url;
|
|
41
|
+
};
|
|
42
|
+
const isCacheValid = () => {
|
|
43
|
+
if (!cache)
|
|
44
|
+
return false;
|
|
45
|
+
const age = Date.now() - cache.timestamp;
|
|
46
|
+
return age < featureFlagsRefreshInterval;
|
|
47
|
+
};
|
|
48
|
+
const fetchFlags = async () => {
|
|
49
|
+
const url = getApiUrl();
|
|
50
|
+
// If no appKey, return flagDefaults
|
|
51
|
+
if (!url || !appKey) {
|
|
52
|
+
if (isDebug) {
|
|
53
|
+
console.log(`Toggly.usedFlagDefaults - ${JSON.stringify(flagDefaults)}`);
|
|
54
|
+
}
|
|
55
|
+
return { ...flagDefaults };
|
|
56
|
+
}
|
|
57
|
+
try {
|
|
58
|
+
const controller = new AbortController();
|
|
59
|
+
const timeoutId = setTimeout(() => controller.abort(), connectTimeout);
|
|
60
|
+
const response = await resolvedFetch(url, {
|
|
61
|
+
method: 'GET',
|
|
62
|
+
headers: {
|
|
63
|
+
Accept: 'application/json',
|
|
64
|
+
},
|
|
65
|
+
signal: controller.signal,
|
|
66
|
+
});
|
|
67
|
+
clearTimeout(timeoutId);
|
|
68
|
+
if (!response.ok) {
|
|
69
|
+
throw new Error(`Failed to fetch flags from Toggly API: ${response.status} ${response.statusText}`);
|
|
70
|
+
}
|
|
71
|
+
const flags = (await response.json());
|
|
72
|
+
if (isDebug) {
|
|
73
|
+
console.log(`Toggly.fetchFeatureFlags - ${JSON.stringify(flags)}`);
|
|
74
|
+
}
|
|
75
|
+
return flags;
|
|
76
|
+
}
|
|
77
|
+
catch (error) {
|
|
78
|
+
// On error, try to use cached flags, otherwise use flagDefaults
|
|
79
|
+
if (cache) {
|
|
80
|
+
if (isDebug) {
|
|
81
|
+
console.log(`Toggly.loadedFromCache - ${JSON.stringify(cache.flags)}`);
|
|
82
|
+
}
|
|
83
|
+
return { ...cache.flags };
|
|
84
|
+
}
|
|
85
|
+
if (isDebug) {
|
|
86
|
+
console.log(`Toggly.loadedFromDefaults - ${JSON.stringify(flagDefaults)}`);
|
|
87
|
+
}
|
|
88
|
+
return { ...flagDefaults };
|
|
89
|
+
}
|
|
90
|
+
};
|
|
91
|
+
const refreshFlags = async () => {
|
|
92
|
+
if (isDebug) {
|
|
93
|
+
console.log('Toggly.refresh');
|
|
94
|
+
}
|
|
95
|
+
const flags = await fetchFlags();
|
|
96
|
+
cache = {
|
|
97
|
+
flags,
|
|
98
|
+
timestamp: Date.now(),
|
|
99
|
+
};
|
|
100
|
+
};
|
|
101
|
+
const getFlags = async () => {
|
|
102
|
+
// If no appKey, return flagDefaults immediately
|
|
103
|
+
if (!appKey) {
|
|
104
|
+
return { ...flagDefaults };
|
|
105
|
+
}
|
|
106
|
+
if (isCacheValid() && cache) {
|
|
107
|
+
return { ...cache.flags };
|
|
108
|
+
}
|
|
109
|
+
await refreshFlags();
|
|
110
|
+
return cache ? { ...cache.flags } : { ...flagDefaults };
|
|
111
|
+
};
|
|
112
|
+
const getFlag = async (key, defaultValue) => {
|
|
113
|
+
const flags = await getFlags();
|
|
114
|
+
const value = flags[key];
|
|
115
|
+
// If flag exists in flags, return it; otherwise use provided defaultValue or flagDefaults
|
|
116
|
+
if (value !== undefined) {
|
|
117
|
+
return value;
|
|
118
|
+
}
|
|
119
|
+
// Check flagDefaults first, then use provided defaultValue
|
|
120
|
+
if (defaultValue !== undefined) {
|
|
121
|
+
return defaultValue;
|
|
122
|
+
}
|
|
123
|
+
// Fall back to flagDefaults if available
|
|
124
|
+
return flagDefaults[key] ?? false;
|
|
125
|
+
};
|
|
126
|
+
return {
|
|
127
|
+
getFlags,
|
|
128
|
+
getFlag,
|
|
129
|
+
refreshFlags,
|
|
130
|
+
};
|
|
131
|
+
}
|
|
132
|
+
//# sourceMappingURL=toggly-client.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"toggly-client.js","sourceRoot":"","sources":["../../src/lib/toggly-client.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ops-ai/toggly-docusaurus-plugin",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.5",
|
|
4
4
|
"description": "Docusaurus plugin and React bindings for Toggly feature flag gating",
|
|
5
5
|
"main": "./dist/index.js",
|
|
6
6
|
"module": "./dist/index.js",
|
|
@@ -41,14 +41,12 @@
|
|
|
41
41
|
},
|
|
42
42
|
"peerDependencies": {
|
|
43
43
|
"@docusaurus/core": "^3.0.0",
|
|
44
|
-
"@ops-ai/toggly-client-core": "^0.1.4",
|
|
45
44
|
"react": "^18.0.0",
|
|
46
45
|
"react-dom": "^18.0.0"
|
|
47
46
|
},
|
|
48
47
|
"devDependencies": {
|
|
49
48
|
"@docusaurus/core": "^3.9.2",
|
|
50
49
|
"@docusaurus/types": "^3.9.2",
|
|
51
|
-
"@ops-ai/toggly-client-core": "^0.1.4",
|
|
52
50
|
"@types/node": "^20.0.0",
|
|
53
51
|
"@types/react": "^18.2.0",
|
|
54
52
|
"@types/react-dom": "^18.2.0",
|