mirror of
https://github.com/react/react-native-devtools-frontend.git
synced 2026-10-01 01:38:07 +08:00
As part of the work to enable Puppeteer component tests, we need to configure the test suite to run either the hosted mode server or the component docs server. This CL updates it to take a flag, and makes some updates to the component docs server, which now has to run either directly or in the out/Default/gen directory depending on how it is run. I suspect I'll make a follow up CL to always run the component server in out/Default/gen, but for now enabling it to detect its context is the quickest way to unblock running it in tests. The next CL will add a component test suite that can run a basic test against the component doc server, but I have manually verified locally that I can run tests against that server. Bug: 1153281 Change-Id: I55bda4edd0a983d03bfecff0446b0f3e3a008b52 Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/2562707 Reviewed-by: Paul Lewis <aerotwist@chromium.org> Commit-Queue: Jack Franklin <jacktfranklin@chromium.org>
Components dev server
This server serves up examples of the web components built within DevTools and provides a useful way to document various states of components.
For more background, see the initial proposal and design doc.
To add an example for your component:
- Create
front_end/component_docs/DIRwhereDIRis the name of your component. - Within the new
DIR, add HTML files. Each one of these is a standalone example. You should name the HTML file based on what it's documenting, e.g.basic.htmlordata-missing.html. This file should import your component and render it with the data you need. - Create a
BUILD.gnin your newDIR. This should contain the following code:
import("../../../scripts/build/ninja/copy.gni")
copy_to_gen("elements_breadcrumbs") {
sources = [
"example1.html",
# list all other examples here
]
deps = [
# Any dependencies your examples rely on.
# For example, if they depend on code in the elements module:
"../../elements"
]
}
- Update
front_end/component_docs/BUILD.gnto add your new directory'sBUILD.GNto thepublic_depsarray. - Run
npm run components-serverto fire up a server onlocalhost:8090. You should now see your component listed and you can click on the link to view the examples. - Note: the server assumes your built target is
Default. If not, run the server and pass the--targetflag:npm run components-server -- --target=Release.