bippy 0.6.1-dev.61475ed → 0.6.1-dev.b88fcb4

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 (64) hide show
  1. package/LICENSE +1 -1
  2. package/README.md +32 -48
  3. package/dist/core.cjs +1 -1
  4. package/dist/core.d.cts +45 -59
  5. package/dist/core.d.ts +45 -59
  6. package/dist/core.js +1 -1
  7. package/dist/core2.cjs +9 -0
  8. package/dist/core2.d.cts +11 -3
  9. package/dist/core2.d.ts +11 -3
  10. package/dist/core2.js +9 -0
  11. package/dist/errors.d.cts +465 -0
  12. package/dist/errors.d.ts +465 -0
  13. package/dist/index.cjs +1 -1
  14. package/dist/index.d.cts +11 -3
  15. package/dist/index.d.ts +11 -3
  16. package/dist/index.iife.js +1 -1
  17. package/dist/index.js +1 -1
  18. package/dist/install-hook-only.cjs +1 -1
  19. package/dist/install-hook-only.d.cts +9 -1
  20. package/dist/install-hook-only.d.ts +9 -1
  21. package/dist/install-hook-only.iife.js +1 -1
  22. package/dist/rdt-hook.cjs +1 -1
  23. package/dist/rdt-hook.js +1 -1
  24. package/dist/source.cjs +14 -4
  25. package/dist/source.d.cts +27 -9
  26. package/dist/source.d.ts +27 -9
  27. package/dist/source.js +14 -4
  28. package/package.json +22 -16
  29. package/src/core.ts +412 -316
  30. package/src/errors.ts +99 -0
  31. package/src/rdt-hook.ts +163 -151
  32. package/src/react-internals/generated/react-work-tags.ts +314 -0
  33. package/src/react-internals/index.ts +67 -0
  34. package/src/react-internals/semver.ts +78 -0
  35. package/src/react-internals/types.ts +269 -0
  36. package/src/source/constants.ts +1 -1
  37. package/src/source/error-stack.ts +11 -0
  38. package/src/source/get-display-name-from-source.ts +1 -1
  39. package/src/source/get-source.ts +4 -3
  40. package/src/source/index.ts +9 -1
  41. package/src/source/inspect-hooks.ts +199 -165
  42. package/src/source/owner-stack.ts +87 -113
  43. package/src/source/parse-debug-stack.ts +4 -4
  44. package/src/source/parse-hook-names.ts +1 -1
  45. package/src/source/parse-stack.ts +1 -1
  46. package/src/source/symbolication.ts +476 -88
  47. package/dist/get-source.cjs +0 -19
  48. package/dist/get-source.js +0 -19
  49. package/dist/react-refresh.cjs +0 -9
  50. package/dist/react-refresh.d.cts +0 -66
  51. package/dist/react-refresh.d.ts +0 -66
  52. package/dist/react-refresh.js +0 -9
  53. package/dist/unsubscribe.d.cts +0 -298
  54. package/dist/unsubscribe.d.ts +0 -298
  55. package/src/react-refresh/constants.ts +0 -9
  56. package/src/react-refresh/detect-hmr-transport.ts +0 -33
  57. package/src/react-refresh/index.ts +0 -173
  58. package/src/react-refresh/metro-hmr-transport.ts +0 -188
  59. package/src/react-refresh/next-webpack-hmr-transport.ts +0 -72
  60. package/src/react-refresh/normalize-hmr-file-path.ts +0 -24
  61. package/src/react-refresh/types.ts +0 -7
  62. package/src/react-refresh/vite-hmr-transport.ts +0 -116
  63. package/src/types.ts +0 -438
  64. package/src/unsubscribe.ts +0 -17
