Files
react-native-devtools-frontend/scripts/component_server
Jack Franklin 9d4ecf75c3 Fix loading images in components server
In Devtools-Frontend we load images without a leading slash, e.g.
url(Images/checker.png). This works within devtools, but breaks this
component server as the path ends up as
/component_docs/my_component/Image/checker.png. So we check if the path
ends in Images/*.* and if so, remove anything before it. Then it will be
resolved correctly.

Fixed: 1128914
Change-Id: I476165d16b19713b3c095d5969fac95a5d26a678
Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/2414190
Reviewed-by: Kateryna Prokopenko <kprokopenko@google.com>
Commit-Queue: Jack Franklin <jacktfranklin@chromium.org>
2020-09-16 14:23:37 +00:00
..
2020-07-20 11:35:27 +00:00

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:

  1. Create front_end/component_docs/DIR where DIR is the name of your component.
  2. 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.html or data-missing.html. This file should import your component and render it with the data you need.
  3. Create a BUILD.gn in your new DIR. 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"
  ]
}
  1. Update front_end/component_docs/BUILD.gn to add your new directory's BUILD.GN to the public_deps array.
  2. Run npm run components-server to fire up a server on localhost:8090. You should now see your component listed and you can click on the link to view the examples.
  3. Note: the server assumes your built target is Default. If not, run the server and pass the --target flag: npm run components-server -- --target=Release.