react 19.1.0-canary-f83903bf-20250212 → 19.1.0-canary-32b0cad8-20250213

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.
@@ -49,7 +49,7 @@
49
49
  function getComponentNameFromType(type) {
50
50
  if (null == type) return null;
51
51
  if ("function" === typeof type)
52
- return type.$$typeof === REACT_CLIENT_REFERENCE$2
52
+ return type.$$typeof === REACT_CLIENT_REFERENCE$1
53
53
  ? null
54
54
  : type.displayName || type.name || null;
55
55
  if ("string" === typeof type) return type;
@@ -102,276 +102,20 @@
102
102
  }
103
103
  return null;
104
104
  }
105
- function isValidElementType(type) {
106
- return "string" === typeof type ||
107
- "function" === typeof type ||
108
- type === REACT_FRAGMENT_TYPE ||
109
- type === REACT_PROFILER_TYPE ||
110
- type === REACT_STRICT_MODE_TYPE ||
111
- type === REACT_SUSPENSE_TYPE ||
112
- type === REACT_SUSPENSE_LIST_TYPE ||
113
- type === REACT_OFFSCREEN_TYPE ||
114
- ("object" === typeof type &&
115
- null !== type &&
116
- (type.$$typeof === REACT_LAZY_TYPE ||
117
- type.$$typeof === REACT_MEMO_TYPE ||
118
- type.$$typeof === REACT_CONTEXT_TYPE ||
119
- type.$$typeof === REACT_CONSUMER_TYPE ||
120
- type.$$typeof === REACT_FORWARD_REF_TYPE ||
121
- type.$$typeof === REACT_CLIENT_REFERENCE$1 ||
122
- void 0 !== type.getModuleId))
123
- ? !0
124
- : !1;
125
- }
126
- function disabledLog() {}
127
- function disableLogs() {
128
- if (0 === disabledDepth) {
129
- prevLog = console.log;
130
- prevInfo = console.info;
131
- prevWarn = console.warn;
132
- prevError = console.error;
133
- prevGroup = console.group;
134
- prevGroupCollapsed = console.groupCollapsed;
135
- prevGroupEnd = console.groupEnd;
136
- var props = {
137
- configurable: !0,
138
- enumerable: !0,
139
- value: disabledLog,
140
- writable: !0
141
- };
142
- Object.defineProperties(console, {
143
- info: props,
144
- log: props,
145
- warn: props,
146
- error: props,
147
- group: props,
148
- groupCollapsed: props,
149
- groupEnd: props
150
- });
151
- }
152
- disabledDepth++;
153
- }
154
- function reenableLogs() {
155
- disabledDepth--;
156
- if (0 === disabledDepth) {
157
- var props = { configurable: !0, enumerable: !0, writable: !0 };
158
- Object.defineProperties(console, {
159
- log: assign({}, props, { value: prevLog }),
160
- info: assign({}, props, { value: prevInfo }),
161
- warn: assign({}, props, { value: prevWarn }),
162
- error: assign({}, props, { value: prevError }),
163
- group: assign({}, props, { value: prevGroup }),
164
- groupCollapsed: assign({}, props, { value: prevGroupCollapsed }),
165
- groupEnd: assign({}, props, { value: prevGroupEnd })
166
- });
167
- }
168
- 0 > disabledDepth &&
169
- console.error(
170
- "disabledDepth fell below zero. This is a bug in React. Please file an issue."
171
- );
172
- }
173
- function describeBuiltInComponentFrame(name) {
174
- if (void 0 === prefix)
175
- try {
176
- throw Error();
177
- } catch (x) {
178
- var match = x.stack.trim().match(/\n( *(at )?)/);
179
- prefix = (match && match[1]) || "";
180
- suffix =
181
- -1 < x.stack.indexOf("\n at")
182
- ? " (<anonymous>)"
183
- : -1 < x.stack.indexOf("@")
184
- ? "@unknown:0:0"
185
- : "";
186
- }
187
- return "\n" + prefix + name + suffix;
188
- }
189
- function describeNativeComponentFrame(fn, construct) {
190
- if (!fn || reentry) return "";
191
- var frame = componentFrameCache.get(fn);
192
- if (void 0 !== frame) return frame;
193
- reentry = !0;
194
- frame = Error.prepareStackTrace;
195
- Error.prepareStackTrace = void 0;
196
- var previousDispatcher = null;
197
- previousDispatcher = ReactSharedInternals.H;
198
- ReactSharedInternals.H = null;
199
- disableLogs();
105
+ function getTaskName(type) {
106
+ if (type === REACT_FRAGMENT_TYPE) return "<>";
107
+ if (
108
+ "object" === typeof type &&
109
+ null !== type &&
110
+ type.$$typeof === REACT_LAZY_TYPE
111
+ )
112
+ return "<...>";
200
113
  try {
201
- var RunInRootFrame = {
202
- DetermineComponentFrameRoot: function () {
203
- try {
204
- if (construct) {
205
- var Fake = function () {
206
- throw Error();
207
- };
208
- Object.defineProperty(Fake.prototype, "props", {
209
- set: function () {
210
- throw Error();
211
- }
212
- });
213
- if ("object" === typeof Reflect && Reflect.construct) {
214
- try {
215
- Reflect.construct(Fake, []);
216
- } catch (x) {
217
- var control = x;
218
- }
219
- Reflect.construct(fn, [], Fake);
220
- } else {
221
- try {
222
- Fake.call();
223
- } catch (x$0) {
224
- control = x$0;
225
- }
226
- fn.call(Fake.prototype);
227
- }
228
- } else {
229
- try {
230
- throw Error();
231
- } catch (x$1) {
232
- control = x$1;
233
- }
234
- (Fake = fn()) &&
235
- "function" === typeof Fake.catch &&
236
- Fake.catch(function () {});
237
- }
238
- } catch (sample) {
239
- if (sample && control && "string" === typeof sample.stack)
240
- return [sample.stack, control.stack];
241
- }
242
- return [null, null];
243
- }
244
- };
245
- RunInRootFrame.DetermineComponentFrameRoot.displayName =
246
- "DetermineComponentFrameRoot";
247
- var namePropDescriptor = Object.getOwnPropertyDescriptor(
248
- RunInRootFrame.DetermineComponentFrameRoot,
249
- "name"
250
- );
251
- namePropDescriptor &&
252
- namePropDescriptor.configurable &&
253
- Object.defineProperty(
254
- RunInRootFrame.DetermineComponentFrameRoot,
255
- "name",
256
- { value: "DetermineComponentFrameRoot" }
257
- );
258
- var _RunInRootFrame$Deter =
259
- RunInRootFrame.DetermineComponentFrameRoot(),
260
- sampleStack = _RunInRootFrame$Deter[0],
261
- controlStack = _RunInRootFrame$Deter[1];
262
- if (sampleStack && controlStack) {
263
- var sampleLines = sampleStack.split("\n"),
264
- controlLines = controlStack.split("\n");
265
- for (
266
- _RunInRootFrame$Deter = namePropDescriptor = 0;
267
- namePropDescriptor < sampleLines.length &&
268
- !sampleLines[namePropDescriptor].includes(
269
- "DetermineComponentFrameRoot"
270
- );
271
-
272
- )
273
- namePropDescriptor++;
274
- for (
275
- ;
276
- _RunInRootFrame$Deter < controlLines.length &&
277
- !controlLines[_RunInRootFrame$Deter].includes(
278
- "DetermineComponentFrameRoot"
279
- );
280
-
281
- )
282
- _RunInRootFrame$Deter++;
283
- if (
284
- namePropDescriptor === sampleLines.length ||
285
- _RunInRootFrame$Deter === controlLines.length
286
- )
287
- for (
288
- namePropDescriptor = sampleLines.length - 1,
289
- _RunInRootFrame$Deter = controlLines.length - 1;
290
- 1 <= namePropDescriptor &&
291
- 0 <= _RunInRootFrame$Deter &&
292
- sampleLines[namePropDescriptor] !==
293
- controlLines[_RunInRootFrame$Deter];
294
-
295
- )
296
- _RunInRootFrame$Deter--;
297
- for (
298
- ;
299
- 1 <= namePropDescriptor && 0 <= _RunInRootFrame$Deter;
300
- namePropDescriptor--, _RunInRootFrame$Deter--
301
- )
302
- if (
303
- sampleLines[namePropDescriptor] !==
304
- controlLines[_RunInRootFrame$Deter]
305
- ) {
306
- if (1 !== namePropDescriptor || 1 !== _RunInRootFrame$Deter) {
307
- do
308
- if (
309
- (namePropDescriptor--,
310
- _RunInRootFrame$Deter--,
311
- 0 > _RunInRootFrame$Deter ||
312
- sampleLines[namePropDescriptor] !==
313
- controlLines[_RunInRootFrame$Deter])
314
- ) {
315
- var _frame =
316
- "\n" +
317
- sampleLines[namePropDescriptor].replace(
318
- " at new ",
319
- " at "
320
- );
321
- fn.displayName &&
322
- _frame.includes("<anonymous>") &&
323
- (_frame = _frame.replace("<anonymous>", fn.displayName));
324
- "function" === typeof fn &&
325
- componentFrameCache.set(fn, _frame);
326
- return _frame;
327
- }
328
- while (1 <= namePropDescriptor && 0 <= _RunInRootFrame$Deter);
329
- }
330
- break;
331
- }
332
- }
333
- } finally {
334
- (reentry = !1),
335
- (ReactSharedInternals.H = previousDispatcher),
336
- reenableLogs(),
337
- (Error.prepareStackTrace = frame);
114
+ var name = getComponentNameFromType(type);
115
+ return name ? "<" + name + ">" : "<...>";
116
+ } catch (x) {
117
+ return "<...>";
338
118
  }
339
- sampleLines = (sampleLines = fn ? fn.displayName || fn.name : "")
340
- ? describeBuiltInComponentFrame(sampleLines)
341
- : "";
342
- "function" === typeof fn && componentFrameCache.set(fn, sampleLines);
343
- return sampleLines;
344
- }
345
- function describeUnknownElementTypeFrameInDEV(type) {
346
- if (null == type) return "";
347
- if ("function" === typeof type) {
348
- var prototype = type.prototype;
349
- return describeNativeComponentFrame(
350
- type,
351
- !(!prototype || !prototype.isReactComponent)
352
- );
353
- }
354
- if ("string" === typeof type) return describeBuiltInComponentFrame(type);
355
- switch (type) {
356
- case REACT_SUSPENSE_TYPE:
357
- return describeBuiltInComponentFrame("Suspense");
358
- case REACT_SUSPENSE_LIST_TYPE:
359
- return describeBuiltInComponentFrame("SuspenseList");
360
- }
361
- if ("object" === typeof type)
362
- switch (type.$$typeof) {
363
- case REACT_FORWARD_REF_TYPE:
364
- return describeNativeComponentFrame(type.render, !1);
365
- case REACT_MEMO_TYPE:
366
- return describeUnknownElementTypeFrameInDEV(type.type);
367
- case REACT_LAZY_TYPE:
368
- prototype = type._payload;
369
- type = type._init;
370
- try {
371
- return describeUnknownElementTypeFrameInDEV(type(prototype));
372
- } catch (x) {}
373
- }
374
- return "";
375
119
  }
376
120
  function getOwner() {
377
121
  var dispatcher = ReactSharedInternals.A;
@@ -409,7 +153,16 @@
409
153
  componentName = this.props.ref;
410
154
  return void 0 !== componentName ? componentName : null;
411
155
  }
412
- function ReactElement(type, key, self, source, owner, props) {
156
+ function ReactElement(
157
+ type,
158
+ key,
159
+ self,
160
+ source,
161
+ owner,
162
+ props,
163
+ debugStack,
164
+ debugTask
165
+ ) {
413
166
  self = props.ref;
414
167
  type = {
415
168
  $$typeof: REACT_ELEMENT_TYPE,
@@ -437,6 +190,18 @@
437
190
  writable: !0,
438
191
  value: null
439
192
  });
193
+ Object.defineProperty(type, "_debugStack", {
194
+ configurable: !1,
195
+ enumerable: !1,
196
+ writable: !0,
197
+ value: debugStack
198
+ });
199
+ Object.defineProperty(type, "_debugTask", {
200
+ configurable: !1,
201
+ enumerable: !1,
202
+ writable: !0,
203
+ value: debugTask
204
+ });
440
205
  Object.freeze && (Object.freeze(type.props), Object.freeze(type));
441
206
  return type;
442
207
  }
@@ -447,35 +212,14 @@
447
212
  void 0,
448
213
  void 0,
449
214
  oldElement._owner,
450
- oldElement.props
215
+ oldElement.props,
216
+ oldElement._debugStack,
217
+ oldElement._debugTask
451
218
  );
