This group is for collaboration between people working on web components libraries, tools, documentation, and standards.
We will work together on projects of shared interest in order to enhance interoperability, solve common problems, build shared community resources, and ultimately continue to grow a cooperative, productive, and happy web components ecosystem.
Areas we expect to work on include gap analysis, design principles, common protocols, discoverability and quality, documentation, tooling, and more.
There are many areas we can collaborate on. In some areas, work is already being done, and in others, we'd like to start. Visit the issue labels we've created below to see conversations already in flight, or to bring ideas you have to the community by creating new ones.
Polyfills - we will continually need to keep polyfills up-to-date to support new standards like element internals, declarative shadow DOM, scoped custom elements, etc.
Common Protocols - it's possible to implement many of the cross-component coordination features that frameworks provide (SSR, context, DI, async-work coordination) with common patterns. These patterns will be much more impactful with community specifications that components can implement to ensure interoperability.
Design Principles - API design is one of the hardest aspects of authoring any public-facing software artifact, and web components are no exception. Following platform conventions can be especially difficult when precedent is contradictory or nonexistent. Combining the various guidelines and serializing the de facto collective wisdom could assist in both guiding developers on how to produce high-quality web components, as well as evaluating existing work, to facilitate the discoverability of high-quality components.
Documentation - Many concepts, techniques, and motivations for web components apply regardless of whether (and which) tools and libraries are being used to produce components. MDN is a great place for reference-oriented and, increasingly, guide-style documentation, but not for everything. Notably, web components lack a great canonical landing page that explains what they are and why one would use them.
Discoverability and Quality - Increase visibility of good components, making it easier to catalog, evaluate, demo, and distribute web components to a wider audience, by providing an ever-expanding collection of reviewed and critiqued components to which the community can contribute samples and reviews.
Utilities - Many runtime utilities can work across web component implementations. Things like framework adapters (especially React), testing utilities (shadow piercing selectors), mixins that implement additional lifecycles (children changed, first connected), lazy definition loaders, theming, etc.
Metadata - Interop brings additional component documentation needs, which we are beginning to address with custom-elements-json.
Tools - Some parts of static analyzers, linters, documentation generators, etc., may be able to be shared. A common and truly library-agnostic catalog would be massively beneficial to the community.
Standards Advancement - Identify and prioritize gaps in the relevant technologies that prevent web components from reaching their full potential and work together with standards groups to address them (gap analysis).
Conferences and Meetups - Organize conferences and meetups that include topics and participants from across the web components ecosystem.
Join our Discord to take part in asynchronous discussions around the above topics and more. This is also where our meeting schedules and agendas are planned before being added to the calendar below.
The Web Components Community Group holds a shared calendar of its meetings and events. An ics file is available here.
A repository for the Web Components Community Group