@ops-ai/toggly-docusaurus-plugin 0.5.1 → 0.7.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/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2021-2026 opsAI LLC
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
@@ -15,6 +15,14 @@ export interface TogglyContextValue {
15
15
  getFlag: (key: string, defaultValue?: boolean) => Promise<boolean>;
16
16
  error: Error | null;
17
17
  }
18
+ /**
19
+ * Whether this bundle was built with `staticGating: true` (flags baked at build).
20
+ */
21
+ export declare function isStaticGatingMode(): boolean;
22
+ /**
23
+ * Build-time flag map injected by the plugin when `staticGating` is enabled.
24
+ */
25
+ export declare function readBuildFlagsSnapshot(): Flags | null;
18
26
  /**
19
27
  * Read the flag snapshot the edge worker injected into the page so the React
20
28
  * tree on first client render can match the post-edge-strip DOM.
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/client/index.tsx"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAc,EAOZ,SAAS,EACV,MAAM,OAAO,CAAC;AACf,OAAO,EAAyC,KAAK,YAAY,EAAE,KAAK,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAE5G,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;AAWD;;;;;;;;;;GAUG;AACH,wBAAgB,qBAAqB,IAAI,KAAK,GAAG,IAAI,CAepD;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,cAAc,CAAC,EAC7B,MAAM,EAAE,cAAc,EACtB,QAAQ,GACT,EAAE,mBAAmB,GAAG,GAAG,CAAC,OAAO,CAiFnC;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,CAuBxC;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;IACvB;;;;;;;;;;;OAWG;IACH,EAAE,CAAC,EAAE,MAAM,GAAG,CAAC,iBAAiB,CAAC;CAClC;AAwDD,wBAAgB,OAAO,CAAC,EACtB,IAAI,EACJ,QAAQ,EACR,QAAe,EACf,YAAoB,EACpB,EAAE,EAAE,OAAe,GACpB,EAAE,YAAY,GAAG,GAAG,CAAC,OAAO,CAwB5B"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/client/index.tsx"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAc,EAOZ,SAAS,EACV,MAAM,OAAO,CAAC;AACf,OAAO,EAAyC,KAAK,YAAY,EAAE,KAAK,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAE5G,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;AAOD;;GAEG;AACH,wBAAgB,kBAAkB,IAAI,OAAO,CAE5C;AAeD;;GAEG;AACH,wBAAgB,sBAAsB,IAAI,KAAK,GAAG,IAAI,CAWrD;AASD;;;;;;;;;;GAUG;AACH,wBAAgB,qBAAqB,IAAI,KAAK,GAAG,IAAI,CAapD;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,cAAc,CAAC,EAC7B,MAAM,EAAE,cAAc,EACtB,QAAQ,GACT,EAAE,mBAAmB,GAAG,GAAG,CAAC,OAAO,CA2FnC;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,CAuBxC;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;IACvB;;;;;;;;;;;OAWG;IACH,EAAE,CAAC,EAAE,MAAM,GAAG,CAAC,iBAAiB,CAAC;CAClC;AAwDD,wBAAgB,OAAO,CAAC,EACtB,IAAI,EACJ,QAAQ,EACR,QAAe,EACf,YAAoB,EACpB,EAAE,EAAE,OAAe,GACpB,EAAE,YAAY,GAAG,GAAG,CAAC,OAAO,CAkC5B"}
@@ -7,6 +7,39 @@ import { jsx as _jsx, Fragment as _Fragment } from "react/jsx-runtime";
7
7
  import { createContext, useContext, useState, useEffect, useRef, } from 'react';
8
8
  import { createTogglyClient } from '../lib/toggly-client';
9
9
  const TogglyContext = createContext(null);
10
+ /**
11
+ * Whether this bundle was built with `staticGating: true` (flags baked at build).
12
+ */
13
+ export function isStaticGatingMode() {
14
+ return typeof __TOGGLY_STATIC_GATING__ !== 'undefined' && __TOGGLY_STATIC_GATING__ === true;
15
+ }
16
+ function sanitizeFlags(raw) {
17
+ if (!raw || typeof raw !== 'object') {
18
+ return {};
19
+ }
20
+ const out = {};
21
+ for (const [key, value] of Object.entries(raw)) {
22
+ if (typeof value === 'boolean') {
23
+ out[key] = value;
24
+ }
25
+ }
26
+ return out;
27
+ }
28
+ /**
29
+ * Build-time flag map injected by the plugin when `staticGating` is enabled.
30
+ */
31
+ export function readBuildFlagsSnapshot() {
32
+ if (typeof __TOGGLY_BUILD_FLAGS__ === 'undefined') {
33
+ if (typeof window !== 'undefined') {
34
+ const fromWindow = window.__TOGGLY_BUILD_FLAGS__;
35
+ if (fromWindow) {
36
+ return sanitizeFlags(fromWindow);
37
+ }
38
+ }
39
+ return null;
40
+ }
41
+ return sanitizeFlags(__TOGGLY_BUILD_FLAGS__);
42
+ }
10
43
  /**
11
44
  * Name of the global the edge worker (cloudflare/worker) writes the resolved
12
45
  * flag map onto. Kept in sync with `SNAPSHOT_GLOBAL` in
@@ -25,6 +58,9 @@ const EDGE_FLAGS_GLOBAL = '__TOGGLY_EDGE_FLAGS__';
25
58
  * tampered global cannot smuggle unexpected types into the React tree.
26
59
  */
