Skip to content

Conversation

@poteto
Copy link
Member

@poteto poteto commented Dec 8, 2025

Updates flow-typed definitions and adds suppressions for regressions
in the updated type definitions:

  • TextDecoder: constructor options should be optional
  • TextEncoder: missing encodeInto method
  • ReadableStreamDefaultReader: cancel() returns Promise
  • Animation types: missing optional properties
  • error-stack-parser: module type export

Stack created with Sapling. Best reviewed with ReviewStack.

Flow 0.280 introduced stricter type checking for `incompatible-type` errors,
requiring additional $FlowFixMe suppressions alongside existing ones. Changes:

- Made `QueuingStrategy` properties optional in streams.js
- Made all properties optional in Web Animations API types (EffectTiming,
  KeyframeAnimationOptions, etc.)
- Added `$FlowFixMe[incompatible-type]` alongside existing suppressions in
  multiple files where Flow now reports additional type mismatches
Major changes in Flow 0.281:
- $FlowFixMe comments now require explicit error codes (e.g., $FlowFixMe[incompatible-type])
- Changed all bare $FlowFixMe to include appropriate error codes
- Changed $FlowIgnore to $FlowFixMe where needed
- Fixed stream types to have cancel() return Promise<void> instead of void
- Added pseudoElement property to KeyframeEffect type
- Added suppressions for Proxy handler variance issues
- Fixed various type errors across the codebase
Add suppression for React\$Element incompatibility with ReactNodeList in
  ReactDOMRootFB.js render function. Flow 0.282 has stricter type checking
  for the React\$Node union type.
Flow 0.286 introduced stricter constant-condition detection that flags build-time feature flags (supportsMutation, supportsHydration, isPrimaryRenderer, enableProfiling, etc.) and narrowed null checks. Added inline $FlowFixMe suppressions to preserve existing runtime behavior.
Flow 0.288 removed several React$ built-in types (React$Context,
React$ElementProps, React$ElementRef, React$RefSetter). Added
$FlowFixMe[cannot-resolve-name] suppressions to preserve type exports.
Updates flow-typed definitions and adds suppressions for regressions
  in the updated type definitions:
  - TextDecoder: constructor options should be optional
  - TextEncoder: missing encodeInto method
  - ReadableStreamDefaultReader: cancel() returns Promise<void>
  - Animation types: missing optional properties
  - error-stack-parser: module type export
@react-sizebot
Copy link

Comparing: 55480b4...d2bce7b

Critical size changes

Includes critical production bundles, as well as any change greater than 2%:

Name +/- Base Current +/- gzip Base gzip Current gzip
oss-stable/react-dom/cjs/react-dom.production.js = 6.84 kB 6.84 kB = 1.88 kB 1.88 kB
oss-stable/react-dom/cjs/react-dom-client.production.js = 608.36 kB 608.36 kB = 107.68 kB 107.68 kB
oss-experimental/react-dom/cjs/react-dom.production.js = 6.84 kB 6.84 kB = 1.88 kB 1.88 kB
oss-experimental/react-dom/cjs/react-dom-client.production.js = 667.47 kB 667.47 kB = 117.57 kB 117.57 kB
facebook-www/ReactDOM-prod.classic.js = 693.67 kB 693.67 kB = 122.07 kB 122.06 kB
facebook-www/ReactDOM-prod.modern.js = 684.10 kB 684.10 kB = 120.45 kB 120.45 kB

Significant size changes

Includes any change greater than 0.2%:

Expand to show
Name +/- Base Current +/- gzip Base gzip Current gzip
oss-experimental/react-server-dom-webpack/esm/react-server-dom-webpack-node-loader.production.js +0.33% 20.07 kB 20.13 kB +0.59% 4.93 kB 4.96 kB
oss-stable-semver/react-server-dom-webpack/esm/react-server-dom-webpack-node-loader.production.js +0.33% 20.07 kB 20.13 kB +0.59% 4.93 kB 4.96 kB
oss-stable/react-server-dom-webpack/esm/react-server-dom-webpack-node-loader.production.js +0.33% 20.07 kB 20.13 kB +0.59% 4.93 kB 4.96 kB
oss-experimental/react-server-dom-esm/esm/react-server-dom-esm-client.browser.production.js +0.32% 96.61 kB 96.92 kB +0.20% 19.92 kB 19.96 kB
oss-stable-semver/react-server-dom-esm/esm/react-server-dom-esm-client.browser.production.js +0.32% 96.61 kB 96.92 kB +0.20% 19.92 kB 19.96 kB
oss-stable/react-server-dom-esm/esm/react-server-dom-esm-client.browser.production.js +0.32% 96.61 kB 96.92 kB +0.20% 19.92 kB 19.96 kB
oss-stable-semver/react-server-dom-esm/esm/react-server-dom-esm-client.browser.development.js +0.22% 228.09 kB 228.60 kB +0.14% 50.49 kB 50.56 kB
oss-stable/react-server-dom-esm/esm/react-server-dom-esm-client.browser.development.js +0.22% 228.12 kB 228.63 kB +0.14% 50.52 kB 50.59 kB
oss-experimental/react-server-dom-esm/esm/react-server-dom-esm-client.browser.development.js +0.22% 228.13 kB 228.63 kB +0.14% 50.52 kB 50.59 kB

Generated by 🚫 dangerJS against d2bce7b

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

CLA Signed React Core Team Opened by a member of the React Core Team

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants