A new version of webcomponents.org
The currently deployed version is on the old-site
branch.
See DESIGN.md for more information.
This monorepo contains several npm packages:
@webcomponents/catalog-server
: A data-only backend that indexes npm packages and provides a GraphQL API into the database@webcomponents/catalog-api
: GraphQL schemas and TypeScript interfaces for the registry API.@webcomponents/custom-elements-manifest-tools
: Tools for working with Custom Element Manifests@webcomponents/internal-site-content
: An HTML client served by the frontend server@webcomponents/internal-site-client
: JavaScript for the site@webcomponents/internal-site-server
: A frontend server that serves the user-facing webcompoents.org site
-
Install dependencies:
npm ci
-
Run tests:
npm test
-
Start everything in development mode and watch for changes:
npm start --watch
-
Visit
http://localhost:6451/bootstrap-packages
to bootstrap the database with a default set of elements. -
Visit
http://localhost:5450/catalog
and search for "button" to see example elements.
Using Docker locally gives you the most realistic simulation of a production environment:
npm run start:docker
We use the following port scheme for consistency and to prevent collisions:
localhost:5450
: site-server in dev modelocalhost:5451
: site-server in prod modelocalhost:5452
: site-server in dockerlocalhost:5452
: site-server gcloud proxylocalhost:6451
: catalog-serverlocalhost:6452
: catalog-server in dockerlocalhost:6452
: catalog-server gcloud proxylocalhost:7450
: firestore-emulator