npm / react-dom / 0.0.0-experimental-098d2e87-20261015

react-dom 0.0.0-experimental-098d2e87-20261015

Source
https://github.com/react/react
Commit scanned
098d2e87a1f7 (recorded by npm)
Directory
packages/react-dom (only this part of the repository was scanned)
Compared with
0972e23908b5 (0 signals introduced since)
Files
227 scanned, 0 skipped (binary, oversized, or unrecognised)
Signals
0 critical · 0 warn · 8 info
Scan time
6.4 s
LLM review
Reviewed by claude-haiku-5-5 (Anthropic): 2 of 2 warn and critical signals; 2 demoted to info.
Disclude version
4.0.0
Scanned (UTC)
2026-10-16 01:11

Signals

Ordered by severity, then signals introduced in this release. Hidden characters are shown as ⟨U+…⟩.

  1. info critical → info by review dynamic-execution packages/react-dom/src/__tests__/ReactDOMForm-test.js:963:20

    `Function(...)` called with a non-literal body (ast pass, confidence 0.75)

              // eslint-disable-next-line no-new-func
              result = Function(action.slice(11))();
            }
          } catch (x) {
    likely benign LLM, confidence 0.85 A test helper evaluates the body of a javascript: form action string via Function(), in a React DOM form test.
    Reasoning

    The Function() call sits in a test file, is preceded by an eslint-disable for no-new-func, and the string it executes is the action body from a javascript: URL being exercised by the test. That matches a test that verifies how React handles javascript: form actions. It is dynamic execution, but it is confined to test code evaluating a deliberate test input, not a payload delivered to users or an attacker-controlled path.

  2. surrogate pair \uD83D\uDE0A (non-scalar Unicode codepoints in string literal) (token pass, confidence 0.70)

            'keypress',
            {which: keyCode('X'), char: '\uD83D\uDE0A'},
          ],
        },
  3. surrogate pair \uD83D\uDE0A (non-scalar Unicode codepoints in string literal) (token pass, confidence 0.70)

          eventSimulator: simulateEvent,
          eventSimulatorArgs: ['textInput', {data: '\uD83D\uDE0A'}],
        },
        {
  4. surrogate pair \uD83D\uDE0A (non-scalar Unicode codepoints in string literal) (token pass, confidence 0.70)

                expect(beforeInputEvent.type).toBe('beforeinput');
                expect(beforeInputEvent.data).toBe('\uD83D\uDE0A');
              },
            },
  5. surrogate pair \uD83D\uDE0A (non-scalar Unicode codepoints in string literal) (token pass, confidence 0.70)

                expect(beforeInputEvent.type).toBe('beforeinput');
                expect(beforeInputEvent.data).toBe('\uD83D\uDE0A');
              },
            },
  6. surrogate pair \uD83D\uDE0A (non-scalar Unicode codepoints in string literal) (token pass, confidence 0.70)

                expect(beforeInputEvent.type).toBe('beforeinput');
                expect(beforeInputEvent.data).toBe('\uD83D\uDE0A');
              },
            },
  7. surrogate pair \uD83D\uDE0A (non-scalar Unicode codepoints in string literal) (token pass, confidence 0.70)

                expect(beforeInputEvent.type).toBe('beforeinput');
                expect(beforeInputEvent.data).toBe('\uD83D\uDE0A');
              },
            },
  8. info warn → info by review dynamic-import packages/react-dom/src/test-utils/FizzTestUtils.js:99:7

    `require` called with a non-literal specifier (ast pass, confidence 0.60)

          // $FlowFixMe[unsupported-syntax]
          require(scriptSrc);
        } catch (x) {
          const event = new window.ErrorEvent('error', {error: x});
    likely benign LLM, confidence 0.80 A Fizz test utility calls require() on a script src to run a test-rendered script in jsdom.
    Reasoning

    This is a test utility that loads a script by its src attribute with require() inside a try/catch, with a Flow suppression comment. It is a standard way for a jsdom-based test harness to execute a generated script file. The specifier comes from the test's own rendered output, not from external or untrusted input, and no encoding or network fetch is involved.

Reproduce This Scan

Run disclude locally to verify. Add --format sarif for SARIF output. Add --llm (with an API key in the environment) to include the LLM review.

cargo install disclude --version 4.0.0
git clone https://github.com/react/react react && cd react
git checkout 098d2e87a1f7142947418d15f63f975b58c4685b
disclude scan --severity info --diff 0972e23908b573faa5beebc0eb1154f792c53b62 packages/react-dom