27
60
  export function readEdgeFlagsSnapshot() {
61
+ if (isStaticGatingMode()) {
62
+ return readBuildFlagsSnapshot();
63
+ }
28
64
  if (typeof window === 'undefined') {
29
65
  return null;
30
66
  }
@@ -32,13 +68,7 @@ export function readEdgeFlagsSnapshot() {
32
68
  if (!raw || typeof raw !== 'object') {
33
69
  return null;
34
70
  }
35
- const out = {};
36
- for (const [key, value] of Object.entries(raw)) {
37
- if (typeof value === 'boolean') {
38
- out[key] = value;
39
- }
40
- }
41
- return out;
71
+ return sanitizeFlags(raw);
42
72
  }
43
73
  /**
44
74
  * TogglyProvider - React context provider for Toggly feature flags
@@ -67,27 +97,29 @@ export function TogglyProvider({ config: providedConfig, children, }) {
67
97
  (typeof window !== 'undefined'
68
98
  ? window.__TOGGLY_CONFIG__ || {}
69
99
  : {});
100
+ const staticGating = isStaticGatingMode();
101
+ const initialFlags = readBuildFlagsSnapshot() ?? readEdgeFlagsSnapshot() ?? {};
70
102
  const [client] = useState(() => {
103
+ if (staticGating) {
104
+ return null;
105
+ }
71
106
  // Ensure we have a valid config
72
107
  if (!config || (!config.appKey && Object.keys(config).length === 0)) {
73
108
  console.warn('[Toggly] No config provided. Please configure the plugin in docusaurus.config.js or pass config to TogglyProvider');
74
109
  }
75
110
  return createTogglyClient(config);
76
111
  });
77
- // Seed from `window.__TOGGLY_EDGE_FLAGS__` synchronously when the edge
78
- // worker has injected it. This is what makes hydration match the
79
- // post-edge-strip DOM: Feature components on first client render evaluate
80
- // the same flag map the edge used, so they emit the same wrapper-or-null
81
- // shape as the static HTML the browser received.
82
- const [flags, setFlags] = useState(() => readEdgeFlagsSnapshot() ?? {});
83
- const [isReady, setIsReady] = useState(() => readEdgeFlagsSnapshot() !== null);
112
+ const [flags, setFlags] = useState(() => initialFlags);
113
+ const [isReady, setIsReady] = useState(() => staticGating || readEdgeFlagsSnapshot() !== null);
84
114
  const [error, setError] = useState(null);
85
115
  // Keep a ref to the latest flags so the polling interval can detect changes
86
116
  const flagsRef = useRef(flags);
87
117
  flagsRef.current = flags;
88
118
  useEffect(() => {
119
+ if (staticGating || !client) {
120
+ return;
121
+ }
89
122
  let pollTimer = null;
90
- // Initialize client and load flags
91
123
  client
92
124
  .getFlags()
93
125
  .then((loadedFlags) => {
@@ -117,8 +149,14 @@ export function TogglyProvider({ config: providedConfig, children, }) {
117
149
  clearInterval(pollTimer);
118
150
  }
119
151
  };
120
- }, [client]);
152
+ }, [client, staticGating, config.featureFlagsRefreshInterval]);
121
153
  const getFlag = async (key, defaultValue) => {
154
+ if (staticGating) {
155
+ return flags[key] ?? defaultValue ?? false;
156
+ }
157
+ if (!client) {
158
+ return defaultValue ?? false;
159
+ }
122
160
  return client.getFlag(key, defaultValue);
123
161
  };
124
162
  const value = {
@@ -221,8 +259,17 @@ function getWrapperStyle(element) {
221
259
  }
222
260
  export function Feature({ flag, children, fallback = null, defaultValue = false, as: Element = 'div', }) {
223
261
  const wrapperStyle = getWrapperStyle(Element);
224
- // During SSR, render children with data-feature attribute
225
- // The Cloudflare Worker will strip disabled features at the edge
262
+ const buildFlags = readBuildFlagsSnapshot();
263
+ // Build-time static gating: evaluate flags during SSG and on the client
264
+ // using the same baked-in map — no runtime API, no flash.
265
+ if (isStaticGatingMode() && buildFlags) {
266
+ const enabled = buildFlags[flag] ?? defaultValue;
267
+ if (!enabled) {
268
+ return _jsx(_Fragment, { children: fallback });
269
+ }
270
+ return _jsx(Element, { style: wrapperStyle, children: children });
271
+ }
272
+ // Edge mode: SSR emits data-feature wrappers for the worker to strip.
226
273
  if (isSSR) {
227
274
  return (_jsx(Element, { "data-feature": flag, style: wrapperStyle, children: children }));
228
275
  }
@@ -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,EAET,MAAM,GAEP,MAAM,OAAO,CAAC;AACf,OAAO,EAAE,kBAAkB,EAAoD,MAAM,sBAAsB,CAAC;AAc5G,MAAM,aAAa,GAAG,aAAa,CAA4B,IAAI,CAAC,CAAC;AAErE;;;;GAIG;AACH,MAAM,iBAAiB,GAAG,uBAAuB,CAAC;AAElD;;;;;;;;;;GAUG;AACH,MAAM,UAAU,qBAAqB;IACnC,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE,CAAC;QAClC,OAAO,IAAI,CAAC;IACd,CAAC;IACD,MAAM,GAAG,GAAI,MAA6C,CAAC,iBAAiB,CAAC,CAAC;IAC9E,IAAI,CAAC,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;QACpC,OAAO,IAAI,CAAC;IACd,CAAC;IACD,MAAM,GAAG,GAAU,EAAE,CAAC;IACtB,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,GAA8B,CAAC,EAAE,CAAC;QAC1E,IAAI,OAAO,KAAK,KAAK,SAAS,EAAE,CAAC;YAC/B,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;QACnB,CAAC;IACH,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,UAAU,cAAc,CAAC,EAC7B,MAAM,EAAE,cAAc,EACtB,QAAQ,GACY;IACpB,iDAAiD;IACjD,MAAM,MAAM,GACV,cAAc;QACd,CAAC,OAAO,MAAM,KAAK,WAAW;YAC5B,CAAC,CAAE,MAAc,CAAC,iBAAiB,IAAI,EAAE;YACzC,CAAC,CAAC,EAAE,CAAC,CAAC;IACV,MAAM,CAAC,MAAM,CAAC,GAAG,QAAQ,CAAC,GAAG,EAAE;QAC7B,gCAAgC;QAChC,IAAI,CAAC,MAAM,IAAI,CAAC,CAAC,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,EAAE,CAAC;YACpE,OAAO,CAAC,IAAI,CACV,mHAAmH,CACpH,CAAC;QACJ,CAAC;QACD,OAAO,kBAAkB,CAAC,MAAM,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;IACH,uEAAuE;IACvE,iEAAiE;IACjE,0EAA0E;IAC1E,yEAAyE;IACzE,iDAAiD;IACjD,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAQ,GAAG,EAAE,CAAC,qBAAqB,EAAE,IAAI,EAAE,CAAC,CAAC;IAC/E,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAC,GAAG,EAAE,CAAC,qBAAqB,EAAE,KAAK,IAAI,CAAC,CAAC;IAC/E,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAe,IAAI,CAAC,CAAC;IAEvD,4EAA4E;IAC5E,MAAM,QAAQ,GAAG,MAAM,CAAQ,KAAK,CAAC,CAAC;IACtC,QAAQ,CAAC,OAAO,GAAG,KAAK,CAAC;IAEzB,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,SAAS,GAA0C,IAAI,CAAC;QAE5D,mCAAmC;QACnC,MAAM;aACH,QAAQ,EAAE;aACV,IAAI,CAAC,CAAC,WAAkB,EAAE,EAAE;YAC3B,QAAQ,CAAC,WAAW,CAAC,CAAC;YACtB,UAAU,CAAC,IAAI,CAAC,CAAC;QACnB,CAAC,CAAC;aACD,KAAK,CAAC,CAAC,GAAU,EAAE,EAAE;YACpB,QAAQ,CAAC,GAAG,CAAC,CAAC;YACd,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,oCAAoC;QACxD,CAAC,CAAC,CAAC;QAEL,mCAAmC;QACnC,MAAM,CAAC,cAAc,EAAE,CAAC;QAExB,6EAA6E;QAC7E,SAAS,GAAG,WAAW,CAAC,GAAG,EAAE;YAC3B,MAAM,CAAC,QAAQ,EAAE,CAAC,IAAI,CAAC,CAAC,MAAa,EAAE,EAAE;gBACvC,gDAAgD;gBAChD,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;oBAChE,QAAQ,CAAC,MAAM,CAAC,CAAC;gBACnB,CAAC;YACH,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE;gBACZ,iCAAiC;YACnC,CAAC,CAAC,CAAC;QACL,CAAC,EAAE,MAAM,CAAC,2BAA2B,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC;QAExD,OAAO,GAAG,EAAE;YACV,MAAM,CAAC,aAAa,EAAE,CAAC;YACvB,IAAI,SAAS,EAAE,CAAC;gBACd,aAAa,CAAC,SAAS,CAAC,CAAC;YAC3B,CAAC;QACH,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;IAEb,MAAM,OAAO,GAAG,KAAK,EAAE,GAAW,EAAE,YAAsB,EAAoB,EAAE;QAC9E,OAAO,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC;IAC3C,CAAC,CAAC;IAEF,MAAM,KAAK,GAAuB;QAChC,KAAK;QACL,OAAO;QACP,OAAO;QACP,KAAK;KACN,CAAC;IAEF,OAAO,CACL,KAAC,aAAa,CAAC,QAAQ,IAAC,KAAK,EAAE,KAAK,YAAG,QAAQ,GAA0B,CAC1E,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,SAAS;IACvB,MAAM,OAAO,GAAG,UAAU,CAAC,aAAa,CAAC,CAAC;IAC1C,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAC;IACpE,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,OAAO,CACrB,OAAe,EACf,YAAsB;IAEtB,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,SAAS,EAAE,CAAC;IAChD,uEAAuE;IACvE,uEAAuE;IACvE,uEAAuE;IACvE,+DAA+D;IAC/D,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAU,GAAG,EAAE,CACnD,KAAK,CAAC,OAAO,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,YAAY,IAAI,KAAK,CACtE,CAAC;IAEF,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,OAAO,EAAE,CAAC;YACZ,2BAA2B;YAC3B,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,SAAS,EAAE,CAAC;gBACjC,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;YAC7B,CAAC;iBAAM,CAAC;gBACN,4BAA4B;gBAC5B,OAAO,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YAClD,CAAC;QACH,CAAC;IACH,CAAC,EAAE,CAAC,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC;IAErD,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC;AAC9B,CAAC;AA6BD;;GAEG;AACH,MAAM,KAAK,GAAG,OAAO,MAAM,KAAK,WAAW,CAAC;AAE5C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH;;;;GAIG;AACH,SAAS,eAAe,CACtB,OAAoC;IAEpC,IAAI,OAAO,KAAK,KAAK,IAAI,OAAO,KAAK,MAAM,EAAE,CAAC;QAC5C,OAAO,EAAE,OAAO,EAAE,UAAmB,EAAE,CAAC;IAC1C,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,MAAM,UAAU,OAAO,CAAC,EACtB,IAAI,EACJ,QAAQ,EACR,QAAQ,GAAG,IAAI,EACf,YAAY,GAAG,KAAK,EACpB,EAAE,EAAE,OAAO,GAAG,KAAK,GACN;IACb,MAAM,YAAY,GAAG,eAAe,CAAC,OAAO,CAAC,CAAC;IAE9C,0DAA0D;IAC1D,iEAAiE;IACjE,IAAI,KAAK,EAAE,CAAC;QACV,OAAO,CACL,KAAC,OAAO,oBAAe,IAAI,EAAE,KAAK,EAAE,YAAY,YAC7C,QAAQ,GACD,CACX,CAAC;IACJ,CAAC;IAED,qDAAqD;IACrD,OAAO,CACL,KAAC,aAAa,IACZ,IAAI,EAAE,IAAI,EACV,QAAQ,EAAE,QAAQ,EAClB,YAAY,EAAE,YAAY,EAC1B,EAAE,EAAE,OAAO,YAEV,QAAQ,GACK,CACjB,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,SAAS,aAAa,CAAC,EACrB,IAAI,EACJ,QAAQ,EACR,QAAQ,GAAG,IAAI,EACf,YAAY,GAAG,KAAK,EACpB,EAAE,EAAE,OAAO,GAAG,KAAK,GACN;IACb,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;IACzD,MAAM,YAAY,GAAG,eAAe,CAAC,OAAO,CAAC,CAAC;IAE9C,8DAA8D;IAE9D,yEAAyE;IACzE,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO,CACL,KAAC,OAAO,oBAAe,IAAI,EAAE,KAAK,EAAE,YAAY,YAC7C,QAAQ,GACD,CACX,CAAC;IACJ,CAAC;IAED,+CAA+C;IAC/C,iFAAiF;IACjF,IAAI,OAAO,EAAE,CAAC;QACZ,OAAO,CACL,KAAC,OAAO,oBAAe,IAAI,EAAE,KAAK,EAAE,YAAY,YAC7C,QAAQ,GACD,CACX,CAAC;IACJ,CAAC;IAED,4DAA4D;IAC5D,OAAO,4BAAG,QAAQ,GAAI,CAAC;AACzB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/client/index.tsx"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -55,6 +55,18 @@ export interface TogglyPluginOptions {
55
55
  * Set this to take full manual control of discovery.
56
56
  */
57
57
  contentRoots?: TogglyContentRoot[];
58
+ /**
59
+ * When true, fetch flags once at build time and bake gating into the static
60
+ * HTML. No runtime Toggly API calls, WebSocket, or edge worker required.
61
+ * Requires `TOGGLY_APP_KEY` (and related env) in the build environment.
62
+ */
63
+ staticGating?: boolean;
64
+ /** When true, verify ES256 signed envelopes via JWKS before applying flags. */
65
+ verifySignatures?: boolean;
66
+ /** Optional allow-list of JWKS kid values when verifySignatures is enabled. */
67
+ allowedKeyIds?: string[];
68
+ /** Reject envelopes older than this many seconds; unset disables freshness. */
69
+ maxSignatureAgeSeconds?: number;
58
70
  }
