bippy 0.3.0 → 0.3.2

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 (39) hide show
  1. package/README.md +24 -0
  2. package/dist/chunk-AMVCK6H6.js +2240 -0
  3. package/dist/chunk-AQ674A4M.cjs +38 -0
  4. package/dist/{chunk-2R5SJTFQ.js → chunk-E67XFKKG.js} +2 -7
  5. package/dist/chunk-EPG3GO3H.js +35 -0
  6. package/dist/{chunk-POWCTW3F.cjs → chunk-J2F3EJOS.cjs} +2 -7
  7. package/dist/chunk-LMTDJIAV.cjs +2246 -0
  8. package/dist/{chunk-R357CEJU.cjs → chunk-OZZZ2ACU.cjs} +57 -40
  9. package/dist/{chunk-NK43KTPL.js → chunk-SI6Y374H.js} +55 -39
  10. package/dist/core.cjs +80 -67
  11. package/dist/core.d.cts +13 -3
  12. package/dist/core.d.ts +13 -3
  13. package/dist/core.js +2 -1
  14. package/dist/experiments/inspect.cjs +25 -15
  15. package/dist/experiments/inspect.js +13 -3
  16. package/dist/experiments/shrinkwrap.cjs +7 -6
  17. package/dist/experiments/shrinkwrap.js +3 -2
  18. package/dist/index.cjs +81 -68
  19. package/dist/index.d.cts +3 -2
  20. package/dist/index.d.ts +3 -2
  21. package/dist/index.global.js +1 -1
  22. package/dist/index.js +3 -2
  23. package/dist/jsx-dev-runtime.cjs +47 -0
  24. package/dist/jsx-dev-runtime.d.cts +8 -0
  25. package/dist/jsx-dev-runtime.d.ts +8 -0
  26. package/dist/jsx-dev-runtime.js +37 -0
  27. package/dist/{types-bP3PNEQt.d.cts → jsx-runtime-LhDmw-G0.d.cts} +1 -0
  28. package/dist/{types-bP3PNEQt.d.ts → jsx-runtime-LhDmw-G0.d.ts} +1 -0
  29. package/dist/jsx-runtime.cjs +15 -0
  30. package/dist/jsx-runtime.d.cts +3 -0
  31. package/dist/jsx-runtime.d.ts +3 -0
  32. package/dist/jsx-runtime.js +4 -0
  33. package/dist/shrinkwrap.global.js +1 -1
  34. package/dist/source.cjs +274 -2216
  35. package/dist/source.d.cts +7 -3
  36. package/dist/source.d.ts +7 -3
  37. package/dist/source.global.js +14 -1
  38. package/dist/source.js +4 -2229
  39. package/package.json +21 -1
@@ -8,34 +8,9 @@
8
8
  * This source code is licensed under the MIT license found in the
9
9
  * LICENSE file in the root directory of this source tree.
10
10
  */
11
- var __create = Object.create;
12
- var __defProp = Object.defineProperty;
13
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
14
- var __getOwnPropNames = Object.getOwnPropertyNames;
15
- var __getProtoOf = Object.getPrototypeOf;
16
- var __hasOwnProp = Object.prototype.hasOwnProperty;
17
- var __commonJS = (cb, mod) => function __require() {
18
- return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;
19
- };
20
- var __copyProps = (to, from, except, desc) => {
21
- if (from && typeof from === "object" || typeof from === "function") {
22
- for (let key of __getOwnPropNames(from))
23
- if (!__hasOwnProp.call(to, key) && key !== except)
24
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
25
- }
26
- return to;
27
- };
28
- var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
29
- // If the importer is in node compatibility mode or this is not an ESM
30
- // file that has been converted to a CommonJS file using a Babel-
31
- // compatible transform (i.e. "__esModule" has not been set), then set
32
- // "default" to the CommonJS "module.exports" for node compatibility.
33
- isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
34
- mod
35
- ));
36
11
 
37
12
  // src/rdt-hook.ts
