react-compiler-runtime 19.0.0-beta-55955c9-20241229 → 19.0.0-beta-e552027-20250112

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/dist/index.d.ts CHANGED
@@ -1,19 +1,26 @@
1
- type MemoCache = Array<number | typeof $empty>;
2
- declare const $empty: unique symbol;
3
- export declare const c: any;
4
- declare enum GuardKind {
5
- PushGuardContext = 0,
6
- PopGuardContext = 1,
7
- PushExpectHook = 2,
8
- PopExpectHook = 3
1
+ declare module 'react-compiler-runtime/index' {
2
+ type MemoCache = Array<number | typeof $empty>;
3
+ const $empty: unique symbol;
4
+ export const c: any;
5
+ enum GuardKind {
6
+ PushGuardContext = 0,
7
+ PopGuardContext = 1,
8
+ PushExpectHook = 2,
9
+ PopExpectHook = 3
10
+ }
11
+ export function $dispatcherGuard(kind: GuardKind): void;
12
+ export function $reset($: MemoCache): void;
13
+ export function $makeReadOnly(): void;
14
+ export const renderCounterRegistry: Map<string, Set<{
15
+ count: number;
16
+ }>>;
17
+ export function clearRenderCounterRegistry(): void;
18
+ export function useRenderCounter(name: string): void;
19
+ export function $structuralCheck(oldValue: any, newValue: any, variableName: string, fnName: string, kind: string, loc: string): void;
20
+ export {};
21
+
9
22
  }
10
- export declare function $dispatcherGuard(kind: GuardKind): void;
11
- export declare function $reset($: MemoCache): void;
12
- export declare function $makeReadOnly(): void;
13
- export declare const renderCounterRegistry: Map<string, Set<{
14
- count: number;
15
- }>>;
16
- export declare function clearRenderCounterRegistry(): void;
17
- export declare function useRenderCounter(name: string): void;
18
- export declare function $structuralCheck(oldValue: any, newValue: any, variableName: string, fnName: string, kind: string, loc: string): void;
19
- export {};
23
+ declare module 'react-compiler-runtime' {
24
+ import main = require('react-compiler-runtime/src/index');
25
+ export = main;
26
+ }
package/dist/index.js CHANGED
@@ -11,314 +11,364 @@
11
11
  * @preserve-invariant-messages
12
12
  */
13
13
 
14
- "use no memo";'use strict';
15
-
16
- var React = require('react');
17
-
18
- function _interopNamespaceDefault(e) {
19
- var n = Object.create(null);
20
- if (e) {
21
- Object.keys(e).forEach(function (k) {
22
- if (k !== 'default') {
23
- var d = Object.getOwnPropertyDescriptor(e, k);
24
- Object.defineProperty(n, k, d.get ? d : {
25
- enumerable: true,
26
- get: function () { return e[k]; }
27
- });
28
- }
29
- });
30
- }
31
- n.default = e;
32
- return Object.freeze(n);
33
- }
34
-
35
- var React__namespace = /*#__PURE__*/_interopNamespaceDefault(React);
14
+ "use no memo";
15
+ "use strict";
16
+ var __create = Object.create;
17
+ var __defProp = Object.defineProperty;
18
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
19
+ var __getOwnPropNames = Object.getOwnPropertyNames;
20
+ var __getProtoOf = Object.getPrototypeOf;
21
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
22
+ var __export = (target, all) => {
23
+ for (var name in all)
24
+ __defProp(target, name, { get: all[name], enumerable: true });
25
+ };
26
+ var __copyProps = (to, from, except, desc) => {
27
+ if (from && typeof from === "object" || typeof from === "function") {
28
+ for (let key of __getOwnPropNames(from))
29
+ if (!__hasOwnProp.call(to, key) && key !== except)
30
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
31
+ }
32
+ return to;
33
+ };
34
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
35
+ // If the importer is in node compatibility mode or this is not an ESM
36
+ // file that has been converted to a CommonJS file using a Babel-
37
+ // compatible transform (i.e. "__esModule" has not been set), then set
38
+ // "default" to the CommonJS "module.exports" for node compatibility.
39
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
40
+ mod
41
+ ));
42
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
36
43
 
