@faiwer/react 19.0.1 → 19.0.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 (98) hide show
  1. package/README.md +38 -6
  2. package/dist/core/actions/helpers.d.ts +6 -1
  3. package/dist/core/actions/helpers.d.ts.map +1 -1
  4. package/dist/core/actions/helpers.js +19 -1
  5. package/dist/core/actions/helpers.js.map +1 -1
  6. package/dist/core/actions/remove.action.d.ts.map +1 -1
  7. package/dist/core/actions/remove.action.js +2 -0
  8. package/dist/core/actions/remove.action.js.map +1 -1
  9. package/dist/core/components.d.ts.map +1 -1
  10. package/dist/core/components.js +9 -1
  11. package/dist/core/components.js.map +1 -1
  12. package/dist/core/devTools/devTools.d.ts +2 -0
  13. package/dist/core/devTools/devTools.d.ts.map +1 -0
  14. package/dist/core/devTools/devTools.js +43 -0
  15. package/dist/core/devTools/devTools.js.map +1 -0
  16. package/dist/core/devTools/hmr.d.ts +6 -0
  17. package/dist/core/devTools/hmr.d.ts.map +1 -0
  18. package/dist/core/devTools/hmr.js +55 -0
  19. package/dist/core/devTools/hmr.js.map +1 -0
  20. package/dist/core/devTools/toRFiber.d.ts +7 -0
  21. package/dist/core/devTools/toRFiber.d.ts.map +1 -0
  22. package/dist/core/devTools/toRFiber.js +143 -0
  23. package/dist/core/devTools/toRFiber.js.map +1 -0
  24. package/dist/core/devTools/toRJsx.d.ts +10 -0
  25. package/dist/core/devTools/toRJsx.d.ts.map +1 -0
  26. package/dist/core/devTools/toRJsx.js +62 -0
  27. package/dist/core/devTools/toRJsx.js.map +1 -0
  28. package/dist/core/devTools/types.d.ts +157 -0
  29. package/dist/core/devTools/types.d.ts.map +1 -0
  30. package/dist/core/devTools/types.js +19 -0
  31. package/dist/core/devTools/types.js.map +1 -0
  32. package/dist/core/preact/connect.d.ts +3 -0
  33. package/dist/core/preact/connect.d.ts.map +1 -0
  34. package/dist/core/preact/connect.js +162 -0
  35. package/dist/core/preact/connect.js.map +1 -0
  36. package/dist/core/preact/helpers.d.ts +12 -0
  37. package/dist/core/preact/helpers.d.ts.map +1 -0
  38. package/dist/core/preact/helpers.js +52 -0
  39. package/dist/core/preact/helpers.js.map +1 -0
  40. package/dist/core/preact/inspect.d.ts +9 -0
  41. package/dist/core/preact/inspect.d.ts.map +1 -0
  42. package/dist/core/preact/inspect.js +169 -0
  43. package/dist/core/preact/inspect.js.map +1 -0
  44. package/dist/core/preact/toVNode.d.ts +11 -0
  45. package/dist/core/preact/toVNode.d.ts.map +1 -0
  46. package/dist/core/preact/toVNode.js +150 -0
  47. package/dist/core/preact/toVNode.js.map +1 -0
  48. package/dist/core/preact/types.d.ts +180 -0
  49. package/dist/core/preact/types.d.ts.map +1 -0
  50. package/dist/core/preact/types.js +29 -0
  51. package/dist/core/preact/types.js.map +1 -0
  52. package/dist/core/preact/update.d.ts +13 -0
  53. package/dist/core/preact/update.d.ts.map +1 -0
  54. package/dist/core/preact/update.js +40 -0
  55. package/dist/core/preact/update.js.map +1 -0
  56. package/dist/core/reactNodeToFiberNode.d.ts.map +1 -1
  57. package/dist/core/reactNodeToFiberNode.js +6 -1
  58. package/dist/core/reactNodeToFiberNode.js.map +1 -1
  59. package/dist/core/reconciliation/applyActions.d.ts.map +1 -1
  60. package/dist/core/reconciliation/applyActions.js +1 -0
  61. package/dist/core/reconciliation/applyActions.js.map +1 -1
  62. package/dist/core/reconciliation/collect/fromApp.d.ts.map +1 -1
  63. package/dist/core/reconciliation/collect/fromApp.js +10 -1
  64. package/dist/core/reconciliation/collect/fromApp.js.map +1 -1
  65. package/dist/core/reconciliation/compare/areFiberNodesEq.d.ts.map +1 -1
  66. package/dist/core/reconciliation/compare/areFiberNodesEq.js +4 -0
  67. package/dist/core/reconciliation/compare/areFiberNodesEq.js.map +1 -1
  68. package/dist/core/reconciliation/effects.d.ts.map +1 -1
  69. package/dist/core/reconciliation/effects.js +1 -0
  70. package/dist/core/reconciliation/effects.js.map +1 -1
  71. package/dist/core/reconciliation/errors/ReactError.d.ts.map +1 -1
  72. package/dist/core/reconciliation/errors/ReactError.js +3 -0
  73. package/dist/core/reconciliation/errors/ReactError.js.map +1 -1
  74. package/dist/core/reconciliation/fibers.d.ts +12 -2
  75. package/dist/core/reconciliation/fibers.d.ts.map +1 -1
  76. package/dist/core/reconciliation/fibers.js +60 -1
  77. package/dist/core/reconciliation/fibers.js.map +1 -1
  78. package/dist/core/reconciliation/invalidateFiber.js +2 -2
  79. package/dist/core/reconciliation/invalidateFiber.js.map +1 -1
  80. package/dist/core/reconciliation/mount.d.ts.map +1 -1
  81. package/dist/core/reconciliation/mount.js +22 -0
  82. package/dist/core/reconciliation/mount.js.map +1 -1
  83. package/dist/core/reconciliation/postCommit.d.ts.map +1 -1
  84. package/dist/core/reconciliation/postCommit.js +1 -0
  85. package/dist/core/reconciliation/postCommit.js.map +1 -1
  86. package/dist/debug.d.ts +2 -0
  87. package/dist/debug.d.ts.map +1 -0
  88. package/dist/debug.js +2 -0
  89. package/dist/debug.js.map +1 -0
  90. package/dist/index.d.ts +40 -0
  91. package/dist/index.d.ts.map +1 -1
  92. package/dist/index.js +22 -0
  93. package/dist/index.js.map +1 -1
  94. package/dist/types/app.d.ts +9 -0
  95. package/dist/types/app.d.ts.map +1 -1
  96. package/dist/types/component.d.ts +2 -0
  97. package/dist/types/component.d.ts.map +1 -1
  98. package/package.json +14 -1
