Awesome
ember-cli-stencil
Automatic discovery of Stencil.js components for your Ember application
Stencil provides a great, opinionated process for defining Web Components (custom elements) using TypeScript and JSX. This addon leverages the conventions of Stencil and the Ember CLI respectively to automatically discover Stencil components in your dependencies and pull them into your application without any further configuration needed!
Installation
Start by installing your Stencil components as npm
modules, as described in the distribution instructions in the guide. Then, install this addon:
ember install ember-cli-stencil ember-auto-import
That's it! Your Stencil components will automatically be detected by the addon and pulled into your application.
Note: ember-auto-import
is required for this addon to work correctly.
Usage
Since Stencil components are detected automatically, you can just start using any Stencil components discovered in your dependencies without any further configuration required. Props can be passed to them, just like other elements, and events listened to through the {{on}}
modifier.
<my-custom-component props={{value}} {{on 'someEvent' this.handleEvent}}>
Rendering into the slot
</my-custom-component>
Debugging
If the build seems slow, or you think there are packages missing, you can log some debugging information like so:
DEBUG=ember-cli-stencil:* ember serve
This will report:
- Which dependencies were discovered to be Stencil collections
- The configuration used for the addon
If there are any issues around judging a file to be a Stencil collection incorrectly or importing the wrong files, please file an issue.