blob: 8d60b5d3f9229730797e9e60fc90ae0e8555a09b [file] [log] [blame] [view]
# 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](https://docs.google.com/document/d/1P6qtACf4aryfT9OSHxNFI3okMKt9oUrtzOKCws5bOec/edit?pli=1).
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"
]
}
```
4. Update `front_end/component_docs/BUILD.gn` to add your new directory's `BUILD.GN` to the `public_deps` array.
5. 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.
6. **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`.