mirror of
https://github.com/react/react-native-devtools-frontend.git
synced 2026-10-03 02:21:05 +08:00
This CL introduces "npm run check-external-links". The check parses all string literals in first party JS/TS code for Urls. All the Urls are then "pinged" by making a HEAD request to verify they still point to an active resource. Example output: $ time npm run check-external-links > chrome-devtools-frontend@ check-external-links /usr/local/google/home/szuend/dev/devtools/devtools-frontend > third_party/node/node.py --output scripts/check_external_links.js Collecting JS/TS source files ... 1019 files found. Collecting Urls from files ...248 unique Urls found. Sending a HEAD request to each one ... All Urls are accessible and point to existing resources. npm run check-external-links 9.21s user 0.40s system 149% cpu 6.415 total Please note that we can't make this check part of our PRESUBMIT, as it makes external requests. Also note that this check can't be implemented as an ESLint rule, as ESLint rules are not allowed to have an async workload. R=aerotwist@chromium.org, sigurds@chromium.org Bug: chromium:1170310 Change-Id: I064161dd9038143d2e360c1716f8fb622dc119ee Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/2659021 Commit-Queue: Simon Zünd <szuend@chromium.org> Reviewed-by: Sigurd Schneider <sigurds@chromium.org> Reviewed-by: Paul Lewis <aerotwist@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).