452
219
  oldElement._store &&
453
220
  (newKey._store.validated = oldElement._store.validated);
454
221
  return newKey;
455
222
  }
456
- function validateChildKeys(node, parentType) {
457
- if (
458
- "object" === typeof node &&
459
- node &&
460
- node.$$typeof !== REACT_CLIENT_REFERENCE
461
- )
462
- if (isArrayImpl(node))
463
- for (var i = 0; i < node.length; i++) {
464
- var child = node[i];
465
- isValidElement(child) && validateExplicitKey(child, parentType);
466
- }
467
- else if (isValidElement(node))
468
- node._store && (node._store.validated = 1);
469
- else if (
470
- ((i = getIteratorFn(node)),
471
- "function" === typeof i &&
472
- i !== node.entries &&
473
- ((i = i.call(node)), i !== node))
474
- )
475
- for (; !(node = i.next()).done; )
476
- isValidElement(node.value) &&
477
- validateExplicitKey(node.value, parentType);
478
- }
479
223
  function isValidElement(object) {
480
224
  return (
481
225
  "object" === typeof object &&
@@ -483,52 +227,6 @@
483
227
  object.$$typeof === REACT_ELEMENT_TYPE
484
228
  );
485
229
  }
486
- function validateExplicitKey(element, parentType) {
487
- if (
488
- element._store &&
489
- !element._store.validated &&
490
- null == element.key &&
491
- ((element._store.validated = 1),
492
- (parentType = getCurrentComponentErrorInfo(parentType)),
493
- !ownerHasKeyUseWarning[parentType])
494
- ) {
495
- ownerHasKeyUseWarning[parentType] = !0;
496
- var childOwner = "";
497
- element &&
498
- null != element._owner &&
499
- element._owner !== getOwner() &&
500
- ((childOwner = null),
501
- "number" === typeof element._owner.tag
502
- ? (childOwner = getComponentNameFromType(element._owner.type))
503
- : "string" === typeof element._owner.name &&
504
- (childOwner = element._owner.name),
505
- (childOwner = " It was passed a child from " + childOwner + "."));
506
- var prevGetCurrentStack = ReactSharedInternals.getCurrentStack;
507
- ReactSharedInternals.getCurrentStack = function () {
508
- var stack = describeUnknownElementTypeFrameInDEV(element.type);
509
- prevGetCurrentStack && (stack += prevGetCurrentStack() || "");
510
- return stack;
511
- };
512
- console.error(
513
- 'Each child in a list should have a unique "key" prop.%s%s See https://react.dev/link/warning-keys for more information.',
514
- parentType,
515
- childOwner
516
- );
517
- ReactSharedInternals.getCurrentStack = prevGetCurrentStack;
518
- }
519
- }
520
- function getCurrentComponentErrorInfo(parentType) {
521
- var info = "",
522
- owner = getOwner();
523
- owner &&
524
- (owner = getComponentNameFromType(owner.type)) &&
525
- (info = "\n\nCheck the render method of `" + owner + "`.");
526
- info ||
527
- ((parentType = getComponentNameFromType(parentType)) &&
528
- (info =
529
- "\n\nCheck the top-level render call using <" + parentType + ">."));
530
- return info;
531
- }
532
230
  function escape(key) {
533
231
  var escaperLookup = { "=": "=0", ":": "=2" };
534
232
  return (
@@ -780,31 +478,20 @@
780
478
  REACT_LAZY_TYPE = Symbol.for("react.lazy"),
781
479
  REACT_OFFSCREEN_TYPE = Symbol.for("react.offscreen"),
782
480
  MAYBE_ITERATOR_SYMBOL = Symbol.iterator,
783
- REACT_CLIENT_REFERENCE$2 = Symbol.for("react.client.reference"),
481
+ REACT_CLIENT_REFERENCE$1 = Symbol.for("react.client.reference"),
784
482
  hasOwnProperty = Object.prototype.hasOwnProperty,
785
483
  assign = Object.assign,
786
- REACT_CLIENT_REFERENCE$1 = Symbol.for("react.client.reference"),
787
- disabledDepth = 0,
788
- prevLog,
789
- prevInfo,
790
- prevWarn,
791
- prevError,
792
- prevGroup,
793
- prevGroupCollapsed,
794
- prevGroupEnd;
795
- disabledLog.__reactDisabledLog = !0;
796
- var prefix,
797
- suffix,
798
- reentry = !1;
799
- var componentFrameCache = new (
800
- "function" === typeof WeakMap ? WeakMap : Map
801
- )();
802
- var REACT_CLIENT_REFERENCE = Symbol.for("react.client.reference"),
484
+ REACT_CLIENT_REFERENCE = Symbol.for("react.client.reference");
485
+ new ("function" === typeof WeakMap ? WeakMap : Map)();
486
+ var createTask = console.createTask
487
+ ? console.createTask
488
+ : function () {
489
+ return null;
490
+ },
803
491
  specialPropKeyWarningShown,
804
492
  didWarnAboutOldJSXRuntime;
805
493
  var didWarnAboutElementRef = {};
806
- var ownerHasKeyUseWarning = {},
807
- didWarnAboutMaps = !1,
494
+ var didWarnAboutMaps = !1,
808
495
  userProvidedKeyEscapeRegex = /\/+/g;
809
496
  exports.Children = {
810
497
  map: mapChildren,
@@ -889,6 +576,10 @@
889
576
  }
890
577
  };
891
578
  };
