Files
react-native-devtools-frontend/scripts/component_server
Tim van der Lippe e6583133ad Fix interactions tests
These tests were still importing the css files from their original
location. The files were moved in https://crrev.com/c/2810839, but
because of stale `autoninja` compilation outputs, that CL got
submitted just fine. When new bots were provisioned, the files
were missing and the tests started failing post-submit.

Confirmed locally that removing the old compilation output fails
the tests and this output makes them pass again.

R=jacktfranklin@chromium.org

Bug: 1187573
Change-Id: Ia564c76f53ff31d0669c88967ba916bf910e3538
Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/2813958
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>
2021-04-08 10:17:42 +00:00
..
2021-04-08 10:17:42 +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 and TypeScript 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, and add a TypeScript file with the same name. The TypeScript file should contain all the code to import and run your component, and within the HTML file you can place any HTML or CSS you need (inline style tags are fine for examples) to render the component in the right context.
  3. Create a BUILD.gn in your new DIR. This should contain the following code:
import("../../../scripts/build/ninja/copy.gni")
import("../../../third_party/typescript/typescript.gni")

ts_library("ts") {
  sources = [
    "basic.ts"
  ]

  deps = [
    # As an example: anything your TS code imports needs to be listed here as a dep.
    "../../ui/components:bundle",
  ]
}

copy_to_gen("elements_breadcrumbs") {
  sources = [
    "basic.html",
    # list all other examples here
  ]

  deps = [
    ":ts"
  ]
}
  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.