38
- var version = "0.3.0";
13
+ var version = "0.3.2";
39
14
  var BIPPY_INSTRUMENTATION_STRING = `bippy-${version}`;
40
15
  var objectDefineProperty = Object.defineProperty;
41
16
  var objectHasOwnProperty = Object.prototype.hasOwnProperty;
@@ -93,9 +68,23 @@ var installRDTHook = (onActive) => {
93
68
  };
94
69
  try {
95
70
  objectDefineProperty(globalThis, "__REACT_DEVTOOLS_GLOBAL_HOOK__", {
96
- value: rdtHook,
71
+ get() {
72
+ return rdtHook;
73
+ },
74
+ set(newHook) {
75
+ if (newHook && typeof newHook === "object") {
76
+ const ourRenderers = rdtHook.renderers;
77
+ globalThis.__REACT_DEVTOOLS_GLOBAL_HOOK__ = newHook;
78
+ if (ourRenderers.size > 0) {
79
+ ourRenderers.forEach((renderer, id) => {
80
+ newHook.renderers.set(id, renderer);
81
+ });
82
+ patchRDTHook(onActive);
83
+ }
84
+ }
85
+ },
97
86
  configurable: true,
98
- writable: true
87
+ enumerable: true
99
88
  });
100
89
  const originalWindowHasOwnProperty = window.hasOwnProperty;
101
90
  let hasRanHack = false;
@@ -124,7 +113,6 @@ var patchRDTHook = (onActive) => {
124
113
  const rdtHook = globalThis.__REACT_DEVTOOLS_GLOBAL_HOOK__;
125
114
  if (!rdtHook) return;
126
115
  if (!rdtHook._instrumentationSource) {
127
- isReactRefreshOverride = isReactRefresh(rdtHook);
128
116
  rdtHook.checkDCE = checkDCE;
129
117
  rdtHook.supportsFiber = true;
130
118
  rdtHook.supportsFlight = true;
@@ -139,19 +127,21 @@ var patchRDTHook = (onActive) => {
139
127
  const prevInject = rdtHook.inject;
140
128
  if (isReactRefresh(rdtHook) && !isRealReactDevtools()) {
141
129
  isReactRefreshOverride = true;
142
- let nextID = rdtHook.inject(null);
130
+ const nextID = rdtHook.inject({
131
+ // @ts-expect-error this is not actually a ReactRenderer,
132
+ scheduleRefresh() {
133
+ }
134
+ });
143
135
  if (nextID) {
144
136
  rdtHook._instrumentationIsActive = true;
145
137
  }
146
- rdtHook.inject = () => nextID++;
147
- } else {
148
- rdtHook.inject = (renderer) => {
149
- const id = prevInject(renderer);
150
- rdtHook._instrumentationIsActive = true;
151
- onActiveListeners.forEach((listener) => listener());
152
- return id;
153
- };
154
138
  }
139
+ rdtHook.inject = (renderer) => {
140
+ const id = prevInject(renderer);
141
+ rdtHook._instrumentationIsActive = true;
142
+ onActiveListeners.forEach((listener) => listener());
143
+ return id;
144
+ };
155
145
  }
156
146
  if (rdtHook.renderers.size || rdtHook._instrumentationIsActive || // depending on this to inject is unsafe, since inject could occur before and we wouldn't know
157
147
  isReactRefresh()) {
@@ -178,6 +168,14 @@ var isClientEnvironment = () => {
178
168
  typeof window !== "undefined" && (window.document?.createElement || window.navigator?.product === "ReactNative")
179
169
  );
180
170
  };
171
+ var safelyInstallRDTHook = () => {
172
+ try {
173
+ if (isClientEnvironment()) {
174
+ getRDTHook();
175
+ }
176
+ } catch {
177
+ }
178
+ };
181
179
 
182
180
  // src/install-hook-script-string.ts
183
181
  var INSTALL_HOOK_SCRIPT_STRING = "(()=>{try{var t=()=>{};const n=new Map;let o=0;globalThis.__REACT_DEVTOOLS_GLOBAL_HOOK__={checkDCE:t,supportsFiber:!0,supportsFlight:!0,hasUnsupportedRendererAttached:!1,renderers:n,onCommitFiberRoot:t,onCommitFiberUnmount:t,onPostCommitFiberRoot:t,inject(t){var e=++o;return n.set(e,t),globalThis.__REACT_DEVTOOLS_GLOBAL_HOOK__._instrumentationIsActive=!0,e},_instrumentationIsActive:!1,_script:!0}}catch{}})()";
@@ -458,6 +456,20 @@ var isInstrumentationActive = () => {
458
456
  const rdtHook = getRDTHook();
459
457
  return Boolean(rdtHook._instrumentationIsActive) || isRealReactDevtools() || isReactRefresh();
460
458
  };
459
+ var getLatestFiber = (fiber) => {
460
+ const alternate = fiber.alternate;
461
+ if (!alternate) return fiber;
462
+ if (alternate.actualStartTime && fiber.actualStartTime) {
463
+ return alternate.actualStartTime > fiber.actualStartTime ? alternate : fiber;
464
+ }
465
+ for (const root of _fiberRoots) {
466
+ const latestFiber = traverseFiber(root.current, (innerFiber) => {
467
+ if (innerFiber === fiber) return true;
468
+ });
469
+ return latestFiber || alternate;
470
+ }
471
+ return fiber;
472
+ };
461
473
  var fiberId = 0;
462
474
  var fiberIdMap = /* @__PURE__ */ new WeakMap();
463
475
  var setFiberId = (fiber, id = fiberId++) => {
@@ -672,6 +684,7 @@ var getFiberFromHostInstance = (hostInstance) => {
672
684
  return null;
673
685
  };
674
686
  var INSTALL_ERROR = new Error();
687
+ var _fiberRoots = /* @__PURE__ */ new Set();
675
688
  var secure = (options, secureOptions = {}) => {
676
689
  const onActive = options.onActive;
677
690
  const isRDTHookInstalled = hasRDTHook();
@@ -712,6 +725,9 @@ var secure = (options, secureOptions = {}) => {
712
725
  const onCommitFiberRoot2 = options.onCommitFiberRoot;
713
726
  if (onCommitFiberRoot2) {
714
727
  options.onCommitFiberRoot = (rendererID, root, priority) => {
728
+ if (!_fiberRoots.has(root)) {
729
+ _fiberRoots.add(root);
730
+ }
715
731
  try {
716
732
  onCommitFiberRoot2(rendererID, root, priority);
717
733
  } catch (err) {
@@ -787,8 +803,7 @@ exports.OffscreenComponentTag = OffscreenComponentTag;
787
803
  exports.SimpleMemoComponentTag = SimpleMemoComponentTag;
788
804
  exports.SuspenseComponentTag = SuspenseComponentTag;
789
805
  exports.TRANSITIONAL_ELEMENT_TYPE_SYMBOL_STRING = TRANSITIONAL_ELEMENT_TYPE_SYMBOL_STRING;
790
- exports.__commonJS = __commonJS;
791
- exports.__toESM = __toESM;
806
+ exports._fiberRoots = _fiberRoots;
792
807
  exports.createFiberVisitor = createFiberVisitor;
793
808
  exports.detectReactBuildType = detectReactBuildType;
794
809
  exports.didFiberCommit = didFiberCommit;
@@ -798,6 +813,7 @@ exports.getDisplayName = getDisplayName;
798
813
  exports.getFiberFromHostInstance = getFiberFromHostInstance;
799
814
  exports.getFiberId = getFiberId;
800
815
  exports.getFiberStack = getFiberStack;
816
+ exports.getLatestFiber = getLatestFiber;
801
817
  exports.getMutatedHostFibers = getMutatedHostFibers;
802
818
  exports.getNearestHostFiber = getNearestHostFiber;
803
819
  exports.getNearestHostFibers = getNearestHostFibers;
@@ -819,6 +835,7 @@ exports.isValidFiber = isValidFiber;
819
835
  exports.mountFiberRecursively = mountFiberRecursively;
820
836
  exports.onCommitFiberRoot = onCommitFiberRoot;
821
837
  exports.patchRDTHook = patchRDTHook;
838
+ exports.safelyInstallRDTHook = safelyInstallRDTHook;
822
839
  exports.secure = secure;
823
840
  exports.setFiberId = setFiberId;
824
841
  exports.shouldFilterFiber = shouldFilterFiber;
@@ -6,34 +6,9 @@
6
6
  * This source code is licensed under the MIT license found in the
7
7
  * LICENSE file in the root directory of this source tree.
8
8
  */
9
- var __create = Object.create;
10
- var __defProp = Object.defineProperty;
11
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
12
- var __getOwnPropNames = Object.getOwnPropertyNames;
13
- var __getProtoOf = Object.getPrototypeOf;
14
- var __hasOwnProp = Object.prototype.hasOwnProperty;
15
- var __commonJS = (cb, mod) => function __require() {
16
- return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;
17
- };
18
- var __copyProps = (to, from, except, desc) => {
19
- if (from && typeof from === "object" || typeof from === "function") {
20
- for (let key of __getOwnPropNames(from))
21
- if (!__hasOwnProp.call(to, key) && key !== except)
22
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
23
- }
24
- return to;
25
- };
26
- var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
27
- // If the importer is in node compatibility mode or this is not an ESM
28
- // file that has been converted to a CommonJS file using a Babel-
29
- // compatible transform (i.e. "__esModule" has not been set), then set
30
- // "default" to the CommonJS "module.exports" for node compatibility.
31
- isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
32
- mod
33
- ));
34
9
 
35
10
  // src/rdt-hook.ts
36
- var version = "0.3.0";
11
+ var version = "0.3.2";
37
12
  var BIPPY_INSTRUMENTATION_STRING = `bippy-${version}`;
38
13
  var objectDefineProperty = Object.defineProperty;
39
14
  var objectHasOwnProperty = Object.prototype.hasOwnProperty;
@@ -91,9 +66,23 @@ var installRDTHook = (onActive) => {
91
66
  };
92
67
  try {
93
68
  objectDefineProperty(globalThis, "__REACT_DEVTOOLS_GLOBAL_HOOK__", {
94
- value: rdtHook,
69
+ get() {
70
+ return rdtHook;
71
+ },
72
+ set(newHook) {
73
+ if (newHook && typeof newHook === "object") {
74
+ const ourRenderers = rdtHook.renderers;
75
+ globalThis.__REACT_DEVTOOLS_GLOBAL_HOOK__ = newHook;
76
+ if (ourRenderers.size > 0) {
77
+ ourRenderers.forEach((renderer, id) => {
78
+ newHook.renderers.set(id, renderer);
79
+ });
80
+ patchRDTHook(onActive);
81
+ }
82
+ }
83
+ },
95
84
  configurable: true,
96
- writable: true
85
+ enumerable: true
97
86
  });
98
87
  const originalWindowHasOwnProperty = window.hasOwnProperty;
99
88
  let hasRanHack = false;
@@ -122,7 +111,6 @@ var patchRDTHook = (onActive) => {
122
111
  const rdtHook = globalThis.__REACT_DEVTOOLS_GLOBAL_HOOK__;
123
112
  if (!rdtHook) return;
124
113
  if (!rdtHook._instrumentationSource) {
125
- isReactRefreshOverride = isReactRefresh(rdtHook);
126
114
  rdtHook.checkDCE = checkDCE;
127
115
  rdtHook.supportsFiber = true;
128
116
  rdtHook.supportsFlight = true;
@@ -137,19 +125,21 @@ var patchRDTHook = (onActive) => {
137
125
  const prevInject = rdtHook.inject;
138
126
  if (isReactRefresh(rdtHook) && !isRealReactDevtools()) {
139
127
  isReactRefreshOverride = true;
140
- let nextID = rdtHook.inject(null);
128
+ const nextID = rdtHook.inject({
129
+ // @ts-expect-error this is not actually a ReactRenderer,
130
+ scheduleRefresh() {
131
+ }
132
+ });
141
133
  if (nextID) {
142
134
  rdtHook._instrumentationIsActive = true;
143
135
  }
144
- rdtHook.inject = () => nextID++;
145
- } else {
146
- rdtHook.inject = (renderer) => {
147
- const id = prevInject(renderer);
148
- rdtHook._instrumentationIsActive = true;
149
- onActiveListeners.forEach((listener) => listener());
150
- return id;
151
- };
152
136
  }
137
+ rdtHook.inject = (renderer) => {
138
+ const id = prevInject(renderer);
139
+ rdtHook._instrumentationIsActive = true;
140
+ onActiveListeners.forEach((listener) => listener());
141
+ return id;
142
+ };
153
143
  }
154
144
  if (rdtHook.renderers.size || rdtHook._instrumentationIsActive || // depending on this to inject is unsafe, since inject could occur before and we wouldn't know
155
145
  isReactRefresh()) {
@@ -176,6 +166,14 @@ var isClientEnvironment = () => {
176
166
  typeof window !== "undefined" && (window.document?.createElement || window.navigator?.product === "ReactNative")
177
167
  );
178
168
  };
169
+ var safelyInstallRDTHook = () => {
170
+ try {
171
+ if (isClientEnvironment()) {
172
+ getRDTHook();
173
+ }
174
+ } catch {
175
+ }
176
+ };
179
177
 
180
178
  // src/install-hook-script-string.ts
181
179
  var INSTALL_HOOK_SCRIPT_STRING = "(()=>{try{var t=()=>{};const n=new Map;let o=0;globalThis.__REACT_DEVTOOLS_GLOBAL_HOOK__={checkDCE:t,supportsFiber:!0,supportsFlight:!0,hasUnsupportedRendererAttached:!1,renderers:n,onCommitFiberRoot:t,onCommitFiberUnmount:t,onPostCommitFiberRoot:t,inject(t){var e=++o;return n.set(e,t),globalThis.__REACT_DEVTOOLS_GLOBAL_HOOK__._instrumentationIsActive=!0,e},_instrumentationIsActive:!1,_script:!0}}catch{}})()";
@@ -456,6 +454,20 @@ var isInstrumentationActive = () => {
456
454
  const rdtHook = getRDTHook();
457
455
  return Boolean(rdtHook._instrumentationIsActive) || isRealReactDevtools() || isReactRefresh();
458
456
  };
457
+ var getLatestFiber = (fiber) => {
458
+ const alternate = fiber.alternate;
459
+ if (!alternate) return fiber;
460
+ if (alternate.actualStartTime && fiber.actualStartTime) {
461
+ return alternate.actualStartTime > fiber.actualStartTime ? alternate : fiber;
462
+ }
463
+ for (const root of _fiberRoots) {
464
+ const latestFiber = traverseFiber(root.current, (innerFiber) => {
465
+ if (innerFiber === fiber) return true;
466
+ });
467
+ return latestFiber || alternate;
468
+ }
469
+ return fiber;
470
+ };
459
471
  var fiberId = 0;
460
472
  var fiberIdMap = /* @__PURE__ */ new WeakMap();
461
473
  var setFiberId = (fiber, id = fiberId++) => {
@@ -670,6 +682,7 @@ var getFiberFromHostInstance = (hostInstance) => {
670
682
  return null;
671
683
  };
672
684
  var INSTALL_ERROR = new Error();
685
+ var _fiberRoots = /* @__PURE__ */ new Set();
673
686
  var secure = (options, secureOptions = {}) => {
674
687
  const onActive = options.onActive;
675
688
  const isRDTHookInstalled = hasRDTHook();
@@ -710,6 +723,9 @@ var secure = (options, secureOptions = {}) => {
710
723
  const onCommitFiberRoot2 = options.onCommitFiberRoot;
711
724
  if (onCommitFiberRoot2) {
712
725
  options.onCommitFiberRoot = (rendererID, root, priority) => {
726
+ if (!_fiberRoots.has(root)) {
727
+ _fiberRoots.add(root);
728
+ }
713
729
  try {
714
730
  onCommitFiberRoot2(rendererID, root, priority);
715
731
  } catch (err) {
@@ -761,4 +777,4 @@ var onCommitFiberRoot = (handler) => {
761
777
  );
762
778
  };
763
779
 
764
- export { BIPPY_INSTRUMENTATION_STRING, CONCURRENT_MODE_NUMBER, CONCURRENT_MODE_SYMBOL_STRING, ClassComponentTag, ContextConsumerTag, DEPRECATED_ASYNC_MODE_SYMBOL_STRING, DehydratedSuspenseComponentTag, ELEMENT_TYPE_SYMBOL_STRING, ForwardRefTag, FragmentTag, FunctionComponentTag, HostComponentTag, HostHoistableTag, HostRootTag, HostSingletonTag, HostTextTag, INSTALL_ERROR, INSTALL_HOOK_SCRIPT_STRING, LegacyHiddenComponentTag, MemoComponentTag, OffscreenComponentTag, SimpleMemoComponentTag, SuspenseComponentTag, TRANSITIONAL_ELEMENT_TYPE_SYMBOL_STRING, __commonJS, __toESM, createFiberVisitor, detectReactBuildType, didFiberCommit, didFiberRender, fiberIdMap, getDisplayName, getFiberFromHostInstance, getFiberId, getFiberStack, getMutatedHostFibers, getNearestHostFiber, getNearestHostFibers, getRDTHook, getTimings, getType, hasMemoCache, hasRDTHook, installRDTHook, instrument, isClientEnvironment, isCompositeFiber, isHostFiber, isInstrumentationActive, isReactRefresh, isRealReactDevtools, isValidElement, isValidFiber, mountFiberRecursively, onCommitFiberRoot, patchRDTHook, secure, setFiberId, shouldFilterFiber, traverseContexts, traverseFiber, traverseProps, traverseRenderedFibers, traverseState, unmountFiber, unmountFiberChildrenRecursively, updateFiberRecursively, version };
780
+ export { BIPPY_INSTRUMENTATION_STRING, CONCURRENT_MODE_NUMBER, CONCURRENT_MODE_SYMBOL_STRING, ClassComponentTag, ContextConsumerTag, DEPRECATED_ASYNC_MODE_SYMBOL_STRING, DehydratedSuspenseComponentTag, ELEMENT_TYPE_SYMBOL_STRING, ForwardRefTag, FragmentTag, FunctionComponentTag, HostComponentTag, HostHoistableTag, HostRootTag, HostSingletonTag, HostTextTag, INSTALL_ERROR, INSTALL_HOOK_SCRIPT_STRING, LegacyHiddenComponentTag, MemoComponentTag, OffscreenComponentTag, SimpleMemoComponentTag, SuspenseComponentTag, TRANSITIONAL_ELEMENT_TYPE_SYMBOL_STRING, _fiberRoots, createFiberVisitor, detectReactBuildType, didFiberCommit, didFiberRender, fiberIdMap, getDisplayName, getFiberFromHostInstance, getFiberId, getFiberStack, getLatestFiber, getMutatedHostFibers, getNearestHostFiber, getNearestHostFibers, getRDTHook, getTimings, getType, hasMemoCache, hasRDTHook, installRDTHook, instrument, isClientEnvironment, isCompositeFiber, isHostFiber, isInstrumentationActive, isReactRefresh, isRealReactDevtools, isValidElement, isValidFiber, mountFiberRecursively, onCommitFiberRoot, patchRDTHook, safelyInstallRDTHook, secure, setFiberId, shouldFilterFiber, traverseContexts, traverseFiber, traverseProps, traverseRenderedFibers, traverseState, unmountFiber, unmountFiberChildrenRecursively, updateFiberRecursively, version };