mirror of
https://github.com/react/react-native-devtools-frontend.git
synced 2026-10-01 01:38:07 +08:00
Prior to this fix, the wasmparser_worker entrypoint would include specific files from third_party/wasmparser. However, since the files were included as part of a separate package, rolling up the target could cause issues. They should have been part of the `sources` of the wasmparser_worker entrypoint, but they were instead included as `deps`. Even better would be to not include specific files from the wasmparser and instead use an entrypoint. In the specific case reported in crbug.com/1203165, the wasmparser implementation was updated. As such, GN reran `third_party/wasmparser` and determined that `entrypoints/wasmparser_worker:wasmparser_worker` required recompilation (since one if its dependencies were updated. However, since `entrypoints/wasmparser_worker:wasmparser_worker` wasn't producing a different output, GN would determine that it wouldn't have to run rollup. This conclusion is wrong and is an artifact of the inclusion of specific files of `third_party/wasmparser` by the entrypoint. To fix this, we should rollup all relevant sources in `third_party/wasmparser` instead. That way, whenever the wasmparser implementation is updated, it will properly roll up its content into its bundle, ready for consumption by the entrypoint. R=jacktfranklin@chromium.org Bug: 1203165 Change-Id: Ic29ddea0d1f8e953e11e71a6a0e4e65c5f0f1ad6 Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/2853559 Commit-Queue: Tim van der Lippe <tvanderlippe@chromium.org> Commit-Queue: Jack Franklin <jacktfranklin@chromium.org> Auto-Submit: Tim van der Lippe <tvanderlippe@chromium.org> Reviewed-by: Jack Franklin <jacktfranklin@chromium.org>
DevTools Scripts
Development workflow scripts
These are scripts that can be useful to run independently as you're working on Chrome DevTools front-end.
The newer scripts such as for testing and hosted mode are written in Node.js, which has become the standard toolchain for web apps. The older scripts such as building (e.g. bundling and minifying) are written in Python, which has first-class support in Chromium's infrastructure.
Overview
Folders
- build - Python package for generating DevTools debug and release mode
- chrome_debug_launcher - automagically finds Chrome Canary and launches it with debugging flags (e.g. remote debugging port)
- closure - see section on Closure Compiler below
- gulp - experimental build process written in node.js & gulp to remove the dependency on Chromium-specific build tools (i.e. gn and ninja)
- hosted_mode - run DevTools on a localhost development server
Python Scripts
- compile_frontend.py - runs closure compiler to do static type analysis
- Note: the compiled outputs are not actually used to run DevTools
- lint_javascript.py - run eslint
- optimize_svg_images.py - manually run when changing svg images
Node.js scripts
The easiest way to run the node.js scripts is to use npm run which displays all the commands. For more information on the specific npm run commands, take a look at the primary devtools front-end readme (../readme.md).