59
71
  /**
60
72
  * Docusaurus plugin for Toggly feature flag gating
@@ -87,6 +99,6 @@ export declare function resolveContentRoots(context: LoadContext, contentRootsOv
87
99
  * Exported for testing.
88
100
  */
89
101
  export declare function discoverContentRootsFromConfig(context: LoadContext): TogglyContentRoot[];
90
- export { TogglyProvider, useToggly, useFlag, Feature } from './client';
102
+ export { TogglyProvider, useToggly, useFlag, Feature, isStaticGatingMode, readBuildFlagsSnapshot } from './client';
91
103
  export type { TogglyProviderProps, TogglyContextValue, FeatureProps, } from './client';
92
104
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,WAAW,EAA8B,MAAM,mBAAmB,CAAC;AAMzF;;;;;;;GAOG;AACH,MAAM,WAAW,iBAAiB;IAChC,+DAA+D;IAC/D,IAAI,EAAE,MAAM,CAAC;IACb,8FAA8F;IAC9F,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,mBAAmB;IAClC,6EAA6E;IAC7E,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,kCAAkC;IAClC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,+EAA+E;IAC/E,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,yDAAyD;IACzD,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,6CAA6C;IAC7C,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;;;;;;OAQG;IACH,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B;;;;;OAKG;IACH,YAAY,CAAC,EAAE,iBAAiB,EAAE,CAAC;CACpC;AAmBD;;GAEG;AACH,MAAM,CAAC,OAAO,UAAU,YAAY,CAClC,OAAO,EAAE,WAAW,EACpB,OAAO,EAAE,mBAAmB,GAC3B,MAAM,CAoLR;AAGD;;;;;;;;;;;;GAYG;AACH,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,WAAW,EACpB,oBAAoB,CAAC,EAAE,iBAAiB,EAAE,GACzC,iBAAiB,EAAE,CAkBrB;AAoBD;;;;;;;;;;;GAWG;AACH,wBAAgB,8BAA8B,CAAC,OAAO,EAAE,WAAW,GAAG,iBAAiB,EAAE,CAsBxF;AAmGD,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AACvE,YAAY,EACV,mBAAmB,EACnB,kBAAkB,EAClB,YAAY,GACb,MAAM,UAAU,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAU7D;;;;;;;GAOG;AACH,MAAM,WAAW,iBAAiB;IAChC,+DAA+D;IAC/D,IAAI,EAAE,MAAM,CAAC;IACb,8FAA8F;IAC9F,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,mBAAmB;IAClC,6EAA6E;IAC7E,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,kCAAkC;IAClC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,+EAA+E;IAC/E,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,yDAAyD;IACzD,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,6CAA6C;IAC7C,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;;;;;;OAQG;IACH,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B;;;;;OAKG;IACH,YAAY,CAAC,EAAE,iBAAiB,EAAE,CAAC;IACnC;;;;OAIG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,+EAA+E;IAC/E,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,+EAA+E;IAC/E,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB,+EAA+E;IAC/E,sBAAsB,CAAC,EAAE,MAAM,CAAC;CACjC;AAmBD;;GAEG;AACH,MAAM,CAAC,OAAO,UAAU,YAAY,CAClC,OAAO,EAAE,WAAW,EACpB,OAAO,EAAE,mBAAmB,GAC3B,MAAM,CAsRR;AAGD;;;;;;;;;;;;GAYG;AACH,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,WAAW,EACpB,oBAAoB,CAAC,EAAE,iBAAiB,EAAE,GACzC,iBAAiB,EAAE,CAkBrB;AAoBD;;;;;;;;;;;GAWG;AACH,wBAAgB,8BAA8B,CAAC,OAAO,EAAE,WAAW,GAAG,iBAAiB,EAAE,CAsBxF;AAmGD,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE,kBAAkB,EAAE,sBAAsB,EAAE,MAAM,UAAU,CAAC;AACnH,YAAY,EACV,mBAAmB,EACnB,kBAAkB,EAClB,YAAY,GACb,MAAM,UAAU,CAAC"}
package/dist/index.js CHANGED
@@ -8,14 +8,18 @@ import * as fs from 'fs';
8
8
  import * as path from 'path';
