bippy 0.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +24 -0
- package/dist/index.d.mts +79 -0
- package/dist/index.d.ts +79 -0
- package/dist/index.global.js +1 -0
- package/dist/index.js +1 -0
- package/dist/index.mjs +1 -0
- package/dist/rsc-shim.d.mts +2 -0
- package/dist/rsc-shim.d.ts +2 -0
- package/dist/rsc-shim.global.js +1 -0
- package/dist/rsc-shim.js +1 -0
- package/dist/rsc-shim.mjs +1 -0
- package/package.json +79 -0
package/README.md
ADDED
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
# <img src="https://github.com/aidenybai/bippy/blob/main/.github/assets/bippy.png?raw=true" width="60" align="center" /> bippy
|
|
2
|
+
|
|
3
|
+
a set of utilities for working with React fiber. i use this internally for [`react-scan`](https://github.com/aidenybai/react-scan).
|
|
4
|
+
|
|
5
|
+
> [!WARNING]
|
|
6
|
+
> this project accesses react internals. this is not recommended and may break production apps - unless you acknowledge this risk and know exactly you're doing.
|
|
7
|
+
|
|
8
|
+
## example
|
|
9
|
+
|
|
10
|
+
```jsx
|
|
11
|
+
import { instrument, traverseFiberRoot } from 'bippy'; // must be imported BEFORE react
|
|
12
|
+
|
|
13
|
+
instrument({
|
|
14
|
+
onCommitFiberRoot: traverseFiberRoot({
|
|
15
|
+
onRender(fiber) {
|
|
16
|
+
console.log(fiber);
|
|
17
|
+
},
|
|
18
|
+
}),
|
|
19
|
+
});
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
## misc
|
|
23
|
+
|
|
24
|
+
the original bippy character is owned and created by [@dairyfreerice](https://www.instagram.com/dairyfreerice). this project is not related to the bippy brand, i just think the character is cute
|
package/dist/index.d.mts
ADDED
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import { Fiber, FiberRoot } from 'react-reconciler';
|
|
3
|
+
|
|
4
|
+
declare const PerformedWorkFlag = 1;
|
|
5
|
+
declare const ClassComponentTag = 1;
|
|
6
|
+
declare const FunctionComponentTag = 0;
|
|
7
|
+
declare const ContextConsumerTag = 9;
|
|
8
|
+
declare const ForwardRefTag = 11;
|
|
9
|
+
declare const MemoComponentTag = 14;
|
|
10
|
+
declare const SimpleMemoComponentTag = 15;
|
|
11
|
+
declare const HostComponentTag = 5;
|
|
12
|
+
declare const HostHoistableTag = 26;
|
|
13
|
+
declare const HostSingletonTag = 27;
|
|
14
|
+
declare const DehydratedSuspenseComponent = 18;
|
|
15
|
+
declare const HostText = 6;
|
|
16
|
+
declare const Fragment = 7;
|
|
17
|
+
declare const LegacyHiddenComponent = 23;
|
|
18
|
+
declare const OffscreenComponent = 22;
|
|
19
|
+
declare const HostRoot = 3;
|
|
20
|
+
declare const CONCURRENT_MODE_NUMBER = 60111;
|
|
21
|
+
declare const CONCURRENT_MODE_SYMBOL_STRING = "Symbol(react.concurrent_mode)";
|
|
22
|
+
declare const DEPRECATED_ASYNC_MODE_SYMBOL_STRING = "Symbol(react.async_mode)";
|
|
23
|
+
declare const traverseContexts: (fiber: Fiber, selector: (prevValue: {
|
|
24
|
+
context: React.Context<unknown>;
|
|
25
|
+
memoizedValue: unknown;
|
|
26
|
+
}, nextValue: {
|
|
27
|
+
context: React.Context<unknown>;
|
|
28
|
+
memoizedValue: unknown;
|
|
29
|
+
}) => boolean | void) => boolean;
|
|
30
|
+
declare const traverseState: (fiber: Fiber, selector: (prevValue: {
|
|
31
|
+
memoizedState: unknown;
|
|
32
|
+
}, nextValue: {
|
|
33
|
+
memoizedState: unknown;
|
|
34
|
+
}) => boolean | void) => boolean;
|
|
35
|
+
declare const isHostComponent: (fiber: Fiber) => boolean;
|
|
36
|
+
declare const isCompositeComponent: (fiber: Fiber) => boolean;
|
|
37
|
+
declare const didFiberRender: (fiber: Fiber) => boolean;
|
|
38
|
+
declare const shouldFilterFiber: (fiber: Fiber) => boolean;
|
|
39
|
+
declare const getNearestHostFiber: (fiber: Fiber) => Fiber | null;
|
|
40
|
+
declare const traverseFiber: (fiber: Fiber | null, selector: (node: Fiber) => boolean | void, ascending?: boolean) => Fiber | null;
|
|
41
|
+
declare const getTimings: (fiber?: Fiber | null | undefined) => {
|
|
42
|
+
selfTime: number;
|
|
43
|
+
totalTime: number;
|
|
44
|
+
};
|
|
45
|
+
declare const getFiberFromElement: (element: HTMLElement) => Fiber | null;
|
|
46
|
+
declare const hasMemoCache: (fiber: Fiber) => boolean;
|
|
47
|
+
declare const getRDTHook: () => {
|
|
48
|
+
checkDCE: () => void;
|
|
49
|
+
supportsFiber: boolean;
|
|
50
|
+
supportsFlight: boolean;
|
|
51
|
+
renderers: Map<number, {
|
|
52
|
+
findFiberByHostInstance: (element: HTMLElement) => Fiber | null;
|
|
53
|
+
}>;
|
|
54
|
+
onCommitFiberRoot: (rendererID: number, root: unknown) => void;
|
|
55
|
+
onCommitFiberUnmount: (rendererID: number, root: unknown) => void;
|
|
56
|
+
onPostCommitFiberRoot: (rendererID: number, root: unknown) => void;
|
|
57
|
+
inject: (renderer: unknown) => number;
|
|
58
|
+
};
|
|
59
|
+
declare const traverseFiberRoot: ({ onRender, }: {
|
|
60
|
+
onRender: (fiber: Fiber) => void;
|
|
61
|
+
}) => (_rendererID: number, root: FiberRoot) => void;
|
|
62
|
+
declare const instrument: ({ onCommitFiberRoot, onCommitFiberUnmount, onPostCommitFiberRoot, }: {
|
|
63
|
+
onCommitFiberRoot?: (rendererID: number, root: FiberRoot) => void;
|
|
64
|
+
onCommitFiberUnmount?: (rendererID: number, root: FiberRoot) => void;
|
|
65
|
+
onPostCommitFiberRoot?: (rendererID: number, root: FiberRoot) => void;
|
|
66
|
+
}) => {
|
|
67
|
+
checkDCE: () => void;
|
|
68
|
+
supportsFiber: boolean;
|
|
69
|
+
supportsFlight: boolean;
|
|
70
|
+
renderers: Map<number, {
|
|
71
|
+
findFiberByHostInstance: (element: HTMLElement) => Fiber | null;
|
|
72
|
+
}>;
|
|
73
|
+
onCommitFiberRoot: (rendererID: number, root: unknown) => void;
|
|
74
|
+
onCommitFiberUnmount: (rendererID: number, root: unknown) => void;
|
|
75
|
+
onPostCommitFiberRoot: (rendererID: number, root: unknown) => void;
|
|
76
|
+
inject: (renderer: unknown) => number;
|
|
77
|
+
};
|
|
78
|
+
|
|
79
|
+
export { CONCURRENT_MODE_NUMBER, CONCURRENT_MODE_SYMBOL_STRING, ClassComponentTag, ContextConsumerTag, DEPRECATED_ASYNC_MODE_SYMBOL_STRING, DehydratedSuspenseComponent, ForwardRefTag, Fragment, FunctionComponentTag, HostComponentTag, HostHoistableTag, HostRoot, HostSingletonTag, HostText, LegacyHiddenComponent, MemoComponentTag, OffscreenComponent, PerformedWorkFlag, SimpleMemoComponentTag, didFiberRender, getFiberFromElement, getNearestHostFiber, getRDTHook, getTimings, hasMemoCache, instrument, isCompositeComponent, isHostComponent, shouldFilterFiber, traverseContexts, traverseFiber, traverseFiberRoot, traverseState };
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import { Fiber, FiberRoot } from 'react-reconciler';
|
|
3
|
+
|
|
4
|
+
declare const PerformedWorkFlag = 1;
|
|
5
|
+
declare const ClassComponentTag = 1;
|
|
6
|
+
declare const FunctionComponentTag = 0;
|
|
7
|
+
declare const ContextConsumerTag = 9;
|
|
8
|
+
declare const ForwardRefTag = 11;
|
|
9
|
+
declare const MemoComponentTag = 14;
|
|
10
|
+
declare const SimpleMemoComponentTag = 15;
|
|
11
|
+
declare const HostComponentTag = 5;
|
|
12
|
+
declare const HostHoistableTag = 26;
|
|
13
|
+
declare const HostSingletonTag = 27;
|
|
14
|
+
declare const DehydratedSuspenseComponent = 18;
|
|
15
|
+
declare const HostText = 6;
|
|
16
|
+
declare const Fragment = 7;
|
|
17
|
+
declare const LegacyHiddenComponent = 23;
|
|
18
|
+
declare const OffscreenComponent = 22;
|
|
19
|
+
declare const HostRoot = 3;
|
|
20
|
+
declare const CONCURRENT_MODE_NUMBER = 60111;
|
|
21
|
+
declare const CONCURRENT_MODE_SYMBOL_STRING = "Symbol(react.concurrent_mode)";
|
|
22
|
+
declare const DEPRECATED_ASYNC_MODE_SYMBOL_STRING = "Symbol(react.async_mode)";
|
|
23
|
+
declare const traverseContexts: (fiber: Fiber, selector: (prevValue: {
|
|
24
|
+
context: React.Context<unknown>;
|
|
25
|
+
memoizedValue: unknown;
|
|
26
|
+
}, nextValue: {
|
|
27
|
+
context: React.Context<unknown>;
|
|
28
|
+
memoizedValue: unknown;
|
|
29
|
+
}) => boolean | void) => boolean;
|
|
30
|
+
declare const traverseState: (fiber: Fiber, selector: (prevValue: {
|
|
31
|
+
memoizedState: unknown;
|
|
32
|
+
}, nextValue: {
|
|
33
|
+
memoizedState: unknown;
|
|
34
|
+
}) => boolean | void) => boolean;
|
|
35
|
+
declare const isHostComponent: (fiber: Fiber) => boolean;
|
|
36
|
+
declare const isCompositeComponent: (fiber: Fiber) => boolean;
|
|
37
|
+
declare const didFiberRender: (fiber: Fiber) => boolean;
|
|
38
|
+
declare const shouldFilterFiber: (fiber: Fiber) => boolean;
|
|
39
|
+
declare const getNearestHostFiber: (fiber: Fiber) => Fiber | null;
|
|
40
|
+
declare const traverseFiber: (fiber: Fiber | null, selector: (node: Fiber) => boolean | void, ascending?: boolean) => Fiber | null;
|
|
41
|
+
declare const getTimings: (fiber?: Fiber | null | undefined) => {
|
|
42
|
+
selfTime: number;
|
|
43
|
+
totalTime: number;
|
|
44
|
+
};
|
|
45
|
+
declare const getFiberFromElement: (element: HTMLElement) => Fiber | null;
|
|
46
|
+
declare const hasMemoCache: (fiber: Fiber) => boolean;
|
|
47
|
+
declare const getRDTHook: () => {
|
|
48
|
+
checkDCE: () => void;
|
|
49
|
+
supportsFiber: boolean;
|
|
50
|
+
supportsFlight: boolean;
|
|
51
|
+
renderers: Map<number, {
|
|
52
|
+
findFiberByHostInstance: (element: HTMLElement) => Fiber | null;
|
|
53
|
+
}>;
|
|
54
|
+
onCommitFiberRoot: (rendererID: number, root: unknown) => void;
|
|
55
|
+
onCommitFiberUnmount: (rendererID: number, root: unknown) => void;
|
|
56
|
+
onPostCommitFiberRoot: (rendererID: number, root: unknown) => void;
|
|
57
|
+
inject: (renderer: unknown) => number;
|
|
58
|
+
};
|
|
59
|
+
declare const traverseFiberRoot: ({ onRender, }: {
|
|
60
|
+
onRender: (fiber: Fiber) => void;
|
|
61
|
+
}) => (_rendererID: number, root: FiberRoot) => void;
|
|
62
|
+
declare const instrument: ({ onCommitFiberRoot, onCommitFiberUnmount, onPostCommitFiberRoot, }: {
|
|
63
|
+
onCommitFiberRoot?: (rendererID: number, root: FiberRoot) => void;
|
|
64
|
+
onCommitFiberUnmount?: (rendererID: number, root: FiberRoot) => void;
|
|
65
|
+
onPostCommitFiberRoot?: (rendererID: number, root: FiberRoot) => void;
|
|
66
|
+
}) => {
|
|
67
|
+
checkDCE: () => void;
|
|
68
|
+
supportsFiber: boolean;
|
|
69
|
+
supportsFlight: boolean;
|
|
70
|
+
renderers: Map<number, {
|
|
71
|
+
findFiberByHostInstance: (element: HTMLElement) => Fiber | null;
|
|
72
|
+
}>;
|
|
73
|
+
onCommitFiberRoot: (rendererID: number, root: unknown) => void;
|
|
74
|
+
onCommitFiberUnmount: (rendererID: number, root: unknown) => void;
|
|
75
|
+
onPostCommitFiberRoot: (rendererID: number, root: unknown) => void;
|
|
76
|
+
inject: (renderer: unknown) => number;
|
|
77
|
+
};
|
|
78
|
+
|
|
79
|
+
export { CONCURRENT_MODE_NUMBER, CONCURRENT_MODE_SYMBOL_STRING, ClassComponentTag, ContextConsumerTag, DEPRECATED_ASYNC_MODE_SYMBOL_STRING, DehydratedSuspenseComponent, ForwardRefTag, Fragment, FunctionComponentTag, HostComponentTag, HostHoistableTag, HostRoot, HostSingletonTag, HostText, LegacyHiddenComponent, MemoComponentTag, OffscreenComponent, PerformedWorkFlag, SimpleMemoComponentTag, didFiberRender, getFiberFromElement, getNearestHostFiber, getRDTHook, getTimings, hasMemoCache, instrument, isCompositeComponent, isHostComponent, shouldFilterFiber, traverseContexts, traverseFiber, traverseFiberRoot, traverseState };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
!function(e){"use strict";var t="Symbol(react.concurrent_mode)",o="Symbol(react.async_mode)",n=e=>5===e.tag||26===e.tag||27===e.tag,r=e=>{switch(e.tag){case 18:case 6:case 7:case 23:case 22:return!0;case 3:return!1;default:{const n="object"==typeof e.type&&null!==e.type?e.type.$$typeof:e.type;switch("symbol"==typeof n?n.toString():n){case 60111:case t:case o:return!0;default:return!1}}}},i=(e,t,o=!1)=>{if(!e)return null;if(!0===t(e))return e;let n=o?e.return:e.child;for(;n;){const e=i(n,t,o);if(e)return e;n=o?null:n.sibling}return null},a=()=>{},s=()=>{let e=globalThis.__REACT_DEVTOOLS_GLOBAL_HOOK__;const t=new Map;let o=0;return e??={checkDCE:a,supportsFiber:!0,supportsFlight:!0,renderers:t,onCommitFiberRoot:a,onCommitFiberUnmount:a,onPostCommitFiberRoot:a,inject(e){const n=++o;return t.set(n,e),n}},globalThis.__REACT_DEVTOOLS_GLOBAL_HOOK__=e,e};"undefined"!=typeof window&&s();e.CONCURRENT_MODE_NUMBER=60111,e.CONCURRENT_MODE_SYMBOL_STRING=t,e.ClassComponentTag=1,e.ContextConsumerTag=9,e.DEPRECATED_ASYNC_MODE_SYMBOL_STRING=o,e.DehydratedSuspenseComponent=18,e.ForwardRefTag=11,e.Fragment=7,e.FunctionComponentTag=0,e.HostComponentTag=5,e.HostHoistableTag=26,e.HostRoot=3,e.HostSingletonTag=27,e.HostText=6,e.LegacyHiddenComponent=23,e.MemoComponentTag=14,e.OffscreenComponent=22,e.PerformedWorkFlag=1,e.SimpleMemoComponentTag=15,e.createOnCommitFiberRootRenderHandler=({onRender:e})=>(t,o)=>{const n=o.current,i=null!==n.alternate&&Boolean(n.alternate.memoizedState?.element)&&!0!==n.alternate.memoizedState.isDehydrated,a=Boolean(n.memoizedState?.element),s=(t,o)=>{let n=t;for(;null!=n;){!r(n)&&e(n),null!=n.child&&s(n.child,!0),n=o?n.sibling:null}},l=(t,o)=>{if(!o)return;if(!r(t)&&e(t),t.child!==o.child){let e=t.child;for(;e;){const t=e.alternate;t?l(e,t):s(e,!1),e=e.sibling}}};!i&&a?s(n,!1):i&&a&&l(n,n.alternate)},e.didFiberRender=e=>{const t=e.memoizedProps,o=e.alternate?.memoizedProps||{},n=e.flags??e.effectTag??0;switch(e.tag){case 1:case 0:case 9:case 11:case 14:case 15:return!(1&~n);default:return!e.alternate||(o!==t||e.alternate.memoizedState!==e.memoizedState||e.alternate.ref!==e.ref)}},e.getFiberFromElement=e=>{if("__REACT_DEVTOOLS_GLOBAL_HOOK__"in window){const{renderers:t}=s();if(!t)return null;for(const[o,n]of Array.from(t))try{const t=n.findFiberByHostInstance(e);if(t)return t}catch(e){}}if("_reactRootContainer"in e)return e._reactRootContainer?._internalRoot?.current?.child;for(const t in e)if(t.startsWith("__reactInternalInstance$")||t.startsWith("__reactFiber"))return e[t];return null},e.getNearestHostFiber=e=>{let t=i(e,n);return t||(t=i(e,n,!0)),t},e.getRDTHook=s,e.getTimings=e=>{const t=e?.actualDuration??0;let o=t,n=e?.child??null;for(;t>0&&null!=n;)o-=n.actualDuration??0,n=n.sibling;return{selfTime:o,totalTime:t}},e.hasMemoCache=e=>Boolean(e.updateQueue?.memoCache),e.instrument=({onCommitFiberRoot:e,onCommitFiberUnmount:t,onPostCommitFiberRoot:o})=>{const n=s(),r=n.onCommitFiberRoot;e&&(n.onCommitFiberRoot=(t,o)=>{r&&r(t,o),e(t,o)});const i=n.onCommitFiberUnmount;t&&(n.onCommitFiberUnmount=(e,o)=>{i&&i(e,o),t(e,o)});const a=n.onPostCommitFiberRoot;return o&&(n.onPostCommitFiberRoot=(e,t)=>{a&&a(e,t)}),n},e.isCompositeComponent=e=>0===e.tag||1===e.tag||15===e.tag||14===e.tag||11===e.tag,e.isHostComponent=n,e.shouldFilterFiber=r,e.traverseContexts=(e,t)=>{const o=e.dependencies,n=e.alternate?.dependencies;if(!o||!n)return!1;if("object"!=typeof o||!("firstContext"in o)||"object"!=typeof n||!("firstContext"in n))return!1;let r=o.firstContext,i=n.firstContext;for(;r&&"object"==typeof r&&"memoizedValue"in r&&i&&"object"==typeof i&&"memoizedValue"in i;){if(!0===t(r,i))return!0;r=r.next,i=i.next}return!1},e.traverseFiber=i,e.traverseState=(e,t)=>{let o=e.memoizedState,n=e.alternate?.memoizedState;for(;o&&n;){if(!0===t(o,n))return!0;o=o.next,n=n.next}return!1}}({});
|
package/dist/index.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";var e="Symbol(react.concurrent_mode)",t="Symbol(react.async_mode)",o=e=>5===e.tag||26===e.tag||27===e.tag,r=e=>{const t=e.memoizedProps,o=e.alternate?.memoizedProps||{},r=e.flags??e.effectTag??0;switch(e.tag){case 1:case 0:case 9:case 11:case 14:case 15:return!(1&~r);default:return!e.alternate||(o!==t||e.alternate.memoizedState!==e.memoizedState||e.alternate.ref!==e.ref)}},n=o=>{switch(o.tag){case 18:case 6:case 7:case 23:case 22:return!0;case 3:return!1;default:{const r="object"==typeof o.type&&null!==o.type?o.type.$$typeof:o.type;switch("symbol"==typeof r?r.toString():r){case 60111:case e:case t:return!0;default:return!1}}}},s=(e,t,o=!1)=>{if(!e)return null;if(!0===t(e))return e;let r=o?e.return:e.child;for(;r;){const e=s(r,t,o);if(e)return e;r=o?null:r.sibling}return null},i=()=>{},a=()=>{let e=globalThis.__REACT_DEVTOOLS_GLOBAL_HOOK__;const t=new Map;let o=0;return e??={checkDCE:i,supportsFiber:!0,supportsFlight:!0,renderers:t,onCommitFiberRoot:i,onCommitFiberUnmount:i,onPostCommitFiberRoot:i,inject(e){const r=++o;return t.set(r,e),r}},globalThis.__REACT_DEVTOOLS_GLOBAL_HOOK__=e,e};"undefined"!=typeof window&&a();exports.CONCURRENT_MODE_NUMBER=60111,exports.CONCURRENT_MODE_SYMBOL_STRING=e,exports.ClassComponentTag=1,exports.ContextConsumerTag=9,exports.DEPRECATED_ASYNC_MODE_SYMBOL_STRING=t,exports.DehydratedSuspenseComponent=18,exports.ForwardRefTag=11,exports.Fragment=7,exports.FunctionComponentTag=0,exports.HostComponentTag=5,exports.HostHoistableTag=26,exports.HostRoot=3,exports.HostSingletonTag=27,exports.HostText=6,exports.LegacyHiddenComponent=23,exports.MemoComponentTag=14,exports.OffscreenComponent=22,exports.PerformedWorkFlag=1,exports.SimpleMemoComponentTag=15,exports.didFiberRender=r,exports.getFiberFromElement=e=>{const{renderers:t}=a();if(!t)return null;for(const[o,r]of Array.from(t))try{const t=r.findFiberByHostInstance(e);if(t)return t}catch(e){}if("_reactRootContainer"in e)return e._reactRootContainer?._internalRoot?.current?.child;for(const t in e)if(t.startsWith("__reactInternalInstance$")||t.startsWith("__reactFiber"))return e[t];return null},exports.getNearestHostFiber=e=>{let t=s(e,o);return t||(t=s(e,o,!0)),t},exports.getRDTHook=a,exports.getTimings=e=>{const t=e?.actualDuration??0;let o=t,r=e?.child??null;for(;t>0&&null!=r;)o-=r.actualDuration??0,r=r.sibling;return{selfTime:o,totalTime:t}},exports.hasMemoCache=e=>Boolean(e.updateQueue?.memoCache),exports.instrument=({onCommitFiberRoot:e,onCommitFiberUnmount:t,onPostCommitFiberRoot:o})=>{const r=a(),n=r.onCommitFiberRoot;e&&(r.onCommitFiberRoot=(t,o)=>{n&&n(t,o),e(t,o)});const s=r.onCommitFiberUnmount;t&&(r.onCommitFiberUnmount=(e,o)=>{s&&s(e,o),t(e,o)});const i=r.onPostCommitFiberRoot;return o&&(r.onPostCommitFiberRoot=(e,t)=>{i&&i(e,t)}),r},exports.isCompositeComponent=e=>0===e.tag||1===e.tag||15===e.tag||14===e.tag||11===e.tag,exports.isHostComponent=o,exports.shouldFilterFiber=n,exports.traverseContexts=(e,t)=>{const o=e.dependencies,r=e.alternate?.dependencies;if(!o||!r)return!1;if("object"!=typeof o||!("firstContext"in o)||"object"!=typeof r||!("firstContext"in r))return!1;let n=o.firstContext,s=r.firstContext;for(;n&&"object"==typeof n&&"memoizedValue"in n&&s&&"object"==typeof s&&"memoizedValue"in s;){if(!0===t(n,s))return!0;n=n.next,s=s.next}return!1},exports.traverseFiber=s,exports.traverseFiberRoot=({onRender:e})=>(t,o)=>{const s=o.current,i=null!==s.alternate&&Boolean(s.alternate.memoizedState?.element)&&!0!==s.alternate.memoizedState.isDehydrated,a=Boolean(s.memoizedState?.element),l=(t,o)=>{let s=t;for(;null!=s;){!n(s)&&r(s)&&e(s),null!=s.child&&l(s.child,!0),s=o?s.sibling:null}},m=(t,o)=>{if(!o)return;if(!n(t)&&r(t)&&e(t),t.child!==o.child){let e=t.child;for(;e;){const t=e.alternate;t?m(e,t):l(e,!1),e=e.sibling}}};!i&&a?l(s,!1):i&&a&&m(s,s.alternate)},exports.traverseState=(e,t)=>{let o=e.memoizedState,r=e.alternate?.memoizedState;for(;o&&r;){if(!0===t(o,r))return!0;o=o.next,r=r.next}return!1};
|
package/dist/index.mjs
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var t=1,e=1,n=0,o=9,r=11,i=14,a=15,l=5,c=26,s=27,m=18,u=6,f=7,d=23,b=22,p=3,_=60111,C="Symbol(react.concurrent_mode)",g="Symbol(react.async_mode)",h=(t,e)=>{const n=t.dependencies,o=t.alternate?.dependencies;if(!n||!o)return!1;if("object"!=typeof n||!("firstContext"in n)||"object"!=typeof o||!("firstContext"in o))return!1;let r=n.firstContext,i=o.firstContext;for(;r&&"object"==typeof r&&"memoizedValue"in r&&i&&"object"==typeof i&&"memoizedValue"in i;){if(!0===e(r,i))return!0;r=r.next,i=i.next}return!1},y=(t,e)=>{let n=t.memoizedState,o=t.alternate?.memoizedState;for(;n&&o;){if(!0===e(n,o))return!0;n=n.next,o=o.next}return!1},F=t=>5===t.tag||26===t.tag||27===t.tag,R=t=>0===t.tag||1===t.tag||15===t.tag||14===t.tag||11===t.tag,S=t=>{const e=t.memoizedProps,n=t.alternate?.memoizedProps||{},o=t.flags??t.effectTag??0;switch(t.tag){case 1:case 0:case 9:case 11:case 14:case 15:return!(1&~o);default:return!t.alternate||(n!==e||t.alternate.memoizedState!==t.memoizedState||t.alternate.ref!==t.ref)}},z=t=>{switch(t.tag){case 18:case 6:case 7:case 23:case 22:return!0;case 3:return!1;default:{const e="object"==typeof t.type&&null!==t.type?t.type.$$typeof:t.type;switch("symbol"==typeof e?e.toString():e){case 60111:case C:case g:return!0;default:return!1}}}},O=t=>{let e=x(t,F);return e||(e=x(t,F,!0)),e},x=(t,e,n=!1)=>{if(!t)return null;if(!0===e(t))return t;let o=n?t.return:t.child;for(;o;){const t=x(o,e,n);if(t)return t;o=n?null:o.sibling}return null},T=t=>{const e=t?.actualDuration??0;let n=e,o=t?.child??null;for(;e>0&&null!=o;)n-=o.actualDuration??0,o=o.sibling;return{selfTime:n,totalTime:e}},j=t=>{const{renderers:e}=D();if(!e)return null;for(const[n,o]of Array.from(e))try{const e=o.findFiberByHostInstance(t);if(e)return e}catch(t){}if("_reactRootContainer"in t)return t._reactRootContainer?._internalRoot?.current?.child;for(const e in t)if(e.startsWith("__reactInternalInstance$")||e.startsWith("__reactFiber"))return t[e];return null},w=t=>Boolean(t.updateQueue?.memoCache),B=()=>{},D=()=>{let t=globalThis.__REACT_DEVTOOLS_GLOBAL_HOOK__;const e=new Map;let n=0;return t??={checkDCE:B,supportsFiber:!0,supportsFlight:!0,renderers:e,onCommitFiberRoot:B,onCommitFiberUnmount:B,onPostCommitFiberRoot:B,inject(t){const o=++n;return e.set(o,t),o}},globalThis.__REACT_DEVTOOLS_GLOBAL_HOOK__=t,t};"undefined"!=typeof window&&D();var L=({onRender:t})=>(e,n)=>{const o=n.current,r=null!==o.alternate&&Boolean(o.alternate.memoizedState?.element)&&!0!==o.alternate.memoizedState.isDehydrated,i=Boolean(o.memoizedState?.element),a=(e,n)=>{let o=e;for(;null!=o;){!z(o)&&S(o)&&t(o),null!=o.child&&a(o.child,!0),o=n?o.sibling:null}},l=(e,n)=>{if(!n)return;if(!z(e)&&S(e)&&t(e),e.child!==n.child){let t=e.child;for(;t;){const e=t.alternate;e?l(t,e):a(t,!1),t=t.sibling}}};!r&&i?a(o,!1):r&&i&&l(o,o.alternate)},P=({onCommitFiberRoot:t,onCommitFiberUnmount:e,onPostCommitFiberRoot:n})=>{const o=D(),r=o.onCommitFiberRoot;t&&(o.onCommitFiberRoot=(e,n)=>{r&&r(e,n),t(e,n)});const i=o.onCommitFiberUnmount;e&&(o.onCommitFiberUnmount=(t,n)=>{i&&i(t,n),e(t,n)});const a=o.onPostCommitFiberRoot;return n&&(o.onPostCommitFiberRoot=(t,e)=>{a&&a(t,e)}),o};export{_ as CONCURRENT_MODE_NUMBER,C as CONCURRENT_MODE_SYMBOL_STRING,e as ClassComponentTag,o as ContextConsumerTag,g as DEPRECATED_ASYNC_MODE_SYMBOL_STRING,m as DehydratedSuspenseComponent,r as ForwardRefTag,f as Fragment,n as FunctionComponentTag,l as HostComponentTag,c as HostHoistableTag,p as HostRoot,s as HostSingletonTag,u as HostText,d as LegacyHiddenComponent,i as MemoComponentTag,b as OffscreenComponent,t as PerformedWorkFlag,a as SimpleMemoComponentTag,S as didFiberRender,j as getFiberFromElement,O as getNearestHostFiber,D as getRDTHook,T as getTimings,w as hasMemoCache,P as instrument,R as isCompositeComponent,F as isHostComponent,z as shouldFilterFiber,h as traverseContexts,x as traverseFiber,L as traverseFiberRoot,y as traverseState};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
!function(){"use strict";var e,o,r=Object.getOwnPropertyNames;(e={"src/rsc-shim.ts"(){throw new Error("This module cannot be imported from a Server Component module. It should only be used from a Client Component.")}},function(){return o||(0,e[r(e)[0]])((o={exports:{}}).exports,o),o.exports})()}();
|
package/dist/rsc-shim.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";var e,o,r=Object.getOwnPropertyNames,t=(e={"src/rsc-shim.ts"(){throw new Error("This module cannot be imported from a Server Component module. It should only be used from a Client Component.")}},function(){return o||(0,e[r(e)[0]])((o={exports:{}}).exports,o),o.exports})();module.exports=t;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var e,o,r=Object.getOwnPropertyNames,t=(e={"src/rsc-shim.ts"(){throw new Error("This module cannot be imported from a Server Component module. It should only be used from a Client Component.")}},function(){return o||(0,e[r(e)[0]])((o={exports:{}}).exports,o),o.exports})();export{t as default};
|
package/package.json
ADDED
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "bippy",
|
|
3
|
+
"version": "0.0.1",
|
|
4
|
+
"description": "get fiber information from react in a safe-ish way",
|
|
5
|
+
"keywords": [
|
|
6
|
+
"react",
|
|
7
|
+
"react-instrumentation",
|
|
8
|
+
"react instrumentation",
|
|
9
|
+
"fiber",
|
|
10
|
+
"internals"
|
|
11
|
+
],
|
|
12
|
+
"homepage": "https://github.com/aidenybai/react-instrumentation#readme",
|
|
13
|
+
"bugs": {
|
|
14
|
+
"url": "https://github.com/aidenybai/react-instrumentation/issues"
|
|
15
|
+
},
|
|
16
|
+
"repository": {
|
|
17
|
+
"type": "git",
|
|
18
|
+
"url": "git+https://github.com/aidenybai/react-instrumentation.git"
|
|
19
|
+
},
|
|
20
|
+
"license": "MIT",
|
|
21
|
+
"author": {
|
|
22
|
+
"name": "Aiden Bai",
|
|
23
|
+
"email": "aiden@million.dev"
|
|
24
|
+
},
|
|
25
|
+
"type": "commonjs",
|
|
26
|
+
"exports": {
|
|
27
|
+
"./package.json": "./package.json",
|
|
28
|
+
".": {
|
|
29
|
+
"import": {
|
|
30
|
+
"types": "./dist/index.d.mts",
|
|
31
|
+
"react-server": "./dist/rsc-shim.mjs",
|
|
32
|
+
"default": "./dist/index.mjs"
|
|
33
|
+
},
|
|
34
|
+
"require": {
|
|
35
|
+
"types": "./dist/index.d.ts",
|
|
36
|
+
"react-server": "./dist/rsc-shim.js",
|
|
37
|
+
"default": "./dist/index.js"
|
|
38
|
+
}
|
|
39
|
+
},
|
|
40
|
+
"./dist/*": "./dist/*.js",
|
|
41
|
+
"./dist/*.js": "./dist/*.js",
|
|
42
|
+
"./dist/*.mjs": "./dist/*.mjs"
|
|
43
|
+
},
|
|
44
|
+
"main": "dist/index.js",
|
|
45
|
+
"module": "dist/index.mjs",
|
|
46
|
+
"browser": "dist/auto.global.js",
|
|
47
|
+
"types": "dist/index.d.ts",
|
|
48
|
+
"bin": "bin/cli.js",
|
|
49
|
+
"files": [
|
|
50
|
+
"dist",
|
|
51
|
+
"bin",
|
|
52
|
+
"package.json",
|
|
53
|
+
"README.md",
|
|
54
|
+
"LICENSE"
|
|
55
|
+
],
|
|
56
|
+
"scripts": {
|
|
57
|
+
"build": "NODE_ENV=production tsup",
|
|
58
|
+
"dev": "NODE_ENV=development tsup --watch",
|
|
59
|
+
"lint": "eslint 'src/**/*.{ts,tsx}' --fix",
|
|
60
|
+
"prettier": "prettier --config .prettierrc.mjs -w src",
|
|
61
|
+
"publint": "publint"
|
|
62
|
+
},
|
|
63
|
+
"devDependencies": {
|
|
64
|
+
"@types/react": "^18.3.12",
|
|
65
|
+
"@types/react-reconciler": "^0.28.8",
|
|
66
|
+
"@vercel/style-guide": "^6.0.0",
|
|
67
|
+
"eslint": "^8.57.1",
|
|
68
|
+
"prettier": "^3.3.3",
|
|
69
|
+
"publint": "^0.2.12",
|
|
70
|
+
"react": "*",
|
|
71
|
+
"react-dom": "*",
|
|
72
|
+
"react-reconciler": "^0.29.2",
|
|
73
|
+
"terser": "^5.36.0",
|
|
74
|
+
"tsup": "^8.2.4"
|
|
75
|
+
},
|
|
76
|
+
"publishConfig": {
|
|
77
|
+
"access": "public"
|
|
78
|
+
}
|
|
79
|
+
}
|