37
- var _a, _b;
38
- const { useRef, useEffect, isValidElement } = React__namespace;
39
- const ReactSecretInternals = (_a = React__namespace.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE) !== null && _a !== void 0 ? _a : React__namespace.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;
40
- const $empty = Symbol.for('react.memo_cache_sentinel');
41
- const c = typeof ((_b = React__namespace.__COMPILER_RUNTIME) === null || _b === void 0 ? void 0 : _b.c) === 'function'
42
- ?
43
- React__namespace.__COMPILER_RUNTIME.c
44
- : function c(size) {
45
- return React__namespace.useMemo(() => {
46
- const $ = new Array(size);
47
- for (let ii = 0; ii < size; ii++) {
48
- $[ii] = $empty;
49
- }
50
- $[$empty] = true;
51
- return $;
52
- }, []);
53
- };
54
- const LazyGuardDispatcher = {};
44
+ // src/index.ts
45
+ var index_exports = {};
46
+ __export(index_exports, {
47
+ $dispatcherGuard: () => $dispatcherGuard,
48
+ $makeReadOnly: () => $makeReadOnly,
49
+ $reset: () => $reset,
50
+ $structuralCheck: () => $structuralCheck,
51
+ c: () => c,
52
+ clearRenderCounterRegistry: () => clearRenderCounterRegistry,
53
+ renderCounterRegistry: () => renderCounterRegistry,
54
+ useRenderCounter: () => useRenderCounter
55
+ });
56
+ module.exports = __toCommonJS(index_exports);
57
+ var React = __toESM(require("react"));
58
+ var { useRef, useEffect, isValidElement } = React;
59
+ var _a;
60
+ var ReactSecretInternals = (
61
+ //@ts-ignore
62
+ (_a = React.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE) != null ? _a : React.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED
63
+ );
64
+ var $empty = Symbol.for("react.memo_cache_sentinel");
65
+ var _a2;
66
+ var c = (
67
+ // @ts-expect-error
68
+ typeof ((_a2 = React.__COMPILER_RUNTIME) == null ? void 0 : _a2.c) === "function" ? (
69
+ // @ts-expect-error
70
+ React.__COMPILER_RUNTIME.c
71
+ ) : function c2(size) {
72
+ return React.useMemo(() => {
73
+ const $ = new Array(size);
74
+ for (let ii = 0; ii < size; ii++) {
75
+ $[ii] = $empty;
76
+ }
77
+ $[$empty] = true;
78
+ return $;
79
+ }, []);
80
+ }
81
+ );
82
+ var LazyGuardDispatcher = {};
55
83
  [
56
- 'readContext',
57
- 'useCallback',
58
- 'useContext',
59
- 'useEffect',
60
- 'useImperativeHandle',
61
- 'useInsertionEffect',
62
- 'useLayoutEffect',
63
- 'useMemo',
64
- 'useReducer',
65
- 'useRef',
66
- 'useState',
67
- 'useDebugValue',
68
- 'useDeferredValue',
69
- 'useTransition',
70
- 'useMutableSource',
71
- 'useSyncExternalStore',
72
- 'useId',
73
- 'unstable_isNewReconciler',
74
- 'getCacheSignal',
75
- 'getCacheForType',
76
- 'useCacheRefresh',
77
- ].forEach(name => {
78
- LazyGuardDispatcher[name] = () => {
79
- throw new Error(`[React] Unexpected React hook call (${name}) from a React compiled function. ` +
80
- "Check that all hooks are called directly and named according to convention ('use[A-Z]') ");
81
- };
84
+ "readContext",
85
+ "useCallback",
86
+ "useContext",
87
+ "useEffect",
88
+ "useImperativeHandle",
89
+ "useInsertionEffect",
90
+ "useLayoutEffect",
91
+ "useMemo",
92
+ "useReducer",
93
+ "useRef",
94
+ "useState",
95
+ "useDebugValue",
96
+ "useDeferredValue",
97
+ "useTransition",
98
+ "useMutableSource",
99
+ "useSyncExternalStore",
100
+ "useId",
101
+ "unstable_isNewReconciler",
102
+ "getCacheSignal",
103
+ "getCacheForType",
104
+ "useCacheRefresh"
105
+ ].forEach((name) => {
106
+ LazyGuardDispatcher[name] = () => {
107
+ throw new Error(
108
+ `[React] Unexpected React hook call (${name}) from a React compiled function. Check that all hooks are called directly and named according to convention ('use[A-Z]') `
109
+ );
110
+ };
82
111
  });
83
- let originalDispatcher = null;
84
- LazyGuardDispatcher['useMemoCache'] = (count) => {
85
- if (originalDispatcher == null) {
86
- throw new Error('React Compiler internal invariant violation: unexpected null dispatcher');
87
- }
88
- else {
89
- return originalDispatcher.useMemoCache(count);
90
- }
112
+ var originalDispatcher = null;
113
+ LazyGuardDispatcher["useMemoCache"] = (count) => {
114
+ if (originalDispatcher == null) {
115
+ throw new Error(
116
+ "React Compiler internal invariant violation: unexpected null dispatcher"
117
+ );
118
+ } else {
119
+ return originalDispatcher.useMemoCache(count);
120
+ }
91
121
  };
92
- var GuardKind;
93
- (function (GuardKind) {
94
- GuardKind[GuardKind["PushGuardContext"] = 0] = "PushGuardContext";
95
- GuardKind[GuardKind["PopGuardContext"] = 1] = "PopGuardContext";
96
- GuardKind[GuardKind["PushExpectHook"] = 2] = "PushExpectHook";
97
- GuardKind[GuardKind["PopExpectHook"] = 3] = "PopExpectHook";
98
- })(GuardKind || (GuardKind = {}));
99
122
  function setCurrent(newDispatcher) {
100
- ReactSecretInternals.ReactCurrentDispatcher.current = newDispatcher;
101
- return ReactSecretInternals.ReactCurrentDispatcher.current;
123
+ ReactSecretInternals.ReactCurrentDispatcher.current = newDispatcher;
124
+ return ReactSecretInternals.ReactCurrentDispatcher.current;
102
125
  }
103
- const guardFrames = [];
126
+ var guardFrames = [];
104
127
  function $dispatcherGuard(kind) {
105
- const curr = ReactSecretInternals.ReactCurrentDispatcher.current;
106
- if (kind === GuardKind.PushGuardContext) {
107
- guardFrames.push(curr);
108
- if (guardFrames.length === 1) {
109
- originalDispatcher = curr;
110
- }
111
- if (curr === LazyGuardDispatcher) {
112
- throw new Error(`[React] Unexpected call to custom hook or component from a React compiled function. ` +
113
- "Check that (1) all hooks are called directly and named according to convention ('use[A-Z]') " +
114
- 'and (2) components are returned as JSX instead of being directly invoked.');
115
- }
116
- setCurrent(LazyGuardDispatcher);
128
+ const curr = ReactSecretInternals.ReactCurrentDispatcher.current;
129
+ if (kind === 0 /* PushGuardContext */) {
130
+ guardFrames.push(curr);
131
+ if (guardFrames.length === 1) {
132
+ originalDispatcher = curr;
117
133
  }
118
- else if (kind === GuardKind.PopGuardContext) {
119
- const lastFrame = guardFrames.pop();
120
- if (lastFrame == null) {
121
- throw new Error('React Compiler internal error: unexpected null in guard stack');
122
- }
123
- if (guardFrames.length === 0) {
124
- originalDispatcher = null;
125
- }
126
- setCurrent(lastFrame);
134
+ if (curr === LazyGuardDispatcher) {
135
+ throw new Error(
136
+ `[React] Unexpected call to custom hook or component from a React compiled function. Check that (1) all hooks are called directly and named according to convention ('use[A-Z]') and (2) components are returned as JSX instead of being directly invoked.`
137
+ );
127
138
  }
128
- else if (kind === GuardKind.PushExpectHook) {
129
- guardFrames.push(curr);
130
- setCurrent(originalDispatcher);
139
+ setCurrent(LazyGuardDispatcher);
140
+ } else if (kind === 1 /* PopGuardContext */) {
141
+ const lastFrame = guardFrames.pop();
142
+ if (lastFrame == null) {
143
+ throw new Error(
144
+ "React Compiler internal error: unexpected null in guard stack"
145
+ );
131
146
  }
132
- else if (kind === GuardKind.PopExpectHook) {
133
- const lastFrame = guardFrames.pop();
134
- if (lastFrame == null) {
135
- throw new Error('React Compiler internal error: unexpected null in guard stack');
136
- }
137
- setCurrent(lastFrame);
147
+ if (guardFrames.length === 0) {
148
+ originalDispatcher = null;
138
149
  }
139
- else {
140
- throw new Error('React Compiler internal error: unreachable block' + kind);
150
+ setCurrent(lastFrame);
151
+ } else if (kind === 2 /* PushExpectHook */) {
152
+ guardFrames.push(curr);
153
+ setCurrent(originalDispatcher);
154
+ } else if (kind === 3 /* PopExpectHook */) {
155
+ const lastFrame = guardFrames.pop();
156
+ if (lastFrame == null) {
157
+ throw new Error(
158
+ "React Compiler internal error: unexpected null in guard stack"
159
+ );
141
160
  }
161
+ setCurrent(lastFrame);
162
+ } else {
163
+ throw new Error("React Compiler internal error: unreachable block" + kind);
164
+ }
142
165
  }
143
166
  function $reset($) {
144
- for (let ii = 0; ii < $.length; ii++) {
145
- $[ii] = $empty;
146
- }
167
+ for (let ii = 0; ii < $.length; ii++) {
168
+ $[ii] = $empty;
169
+ }
147
170
  }
148
171
  function $makeReadOnly() {
149
- throw new Error('TODO: implement $makeReadOnly in react-compiler-runtime');
172
+ throw new Error("TODO: implement $makeReadOnly in react-compiler-runtime");
150
173
  }
151
- const renderCounterRegistry = new Map();
174
+ var renderCounterRegistry = /* @__PURE__ */ new Map();
152
175
  function clearRenderCounterRegistry() {
153
- for (const counters of renderCounterRegistry.values()) {
154
- counters.forEach(counter => {
155
- counter.count = 0;
156
- });
157
- }
176
+ for (const counters of renderCounterRegistry.values()) {
177
+ counters.forEach((counter) => {
178
+ counter.count = 0;
179
+ });
180
+ }
158
181
  }
159
182
  function registerRenderCounter(name, val) {
160
- let counters = renderCounterRegistry.get(name);
161
- if (counters == null) {
162
- counters = new Set();
163
- renderCounterRegistry.set(name, counters);
164
- }
165
- counters.add(val);
183
+ let counters = renderCounterRegistry.get(name);
184
+ if (counters == null) {
185
+ counters = /* @__PURE__ */ new Set();
186
+ renderCounterRegistry.set(name, counters);
187
+ }
188
+ counters.add(val);
166
189
  }
167
190
  function removeRenderCounter(name, val) {
168
- const counters = renderCounterRegistry.get(name);
169
- if (counters == null) {
170
- return;
171
- }
172
- counters.delete(val);
191
+ const counters = renderCounterRegistry.get(name);
192
+ if (counters == null) {
193
+ return;
194
+ }
195
+ counters.delete(val);
173
196
  }
174
197
  function useRenderCounter(name) {
175
- const val = useRef(null);
176
- if (val.current != null) {
177
- val.current.count += 1;
198
+ const val = useRef(null);
199
+ if (val.current != null) {
200
+ val.current.count += 1;
201
+ }
202
+ useEffect(() => {
203
+ if (val.current == null) {
204
+ const counter = { count: 0 };
205
+ registerRenderCounter(name, counter);
206
+ val.current = counter;
178
207
  }
179
- useEffect(() => {
180
- if (val.current == null) {
181
- const counter = { count: 0 };
182
- registerRenderCounter(name, counter);
183
- val.current = counter;
184
- }
185
- return () => {
186
- if (val.current !== null) {
187
- removeRenderCounter(name, val.current);
188
- }
189
- };
190
- });
208
+ return () => {
209
+ if (val.current !== null) {
210
+ removeRenderCounter(name, val.current);
211
+ }
212
+ };
213
+ });
191
214
  }
192
- const seenErrors = new Set();
215
+ var seenErrors = /* @__PURE__ */ new Set();
193
216
  function $structuralCheck(oldValue, newValue, variableName, fnName, kind, loc) {
194
- function error(l, r, path, depth) {
195
- const str = `${fnName}:${loc} [${kind}] ${variableName}${path} changed from ${l} to ${r} at depth ${depth}`;
196
- if (seenErrors.has(str)) {
197
- return;
198
- }
199
- seenErrors.add(str);
200
- console.error(str);
217
+ function error(l, r, path, depth) {
218
+ const str = `${fnName}:${loc} [${kind}] ${variableName}${path} changed from ${l} to ${r} at depth ${depth}`;
219
+ if (seenErrors.has(str)) {
220
+ return;
201
221
  }
202
- const depthLimit = 2;
203
- function recur(oldValue, newValue, path, depth) {
204
- if (depth > depthLimit) {
205
- return;
206
- }
207
- else if (oldValue === newValue) {
208
- return;
209
- }
210
- else if (typeof oldValue !== typeof newValue) {
211
- error(`type ${typeof oldValue}`, `type ${typeof newValue}`, path, depth);
212
- }
213
- else if (typeof oldValue === 'object') {
214
- const oldArray = Array.isArray(oldValue);
215
- const newArray = Array.isArray(newValue);
216
- if (oldValue === null && newValue !== null) {
217
- error('null', `type ${typeof newValue}`, path, depth);
222
+ seenErrors.add(str);
223
+ console.error(str);
224
+ }
225
+ const depthLimit = 2;
226
+ function recur(oldValue2, newValue2, path, depth) {
227
+ if (depth > depthLimit) {
228
+ return;
229
+ } else if (oldValue2 === newValue2) {
230
+ return;
231
+ } else if (typeof oldValue2 !== typeof newValue2) {
232
+ error(`type ${typeof oldValue2}`, `type ${typeof newValue2}`, path, depth);
233
+ } else if (typeof oldValue2 === "object") {
234
+ const oldArray = Array.isArray(oldValue2);
235
+ const newArray = Array.isArray(newValue2);
236
+ if (oldValue2 === null && newValue2 !== null) {
237
+ error("null", `type ${typeof newValue2}`, path, depth);
238
+ } else if (newValue2 === null) {
239
+ error(`type ${typeof oldValue2}`, "null", path, depth);
240
+ } else if (oldValue2 instanceof Map) {
241
+ if (!(newValue2 instanceof Map)) {
242
+ error(`Map instance`, `other value`, path, depth);
243
+ } else if (oldValue2.size !== newValue2.size) {
244
+ error(
245
+ `Map instance with size ${oldValue2.size}`,
246
+ `Map instance with size ${newValue2.size}`,
247
+ path,
248
+ depth
249
+ );
250
+ } else {
251
+ for (const [k, v] of oldValue2) {
252
+ if (!newValue2.has(k)) {
253
+ error(
254
+ `Map instance with key ${k}`,
255
+ `Map instance without key ${k}`,
256
+ path,
257
+ depth
258
+ );
259
+ } else {
260
+ recur(v, newValue2.get(k), `${path}.get(${k})`, depth + 1);
218
261
  }
219
- else if (newValue === null) {
220
- error(`type ${typeof oldValue}`, 'null', path, depth);
221
- }
222
- else if (oldValue instanceof Map) {
223
- if (!(newValue instanceof Map)) {
224
- error(`Map instance`, `other value`, path, depth);
225
- }
226
- else if (oldValue.size !== newValue.size) {
227
- error(`Map instance with size ${oldValue.size}`, `Map instance with size ${newValue.size}`, path, depth);
228
- }
229
- else {
230
- for (const [k, v] of oldValue) {
231
- if (!newValue.has(k)) {
232
- error(`Map instance with key ${k}`, `Map instance without key ${k}`, path, depth);
233
- }
234
- else {
235
- recur(v, newValue.get(k), `${path}.get(${k})`, depth + 1);
236
- }
237
- }
238
- }
239
- }
240
- else if (newValue instanceof Map) {
241
- error('other value', `Map instance`, path, depth);
242
- }
243
- else if (oldValue instanceof Set) {
244
- if (!(newValue instanceof Set)) {
245
- error(`Set instance`, `other value`, path, depth);
246
- }
247
- else if (oldValue.size !== newValue.size) {
248
- error(`Set instance with size ${oldValue.size}`, `Set instance with size ${newValue.size}`, path, depth);
249
- }
250
- else {
251
- for (const v of newValue) {
252
- if (!oldValue.has(v)) {
253
- error(`Set instance without element ${v}`, `Set instance with element ${v}`, path, depth);
254
- }
255
- }
256
- }
257
- }
258
- else if (newValue instanceof Set) {
259
- error('other value', `Set instance`, path, depth);
260
- }
261
- else if (oldArray || newArray) {
262
- if (oldArray !== newArray) {
263
- error(`type ${oldArray ? 'array' : 'object'}`, `type ${newArray ? 'array' : 'object'}`, path, depth);
264
- }
265
- else if (oldValue.length !== newValue.length) {
266
- error(`array with length ${oldValue.length}`, `array with length ${newValue.length}`, path, depth);
267
- }
268
- else {
269
- for (let ii = 0; ii < oldValue.length; ii++) {
270
- recur(oldValue[ii], newValue[ii], `${path}[${ii}]`, depth + 1);
271
- }
272
- }
273
- }
274
- else if (isValidElement(oldValue) || isValidElement(newValue)) {
275
- if (isValidElement(oldValue) !== isValidElement(newValue)) {
276
- error(`type ${isValidElement(oldValue) ? 'React element' : 'object'}`, `type ${isValidElement(newValue) ? 'React element' : 'object'}`, path, depth);
277
- }
278
- else if (oldValue.type !== newValue.type) {
279
- error(`React element of type ${oldValue.type}`, `React element of type ${newValue.type}`, path, depth);
280
- }
281
- else {
282
- recur(oldValue.props, newValue.props, `[props of ${path}]`, depth + 1);
283
- }
284
- }
285
- else {
286
- for (const key in newValue) {
287
- if (!(key in oldValue)) {
288
- error(`object without key ${key}`, `object with key ${key}`, path, depth);
289
- }
290
- }
291
- for (const key in oldValue) {
292
- if (!(key in newValue)) {
293
- error(`object with key ${key}`, `object without key ${key}`, path, depth);
294
- }
295
- else {
296
- recur(oldValue[key], newValue[key], `${path}.${key}`, depth + 1);
297
- }
298
- }
262
+ }
263
+ }
264
+ } else if (newValue2 instanceof Map) {
265
+ error("other value", `Map instance`, path, depth);
266
+ } else if (oldValue2 instanceof Set) {
267
+ if (!(newValue2 instanceof Set)) {
268
+ error(`Set instance`, `other value`, path, depth);
269
+ } else if (oldValue2.size !== newValue2.size) {
270
+ error(
271
+ `Set instance with size ${oldValue2.size}`,
272
+ `Set instance with size ${newValue2.size}`,
273
+ path,
274
+ depth
275
+ );
276
+ } else {
277
+ for (const v of newValue2) {
278
+ if (!oldValue2.has(v)) {
279
+ error(
280
+ `Set instance without element ${v}`,
281
+ `Set instance with element ${v}`,
282
+ path,
283
+ depth
284
+ );
299
285
  }
286
+ }
300
287
  }
301
- else if (typeof oldValue === 'function') {
302
- return;
288
+ } else if (newValue2 instanceof Set) {
289
+ error("other value", `Set instance`, path, depth);
290
+ } else if (oldArray || newArray) {
291
+ if (oldArray !== newArray) {
292
+ error(
293
+ `type ${oldArray ? "array" : "object"}`,
294
+ `type ${newArray ? "array" : "object"}`,
295
+ path,
296
+ depth
297
+ );
298
+ } else if (oldValue2.length !== newValue2.length) {
299
+ error(
300
+ `array with length ${oldValue2.length}`,
301
+ `array with length ${newValue2.length}`,
302
+ path,
303
+ depth
304
+ );
305
+ } else {
306
+ for (let ii = 0; ii < oldValue2.length; ii++) {
307
+ recur(oldValue2[ii], newValue2[ii], `${path}[${ii}]`, depth + 1);
308
+ }
303
309
  }
304
- else if (isNaN(oldValue) || isNaN(newValue)) {
305
- if (isNaN(oldValue) !== isNaN(newValue)) {
306
- error(`${isNaN(oldValue) ? 'NaN' : 'non-NaN value'}`, `${isNaN(newValue) ? 'NaN' : 'non-NaN value'}`, path, depth);
307
- }
310
+ } else if (isValidElement(oldValue2) || isValidElement(newValue2)) {
311
+ if (isValidElement(oldValue2) !== isValidElement(newValue2)) {
312
+ error(
313
+ `type ${isValidElement(oldValue2) ? "React element" : "object"}`,
314
+ `type ${isValidElement(newValue2) ? "React element" : "object"}`,
315
+ path,
316
+ depth
317
+ );
318
+ } else if (oldValue2.type !== newValue2.type) {
319
+ error(
320
+ `React element of type ${oldValue2.type}`,
321
+ `React element of type ${newValue2.type}`,
322
+ path,
323
+ depth
324
+ );
325
+ } else {
326
+ recur(
327
+ oldValue2.props,
328
+ newValue2.props,
329
+ `[props of ${path}]`,
330
+ depth + 1
331
+ );
308
332
  }
309
- else if (oldValue !== newValue) {
310
- error(oldValue, newValue, path, depth);
333
+ } else {
334
+ for (const key in newValue2) {
335
+ if (!(key in oldValue2)) {
336
+ error(
337
+ `object without key ${key}`,
338
+ `object with key ${key}`,
339
+ path,
340
+ depth
341
+ );
342
+ }
311
343
  }
344
+ for (const key in oldValue2) {
345
+ if (!(key in newValue2)) {
346
+ error(
347
+ `object with key ${key}`,
348
+ `object without key ${key}`,
349
+ path,
350
+ depth
351
+ );
352
+ } else {
353
+ recur(oldValue2[key], newValue2[key], `${path}.${key}`, depth + 1);
354
+ }
355
+ }
356
+ }
357
+ } else if (typeof oldValue2 === "function") {
358
+ return;
359
+ } else if (isNaN(oldValue2) || isNaN(newValue2)) {
360
+ if (isNaN(oldValue2) !== isNaN(newValue2)) {
361
+ error(
362
+ `${isNaN(oldValue2) ? "NaN" : "non-NaN value"}`,
363
+ `${isNaN(newValue2) ? "NaN" : "non-NaN value"}`,
364
+ path,
365
+ depth
366
+ );
367
+ }
368
+ } else if (oldValue2 !== newValue2) {
369
+ error(oldValue2, newValue2, path, depth);
312
370
  }
313
- recur(oldValue, newValue, '', 0);
371
+ }
372
+ recur(oldValue, newValue, "", 0);
314
373
  }
315
-
316
- exports.$dispatcherGuard = $dispatcherGuard;
317
- exports.$makeReadOnly = $makeReadOnly;
318
- exports.$reset = $reset;
319
- exports.$structuralCheck = $structuralCheck;
320
- exports.c = c;
321
- exports.clearRenderCounterRegistry = clearRenderCounterRegistry;
322
- exports.renderCounterRegistry = renderCounterRegistry;
323
- exports.useRenderCounter = useRenderCounter;
324
374
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1,7 @@
1
- {"version":3,"file":"index.js","sources":["../src/index.ts"],"sourcesContent":[null],"names":["React"],"mappings":"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"}
1
+ {
2
+ "version": 3,
3
+ "sources": ["../src/index.ts"],
4
+ "sourcesContent": ["/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport * as React from 'react';\n\nconst {useRef, useEffect, isValidElement} = React;\nconst ReactSecretInternals =\n //@ts-ignore\n React.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE ??\n //@ts-ignore\n React.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;\n\ntype MemoCache = Array<number | typeof $empty>;\n\nconst $empty = Symbol.for('react.memo_cache_sentinel');\n\n// Re-export React.c if present, otherwise fallback to the userspace polyfill for versions of React\n// < 19.\nexport const c =\n // @ts-expect-error\n typeof React.__COMPILER_RUNTIME?.c === 'function'\n ? // @ts-expect-error\n React.__COMPILER_RUNTIME.c\n : function c(size: number) {\n return React.useMemo<Array<unknown>>(() => {\n const $ = new Array(size);\n for (let ii = 0; ii < size; ii++) {\n $[ii] = $empty;\n }\n // This symbol is added to tell the react devtools that this array is from\n // useMemoCache.\n // @ts-ignore\n $[$empty] = true;\n return $;\n }, []);\n };\n\nconst LazyGuardDispatcher: {[key: string]: (...args: Array<any>) => any} = {};\n[\n 'readContext',\n 'useCallback',\n 'useContext',\n 'useEffect',\n 'useImperativeHandle',\n 'useInsertionEffect',\n 'useLayoutEffect',\n 'useMemo',\n 'useReducer',\n 'useRef',\n 'useState',\n 'useDebugValue',\n 'useDeferredValue',\n 'useTransition',\n 'useMutableSource',\n 'useSyncExternalStore',\n 'useId',\n 'unstable_isNewReconciler',\n 'getCacheSignal',\n 'getCacheForType',\n 'useCacheRefresh',\n].forEach(name => {\n LazyGuardDispatcher[name] = () => {\n throw new Error(\n `[React] Unexpected React hook call (${name}) from a React compiled function. ` +\n \"Check that all hooks are called directly and named according to convention ('use[A-Z]') \",\n );\n };\n});\n\nlet originalDispatcher: unknown = null;\n\n// Allow guards are not emitted for useMemoCache\nLazyGuardDispatcher['useMemoCache'] = (count: number) => {\n if (originalDispatcher == null) {\n throw new Error(\n 'React Compiler internal invariant violation: unexpected null dispatcher',\n );\n } else {\n return (originalDispatcher as any).useMemoCache(count);\n }\n};\n\nenum GuardKind {\n PushGuardContext = 0,\n PopGuardContext = 1,\n PushExpectHook = 2,\n PopExpectHook = 3,\n}\n\nfunction setCurrent(newDispatcher: any) {\n ReactSecretInternals.ReactCurrentDispatcher.current = newDispatcher;\n return ReactSecretInternals.ReactCurrentDispatcher.current;\n}\n\nconst guardFrames: Array<unknown> = [];\n\n/**\n * When `enableEmitHookGuards` is set, this does runtime validation\n * of the no-conditional-hook-calls rule.\n * As React Compiler needs to statically understand which calls to move out of\n * conditional branches (i.e. React Compiler cannot memoize the results of hook\n * calls), its understanding of \"the rules of React\" are more restrictive.\n * This validation throws on unsound inputs at runtime.\n *\n * Components should only be invoked through React as React Compiler could memoize\n * the call to AnotherComponent, introducing conditional hook calls in its\n * compiled output.\n * ```js\n * function Invalid(props) {\n * const myJsx = AnotherComponent(props);\n * return <div> { myJsx } </div>;\n * }\n *\n * Hooks must be named as hooks.\n * ```js\n * const renamedHook = useState;\n * function Invalid() {\n * const [state, setState] = renamedHook(0);\n * }\n * ```\n *\n * Hooks must be directly called.\n * ```\n * function call(fn) {\n * return fn();\n * }\n * function Invalid() {\n * const result = call(useMyHook);\n * }\n * ```\n */\nexport function $dispatcherGuard(kind: GuardKind) {\n const curr = ReactSecretInternals.ReactCurrentDispatcher.current;\n if (kind === GuardKind.PushGuardContext) {\n // Push before checking invariant or errors\n guardFrames.push(curr);\n\n if (guardFrames.length === 1) {\n // save if we're the first guard on the stack\n originalDispatcher = curr;\n }\n\n if (curr === LazyGuardDispatcher) {\n throw new Error(\n `[React] Unexpected call to custom hook or component from a React compiled function. ` +\n \"Check that (1) all hooks are called directly and named according to convention ('use[A-Z]') \" +\n 'and (2) components are returned as JSX instead of being directly invoked.',\n );\n }\n setCurrent(LazyGuardDispatcher);\n } else if (kind === GuardKind.PopGuardContext) {\n // Pop before checking invariant or errors\n const lastFrame = guardFrames.pop();\n\n if (lastFrame == null) {\n throw new Error(\n 'React Compiler internal error: unexpected null in guard stack',\n );\n }\n if (guardFrames.length === 0) {\n originalDispatcher = null;\n }\n setCurrent(lastFrame);\n } else if (kind === GuardKind.PushExpectHook) {\n // ExpectHooks could be nested, so we save the current dispatcher\n // for the matching PopExpectHook to restore.\n guardFrames.push(curr);\n setCurrent(originalDispatcher);\n } else if (kind === GuardKind.PopExpectHook) {\n const lastFrame = guardFrames.pop();\n if (lastFrame == null) {\n throw new Error(\n 'React Compiler internal error: unexpected null in guard stack',\n );\n }\n setCurrent(lastFrame);\n } else {\n throw new Error('React Compiler internal error: unreachable block' + kind);\n }\n}\n\nexport function $reset($: MemoCache) {\n for (let ii = 0; ii < $.length; ii++) {\n $[ii] = $empty;\n }\n}\n\nexport function $makeReadOnly() {\n throw new Error('TODO: implement $makeReadOnly in react-compiler-runtime');\n}\n\n/**\n * Instrumentation to count rerenders in React components\n */\nexport const renderCounterRegistry: Map<\n string,\n Set<{count: number}>\n> = new Map();\nexport function clearRenderCounterRegistry() {\n for (const counters of renderCounterRegistry.values()) {\n counters.forEach(counter => {\n counter.count = 0;\n });\n }\n}\n\nfunction registerRenderCounter(name: string, val: {count: number}) {\n let counters = renderCounterRegistry.get(name);\n if (counters == null) {\n counters = new Set();\n renderCounterRegistry.set(name, counters);\n }\n counters.add(val);\n}\n\nfunction removeRenderCounter(name: string, val: {count: number}): void {\n const counters = renderCounterRegistry.get(name);\n if (counters == null) {\n return;\n }\n counters.delete(val);\n}\n\nexport function useRenderCounter(name: string): void {\n const val = useRef<{count: number}>(null);\n\n if (val.current != null) {\n val.current.count += 1;\n }\n useEffect(() => {\n // Not counting initial render shouldn't be a problem\n if (val.current == null) {\n const counter = {count: 0};\n registerRenderCounter(name, counter);\n // @ts-ignore\n val.current = counter;\n }\n return () => {\n if (val.current !== null) {\n removeRenderCounter(name, val.current);\n }\n };\n });\n}\n\nconst seenErrors = new Set();\n\nexport function $structuralCheck(\n oldValue: any,\n newValue: any,\n variableName: string,\n fnName: string,\n kind: string,\n loc: string,\n): void {\n function error(l: string, r: string, path: string, depth: number) {\n const str = `${fnName}:${loc} [${kind}] ${variableName}${path} changed from ${l} to ${r} at depth ${depth}`;\n if (seenErrors.has(str)) {\n return;\n }\n seenErrors.add(str);\n console.error(str);\n }\n const depthLimit = 2;\n function recur(oldValue: any, newValue: any, path: string, depth: number) {\n if (depth > depthLimit) {\n return;\n } else if (oldValue === newValue) {\n return;\n } else if (typeof oldValue !== typeof newValue) {\n error(`type ${typeof oldValue}`, `type ${typeof newValue}`, path, depth);\n } else if (typeof oldValue === 'object') {\n const oldArray = Array.isArray(oldValue);\n const newArray = Array.isArray(newValue);\n if (oldValue === null && newValue !== null) {\n error('null', `type ${typeof newValue}`, path, depth);\n } else if (newValue === null) {\n error(`type ${typeof oldValue}`, 'null', path, depth);\n } else if (oldValue instanceof Map) {\n if (!(newValue instanceof Map)) {\n error(`Map instance`, `other value`, path, depth);\n } else if (oldValue.size !== newValue.size) {\n error(\n `Map instance with size ${oldValue.size}`,\n `Map instance with size ${newValue.size}`,\n path,\n depth,\n );\n } else {\n for (const [k, v] of oldValue) {\n if (!newValue.has(k)) {\n error(\n `Map instance with key ${k}`,\n `Map instance without key ${k}`,\n path,\n depth,\n );\n } else {\n recur(v, newValue.get(k), `${path}.get(${k})`, depth + 1);\n }\n }\n }\n } else if (newValue instanceof Map) {\n error('other value', `Map instance`, path, depth);\n } else if (oldValue instanceof Set) {\n if (!(newValue instanceof Set)) {\n error(`Set instance`, `other value`, path, depth);\n } else if (oldValue.size !== newValue.size) {\n error(\n `Set instance with size ${oldValue.size}`,\n `Set instance with size ${newValue.size}`,\n path,\n depth,\n );\n } else {\n for (const v of newValue) {\n if (!oldValue.has(v)) {\n error(\n `Set instance without element ${v}`,\n `Set instance with element ${v}`,\n path,\n depth,\n );\n }\n }\n }\n } else if (newValue instanceof Set) {\n error('other value', `Set instance`, path, depth);\n } else if (oldArray || newArray) {\n if (oldArray !== newArray) {\n error(\n `type ${oldArray ? 'array' : 'object'}`,\n `type ${newArray ? 'array' : 'object'}`,\n path,\n depth,\n );\n } else if (oldValue.length !== newValue.length) {\n error(\n `array with length ${oldValue.length}`,\n `array with length ${newValue.length}`,\n path,\n depth,\n );\n } else {\n for (let ii = 0; ii < oldValue.length; ii++) {\n recur(oldValue[ii], newValue[ii], `${path}[${ii}]`, depth + 1);\n }\n }\n } else if (isValidElement(oldValue) || isValidElement(newValue)) {\n if (isValidElement(oldValue) !== isValidElement(newValue)) {\n error(\n `type ${isValidElement(oldValue) ? 'React element' : 'object'}`,\n `type ${isValidElement(newValue) ? 'React element' : 'object'}`,\n path,\n depth,\n );\n } else if (oldValue.type !== newValue.type) {\n error(\n `React element of type ${oldValue.type}`,\n `React element of type ${newValue.type}`,\n path,\n depth,\n );\n } else {\n recur(\n oldValue.props,\n newValue.props,\n `[props of ${path}]`,\n depth + 1,\n );\n }\n } else {\n for (const key in newValue) {\n if (!(key in oldValue)) {\n error(\n `object without key ${key}`,\n `object with key ${key}`,\n path,\n depth,\n );\n }\n }\n for (const key in oldValue) {\n if (!(key in newValue)) {\n error(\n `object with key ${key}`,\n `object without key ${key}`,\n path,\n depth,\n );\n } else {\n recur(oldValue[key], newValue[key], `${path}.${key}`, depth + 1);\n }\n }\n }\n } else if (typeof oldValue === 'function') {\n // Bail on functions for now\n return;\n } else if (isNaN(oldValue) || isNaN(newValue)) {\n if (isNaN(oldValue) !== isNaN(newValue)) {\n error(\n `${isNaN(oldValue) ? 'NaN' : 'non-NaN value'}`,\n `${isNaN(newValue) ? 'NaN' : 'non-NaN value'}`,\n path,\n depth,\n );\n }\n } else if (oldValue !== newValue) {\n error(oldValue, newValue, path, depth);\n }\n }\n recur(oldValue, newValue, '', 0);\n}\n"],
5
+ "mappings": "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",
6
+ "names": ["_a", "c", "oldValue", "newValue"]
7
+ }
package/package.json CHANGED
@@ -1,9 +1,10 @@
1
1
  {
2
2
  "name": "react-compiler-runtime",
3
- "version": "19.0.0-beta-55955c9-20241229",
3
+ "version": "19.0.0-beta-e552027-20250112",
4
4
  "description": "Runtime for React Compiler",
5
5
  "license": "MIT",
6
6
  "main": "dist/index.js",
7
+ "typings": "dist/index.d.ts",
7
8
  "files": [
8
9
  "dist",
9
10
  "src"
@@ -12,8 +13,9 @@
12
13
  "react": "^17.0.0 || ^18.0.0 || ^19.0.0 || ^0.0.0-experimental"
13
14
  },
14
15
  "scripts": {
15
- "build": "rimraf dist && rollup --config --bundleConfigAsCjs",
16
- "test": "echo 'no tests'"
16
+ "build": "rimraf dist && scripts/build.js",
17
+ "test": "echo 'no tests'",
18
+ "watch": "scripts/build.js --watch"
17
19
  },
18
20
  "repository": {
19
21
  "type": "git",
package/src/index.ts CHANGED
@@ -5,8 +5,6 @@
5
5
  * LICENSE file in the root directory of this source tree.
6
6
  */
7
7
 
8
- 'use no memo';
9
-
10
8
  import * as React from 'react';
11
9
 
12
10
  const {useRef, useEffect, isValidElement} = React;