@@ -0,0 +1,150 @@
1
+ import { PreactVNodeFields as F, PreactFragmentComponent, } from './types';
2
+ import { isRootFiber } from '../reconciliation/fibers';
3
+ const vnodesCache = new WeakMap();
4
+ /**
5
+ * Converts the given fiber node to a Preact VNode.
6
+ */
7
+ export const fiberToVNode = (fiber,
8
+ /** Position of the node within its parent container. */
9
+ idx,
10
+ /** Provide true to skip the cache. */
11
+ skipCache) => {
12
+ let cached = !skipCache && vnodesCache.get(fiber);
13
+ if (cached) {
14
+ updateVNode(fiber, cached, idx);
15
+ return cached;
16
+ }
17
+ else {
18
+ const vnode = createVNode(fiber, idx);
19
+ vnodesCache.set(fiber, vnode);
20
+ return vnode;
21
+ }
22
+ };
23
+ /**
24
+ * Created a node Preact VNode from scratch based on the given fiber node.
25
+ */
26
+ const createVNode = (fiber, idx) => {
27
+ const props = getPreactProps(fiber);
28
+ const component = getComponent(fiber);
29
+ return {
30
+ constructor: undefined,
31
+ ref: undefined,
32
+ key: fiber.key ?? undefined,
33
+ props,
34
+ type: component ?? fiber.tag,
35
+ [F.parent]: null, // Filled in `./connect.ts`
36
+ [F.diffIndicator]: 0, // Not used.
37
+ [F.compContext]: component ? getCompContext(fiber, component, props) : null,
38
+ [F.element]: fiber.role === 'portal'
39
+ ? fiber.data
40
+ : fiber.element instanceof Element || fiber.element instanceof Text
41
+ ? fiber.element
42
+ : // Comments are not supported
43
+ undefined,
44
+ [F.index]: isRootFiber(fiber) ? -1 : idx,
45
+ [F.children]: [], // Filled in `./connect.ts`
46
+ __o: null, // Not used.
47
+ [F.flags]: 0, // Not used.
48
+ [F.id]: fiber.id,
49
+ __source: fiber.source ?? undefined,
50
+ registered: false,
51
+ };
52
+ };
53
+ const compCtxCache = new WeakMap();
54
+ /**
55
+ * Generates a __c object. It's not unique per component, but unique per fiber.
56
+ * I.e., different versions of the same fiber node should have exactly the same
57
+ * __c node.
58
+ */
59
+ const getCompContext = (fiber, component, props) => {
60
+ let [fiberId, compCtx] = compCtxCache.get(fiber) ?? [];
61
+ if (!compCtx || fiberId !== fiber.id) {
62
+ compCtx = {
63
+ render: component,
64
+ props,
65
+ context: {},
66
+ constructor: component,
67
+ };
68
+ compCtxCache.set(fiber, [fiber.id, compCtx]);
69
+ }
70
+ else {
71
+ compCtx.props = props;
72
+ }
73
+ return compCtx;
74
+ };
75
+ const updateVNode = (fiber, vnode, idx) => {
76
+ vnode.props = getPreactProps(fiber);
77
+ vnode[F.index] = idx;
78
+ const compCtx = vnode[F.compContext];
79
+ if (compCtx) {
80
+ compCtx.props = getPreactProps(fiber);
81
+ }
82
+ };
83
+ /**
84
+ * Return `PreactVNode.type`. It has to be either a string (a tag name) or a
85
+ * function. We generate pseudo component functions for portal and context nodes
86
+ * because in such a case it's better visualized in the UI.
87
+ */
88
+ const getComponent = (fiber) => {
89
+ if (fiber.role === 'portal') {
90
+ // Generate a unique portal-component. Preact renders its own kind of
91
+ // portals as separate root nodes named "Z". Not very handy, TBH. So this
92
+ // tradeoff seems to be reasonable.
93
+ return getPortalComp(fiber);
94
+ }
95
+ if (fiber.role === 'context') {
96
+ // Generate a unique (per context kind) context-component.
97
+ return getContextComp(fiber.data.ctx);
98
+ }
99
+ if (isRootFiber(fiber) || fiber.type === 'fragment') {
100
+ // Critical: Preact DevTools expect here ONLY the fragment component.
101
+ return PreactFragmentComponent;
102
+ }
103
+ return fiber.component ?? null;
104
+ };
105
+ /**
106
+ * Returns `PreactVNode.props` + `__c.props`.
107
+ */
108
+ export const getPreactProps = (fiber) => {
109
+ if (fiber.role === 'context' || fiber.type === 'component') {
110
+ return { ...fiber.props };
111
+ }
112
+ if (fiber.role === 'portal') {
113
+ const domNode = fiber.data;
114
+ const tagName = domNode.tagName.toLowerCase();
115
+ const classes = domNode.classList.length
116
+ ? '.' + [...domNode.classList].join('.')
117
+ : '';
118
+ return {
119
+ // Preact DevTools will show it as "<div/>"
120
+ target: {
121
+ [F.element]: fiber.data,
122
+ type: tagName,
123
+ },
124
+ selector: `${tagName}${domNode.id ? `#${domNode.id}` : ''}${classes}`,
125
+ };
126
+ }
127
+ // tag, null, fragment, text nodes. None of them is shown in the UI.
128
+ return {};
129
+ };
130
+ const ctxCache = new WeakMap();
131
+ const getContextComp = (ctx) => {
132
+ let component = ctxCache.get(ctx);
133
+ if (!component) {
134
+ component = function FragmentDummy() { return null; }; // prettier-ignore
135
+ component.displayName = (ctx.displayName || 'Provider') + '.Provider';
136
+ ctxCache.set(ctx, component);
137
+ }
138
+ return component;
139
+ };
140
+ const portalCache = new WeakMap();
141
+ const getPortalComp = (fiber) => {
142
+ let component = portalCache.get(fiber);
143
+ if (!component) {
144
+ component = function PortalDummy() { return null; }; // prettier-ignore
145
+ component.displayName = `Portal`;
146
+ portalCache.set(fiber, component);
147
+ }
148
+ return component;
149
+ };
150
+ //# sourceMappingURL=toVNode.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"toVNode.js","sourceRoot":"","sources":["../../../src/core/preact/toVNode.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,180 @@
1
+ import type { FiberNode, ReactComponent, ReactContext, UnknownProps } from '../../types';
2
+ export declare const PreactVNodeFields: {
3
+ readonly parent: "__";
4
+ readonly element: "__e";
5
+ readonly children: "__k";
6
+ readonly id: "__v";
7
+ readonly compContext: "__c";
8
+ readonly diffIndicator: "__b";
9
+ readonly flags: "__u";
10
+ readonly index: "__i";
11
+ };
12
+ declare const F: {
13
+ readonly parent: "__";
14
+ readonly element: "__e";
15
+ readonly children: "__k";
16
+ readonly id: "__v";
17
+ readonly compContext: "__c";
18
+ readonly diffIndicator: "__b";
19
+ readonly flags: "__u";
20
+ readonly index: "__i";
21
+ };
22
+ export declare function PreactFragmentComponent({ children }: {
23
+ children: JSX.Element;
24
+ }): import("../../index.js").JsxElement;
25
+ export type PreactCompContext = {
26
+ constructor: AnyReactComponent;
27
+ render: AnyReactComponent;
28
+ props: UnknownProps;
29
+ context: object;
30
+ base?: Element | Comment;
31
+ state?: object;
32
+ };
33
+ export type PreactVNode = {
34
+ constructor: unknown | undefined;
35
+ key: string | number | undefined;
36
+ props: UnknownProps | string | number;
37
+ ref: unknown | undefined;
38
+ /** Component function or a tag name */
39
+ type: string | AnyReactComponent | ReactContext<any> | null;
40
+ /** A parent VNode. */
41
+ [F.parent]: PreactVNode | null;
42
+ /** Diff/patch flag/counter. */
43
+ [F.diffIndicator]: number;
44
+ /** An object describing the component and its state. */
45
+ [F.compContext]: PreactCompContext | null;
46
+ /** A DOM node. Refers to the 1st real child DOM element if doesn't have its own. */
47
+ [F.element]: Element | Text | undefined;
48
+ /** Index within the parent's children array. -1 for the root node. */
49
+ [F.index]: number;
50
+ /** Internal children list. */
51
+ [F.children]: Array<PreactVNode | null>;
52
+ /** Not used by dev tools. */
53
+ __o: null;
54
+ /** Hook state counter. */
55
+ [F.flags]: number;
56
+ /** VNode unique ID. */
57
+ [F.id]: number;
58
+ __self?: object;
59
+ __source?: {
60
+ columnNumber: number;
61
+ fileName: string;
62
+ lineNumber: number;
63
+ };
64
+ /** Our fields. */
65
+ registered: boolean;
66
+ };
67
+ /**
68
+ * A special object that:
69
+ * - A preact app creates it on its start up
70
+ * - And then the Preact Dev Tools injected script fills this object with extra
71
+ * API hooks that must be called during the render cycle.
72
+ */
73
+ export type PreactOptions = {
74
+ /** Should be called once on app mount. vNode is `app.root.children[0].
75
+ * `Element` is the DOM node where the app is mounted. */
76
+ _root: (vNode: unknown, element: Element) => void;
77
+ /** Called when a new VNode is created. */
78
+ vnode: (vNode: unknown) => void;
79
+ /** Called at the end of each render. */
80
+ _commit: (vNode: PreactVNode, commitQueue: unknown[]) => void;
81
+ /** Called before Preact handles a node. */
82
+ _diff: (vNode: PreactVNode) => void;
83
+ /** Called after Preact handled a node. */
84
+ diffed: (vnode: PreactVNode) => void;
85
+ /** Called when Preact render engine handle children of a container like node. */
86
+ _render: (vNode: PreactVNode, parent?: PreactVNode) => void;
87
+ /** Called when Preact removes a node. */
88
+ unmount: (vnode: PreactVNode) => void;
89
+ };
90
+ export type PreactRendererConfig = {
91
+ Fragment: typeof PreactFragmentComponent;
92
+ };
93
+ /** Preact DevTools support was build based on this Preact codebase version. */
94
+ export declare const PREACT_VERSION = "10.28.0";
95
+ /** window.__PREACT_DEVTOOLS__ */
96
+ export type PreactDevTools = {
97
+ renderers: Map<number, PreactRenderer>;
98
+ /** A hook that should be called once per app. Automatically created a new
99
+ * Preact-renderer and registers it. */
100
+ attachPreact: (version: typeof PREACT_VERSION, options: PreactOptions, rendererConfig: PreactRendererConfig) => number;
101
+ };
102
+ export type PreactRenderer = {
103
+ getVNodeById: (id: number) => PreactVNode | null;
104
+ /** Called on a tree node selection. */
105
+ inspect: (id: number) => PreactInspection;
106
+ /** Called on manual props/context/state changes for the selected tree node. */
107
+ update: (id: number, type: string, path: string[], value: unknown) => void;
108
+ };
109
+ /** A hook representation. Or sub-value of a hook value. */
110
+ export interface PreactHookInspection {
111
+ /** Unique ID. */
112
+ id: string;
113
+ /** IDs of subhooks. */
114
+ children: string[];
115
+ /** The hierarhcy level. */
116
+ depth: number;
117
+ /** Hook name to display. */
118
+ name: unknown;
119
+ /** When `true` the `.value` can be temporarily edited. */
120
+ editable: boolean;
121
+ /**
122
+ * - `typeof` is it's a field of a hook's value.
123
+ * - `undefined` for regular hooks.
124
+ * - `object` for the root pseudo-hook
125
+ */
126
+ type: string;
127
+ meta: null | {
128
+ index: number;
129
+ type: string;
130
+ };
131
+ /** An order within the parent hook or the component. */
132
+ index?: number;
133
+ /** The value of the hook. May be null. */
134
+ value: unknown;
135
+ }
136
+ /**
137
+ * A component representation for the selected tree node.
138
+ */
139
+ export interface PreactInspection {
140
+ context: null;
141
+ canSuspend: boolean;
142
+ key: FiberNode['key'] | null;
143
+ hooks: PreactHookInspection[];
144
+ /** Long DevTools' ID, not VNode.id */
145
+ id: number;
146
+ name: string;
147
+ props: UnknownProps;
148
+ state: null;
149
+ signals: null;
150
+ type: number;
151
+ suspended: boolean;
152
+ version: typeof PREACT_VERSION;
153
+ }
154
+ export declare enum PreactVNodeType {
155
+ FN_COMPONENT = 3
156
+ }
157
+ /**
158
+ * App['preact']
159
+ */
160
+ export type PreactAdapter = {
161
+ /** A middleware layer over the Preact DevTools API. */
162
+ api: PreactAPI;
163
+ /** window.__PREACT_DEVTOOLS__ */
164
+ global: PreactDevTools;
165
+ /** Fiber IDs of nodes invalidated within the last render. */
166
+ invalidated: Set<number>;
167
+ /** createRoot().render(_this_). */
168
+ userRootVNode: PreactVNode | null;
169
+ /** A banch of helper methods on the page side created by the Preact DevTools
170
+ * extension */
171
+ renderer: PreactRenderer;
172
+ };
173
+ /** A middleware layer over the Preact DevTools API. */
174
+ export type PreactAPI = {
175
+ afterRender: () => void;
176
+ unmount: (fiber: FiberNode) => void;
177
+ };
178
+ type AnyReactComponent = ReactComponent<any>;
179
+ export {};
180
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/core/preact/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,SAAS,EACT,cAAc,EACd,YAAY,EACZ,YAAY,EACb,MAAM,oBAAoB,CAAC;AAE5B,eAAO,MAAM,iBAAiB;;;;;;;;;CASpB,CAAC;AACX,QAAA,MAAM,CAAC;;;;;;;;;CAAoB,CAAC;AAG5B,wBAAgB,uBAAuB,CAAC,EAAE,QAAQ,EAAE,EAAE;IAAE,QAAQ,EAAE,GAAG,CAAC,OAAO,CAAC;CAAE,qCAE/E;AAED,MAAM,MAAM,iBAAiB,GAAG;IAC9B,WAAW,EAAE,iBAAiB,CAAC;IAC/B,MAAM,EAAE,iBAAiB,CAAC;IAC1B,KAAK,EAAE,YAAY,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC;IACzB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG;IACxB,WAAW,EAAE,OAAO,GAAG,SAAS,CAAC;IACjC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;IACjC,KAAK,EACD,YAAY,GAEZ,MAAM,GACN,MAAM,CAAC;IACX,GAAG,EAAE,OAAO,GAAG,SAAS,CAAC;IACzB,uCAAuC;IACvC,IAAI,EAAE,MAAM,GAAG,iBAAiB,GAAG,YAAY,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;IAC5D,sBAAsB;IACtB,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,WAAW,GAAG,IAAI,CAAC;IAC/B,+BAA+B;IAC/B,CAAC,CAAC,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAC1B,wDAAwD;IACxD,CAAC,CAAC,CAAC,WAAW,CAAC,EAAE,iBAAiB,GAAG,IAAI,CAAC;IAC1C,oFAAoF;IACpF,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,OAAO,GAAG,IAAI,GAAG,SAAS,CAAC;IACxC,sEAAsE;IACtE,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAClB,8BAA8B;IAC9B,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,KAAK,CAAC,WAAW,GAAG,IAAI,CAAC,CAAC;IACxC,6BAA6B;IAC7B,GAAG,EAAE,IAAI,CAAC;IACV,0BAA0B;IAC1B,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAClB,uBAAuB;IACvB,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE;QAAE,YAAY,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,CAAC;IAC1E,kBAAkB;IAClB,UAAU,EAAE,OAAO,CAAC;CACrB,CAAC;AAEF;;;;;GAKG;AACH,MAAM,MAAM,aAAa,GAAG;IAC1B;6DACyD;IACzD,KAAK,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;IAClD,0CAA0C;IAC1C,KAAK,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IAChC,wCAAwC;IACxC,OAAO,EAAE,CAAC,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC;IAC9D,2CAA2C;IAC3C,KAAK,EAAE,CAAC,KAAK,EAAE,WAAW,KAAK,IAAI,CAAC;IACpC,0CAA0C;IAC1C,MAAM,EAAE,CAAC,KAAK,EAAE,WAAW,KAAK,IAAI,CAAC;IACrC,iFAAiF;IACjF,OAAO,EAAE,CAAC,KAAK,EAAE,WAAW,EAAE,MAAM,CAAC,EAAE,WAAW,KAAK,IAAI,CAAC;IAC5D,yCAAyC;IACzC,OAAO,EAAE,CAAC,KAAK,EAAE,WAAW,KAAK,IAAI,CAAC;CACvC,CAAC;AACF,MAAM,MAAM,oBAAoB,GAAG;IACjC,QAAQ,EAAE,OAAO,uBAAuB,CAAC;CAC1C,CAAC;AAEF,+EAA+E;AAC/E,eAAO,MAAM,cAAc,YAAY,CAAC;AAExC,iCAAiC;AACjC,MAAM,MAAM,cAAc,GAAG;IAC3B,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;IACvC;2CACuC;IACvC,YAAY,EAAE,CACZ,OAAO,EAAE,OAAO,cAAc,EAC9B,OAAO,EAAE,aAAa,EACtB,cAAc,EAAE,oBAAoB,KACjC,MAAM,CAAC;CACb,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG;IAC3B,YAAY,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,WAAW,GAAG,IAAI,CAAC;IACjD,uCAAuC;IACvC,OAAO,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,gBAAgB,CAAC;IAC1C,+EAA+E;IAC/E,MAAM,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;CAC5E,CAAC;AAEF,2DAA2D;AAC3D,MAAM,WAAW,oBAAoB;IACnC,iBAAiB;IACjB,EAAE,EAAE,MAAM,CAAC;IACX,uBAAuB;IACvB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,2BAA2B;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,4BAA4B;IAC5B,IAAI,EAAE,OAAO,CAAC;IACd,0DAA0D;IAC1D,QAAQ,EAAE,OAAO,CAAC;IAClB;;;;OAIG;IACH,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,IAAI,GAAG;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;IAC7C,wDAAwD;IACxD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,0CAA0C;IAC1C,KAAK,EAAE,OAAO,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,IAAI,CAAC;IACd,UAAU,EAAE,OAAO,CAAC;IACpB,GAAG,EAAE,SAAS,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC;IAC7B,KAAK,EAAE,oBAAoB,EAAE,CAAC;IAC9B,sCAAsC;IACtC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,YAAY,CAAC;IACpB,KAAK,EAAE,IAAI,CAAC;IACZ,OAAO,EAAE,IAAI,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,OAAO,CAAC;IACnB,OAAO,EAAE,OAAO,cAAc,CAAC;CAChC;AAED,oBAAY,eAAe;IACzB,YAAY,IAAI;CAOjB;AAED;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG;IAC1B,uDAAuD;IACvD,GAAG,EAAE,SAAS,CAAC;IACf,iCAAiC;IACjC,MAAM,EAAE,cAAc,CAAC;IACvB,6DAA6D;IAC7D,WAAW,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACzB,mCAAmC;IACnC,aAAa,EAAE,WAAW,GAAG,IAAI,CAAC;IAClC;mBACe;IACf,QAAQ,EAAE,cAAc,CAAC;CAC1B,CAAC;AAEF,uDAAuD;AACvD,MAAM,MAAM,SAAS,GAAG;IACtB,WAAW,EAAE,MAAM,IAAI,CAAC;IACxB,OAAO,EAAE,CAAC,KAAK,EAAE,SAAS,KAAK,IAAI,CAAC;CACrC,CAAC;AAEF,KAAK,iBAAiB,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC"}
@@ -0,0 +1,29 @@
1
+ export const PreactVNodeFields = {
2
+ parent: '__',
3
+ element: '__e',
4
+ children: '__k',
5
+ id: '__v',
6
+ compContext: '__c',
7
+ diffIndicator: '__b',
8
+ flags: '__u',
9
+ index: '__i',
10
+ };
11
+ const F = PreactVNodeFields;
12
+ // prettier-ignore
13
+ export function PreactFragmentComponent({ children }) {
14
+ return children;
15
+ }
16
+ /** Preact DevTools support was build based on this Preact codebase version. */
17
+ export const PREACT_VERSION = '10.28.0';
18
+ export { PreactVNodeType };
19
+ var PreactVNodeType;
20
+ (function (PreactVNodeType) {
21
+ PreactVNodeType[PreactVNodeType["FN_COMPONENT"] = 3] = "FN_COMPONENT";
22
+ // Since we don't use them it's better to comment them
23
+ // MEMO = 5,
24
+ // FORWARD_REF = 4,
25
+ // SUSPENCE = 6,
26
+ // PORTAL = 9,
27
+ // ELEMENT = 1,
28
+ })(PreactVNodeType || (PreactVNodeType = {}));
29
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/core/preact/types.ts"],"names":[],"mappings":"AAOA,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC/B,MAAM,EAAE,IAAI;IACZ,OAAO,EAAE,KAAK;IACd,QAAQ,EAAE,KAAK;IACf,EAAE,EAAE,KAAK;IACT,WAAW,EAAE,KAAK;IAClB,aAAa,EAAE,KAAK;IACpB,KAAK,EAAE,KAAK;IACZ,KAAK,EAAE,KAAK;CACJ,CAAC;AACX,MAAM,CAAC,GAAG,iBAAiB,CAAC;AAE5B,kBAAkB;AAClB,MAAM,UAAU,uBAAuB,CAAC,EAAE,QAAQ,EAA8B,EAAE;IAChF,OAAO,QAAQ,CAAC;AAAA,CACjB;AAyED,+EAA+E;AAC/E,MAAM,CAAC,MAAM,cAAc,GAAG,SAAS,CAAC;SAkE5B,eAAe;AAA3B,IAAY,eAQX;AARD,WAAY,eAAe;IACzB,qEAAgB,CAAA;IAChB,sDAAsD;IACtD,YAAY;IACZ,mBAAmB;IACnB,gBAAgB;IAChB,cAAc;IACd,eAAe;AANE,CACnB,EAFY,eAAe,KAAf,eAAe,QAQ1B"}
@@ -0,0 +1,13 @@
1
+ import type { App } from '../../types';
2
+ import type { PreactRenderer } from './types';
3
+ /**
4
+ * Custom implementation for PreactRenderer.update. It's simpler to intercept
5
+ * update messages at the top level, than to support it via `__c.forceUpdate()`.
6
+ * Internally PreactDev Tools patches `vnode.__c.props` and calls
7
+ * `forceUpdate()`. `__c.props` are not real props. We prettify them for
8
+ * dev-tools. E.g. we convert children JSX nodes into Preact VNodes. So we
9
+ * cannot rely in the default behavior, it'll break components due to wrong type
10
+ * of children JSX elements.
11
+ */
12
+ export declare function patchedPreactRendererUpdate(app: App, renderer: PreactRenderer, devToolsNodeId: number, type: string, path: string[], value: unknown): void;
13
+ //# sourceMappingURL=update.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"update.d.ts","sourceRoot":"","sources":["../../../src/core/preact/update.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,GAAG,EAIJ,MAAM,oBAAoB,CAAC;AAC5B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAM9C;;;;;;;;GAQG;AACH,wBAAgB,2BAA2B,CACzC,GAAG,EAAE,GAAG,EACR,QAAQ,EAAE,cAAc,EACxB,cAAc,EAAE,MAAM,EACtB,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EAAE,EACd,KAAK,EAAE,OAAO,GACb,IAAI,CA+BN"}
@@ -0,0 +1,40 @@
1
+ import { nullthrows } from '../../utils';
2
+ import { findFiberById } from '../actions/helpers';
3
+ import { invalidateFiber } from '../reconciliation/invalidateFiber';
4
+ import { ReactError } from '../reconciliation/errors/ReactError';
5
+ /**
6
+ * Custom implementation for PreactRenderer.update. It's simpler to intercept
7
+ * update messages at the top level, than to support it via `__c.forceUpdate()`.
8
+ * Internally PreactDev Tools patches `vnode.__c.props` and calls
9
+ * `forceUpdate()`. `__c.props` are not real props. We prettify them for
10
+ * dev-tools. E.g. we convert children JSX nodes into Preact VNodes. So we
11
+ * cannot rely in the default behavior, it'll break components due to wrong type
12
+ * of children JSX elements.
13
+ */
14
+ export function patchedPreactRendererUpdate(app, renderer, devToolsNodeId, type, path, value) {
15
+ const vnode = nullthrows(renderer.getVNodeById(devToolsNodeId));
16
+ // prettier-ignore
17
+ const fiber = nullthrows(findFiberById(app.root, vnode.__v));
18
+ if (fiber.type === 'tag') {
19
+ throw new ReactError(fiber, `Updating portal props is not supported`);
20
+ }
21
+ if (type !== 'props') {
22
+ // - `state` & `context`: only for class components, which are not directly
23
+ // supported. Instead they are presented as fn-component hooks.
24
+ // - `signal`: signals are not supported.
25
+ throw new ReactError(fiber, `Updating ${type} is not yet implemented`);
26
+ }
27
+ let root = fiber.props;
28
+ for (const k of path.slice(0, -1))
29
+ root = root[k];
30
+ root[path.at(-1)] = value;
31
+ if (fiber.type === 'component') {
32
+ invalidateFiber(fiber);
33
+ }
34
+ else {
35
+ for (const consumer of fiber.data.consumers) {
36
+ invalidateFiber(consumer);
37
+ }
38
+ }
39
+ }
40
+ //# sourceMappingURL=update.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"update.js","sourceRoot":"","sources":["../../../src/core/preact/update.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAC;AACpE,OAAO,EAAE,UAAU,EAAE,MAAM,qCAAqC,CAAC;AAEjE;;;;;;;;GAQG;AACH,MAAM,UAAU,2BAA2B,CACzC,GAAQ,EACR,QAAwB,EACxB,cAAsB,EACtB,IAAY,EACZ,IAAc,EACd,KAAc,EACR;IACN,MAAM,KAAK,GAAG,UAAU,CAAC,QAAQ,CAAC,YAAY,CAAC,cAAc,CAAC,CAAC,CAAC;IAChE,kBAAkB;IAClB,MAAM,KAAK,GAAG,UAAU,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,GAAG,CAAC,CAIxC,CAAC;IAEpB,IAAI,KAAK,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC;QACzB,MAAM,IAAI,UAAU,CAAC,KAAK,EAAE,wCAAwC,CAAC,CAAC;IACxE,CAAC;IAED,IAAI,IAAI,KAAK,OAAO,EAAE,CAAC;QACrB,2EAA2E;QAC3E,kEAAkE;QAClE,yCAAyC;QACzC,MAAM,IAAI,UAAU,CAAC,KAAK,EAAE,YAAY,IAAI,yBAAyB,CAAC,CAAC;IACzE,CAAC;IAED,IAAI,IAAI,GAAG,KAAK,CAAC,KAAqB,CAAC;IACvC,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAAE,IAAI,GAAG,IAAI,CAAC,CAAC,CAAiB,CAAC;IAClE,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAE,CAAC,GAAG,KAAK,CAAC;IAE3B,IAAI,KAAK,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;QAC/B,eAAe,CAAC,KAAK,CAAC,CAAC;IACzB,CAAC;SAAM,CAAC;QACN,KAAK,MAAM,QAAQ,IAAI,KAAK,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;YAC5C,eAAe,CAAC,QAAQ,CAAC,CAAC;QAC5B,CAAC;IACH,CAAC;AAAA,CACF"}
@@ -1 +1 @@
1
- {"version":3,"file":"reactNodeToFiberNode.d.ts","sourceRoot":"","sources":["../../src/core/reactNodeToFiberNode.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAC;AACzD,OAAO,EAGL,KAAK,SAAS,EAUf,MAAM,UAAU,CAAC;AAQlB,OAAO,EAAE,UAAU,EAAE,MAAM,oCAAoC,CAAC;AAGhE;;;;GAIG;AACH,eAAO,MAAM,qBAAqB,qIAuLjC,CAAC"}
1
+ {"version":3,"file":"reactNodeToFiberNode.d.ts","sourceRoot":"","sources":["../../src/core/reactNodeToFiberNode.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAC;AACzD,OAAO,EAGL,KAAK,SAAS,EAUf,MAAM,UAAU,CAAC;AAQlB,OAAO,EAAE,UAAU,EAAE,MAAM,oCAAoC,CAAC;AAGhE;;;;GAIG;AACH,eAAO,MAAM,qBAAqB,qIA4LjC,CAAC"}
@@ -109,7 +109,12 @@ unwrapComponents) => {
109
109
  component: jsxElement.type,
110
110
  key,
111
111
  props: jsxElement.props,
112
- data: { hooks: null, actions: [], isErrorBoundary: false },
112
+ data: {
113
+ hooks: null,
114
+ actions: [],
115
+ isErrorBoundary: false,
116
+ remount: false,
117
+ },
113
118
  source: jsxElement.source,
114
119
  };
115
120
  if (unwrapComponents) {
@@ -1 +1 @@
1
- {"version":3,"file":"reactNodeToFiberNode.js","sourceRoot":"","sources":["../../src/core/reactNodeToFiberNode.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"reactNodeToFiberNode.js","sourceRoot":"","sources":["../../src/core/reactNodeToFiberNode.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"applyActions.d.ts","sourceRoot":"","sources":["../../../src/core/reconciliation/applyActions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,oBAAoB,CAAC;AAE9C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAC;AAEzD;;;GAGG;AACH,eAAO,MAAM,YAAY,uCAKxB,CAAC"}
1
+ {"version":3,"file":"applyActions.d.ts","sourceRoot":"","sources":["../../../src/core/reconciliation/applyActions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,oBAAoB,CAAC;AAE9C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAC;AAEzD;;;GAGG;AACH,eAAO,MAAM,YAAY,uCAOxB,CAAC"}
@@ -8,5 +8,6 @@ export const applyActions = (app, actions) => {
8
8
  for (const action of actions) {
9
9
  applyAction(action);
10
10
  }
11
+ app.devTools?.onCommit(app);
11
12
  };
12
13
  //# sourceMappingURL=applyActions.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"applyActions.js","sourceRoot":"","sources":["../../../src/core/reconciliation/applyActions.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAGrD;;;GAGG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,GAAQ,EAAE,OAAiB,EAAQ,EAAE,CAAC;IACjE,GAAG,CAAC,KAAK,GAAG,QAAQ,CAAC;IACrB,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC7B,WAAW,CAAC,MAAM,CAAC,CAAC;IACtB,CAAC;AAAA,CACF,CAAC"}
1
+ {"version":3,"file":"applyActions.js","sourceRoot":"","sources":["../../../src/core/reconciliation/applyActions.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAGrD;;;GAGG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,GAAQ,EAAE,OAAiB,EAAQ,EAAE,CAAC;IACjE,GAAG,CAAC,KAAK,GAAG,QAAQ,CAAC;IACrB,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC7B,WAAW,CAAC,MAAM,CAAC,CAAC;IACtB,CAAC;IAED,GAAG,CAAC,QAAQ,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC;AAAA,CAC7B,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"fromApp.d.ts","sourceRoot":"","sources":["../../../../src/core/reconciliation/collect/fromApp.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAC;AAEzD,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAElD;;;;GAIG;AACH,eAAO,MAAM,qBAAqB,qCAajC,CAAC"}
1
+ {"version":3,"file":"fromApp.d.ts","sourceRoot":"","sources":["../../../../src/core/reconciliation/collect/fromApp.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAC;AAEzD,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAIlD;;;;GAIG;AACH,eAAO,MAAM,qBAAqB,qCAwBjC,CAAC"}
@@ -1,5 +1,7 @@
1
1
  import { collectActionsFromComponent } from './fromComponent';
2
2
  import { ReactError } from '../errors/ReactError';
3
+ import { collectActionsFromChildrenPair } from './fromChildrenPair';
4
+ import { cloneFiber, isRootFiber } from '../fibers';
3
5
  /**
4
6
  * Goes through the list of invalidated components, runs them, finds the diff,
5
7
  * and returns the list of actions to convert the previous fiber tree to the new
@@ -9,11 +11,18 @@ export const collectActionsFromApp = (app) => {
9
11
  const actions = [];
10
12
  while (!app.invalidatedComponents.isEmpty()) {
11
13
  const [fiber, props] = app.invalidatedComponents.poll();
12
- const actionsX = collectActionsFromComponent(fiber, props);
14
+ const actionsX = isRootFiber(fiber)
15
+ ? // HMR may require a root rerender, when one of the root's direct children
16
+ // components got hooks changes.
17
+ collectActionsFromChildrenPair(app.root, app.root.children.map((n) => cloneFiber(n)))
18
+ : collectActionsFromComponent(fiber, props);
13
19
  if (actionsX instanceof ReactError) {
14
20
  return actionsX.catchActionArrOrPassThru();
15
21
  }
16
22
  actions.push(...actionsX);
23
+ if (isRootFiber(fiber)) {
24
+ app.preact?.invalidated.add(fiber.id);
25
+ }
17
26
  }
18
27
  return actions;
19
28
  };
@@ -1 +1 @@
1
- {"version":3,"file":"fromApp.js","sourceRoot":"","sources":["../../../../src/core/reconciliation/collect/fromApp.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,2BAA2B,EAAE,MAAM,iBAAiB,CAAC;AAC9D,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAElD;;;;GAIG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,GAAQ,EAAyB,EAAE,CAAC;IACxE,MAAM,OAAO,GAAa,EAAE,CAAC;IAE7B,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC,OAAO,EAAE,EAAE,CAAC;QAC5C,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,GAAG,CAAC,qBAAqB,CAAC,IAAI,EAAE,CAAC;QACxD,MAAM,QAAQ,GAAG,2BAA2B,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QAC3D,IAAI,QAAQ,YAAY,UAAU,EAAE,CAAC;YACnC,OAAO,QAAQ,CAAC,wBAAwB,EAAE,CAAC;QAC7C,CAAC;QACD,OAAO,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,CAAC;IAC5B,CAAC;IAED,OAAO,OAAO,CAAC;AAAA,CAChB,CAAC"}
1
+ {"version":3,"file":"fromApp.js","sourceRoot":"","sources":["../../../../src/core/reconciliation/collect/fromApp.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,2BAA2B,EAAE,MAAM,iBAAiB,CAAC;AAC9D,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,8BAA8B,EAAE,MAAM,oBAAoB,CAAC;AACpE,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAEpD;;;;GAIG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,GAAQ,EAAyB,EAAE,CAAC;IACxE,MAAM,OAAO,GAAa,EAAE,CAAC;IAE7B,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC,OAAO,EAAE,EAAE,CAAC;QAC5C,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,GAAG,CAAC,qBAAqB,CAAC,IAAI,EAAE,CAAC;QACxD,MAAM,QAAQ,GAAG,WAAW,CAAC,KAAK,CAAC;YACjC,CAAC,CAAC,0EAA0E;gBAC1E,gCAAgC;gBAChC,8BAA8B,CAC5B,GAAG,CAAC,IAAI,EACR,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAC5C;YACH,CAAC,CAAC,2BAA2B,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QAC9C,IAAI,QAAQ,YAAY,UAAU,EAAE,CAAC;YACnC,OAAO,QAAQ,CAAC,wBAAwB,EAAE,CAAC;QAC7C,CAAC;QACD,OAAO,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,CAAC;QAE1B,IAAI,WAAW,CAAC,KAAK,CAAC,EAAE,CAAC;YACvB,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QACxC,CAAC;IACH,CAAC;IAED,OAAO,OAAO,CAAC;AAAA,CAChB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"areFiberNodesEq.d.ts","sourceRoot":"","sources":["../../../../src/core/reconciliation/compare/areFiberNodesEq.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAEpD;;;GAGG;AACH,eAAO,MAAM,eAAe,8DAY3B,CAAC"}
1
+ {"version":3,"file":"areFiberNodesEq.d.ts","sourceRoot":"","sources":["../../../../src/core/reconciliation/compare/areFiberNodesEq.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAEpD;;;GAGG;AACH,eAAO,MAAM,eAAe,8DAe3B,CAAC"}
@@ -7,6 +7,10 @@ export const areFiberNodesEq = (left, right) => {
7
7
  return left === right;
8
8
  if (left.type !== right.type || left.role !== right.role)
9
9
  return false;
10
+ // HMR marked this component to be remounted. E.g., there were changes in the
11
+ // hooks order.
12
+ if (left.type === 'component' && left.data?.remount)
13
+ return false;
10
14
  const lNode = left.tag ?? left.component;
11
15
  const rNode = right.tag ?? right.component;
12
16
  return lNode === rNode;
@@ -1 +1 @@
1
- {"version":3,"file":"areFiberNodesEq.js","sourceRoot":"","sources":["../../../../src/core/reconciliation/compare/areFiberNodesEq.ts"],"names":[],"mappings":"AAEA;;;GAGG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,CAC7B,IAAsB,EACtB,KAAuB,EACd,EAAE,CAAC;IACZ,IAAI,CAAC,IAAI,IAAI,CAAC,KAAK;QAAE,OAAO,IAAI,KAAK,KAAK,CAAC;IAE3C,IAAI,IAAI,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI;QAAE,OAAO,KAAK,CAAC;IAEvE,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,SAAS,CAAC;IACzC,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,IAAI,KAAK,CAAC,SAAS,CAAC;IAE3C,OAAO,KAAK,KAAK,KAAK,CAAC;AAAA,CACxB,CAAC"}
1
+ {"version":3,"file":"areFiberNodesEq.js","sourceRoot":"","sources":["../../../../src/core/reconciliation/compare/areFiberNodesEq.ts"],"names":[],"mappings":"AAEA;;;GAGG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,CAC7B,IAAsB,EACtB,KAAuB,EACd,EAAE,CAAC;IACZ,IAAI,CAAC,IAAI,IAAI,CAAC,KAAK;QAAE,OAAO,IAAI,KAAK,KAAK,CAAC;IAE3C,IAAI,IAAI,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI;QAAE,OAAO,KAAK,CAAC;IACvE,6EAA6E;IAC7E,eAAe;IACf,IAAI,IAAI,CAAC,IAAI,KAAK,WAAW,IAAI,IAAI,CAAC,IAAI,EAAE,OAAO;QAAE,OAAO,KAAK,CAAC;IAElE,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,SAAS,CAAC;IACzC,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,IAAI,KAAK,CAAC,SAAS,CAAC;IAE3C,OAAO,KAAK,KAAK,KAAK,CAAC;AAAA,CACxB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"effects.d.ts","sourceRoot":"","sources":["../../../src/core/reconciliation/effects.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAOrE;;;;;;GAMG;AACH,eAAO,MAAM,cAAc,8DAM1B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,UAAU,sCAgCtB,CAAC"}
1
+ {"version":3,"file":"effects.d.ts","sourceRoot":"","sources":["../../../src/core/reconciliation/effects.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAOrE;;;;;;GAMG;AACH,eAAO,MAAM,cAAc,8DAM1B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,UAAU,sCAkCtB,CAAC"}
@@ -32,6 +32,7 @@ export const runEffects = (app, mode) => {
32
32
  fiber.ref = null; // Don't run the ref-destructor for this fiber.
33
33
  }
34
34
  const error = new ReactError(fiber, `Error during running effect. ${String(errorRaw)}`);
35
+ error.cause = errorRaw;
35
36
  const boundary = findClosestErrorBoundary(fiber);
36
37
  if (!boundary) {
37
38
  throw error;
@@ -1 +1 @@
1
- {"version":3,"file":"effects.js","sourceRoot":"","sources":["../../../src/core/reconciliation/effects.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"effects.js","sourceRoot":"","sources":["../../../src/core/reconciliation/effects.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"ReactError.d.ts","sourceRoot":"","sources":["../../../../src/core/reconciliation/errors/ReactError.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAEpD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAKnE,qBAAa,UAAW,SAAQ,KAAK;IACnC,KAAK,EAAE,SAAS,CAAC;IAEjB,SAAS,EAAE,MAAM,CAAC;IAElB,YAAY,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,CAAC,EAAE,MAAM,EAgB5D;IAED;;;OAGG;IACH,cAAc,IAAI,gBAAgB,GAAG,IAAI,CAcxC;IAED,wBAAwB,IAAI,gBAAgB,EAAE,GAAG,UAAU,CAG1D;CACF;AAUD,eAAO,MAAM,kBAAkB,GAAI,CAAC,mEAUnC,CAAC"}
1
+ {"version":3,"file":"ReactError.d.ts","sourceRoot":"","sources":["../../../../src/core/reconciliation/errors/ReactError.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAEpD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAKnE,qBAAa,UAAW,SAAQ,KAAK;IACnC,KAAK,EAAE,SAAS,CAAC;IAEjB,SAAS,EAAE,MAAM,CAAC;IAElB,YAAY,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,CAAC,EAAE,MAAM,EAmB5D;IAED;;;OAGG;IACH,cAAc,IAAI,gBAAgB,GAAG,IAAI,CAcxC;IAED,wBAAwB,IAAI,gBAAgB,EAAE,GAAG,UAAU,CAG1D;CACF;AAUD,eAAO,MAAM,kBAAkB,GAAI,CAAC,mEAUnC,CAAC"}
@@ -11,6 +11,9 @@ export class ReactError extends Error {
11
11
  super(message);
12
12
  this.fiber = fiber;
13
13
  this.name = 'ReactError';
14
+ if (error instanceof Error && !(error instanceof ReactError)) {
15
+ this.cause = error;
16
+ }
14
17
  const stack = captureStack(fiber);
15
18
  this.message +=
16
19
  '\nReact stack:\n' + stack.map((line) => ` ├— ${line}`).join('\n');