9
9
  import { glob } from 'glob';
10
10
  import webpack from 'webpack';
11
+ import { fetchBuildTimeFlags } from './lib/fetch-build-flags';
12
+ import { routeToHtmlPath } from './lib/route-to-html-path';
13
+ import { serializeJsonForInlineScript } from '@ops-ai/toggly-hooks-types';
11
14
  /**
12
15
  * Docusaurus plugin for Toggly feature flag gating
13
16
  */
14
17
  export default function togglyPlugin(context, options) {
15
18
  const { baseURI = 'https://definitions.toggly.io', appKey, environment = 'Production', flagDefaults = {}, featureFlagsRefreshInterval = 3 * 60 * 1000, isDebug = false, connectTimeout = 5 * 1000, identity, renderAllDuringBuild = true, // Default to true for better DX
16
- contentRoots, } = options;
19
+ contentRoots, staticGating = false, verifySignatures = false, allowedKeyIds, maxSignatureAgeSeconds, } = options;
17
20
  // Store page feature mapping for postBuild
18
21
  let pageFeatureMapping = {};
22
+ let buildTimeFlags = {};
19
23
  return {
20
24
  name: 'toggly-plugin',
21
25
  /**
@@ -34,6 +38,10 @@ export default function togglyPlugin(context, options) {
34
38
  connectTimeout,
35
39
  identity,
36
40
  renderAllDuringBuild,
41
+ staticGating,
42
+ verifySignatures,
43
+ allowedKeyIds,
44
+ maxSignatureAgeSeconds,
37
45
  },
38
46
  };
39
47
  },
@@ -55,9 +63,23 @@ export default function togglyPlugin(context, options) {
55
63
  .join(', ')}`);
56
64
  }
57
65
  pageFeatureMapping = await extractFromFiles(context, roots);
66
+ if (pluginConfig.staticGating) {
67
+ buildTimeFlags = await fetchBuildTimeFlags({
68
+ baseURI: pluginConfig.baseURI,
69
+ appKey: pluginConfig.appKey,
70
+ environment: pluginConfig.environment,
71
+ flagDefaults: pluginConfig.flagDefaults,
72
+ connectTimeout: pluginConfig.connectTimeout,
73
+ isDebug: pluginConfig.isDebug,
74
+ verifySignatures: pluginConfig.verifySignatures,
75
+ allowedKeyIds: pluginConfig.allowedKeyIds,
76
+ maxSignatureAgeSeconds: pluginConfig.maxSignatureAgeSeconds,
77
+ });
78
+ }
58
79
  // Store data for configureWebpack and postBuild
59
80
  this.__togglyPluginData = {
60
81
  pageFeatureMapping,
82
+ buildTimeFlags,
61
83
  config: pluginConfig,
62
84
  };
63
85
  if (isDebug) {
@@ -87,32 +109,72 @@ export default function togglyPlugin(context, options) {
87
109
  if (!pluginData) {
88
110
  return;
89
111
  }
90
- const { pageFeatureMapping: mapping } = pluginData;
112
+ const { pageFeatureMapping: mapping, buildTimeFlags: flags, config: pluginConfig, } = pluginData;
91
113
  // Write manifest to build output directory
92
114
  const manifestPath = path.join(outDir, 'toggly-page-features.json');
93
115
  fs.writeFileSync(manifestPath, JSON.stringify(mapping, null, 2), 'utf-8');
94
116
  if (isDebug) {
95
117
  console.log(`[Toggly Plugin] Generated page feature manifest: ${manifestPath}`);
96
118
  }
119
+ if (!pluginConfig.staticGating) {
120
+ return;
121
+ }
122
+ const notFoundPath = path.join(outDir, '404.html');
123
+ const notFoundHtml = fs.existsSync(notFoundPath)
124
+ ? fs.readFileSync(notFoundPath, 'utf-8')
125
+ : '<!DOCTYPE html><html><body><h1>404 Not Found</h1></body></html>';
126
+ let gatedPageCount = 0;
127
+ for (const [route, featureKey] of Object.entries(mapping)) {
128
+ if (flags[featureKey] === true) {
129
+ continue;
130
+ }
131
+ const htmlPath = routeToHtmlPath(outDir, route);
132
+ if (!fs.existsSync(htmlPath)) {
133
+ if (isDebug) {
134
+ console.warn(`[Toggly Plugin] staticGating: no HTML for gated route ${route} (${htmlPath})`);
135
+ }
136
+ continue;
137
+ }
138
+ fs.writeFileSync(htmlPath, notFoundHtml, 'utf-8');
139
+ gatedPageCount++;
140
+ }
141
+ if (isDebug && gatedPageCount > 0) {
142
+ console.log(`[Toggly Plugin] staticGating: replaced ${gatedPageCount} disabled page(s) with 404 HTML`);
143
+ }
97
144
  },
98
145
  /**
99
146
  * Configure Webpack: Inject Toggly config into client bundle
100
147
  */
101
148
  configureWebpack(config, isServer) {
102
- if (isServer) {
103
- return {};
104
- }
105
- // Get stored data from contentLoaded
106
149
  const pluginData = this.__togglyPluginData;
107
150
  if (!pluginData) {
108
151
  return {};
109
152
  }
110
- const { pageFeatureMapping, config: pluginConfig } = pluginData;
153
+ const { pageFeatureMapping, buildTimeFlags: flags, config: pluginConfig, } = pluginData;
154
+ // Static gating must define flags on both server and client bundles so
155
+ // Docusaurus SSG emits the correct HTML during `npm run build`.
156
+ if (pluginConfig.staticGating) {
157
+ return {
158
+ plugins: [
159
+ new webpack.DefinePlugin({
160
+ __TOGGLY_CONFIG__: JSON.stringify(pluginConfig),
161
+ __TOGGLY_PAGE_FEATURES__: JSON.stringify(pageFeatureMapping),
162
+ __TOGGLY_BUILD_FLAGS__: JSON.stringify(flags),
163
+ __TOGGLY_STATIC_GATING__: JSON.stringify(true),
164
+ }),
165
+ ],
166
+ };
167
+ }
168
+ if (isServer) {
169
+ return {};
170
+ }
111
171
  return {
112
172
  plugins: [
113
173
  new webpack.DefinePlugin({
114
174
  __TOGGLY_CONFIG__: JSON.stringify(pluginConfig),
115
175
  __TOGGLY_PAGE_FEATURES__: JSON.stringify(pageFeatureMapping),
176
+ __TOGGLY_BUILD_FLAGS__: JSON.stringify({}),
177
+ __TOGGLY_STATIC_GATING__: JSON.stringify(false),
116
178
  }),
117
179
  ],
118
180
  };
@@ -125,30 +187,37 @@ export default function togglyPlugin(context, options) {
125
187
  if (!pluginData) {
126
188
  return {};
127
189
  }
128
- const { config: pluginConfig, pageFeatureMapping } = pluginData;
129
- return {
130
- headTags: [
131
- {
132
- tagName: 'script',
133
- innerHTML: `window.__TOGGLY_CONFIG__ = ${JSON.stringify(pluginConfig)};`,
134
- },
135
- {
136
- tagName: 'script',
137
- innerHTML: `window.__TOGGLY_PAGE_FEATURES__ = ${JSON.stringify(pageFeatureMapping)};`,
138
- },
139
- ],
140
- };
190
+ const { config: pluginConfig, pageFeatureMapping, buildTimeFlags: flags, } = pluginData;
191
+ // Keep in sync with @ops-ai/toggly-hooks-types serializeJsonForInlineScript
192
+ const headTags = [
193
+ {
194
+ tagName: 'script',
195
+ innerHTML: `window.__TOGGLY_CONFIG__ = ${serializeJsonForInlineScript(pluginConfig)};`,
196
+ },
197
+ {
198
+ tagName: 'script',
199
+ innerHTML: `window.__TOGGLY_PAGE_FEATURES__ = ${serializeJsonForInlineScript(pageFeatureMapping)};`,
200
+ },
201
+ ];
202
+ if (pluginConfig.staticGating) {
203
+ headTags.push({
204
+ tagName: 'script',
205
+ innerHTML: `window.__TOGGLY_BUILD_FLAGS__ = ${serializeJsonForInlineScript(flags)};`,
206
+ });
207
+ }
208
+ return { headTags };
141
209
  },
142
210
  /**
143
211
  * Get client modules: Import the client setup module
144
212
  */
145
213
  getClientModules() {
146
- // Return path relative to the dist directory
147
- // Both index.js and client/setup.js are in dist/
148
- return [
149
- path.resolve(__dirname, './client/setup'),
150
- path.resolve(__dirname, './client/nav-gate'),
151
- ];
214
+ const pluginData = this.__togglyPluginData;
215
+ const modules = [path.resolve(__dirname, './client/setup')];
216
+ // Runtime navbar filtering fetches flags again — skip in staticGating mode.
217
+ if (!pluginData?.config?.staticGating) {
218
+ modules.push(path.resolve(__dirname, './client/nav-gate'));
219
+ }
220
+ return modules;
152
221
  },
153
222
  };
154
223
  }
