Post

Here’s some details, and ask away if you want to know more bsky.app/profile/freh...

Anthony Frehner@frehner.me

Ultimately, yes! We use JS decorators and accessors github.com/tc39/proposa... for the WC properties, which automatically handles things like getObservedAttributes, attribute reflection, value validation, and queueing up the rendering. And then Preact drives the actual rendering. We wanted

Ultimately, yes! We use JS decorators and accessors github.com/tc39/proposa... for the WC properties, which automatically handles things like getObservedAttributes, attribute reflection, value validation, and queueing up the rendering. And then Preact drives the actual rendering. We wanted

github.comGitHub - tc39/proposal-decorators: Decorators for ES6 classesDecorators for ES6 classes. Contribute to tc39/proposal-decorators development by creating an account on GitHub.

I’m not too familiar with Lit, but after looking at the docs for that it does seem pretty similar at first glance. The validation part is nice; stringEnum is like input.type, number can have a dev-defined min/max/step, and we have very custom ones for our DatePicker, etc.

other Shopify employees already used to (P)React to feel somewhat comfortable looking at and contributing to it. But there's still a lot of logic going on outside of Preact.

And I've been a part of Shopify's Technical Alignment Group (TAG) for a couple of months, which has been a great privilege and learning experience. We want to make sure that you can use the same props across all areas of Shopify; admin, checkout, etc.

We've also leaned on the Web and OpenUI proposals + specs when deciding on what patterns/properties to build for our devs. It's been great to have that group already thinking about these things. I've been trying to attend many of their weekly meetings to get more involved.

Some technical details here, but feel free to ask more! bsky.app/profile/freh... @jakearchibald.com wrote about the Firefox issue here jakearchibald.com/2025/firefox... Otherwise, the only big issue has been with container queries and shadow dom:

jakearchibald.comFirefox + custom elements + iframes bugA tricksy Firefox bug and how to work around it.
Anthony Frehner@frehner.me

Ultimately, yes! We use JS decorators and accessors github.com/tc39/proposa... for the WC properties, which automatically handles things like getObservedAttributes, attribute reflection, value validation, and queueing up the rendering. And then Preact drives the actual rendering. We wanted