579
+ exports.captureOwnerStack = function () {
580
+ var getCurrentStack = ReactSharedInternals.getCurrentStack;
581
+ return null === getCurrentStack ? null : getCurrentStack();
582
+ };
892
583
  exports.cloneElement = function (element, config, children) {
893
584
  if (null === element || void 0 === element)
894
585
  throw Error(
@@ -934,46 +625,29 @@
934
625
  JSCompiler_inline_result[i] = arguments[i + 2];
935
626
  props.children = JSCompiler_inline_result;
936
627
  }
937
- props = ReactElement(element.type, key, void 0, void 0, owner, props);
628
+ props = ReactElement(
629
+ element.type,
630
+ key,
631
+ void 0,
632
+ void 0,
633
+ owner,
634
+ props,
635
+ element._debugStack,
636
+ element._debugTask
637
+ );
938
638
  for (key = 2; key < arguments.length; key++)
939
- validateChildKeys(arguments[key], props.type);
639
+ (owner = arguments[key]),
640
+ isValidElement(owner) && owner._store && (owner._store.validated = 1);
940
641
  return props;
941
642
  };
942
643
  exports.createElement = function (type, config, children) {
943
- if (isValidElementType(type))
944
- for (var i = 2; i < arguments.length; i++)
945
- validateChildKeys(arguments[i], type);
946
- else {
947
- i = "";
948
- if (
949
- void 0 === type ||
950
- ("object" === typeof type &&
951
- null !== type &&
952
- 0 === Object.keys(type).length)
953
- )
954
- i +=
955
- " You likely forgot to export your component from the file it's defined in, or you might have mixed up default and named imports.";
956
- if (null === type) var typeString = "null";
957
- else
958
- isArrayImpl(type)
959
- ? (typeString = "array")
960
- : void 0 !== type && type.$$typeof === REACT_ELEMENT_TYPE
961
- ? ((typeString =
962
- "<" +
963
- (getComponentNameFromType(type.type) || "Unknown") +
964
- " />"),
965
- (i =
966
- " Did you accidentally export a JSX literal instead of a component?"))
967
- : (typeString = typeof type);
968
- console.error(
969
- "React.createElement: type is invalid -- expected a string (for built-in components) or a class/function (for composite components) but got: %s.%s",
970
- typeString,
971
- i
972
- );
644
+ for (var i = 2; i < arguments.length; i++) {
645
+ var node = arguments[i];
646
+ isValidElement(node) && node._store && (node._store.validated = 1);
973
647
  }
974
648
  var propName;
975
649
  i = {};
976
- typeString = null;
650
+ node = null;
977
651
  if (null != config)
978
652
  for (propName in (didWarnAboutOldJSXRuntime ||
979
653
  !("__self" in config) ||
@@ -983,7 +657,7 @@
983
657
  "Your app (or one of its dependencies) is using an outdated JSX transform. Update to the modern JSX transform for faster performance: https://react.dev/link/new-jsx-transform"
984
658
  )),
985
659
  hasValidKey(config) &&
986
- (checkKeyStringCoercion(config.key), (typeString = "" + config.key)),
660
+ (checkKeyStringCoercion(config.key), (node = "" + config.key)),
987
661
  config))