@@ -301,5 +370,5 @@ async function extractFromRoot(context, root) {
301
370
  return pageFeatureMapping;
302
371
  }
303
372
  // Export React components and hooks
304
- export { TogglyProvider, useToggly, useFlag, Feature } from './client';
373
+ export { TogglyProvider, useToggly, useFlag, Feature, isStaticGatingMode, readBuildFlagsSnapshot } from './client';
305
374
  //# 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":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,23 @@
1
+ /**
2
+ * Server-side flag fetch for static (build-time) gating.
3
+ * Used only from the Docusaurus plugin during `contentLoaded` / `postBuild`.
4
+ */
5
+ import type { Flags } from './toggly-client';
6
+ export interface BuildFlagFetchOptions {
7
+ baseURI?: string;
8
+ appKey?: string;
9
+ environment?: string;
10
+ flagDefaults?: Record<string, boolean>;
11
+ connectTimeout?: number;
12
+ isDebug?: boolean;
13
+ /** When true, verify ES256 signed envelopes via JWKS before applying flags. */
14
+ verifySignatures?: boolean;
15
+ allowedKeyIds?: string[];
16
+ maxSignatureAgeSeconds?: number;
17
+ }
18
+ /**
19
+ * Fetch the evaluated flag map from Toggly at build time.
20
+ * Merges `flagDefaults` underneath API values so callers can supply fallbacks.
21
+ */
22
+ export declare function fetchBuildTimeFlags(options: BuildFlagFetchOptions): Promise<Flags>;
23
+ //# sourceMappingURL=fetch-build-flags.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fetch-build-flags.d.ts","sourceRoot":"","sources":["../../src/lib/fetch-build-flags.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAO7C,MAAM,WAAW,qBAAqB;IACpC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACvC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,+EAA+E;IAC/E,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB,sBAAsB,CAAC,EAAE,MAAM,CAAC;CACjC;AAED;;;GAGG;AACH,wBAAsB,mBAAmB,CACvC,OAAO,EAAE,qBAAqB,GAC7B,OAAO,CAAC,KAAK,CAAC,CAuEhB"}
@@ -0,0 +1,56 @@
1
+ import { parseEvaluatedResponseBody, readResponseBody, unwrapDefsPayload, } from './signed-response.js';
2
+ /**
3
+ * Fetch the evaluated flag map from Toggly at build time.
4
+ * Merges `flagDefaults` underneath API values so callers can supply fallbacks.
5
+ */
6
+ export async function fetchBuildTimeFlags(options) {
7
+ const { baseURI = 'https://definitions.toggly.io', appKey, environment = 'Production', flagDefaults = {}, connectTimeout = 5_000, isDebug = false, verifySignatures = false, allowedKeyIds, maxSignatureAgeSeconds, } = options;
8
+ const merged = { ...flagDefaults };
9
+ if (!appKey) {
10
+ if (isDebug) {
11
+ console.warn('[Toggly Plugin] staticGating: TOGGLY_APP_KEY missing; using flagDefaults only');
12
+ }
13
+ return merged;
14
+ }
15
+ const baseUrl = baseURI.replace(/\/$/, '');
16
+ const url = `${baseUrl}/evaluated-signed/${encodeURIComponent(appKey)}/${encodeURIComponent(environment)}`;
17
+ const controller = new AbortController();
18
+ const timer = setTimeout(() => controller.abort(), connectTimeout);
19
+ try {
20
+ const response = await fetch(url, {
21
+ method: 'GET',
22
+ headers: { Accept: 'application/json' },
23
+ signal: controller.signal,
24
+ });
25
+ if (!response.ok) {
26
+ throw new Error(`Toggly API returned ${response.status}`);
27
+ }
28
+ const bodyText = await readResponseBody(response);
29
+ const parsed = await parseEvaluatedResponseBody(bodyText, {
30
+ verifySignatures,
31
+ baseURI,
32
+ allowedKeyIds,
33
+ maxSignatureAgeSeconds,
34
+ headers: { Accept: 'application/json' },
35
+ });
36
+ const apiFlags = (verifySignatures ? parsed : unwrapDefsPayload(parsed));
37
+ for (const [key, value] of Object.entries(apiFlags)) {
38
+ if (typeof value === 'boolean') {
39
+ merged[key] = value;
40
+ }
41
+ }
42
+ if (isDebug) {
43
+ const enabled = Object.entries(merged).filter(([, v]) => v).length;
44
+ console.log(`[Toggly Plugin] staticGating: loaded ${Object.keys(merged).length} flags (${enabled} enabled)`);
45
+ }
46
+ return merged;
47
+ }
48
+ catch (error) {
49
+ console.error('[Toggly Plugin] staticGating: failed to fetch flags:', error);
50
+ return merged;
51
+ }
52
+ finally {
53
+ clearTimeout(timer);
54
+ }
55
+ }
56
+ //# sourceMappingURL=fetch-build-flags.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fetch-build-flags.js","sourceRoot":"","sources":["../../src/lib/fetch-build-flags.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Map a Docusaurus route (e.g. `/sdks/java`) to a built HTML file path
3
+ * under the output directory.
4
+ */
5
+ export declare function routeToHtmlPath(outDir: string, route: string): string;
6
+ //# sourceMappingURL=route-to-html-path.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"route-to-html-path.d.ts","sourceRoot":"","sources":["../../src/lib/route-to-html-path.ts"],"names":[],"mappings":"AAEA;;;GAGG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAMrE"}
@@ -0,0 +1,13 @@
1
+ import * as path from 'path';
2
+ /**
3
+ * Map a Docusaurus route (e.g. `/sdks/java`) to a built HTML file path
4
+ * under the output directory.
5
+ */
6
+ export function routeToHtmlPath(outDir, route) {
7
+ const normalized = route === '/' ? '' : route.replace(/^\/+/, '').replace(/\/+$/, '');
8
+ if (!normalized) {
9
+ return path.join(outDir, 'index.html');
10
+ }
11
+ return path.join(outDir, normalized, 'index.html');
12
+ }
13
+ //# sourceMappingURL=route-to-html-path.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"route-to-html-path.js","sourceRoot":"","sources":["../../src/lib/route-to-html-path.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAE7B;;;GAGG;AACH,MAAM,UAAU,eAAe,CAAC,MAAc,EAAE,KAAa;IAC3D,MAAM,UAAU,GAAG,KAAK,KAAK,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IACtF,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;IACzC,CAAC;IACD,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,UAAU,EAAE,YAAY,CAAC,CAAC;AACrD,CAAC"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Re-export shared evaluated-signed response helpers.
3
+ */
4
+ export { readResponseBody, parseEvaluatedResponseBody, type VerifySignatureOptions, } from '@ops-ai/toggly-signed-defs';
5
+ /** Unwrap `{ defs }` when present; otherwise treat payload as the defs map. */
6
+ export declare function unwrapDefsPayload(payload: unknown): Record<string, boolean>;
7
+ //# sourceMappingURL=signed-response.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"signed-response.d.ts","sourceRoot":"","sources":["../../src/lib/signed-response.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EACL,gBAAgB,EAChB,0BAA0B,EAC1B,KAAK,sBAAsB,GAC5B,MAAM,4BAA4B,CAAA;AAGnC,+EAA+E;AAC/E,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAM3E"}
@@ -0,0 +1,14 @@
1
+ /**
2
+ * Re-export shared evaluated-signed response helpers.
3
+ */
4
+ export { readResponseBody, parseEvaluatedResponseBody, } from '@ops-ai/toggly-signed-defs';
5
+ import { unwrapDefsPayload as unwrapShared } from '@ops-ai/toggly-signed-defs';
6
+ /** Unwrap `{ defs }` when present; otherwise treat payload as the defs map. */
7
+ export function unwrapDefsPayload(payload) {
8
+ const unwrapped = unwrapShared(payload);
9
+ if (unwrapped && typeof unwrapped === 'object') {
10
+ return unwrapped;
11
+ }
12
+ return {};
13
+ }
14
+ //# sourceMappingURL=signed-response.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"signed-response.js","sourceRoot":"","sources":["../../src/lib/signed-response.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EACL,gBAAgB,EAChB,0BAA0B,GAE3B,MAAM,4BAA4B,CAAA;AACnC,OAAO,EAAE,iBAAiB,IAAI,YAAY,EAAE,MAAM,4BAA4B,CAAA;AAE9E,+EAA+E;AAC/E,MAAM,UAAU,iBAAiB,CAAC,OAAgB;IAChD,MAAM,SAAS,GAAG,YAAY,CAAC,OAAO,CAAC,CAAA;IACvC,IAAI,SAAS,IAAI,OAAO,SAAS,KAAK,QAAQ,EAAE,CAAC;QAC/C,OAAO,SAAoC,CAAA;IAC7C,CAAC;IACD,OAAO,EAAE,CAAA;AACX,CAAC"}
@@ -29,6 +29,12 @@ export interface TogglyConfig {
29
29
  fetch?: typeof fetch;
30
30
  /** User identity for targeting (optional) */
31
31
  identity?: string;
32
+ /** When true, verify ES256 signed envelopes via JWKS before applying flags. */
33
+ verifySignatures?: boolean;
34
+ /** Optional allow-list of JWKS kid values when verifySignatures is enabled. */
35
+ allowedKeyIds?: string[];
36
+ /** Reject envelopes older than this many seconds; unset disables freshness. */
37
+ maxSignatureAgeSeconds?: number;
32
38
  }