@@ -0,0 +1,269 @@
1
+ import type { ReactNode } from "react";
2
+ import type ReactReconciler from "react-reconciler";
3
+ import type { HostWorkTag, ReactWorkTag } from "./generated/react-work-tags.js";
4
+
5
+ export type BundleType = ReactReconciler.BundleType;
6
+ export type Flags = ReactReconciler.Flags;
7
+ export type HookType = ReactReconciler.HookType;
8
+ export type LanePriority = ReactReconciler.LanePriority;
9
+ export type Lanes = ReactReconciler.Lanes;
10
+ export type MutableSource = ReactReconciler.MutableSource;
11
+ export type OpaqueHandle = ReactReconciler.OpaqueHandle;
12
+ export type OpaqueRoot = ReactReconciler.OpaqueRoot;
13
+ export type React$AbstractComponent<
14
+ Config,
15
+ Instance = unknown,
16
+ > = ReactReconciler.React$AbstractComponent<Config, Instance>;
17
+ export type RootTag = ReactReconciler.RootTag;
18
+ export type TypeOfMode = ReactReconciler.TypeOfMode;
19
+ export type WorkTag = ReactReconciler.WorkTag | ReactWorkTag;
20
+
21
+ export interface HostConfig<
22
+ Type = unknown,
23
+ HostProps = unknown,
24
+ Container = unknown,
25
+ Instance = unknown,
26
+ TextInstance = unknown,
27
+ SuspenseInstance = unknown,
28
+ HydratableInstance = unknown,
29
+ FormInstance = unknown,
30
+ PublicInstance = unknown,
31
+ HostContext = unknown,
32
+ ChildSet = unknown,
33
+ TimeoutHandle = unknown,
34
+ NoTimeout = unknown,
35
+ TransitionStatus = unknown,
36
+ > extends ReactReconciler.HostConfig<
37
+ Type,
38
+ HostProps,
39
+ Container,
40
+ Instance,
41
+ TextInstance,
42
+ SuspenseInstance,
43
+ HydratableInstance,
44
+ FormInstance,
45
+ PublicInstance,
46
+ HostContext,
47
+ ChildSet,
48
+ TimeoutHandle,
49
+ NoTimeout,
50
+ TransitionStatus
51
+ > {}
52
+
53
+ export interface Source extends ReactReconciler.Source {}
54
+ export interface RefObject extends ReactReconciler.RefObject {}
55
+ export interface Thenable<T> extends ReactReconciler.Thenable<T> {}
56
+
57
+ export interface ReactContext<T> extends ReactReconciler.ReactContext<T> {}
58
+
59
+ export interface ReactProviderType<T> extends ReactReconciler.ReactProviderType<T> {}
60
+ export interface ReactProvider<T> extends ReactReconciler.ReactProvider<T> {}
61
+ export interface ReactConsumer<T> extends ReactReconciler.ReactConsumer<T> {}
62
+ export interface ReactPortal extends ReactReconciler.ReactPortal {}
63
+
64
+ export interface ComponentSelector extends ReactReconciler.ComponentSelector {}
65
+ export interface HasPseudoClassSelector extends ReactReconciler.HasPseudoClassSelector {}
66
+ export interface RoleSelector extends ReactReconciler.RoleSelector {}
67
+ export interface TextSelector extends ReactReconciler.TextSelector {}
68
+ export interface TestNameSelector extends ReactReconciler.TestNameSelector {}
69
+ export type Selector = ReactReconciler.Selector;
70
+
71
+ export interface DevToolsConfig<
72
+ Instance = unknown,
73
+ TextInstance = unknown,
74
+ RendererInspectionConfig = unknown,
75
+ > extends ReactReconciler.DevToolsConfig<Instance, TextInstance, RendererInspectionConfig> {}
76
+
77
+ export interface SuspenseHydrationCallbacks<
78
+ SuspenseInstance = unknown,
79
+ > extends ReactReconciler.SuspenseHydrationCallbacks<SuspenseInstance> {}
80
+
81
+ export interface TransitionTracingCallbacks extends ReactReconciler.TransitionTracingCallbacks {}
82
+
83
+ // HACK: React 17 exposes observedBits while React 18+ exposes memoizedValue on context dependencies.
84
+ export interface ContextDependency<T> extends Omit<
85
+ ReactReconciler.ContextDependency<T>,
86
+ "observedBits"
87
+ > {
88
+ memoizedValue?: T;
89
+ observedBits?: number;
90
+ }
91
+
92
+ export interface DebugThenableState {
93
+ thenables?: unknown[];
94
+ }
95
+
96
+ export interface Dependencies extends Omit<ReactReconciler.Dependencies, "firstContext"> {
97
+ _debugThenableState?: DebugThenableState | unknown[];
98
+ firstContext: ContextDependency<unknown> | null;
99
+ }
100
+
101
+ export interface Effect {
102
+ [key: string]: unknown;
103
+ create: (...args: unknown[]) => unknown;
104
+ deps: null | unknown[];
105
+ destroy: ((...args: unknown[]) => unknown) | null;
106
+ next: Effect | null;
107
+ tag: number;
108
+ }
109
+
110
+ export interface ServerComponentInfo {
111
+ name?: string;
112
+ env?: string;
113
+ owner?: Fiber | ServerComponentInfo | null;
114
+ debugStack?: Error | null;
115
+ }
116
+
117
+ export interface ReactDebugInfo {
118
+ debugLocation?: unknown;
119
+ env?: string;
120
+ name?: string;
121
+ }
122
+
123
+ export interface ReactMemoCache {
124
+ data: unknown[][];
125
+ index: number;
126
+ }
127
+
128
+ export interface FiberDebugSource extends Source {
129
+ columnNumber?: number;
130
+ }
131
+
132
+ export interface FiberUpdateQueue {
133
+ [key: string]: unknown;
134
+ dispatch?: unknown;
135
+ lastEffect: Effect | null;
136
+ memoCache?: ReactMemoCache;
137
+ }
138
+
139
+ // HACK: @types/react-reconciler does not yet include React 19 debug fields or recursive server owners.
140
+ export interface Fiber<T = unknown> extends Omit<
141
+ ReactReconciler.Fiber,
142
+ | "alternate"
143
+ | "_debugOwner"
144
+ | "_debugSource"
145
+ | "child"
146
+ | "deletions"
147
+ | "dependencies"
148
+ | "memoizedProps"
149
+ | "memoizedState"
150
+ | "pendingProps"
151
+ | "return"
152
+ | "sibling"
153
+ | "stateNode"
154
+ | "tag"
155
+ | "updateQueue"
156
+ > {
157
+ _debugInfo?: ReactDebugInfo[];
158
+ _debugOwner?: Fiber | ServerComponentInfo | null;
159
+ _debugSource?: FiberDebugSource | null;
160
+ _debugStack?: Error & { stack: string };
161
+ alternate: Fiber | null;
162
+ child: Fiber | null;
163
+ deletions: Fiber[] | null;
164
+ dependencies: Dependencies | null;
165
+ effectTag?: number;
166
+ memoizedProps: Props;
167
+ memoizedState: MemoizedState | null;
168
+ pendingProps: Props;
169
+ return: Fiber | null;
170
+ sibling: Fiber | null;
171
+ stateNode: T;
172
+ tag: WorkTag;
173
+ updateQueue: FiberUpdateQueue | null;
174
+ }
175
+
176
+ export interface HostFiber<T = unknown> extends Fiber<T> {
177
+ tag: HostWorkTag;
178
+ }
179
+
180
+ export interface FiberRoot {
181
+ current: Fiber;
182
+ }
183
+
184
+ export interface MemoizedState {
185
+ [key: string]: unknown;
186
+ memoizedState: unknown;
187
+ next: MemoizedState | null;
188
+ }
189
+
190
+ export interface Props {
191
+ [key: string]: unknown;
192
+ }
193
+
194
+ export interface ReactDevToolsEventHandler {
195
+ (data: unknown): void;
196
+ }
197
+
198
+ export interface ReactDevToolsGlobalHook {
199
+ _instrumentationIsActive?: boolean;
200
+ _instrumentationSource?: string;
201
+ checkDCE: (fn: unknown) => void;
202
+ emit?: (event: string, data?: unknown) => void;
203
+ getFiberRoots?: (rendererID: number) => Set<FiberRoot>;
204
+ hasUnsupportedRendererAttached: boolean;
205
+ inject: (renderer: ReactRenderer) => number;
206
+ off?: (event: string, handler: ReactDevToolsEventHandler) => void;
207
+ on: (event: string, handler: ReactDevToolsEventHandler) => void;
208
+ onCommitFiberRoot: (
209
+ rendererID: number,
210
+ root: FiberRoot,
211
+ priority: number | void,
212
+ didError?: boolean,
213
+ ) => void;
214
+ onCommitFiberUnmount: (rendererID: number, fiber: Fiber) => void;
215
+ onPostCommitFiberRoot: (rendererID: number, root: FiberRoot) => void;
216
+ onScheduleFiberRoot?: (rendererID: number, root: FiberRoot, children: ReactNode) => void;
217
+ renderers: Map<number, ReactRenderer>;
218
+ sub?: (event: string, handler: ReactDevToolsEventHandler) => () => void;
219
+ supportsFiber: boolean;
220
+ supportsFlight: boolean;
221
+ }
222
+
223
+ export interface LegacyDispatcherRef {
224
+ current: unknown;
225
+ }
226
+
227
+ export interface CurrentDispatcherRef {
228
+ H: unknown;
229
+ }
230
+
231
+ export type RendererDispatcherRef = CurrentDispatcherRef | LegacyDispatcherRef;
232
+
233
+ export interface ReactRenderer extends Omit<
234
+ ReactReconciler.DevToolsConfig<unknown, unknown, unknown>,
235
+ "findFiberByHostInstance"
236
+ > {
237
+ currentDispatcherRef?: RendererDispatcherRef | null;
238
+ findFiberByHostInstance?: (hostInstance: unknown) => Fiber | null;
239
+ getCurrentFiber?: () => Fiber | null;
240
+ overrideContext?: (fiber: Fiber, contextType: unknown, path: string[], value: unknown) => void;
241
+
242
+ overrideHookState?: (fiber: Fiber, id: number, path: string[], value: unknown) => void;
243
+ overrideHookStateDeletePath?: (fiber: Fiber, id: number, path: Array<number | string>) => void;
244
+ overrideHookStateRenamePath?: (
245
+ fiber: Fiber,
246
+ id: number,
247
+ oldPath: Array<number | string>,
248
+ newPath: Array<number | string>,
249
+ ) => void;
250
+ overrideProps?: (fiber: Fiber, path: string[], value: unknown) => void;
251
+ overridePropsDeletePath?: (fiber: Fiber, path: Array<number | string>) => void;
252
+ overridePropsRenamePath?: (
253
+ fiber: Fiber,
254
+ oldPath: Array<number | string>,
255
+ newPath: Array<number | string>,
256
+ ) => void;
257
+ reconcilerVersion?: string;
258
+ scheduleRetry?: (fiber: Fiber) => void;
259
+ scheduleRoot?: (root: FiberRoot, element: React.ReactNode) => void;
260
+ scheduleUpdate?: (fiber: Fiber) => void;
261
+
262
+ setErrorHandler?: (newShouldErrorImpl: (fiber: Fiber) => boolean | null) => void;
263
+ setSuspenseHandler?: (newShouldSuspendImpl: (fiber: Fiber) => boolean) => void;
264
+ }
265
+
266
+ declare global {
267
+ // eslint-disable-next-line no-var
268
+ var __REACT_DEVTOOLS_GLOBAL_HOOK__: ReactDevToolsGlobalHook | undefined;
269
+ }
@@ -18,7 +18,7 @@ export const SERVER_COMPONENT_URL_PREFIXES = ["rsc://", ABOUT_REACT_PREFIX] as c
18
18
 