988
662
  hasOwnProperty.call(config, propName) &&
989
663
  "key" !== propName &&
@@ -1005,14 +679,23 @@
1005
679
  if (type && type.defaultProps)
1006
680
  for (propName in ((childrenLength = type.defaultProps), childrenLength))
1007
681
  void 0 === i[propName] && (i[propName] = childrenLength[propName]);
1008
- typeString &&
682
+ node &&
1009
683
  defineKeyPropWarningGetter(
1010
684
  i,
1011
685
  "function" === typeof type
1012
686
  ? type.displayName || type.name || "Unknown"
1013
687
  : type
1014
688
  );
1015
- return ReactElement(type, typeString, void 0, void 0, getOwner(), i);
689
+ return ReactElement(
690
+ type,
691
+ node,
692
+ void 0,
693
+ void 0,
694
+ getOwner(),
695
+ i,
696
+ Error("react-stack-top-frame"),
697
+ createTask(getTaskName(type))
698
+ );
1016
699
  };
1017
700
  exports.createRef = function () {
1018
701
  var refObject = { current: null };
@@ -1069,7 +752,23 @@
1069
752
  };
1070
753
  };
1071
754
  exports.memo = function (type, compare) {
1072
- isValidElementType(type) ||
755
+ "string" === typeof type ||
756
+ "function" === typeof type ||
757
+ type === REACT_FRAGMENT_TYPE ||
758
+ type === REACT_PROFILER_TYPE ||
759
+ type === REACT_STRICT_MODE_TYPE ||
760
+ type === REACT_SUSPENSE_TYPE ||
761
+ type === REACT_SUSPENSE_LIST_TYPE ||
762
+ type === REACT_OFFSCREEN_TYPE ||
763
+ ("object" === typeof type &&
764
+ null !== type &&
765
+ (type.$$typeof === REACT_LAZY_TYPE ||
766
+ type.$$typeof === REACT_MEMO_TYPE ||
767
+ type.$$typeof === REACT_CONTEXT_TYPE ||
768
+ type.$$typeof === REACT_CONSUMER_TYPE ||
769
+ type.$$typeof === REACT_FORWARD_REF_TYPE ||
770
+ type.$$typeof === REACT_CLIENT_REFERENCE ||
771
+ void 0 !== type.getModuleId)) ||
1073
772
  console.error(
1074
773
  "memo: The first argument must be a component. Instead received: %s",
1075
774
  null === type ? "null" : typeof type
@@ -1111,5 +810,5 @@
1111
810
  exports.useMemo = function (create, deps) {
1112
811
  return resolveDispatcher().useMemo(create, deps);
1113
812
  };
1114
- exports.version = "19.1.0-canary-f83903bf-20250212";
813
+ exports.version = "19.1.0-canary-32b0cad8-20250213";
1115
814
  })();
@@ -340,6 +340,9 @@ exports.cache = function (fn) {
340
340
  }
341
341
  };
342
342
  };
343
+ exports.captureOwnerStack = function () {
344
+ return null;
345
+ };
343
346
  exports.cloneElement = function (element, config, children) {
344
347
  if (null === element || void 0 === element)
345
348
  throw Error(formatProdErrorMessage(267, element));
@@ -423,4 +426,4 @@ exports.useId = function () {
423
426
  exports.useMemo = function (create, deps) {
424
427
  return ReactSharedInternals.H.useMemo(create, deps);
425
428
  };
426
- exports.version = "19.1.0-canary-f83903bf-20250212";
429
+ exports.version = "19.1.0-canary-32b0cad8-20250213";
package/package.json CHANGED
@@ -4,7 +4,7 @@
4
4
  "keywords": [
5
5
  "react"
6
6
  ],
7
- "version": "19.1.0-canary-f83903bf-20250212",
7
+ "version": "19.1.0-canary-32b0cad8-20250213",
8
8
  "homepage": "https://react.dev/",
9
9
  "bugs": "https://github.com/facebook/react/issues",
10
10
  "license": "MIT",