33
39
  /**
34
40
  * Map of feature flag keys to their boolean values
@@ -1 +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,6EAA6E;IAC7E,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;IAE9B;;;;OAIG;IACH,cAAc,IAAI,IAAI,CAAC;IAEvB;;OAEG;IACH,aAAa,IAAI,IAAI,CAAC;CACvB;AAOD;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,GAAE,YAAiB,GAAG,YAAY,CAwR1E"}
1
+ {"version":3,"file":"toggly-client.d.ts","sourceRoot":"","sources":["../../src/lib/toggly-client.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAQH;;;GAGG;AACH,MAAM,WAAW,YAAY;IAC3B,6EAA6E;IAC7E,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;IAClB,+EAA+E;IAC/E,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,+EAA+E;IAC/E,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB,+EAA+E;IAC/E,sBAAsB,CAAC,EAAE,MAAM,CAAC;CACjC;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;IAE9B;;;;OAIG;IACH,cAAc,IAAI,IAAI,CAAC;IAEvB;;OAEG;IACH,aAAa,IAAI,IAAI,CAAC;CACvB;AAOD;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,GAAE,YAAiB,GAAG,YAAY,CAqS1E"}
@@ -4,6 +4,7 @@
4
4
  * Bundled directly into the Docusaurus plugin to avoid module resolution issues.
5
5
  * Original source: @ops-ai/toggly-client-core
6
6
  */
