diff --git a/packages/react-devtools-core/package.json b/packages/react-devtools-core/package.json index 6794f631772be..581a24edba342 100644 --- a/packages/react-devtools-core/package.json +++ b/packages/react-devtools-core/package.json @@ -1,6 +1,6 @@ { "name": "react-devtools-core", - "version": "6.1.1", + "version": "6.1.2", "description": "Use react-devtools outside of the browser", "license": "MIT", "main": "./dist/backend.js", diff --git a/packages/react-devtools-extensions/chrome/manifest.json b/packages/react-devtools-extensions/chrome/manifest.json index a773bdcaa25f9..fa4607d1c69cd 100644 --- a/packages/react-devtools-extensions/chrome/manifest.json +++ b/packages/react-devtools-extensions/chrome/manifest.json @@ -2,8 +2,8 @@ "manifest_version": 3, "name": "React Developer Tools", "description": "Adds React debugging tools to the Chrome Developer Tools.", - "version": "6.1.1", - "version_name": "6.1.1", + "version": "6.1.2", + "version_name": "6.1.2", "minimum_chrome_version": "114", "icons": { "16": "icons/16-production.png", diff --git a/packages/react-devtools-extensions/edge/manifest.json b/packages/react-devtools-extensions/edge/manifest.json index 333f788e90e61..59d4a8b1ff996 100644 --- a/packages/react-devtools-extensions/edge/manifest.json +++ b/packages/react-devtools-extensions/edge/manifest.json @@ -2,8 +2,8 @@ "manifest_version": 3, "name": "React Developer Tools", "description": "Adds React debugging tools to the Microsoft Edge Developer Tools.", - "version": "6.1.1", - "version_name": "6.1.1", + "version": "6.1.2", + "version_name": "6.1.2", "minimum_chrome_version": "114", "icons": { "16": "icons/16-production.png", diff --git a/packages/react-devtools-extensions/firefox/manifest.json b/packages/react-devtools-extensions/firefox/manifest.json index 22dee6a10a42d..3080eadbb003b 100644 --- a/packages/react-devtools-extensions/firefox/manifest.json +++ b/packages/react-devtools-extensions/firefox/manifest.json @@ -2,7 +2,7 @@ "manifest_version": 3, "name": "React Developer Tools", "description": "Adds React debugging tools to the Firefox Developer Tools.", - "version": "6.1.1", + "version": "6.1.2", "browser_specific_settings": { "gecko": { "id": "@react-devtools", diff --git a/packages/react-devtools-inline/package.json b/packages/react-devtools-inline/package.json index 2a5227d977302..bfa564b73bb91 100644 --- a/packages/react-devtools-inline/package.json +++ b/packages/react-devtools-inline/package.json @@ -1,6 +1,6 @@ { "name": "react-devtools-inline", - "version": "6.1.1", + "version": "6.1.2", "description": "Embed react-devtools within a website", "license": "MIT", "main": "./dist/backend.js", diff --git a/packages/react-devtools-timeline/package.json b/packages/react-devtools-timeline/package.json index 9dbf65b931587..0c178f4b7f8b7 100644 --- a/packages/react-devtools-timeline/package.json +++ b/packages/react-devtools-timeline/package.json @@ -1,7 +1,7 @@ { "private": true, "name": "react-devtools-timeline", - "version": "6.1.1", + "version": "6.1.2", "license": "MIT", "dependencies": { "@elg/speedscope": "1.9.0-a6f84db", diff --git a/packages/react-devtools/CHANGELOG.md b/packages/react-devtools/CHANGELOG.md index b1a4fd9a801e0..079f949f38b4c 100644 --- a/packages/react-devtools/CHANGELOG.md +++ b/packages/react-devtools/CHANGELOG.md @@ -4,6 +4,13 @@ --- +### 6.1.2 +May 7, 2025 + +* Restore "double-click to view owners tree" functionality ([eps1lon](https://github.com/eps1lon) in [#33039](https://github.com/facebook/react/pull/33039)) + +--- + ### 6.1.1 February 7, 2025 diff --git a/packages/react-devtools/package.json b/packages/react-devtools/package.json index a384b168166aa..dfe88b09373b1 100644 --- a/packages/react-devtools/package.json +++ b/packages/react-devtools/package.json @@ -1,6 +1,6 @@ { "name": "react-devtools", - "version": "6.1.1", + "version": "6.1.2", "description": "Use react-devtools outside of the browser", "license": "MIT", "repository": { @@ -26,7 +26,7 @@ "electron": "^23.1.2", "internal-ip": "^6.2.0", "minimist": "^1.2.3", - "react-devtools-core": "6.1.1", + "react-devtools-core": "6.1.2", "update-notifier": "^2.1.0" } } diff --git a/packages/react-native-renderer/src/ReactNativeTypes.js b/packages/react-native-renderer/src/ReactNativeTypes.js index 75f4a828c9077..eb5483d1b85a5 100644 --- a/packages/react-native-renderer/src/ReactNativeTypes.js +++ b/packages/react-native-renderer/src/ReactNativeTypes.js @@ -9,22 +9,18 @@ * @flow strict */ -import type { - Component as ReactComponent, - ElementRef, - ElementType, - MixedElement, -} from 'react'; import type { // $FlowFixMe[nonstrict-import] TODO(@rubennorte) - MeasureOnSuccessCallback, + HostInstance as PublicInstance, // $FlowFixMe[nonstrict-import] TODO(@rubennorte) - PublicInstance, + MeasureOnSuccessCallback, // $FlowFixMe[nonstrict-import] TODO(@rubennorte) PublicRootInstance, // $FlowFixMe[nonstrict-import] TODO(@rubennorte) PublicTextInstance, -} from 'react-native/Libraries/ReactPrivate/ReactNativePrivateInterface'; +} from 'react-native'; + +import * as React from 'react'; export type AttributeType = | true @@ -96,8 +92,8 @@ type InspectorDataProps = $ReadOnly<{ }>; type InspectorDataGetter = ( - ( - componentOrHandle: ElementRef | number, + ( + componentOrHandle: React.ElementRef | number, ) => ?number, ) => $ReadOnly<{ measure: (callback: MeasureOnSuccessCallback) => void, @@ -140,7 +136,7 @@ export type RenderRootOptions = { +componentStack?: ?string, // $FlowFixMe[unclear-type] unknown props and state. // $FlowFixMe[value-as-type] Component in react repo is any-typed, but it will be well typed externally. - +errorBoundary?: ?ReactComponent, + +errorBoundary?: ?React.Component, }, ) => void, onRecoverableError?: ( @@ -154,11 +150,11 @@ export type RenderRootOptions = { * Provide minimal Flow typing for the high-level RN API and call it a day. */ export type ReactNativeType = { - findHostInstance_DEPRECATED( - componentOrHandle: ?(ElementRef | number), + findHostInstance_DEPRECATED( + componentOrHandle: ?(React.ElementRef | number), ): ?PublicInstance, - findNodeHandle( - componentOrHandle: ?(ElementRef | number), + findNodeHandle( + componentOrHandle: ?(React.ElementRef | number), ): ?number, isChildPublicInstance(parent: PublicInstance, child: PublicInstance): boolean, dispatchCommand( @@ -168,11 +164,11 @@ export type ReactNativeType = { ): void, sendAccessibilityEvent(handle: PublicInstance, eventType: string): void, render( - element: MixedElement, + element: React.MixedElement, containerTag: number, callback: ?() => void, options: ?RenderRootOptions, - ): ?ElementRef, + ): ?React.ElementRef, unmountComponentAtNode(containerTag: number): void, unmountComponentAtNodeAndRemoveContainer(containerTag: number): void, +unstable_batchedUpdates: (fn: (T) => void, bookkeeping: T) => void, @@ -183,11 +179,11 @@ export opaque type Node = mixed; export opaque type InternalInstanceHandle = mixed; export type ReactFabricType = { - findHostInstance_DEPRECATED( - componentOrHandle: ?(ElementRef | number), + findHostInstance_DEPRECATED( + componentOrHandle: ?(React.ElementRef | number), ): ?PublicInstance, - findNodeHandle( - componentOrHandle: ?(ElementRef | number), + findNodeHandle( + componentOrHandle: ?(React.ElementRef | number), ): ?number, dispatchCommand( handle: PublicInstance, @@ -197,12 +193,12 @@ export type ReactFabricType = { isChildPublicInstance(parent: PublicInstance, child: PublicInstance): boolean, sendAccessibilityEvent(handle: PublicInstance, eventType: string): void, render( - element: MixedElement, + element: React.MixedElement, containerTag: number, callback: ?() => void, concurrentRoot: ?boolean, options: ?RenderRootOptions, - ): ?ElementRef, + ): ?React.ElementRef, unmountComponentAtNode(containerTag: number): void, getNodeFromInternalInstanceHandle( internalInstanceHandle: InternalInstanceHandle, diff --git a/scripts/flow/react-native-host-hooks.js b/scripts/flow/react-native-host-hooks.js index 840450b79cdb1..8eec4393eed97 100644 --- a/scripts/flow/react-native-host-hooks.js +++ b/scripts/flow/react-native-host-hooks.js @@ -50,6 +50,10 @@ type RawEventEmitterEvent = $ReadOnly<{ nativeEvent: {[string]: mixed, ...}, }>; +declare opaque type __PublicInstance; +declare opaque type __PublicTextInstance; +declare opaque type __PublicRootInstance; + declare module 'react-native/Libraries/ReactPrivate/ReactNativePrivateInterface' { declare export function deepDiffer( one: any, @@ -158,9 +162,9 @@ declare module 'react-native/Libraries/ReactPrivate/ReactNativePrivateInterface' emit: (channel: string, event: RawEventEmitterEvent) => string, ... }; - declare export opaque type PublicInstance; - declare export opaque type PublicTextInstance; - declare export opaque type PublicRootInstance; + declare export type PublicInstance = __PublicInstance; + declare export type PublicTextInstance = __PublicTextInstance; + declare export type PublicRootInstance = __PublicRootInstance; declare export type MeasureOnSuccessCallback = __MeasureOnSuccessCallback; declare export type MeasureInWindowOnSuccessCallback = __MeasureInWindowOnSuccessCallback; @@ -204,6 +208,13 @@ declare module 'react-native/Libraries/ReactPrivate/ReactNativePrivateInterface' declare module 'react-native/Libraries/ReactPrivate/ReactNativePrivateInitializeCore' { } +declare module 'react-native' { + declare export type HostInstance = __PublicInstance; + declare export type PublicTextInstance = __PublicTextInstance; + declare export type PublicRootInstance = __PublicRootInstance; + declare export type MeasureOnSuccessCallback = __MeasureOnSuccessCallback; +} + // eslint-disable-next-line no-unused-vars declare const RN$enableMicrotasksInReact: boolean;