19
19
  export const ANONYMOUS_FILE_PATTERNS = ["<anonymous>", "eval", ""] as const;
20
20
 
21
- export const SOURCE_FILE_EXTENSION_REGEX = /\.(jsx|tsx|ts|js)$/;
21
+ export const SOURCE_FILE_EXTENSION_REGEX = /\.(cjs|cts|js|jsx|mdx|mjs|mts|ts|tsx)$/;
22
22
 
23
23
  export const BUNDLED_FILE_PATTERN_REGEX =
24
24
  /(\.min|bundle|chunk|vendor|vendors|runtime|polyfill|polyfills)\.(js|mjs|cjs)$|(chunk|bundle|vendor|vendors|runtime|polyfill|polyfills|framework|app|main|index)[-_.][A-Za-z0-9_-]{4,}\.(js|mjs|cjs)$|[\da-f]{8,}\.(js|mjs|cjs)$|[-_.][\da-f]{20,}\.(js|mjs|cjs)$|\/dist\/|\/build\/|\/.next\/|\/out\/|\/node_modules\/|\.webpack\.|\.vite\.|\.turbopack\./i;
@@ -0,0 +1,11 @@
1
+ interface ErrorConstructorWithPrepareStackTrace {
2
+ prepareStackTrace?: unknown;
3
+ }
4
+
5
+ const errorConstructor: ErrorConstructorWithPrepareStackTrace = Error;
6
+
7
+ export const getPrepareStackTrace = (): unknown => errorConstructor.prepareStackTrace;
8
+
9
+ export const setPrepareStackTrace = (prepareStackTrace: unknown): void => {
10
+ errorConstructor.prepareStackTrace = prepareStackTrace;
11
+ };
@@ -1,4 +1,4 @@
1
- import { Fiber } from "../types.js";
1
+ import { Fiber } from "../react-internals/index.js";
2
2
  import { getDisplayName } from "../core.js";