7
+ import { parseEvaluatedResponseBody, readResponseBody, unwrapDefsPayload, } from './signed-response.js';
7
8
  /**
8
9
  * Creates a new Toggly client instance
9
10
  *
@@ -13,7 +14,7 @@
13
14
  export function createTogglyClient(config = {}) {
14
15
  const { baseURI = 'https://definitions.toggly.io', appKey, environment = 'Production', flagDefaults = {}, featureFlagsRefreshInterval = 3 * 60 * 1000, // 3 minutes
15
16
  isDebug = false, connectTimeout = 5 * 1000, // 5 seconds
16
- fetch: fetchImpl, identity, } = config;
17
+ fetch: fetchImpl, identity, verifySignatures = false, allowedKeyIds, maxSignatureAgeSeconds, } = config;
17
18
  // Resolve fetch implementation: use provided, then globalThis.fetch, then throw
18
19
  let resolvedFetch;
19
20
  if (fetchImpl) {
@@ -80,8 +81,16 @@ export function createTogglyClient(config = {}) {
80
81
  if (!response.ok) {
81
82
  throw new Error(`Failed to fetch flags from Toggly API: ${response.status} ${response.statusText}`);
82
83
  }
83
- const payload = await response.json();
84
- const flags = (payload && typeof payload === 'object' && 'defs' in payload ? payload.defs : payload);
84
+ const bodyText = await readResponseBody(response);
85
+ const parsed = await parseEvaluatedResponseBody(bodyText, {
86
+ verifySignatures,
87
+ baseURI,
88
+ allowedKeyIds,
89
+ maxSignatureAgeSeconds,
90
+ headers: { Accept: 'application/json' },
91
+ fetchImpl: resolvedFetch,
92
+ });
93
+ const flags = (verifySignatures ? parsed : unwrapDefsPayload(parsed));
85
94
  if (isDebug) {
86
95
  console.log(`Toggly.fetchFeatureFlags - ${JSON.stringify(flags)}`);
87
96
  }
@@ -1 +1 @@
1
- {"version":3,"file":"toggly-client.js","sourceRoot":"","sources":["../../src/lib/toggly-client.ts"],"names":[],"mappings":"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"}
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.5.1",
3
+ "version": "0.7.0",
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",
@@ -48,12 +48,14 @@
48
48
  },
49
49
  "homepage": "https://github.com/ops-ai/Toggly.FeatureManagement#readme",
50
50
  "dependencies": {
51
- "glob": "^10.3.10"
51
+ "@ops-ai/toggly-hooks-types": "file:../../../toggly-hooks-types",
52
+ "glob": "^10.3.10",
53
+ "@ops-ai/toggly-signed-defs": "file:../../../toggly-signed-defs"
52
54
  },
53
55
  "peerDependencies": {
54
56
  "@docusaurus/core": "^3.0.0",
55
- "react": "^18.0.0",
56
- "react-dom": "^18.0.0"
57
+ "react": "^18.0.0 || ^19.0.0",
58
+ "react-dom": "^18.0.0 || ^19.0.0"
57
59
  },
58
60
  "devDependencies": {
59
61
  "@docusaurus/core": "^3.9.2",