dillon1000/react

Commit

[WIP] DevTools: Support named hooks for >1 module in a bundle (#21790)

* Add named hooks test case built with Rollup

* Fix prepareStackTrace unpatching, remove sourceURL

* Prettier

* Resolve source map URL/path relative to the script

* Add failing tests for multi-module bundle

* Parse hook names from multiple modules in a bundle

* Create a HookSourceData per location key (file, line, column).
* Cache the source map per runtime URL ( = file part of location key).
* Don't store sourceMapContents - only store a consumer instance.
* Look up original source URLs in the source map correctly.
* Cache the code + AST per original URL.
* Fix off-by-one column number lookup.
* Some naming and typing tweaks related to the above.
* Stop storing the consumer outside the with() callback, which is a bug.

* Lint fix for 8d8dd25

* Added devDependencies to react-devtools-extensions package.json

* Added some debug logging and TODO comments

* Added additional DEBUG logging to hook names cache

Co-authored-by: Brian Vaughn <[email protected]>
Browse files
Changed paths25 files
First-parent comparison
M packages/react-devtools-extensions/package.json ModifiedA packages/react-devtools-extensions/src/__tests__/__source__/__compiled__/bundle/index.js AddedA packages/react-devtools-extensions/src/__tests__/__source__/__compiled__/bundle/index.js.map AddedM packages/react-devtools-extensions/src/__tests__/__source__/__compiled__/external/ComponentWithCustomHook.js ModifiedM packages/react-devtools-extensions/src/__tests__/__source__/__compiled__/external/ComponentWithCustomHook.js.map ModifiedM packages/react-devtools-extensions/src/__tests__/__source__/__compiled__/external/ComponentWithExternalCustomHooks.js ModifiedM packages/react-devtools-extensions/src/__tests__/__source__/__compiled__/external/Example.js ModifiedM packages/react-devtools-extensions/src/__tests__/__source__/__compiled__/external/InlineRequire.js ModifiedM packages/react-devtools-extensions/src/__tests__/__source__/__compiled__/external/ToDoList.js ModifiedA packages/react-devtools-extensions/src/__tests__/__source__/__compiled__/external/index.js AddedA packages/react-devtools-extensions/src/__tests__/__source__/__compiled__/external/index.js.map AddedM packages/react-devtools-extensions/src/__tests__/__source__/__compiled__/external/useTheme.js ModifiedM packages/react-devtools-extensions/src/__tests__/__source__/__compiled__/inline/ComponentWithCustomHook.js ModifiedM packages/react-devtools-extensions/src/__tests__/__source__/__compiled__/inline/ComponentWithExternalCustomHooks.js ModifiedM packages/react-devtools-extensions/src/__tests__/__source__/__compiled__/inline/Example.js ModifiedM packages/react-devtools-extensions/src/__tests__/__source__/__compiled__/inline/InlineRequire.js ModifiedM packages/react-devtools-extensions/src/__tests__/__source__/__compiled__/inline/ToDoList.js ModifiedA packages/react-devtools-extensions/src/__tests__/__source__/__compiled__/inline/index.js AddedM packages/react-devtools-extensions/src/__tests__/__source__/__compiled__/inline/useTheme.js ModifiedA packages/react-devtools-extensions/src/__tests__/__source__/index.js AddedM packages/react-devtools-extensions/src/__tests__/parseHookNames-test.js ModifiedM packages/react-devtools-extensions/src/__tests__/updateMockSourceMaps.js ModifiedM packages/react-devtools-extensions/src/astUtils.js ModifiedM packages/react-devtools-extensions/src/parseHookNames.js ModifiedM packages/react-devtools-shared/src/hookNamesCache.js Modified
Patch

Files changed

Rendering syntax-highlighted changes…