Render Glimmer components with custom elements

Downloads in past


0.3.15 years ago6 years agoMinified + gzip package size for @glimmer/web-component in KB


@glimmer/web-component Build Status


Add this package to your project with Yarn:
yarn add --dev @glimmer/web-component

Or alternatively with npm:
npm install --save-dev @glimmer/web-component


Add this import to your src/index.ts or wherever you are instantiating your Glimmer app:
import initializeCustomElements from '@glimmer/web-component';

And then after app.boot():
initializeCustomElements(app, {
  'button-list': 'ButtonList',
  'x-button': 'Button'

This will register custom elements for each of the items defined in the hash passed to initializeCustomElements and will replace the custom element with your Glimmer component once the custom element connects. For example, if you provide the hash { 'foo-bar': 'FooBar' }, you can then use the custom element <foo-bar> anywhere in the DOM and have your <FooBar> Glimmer component render in its place.

Browser Support

Browser support for the WebComponents spec is not not great yet. If you want to use customElements.define where it is not yet supported natively, you'll need to install the polyfill.


MIT License.