3
3
  import { getParentStack } from "./owner-stack.js";
4
4
  import { getSourceFromSourceMap, getSourceMap } from "./symbolication.js";
@@ -1,6 +1,6 @@
1
- import { Fiber } from "../types.js";
1
+ import type { Fiber } from "../react-internals/index.js";
2
2
 
3
- import { FiberSource } from "./types.js";
3
+ import type { FiberSource } from "./types.js";
4
4
  import {
5
5
  SCHEME_REGEX,
6
6
  INTERNAL_SCHEME_PREFIXES,
@@ -171,6 +171,7 @@ export const normalizeFileName = (fileName: string): string => {
171
171
  }
172
172
 
173
173
  let normalizedFileName = fileName;
174
+ const isWindowsDrivePath = /^[a-zA-Z]:[\\/]/.test(normalizedFileName);
174
175
 
175
176
  const isHttpUrl =
176
177
  normalizedFileName.startsWith("http://") || normalizedFileName.startsWith("https://");
@@ -214,7 +215,7 @@ export const normalizeFileName = (fileName: string): string => {
214
215
  }
215
216
  }
216
217
 
217
- if (SCHEME_REGEX.test(normalizedFileName)) {
218
+ if (!isWindowsDrivePath && SCHEME_REGEX.test(normalizedFileName)) {
218
219
  const schemeMatch = normalizedFileName.match(SCHEME_REGEX);
219
220
  if (schemeMatch) {
220
221
  normalizedFileName = normalizedFileName.slice(schemeMatch[0].length);
@@ -6,12 +6,20 @@ export {
6
6
  symbolicateStack,
7
7
  type DecodedSourceMapSection,
8
8
  type IndexSourceMap,
9
- type RawSourceMap,
9
+ type SourceFetch,
10
10
  type SourceMap,
11
+ type SourceMapRequestOptions,
11
12
  type StandardSourceMap,
12
13
  } from "./symbolication.js";
13
14
  export type { FiberSource } from "./types.js";
14
15
  export { parseStack, type ParseOptions, type StackFrame } from "./parse-stack.js";
15
16
  export { getDisplayNameFromSource } from "./get-display-name-from-source.js";
17
+ export {
18
+ BippyError,
19
+ BippyHookInspectionError,
20
+ BippyHookRenderError,
21
+ BippySourceMapError,
22
+ BippyUnsupportedHookError,
23
+ } from "../errors.js";
16
24
  export { getFiberHooks, type HookSource, type HooksNode, type HooksTree } from "./inspect-hooks.js";
17
25
  export { parseHookNames, type HookNames } from "./parse-hook-names.js";