This is documented here in this comment from another PR: #64 (comment). document.createElement should run the component's constructor method.
class CounterPreact extends Component { constructor() { super() console.log('here') } } register(CounterPreact, 'x-counter-preact') // ... document.createElement('x-counter-preact') // no output class CounterPlain extends HTMLElement { constructor() { super() console.log('here') } } customElements.define('x-counter-plain', CounterPlain) // ... document.createElement('x-counter-plain') // outputs here The constructor only seems to fire when the custom element as appended to the DOM.