👉🏻 rogin.dev
I'm a frontend engineer working on design systems @ Etsy. (prev. Wayfair).
📍 Based in San Diego
👨🏻💻 Open-source maintainer github.com/roginfarrer
⌨️ I use neovim, btw
🏋🏻 🥏 🥾 Into weight-lifting, ultimate frisbee, and hiking
My website is rogin.dev
github.com/justinfagnan...
The repo has:
📖 Explainers for the templating API and DOM scheduler API
🏗️ Full prototype implementations
⚗️ a JSX transform
⚛️ a mini React-like framework
github.com/justinfagnan...
The repo has:
📖 Explainers for the templating API and DOM scheduler API
🏗️ Full prototype implementations
⚗️ a JSX transform
⚛️ a mini React-like framework
github.com/whatwg/html/...
github.com/whatwg/html/...
(And as usual, if you need further accommodation, just use the email form and we’ll work it out.)
scottjehl.com/learn/webcom...
there’s exactly 0 official docs saying that web components won’t hurt your SEO.
there’s exactly 0 official docs saying that web components won’t hurt your SEO.
issues.chromium.org/issues/40062...
issues.chromium.org/issues/40062...
Rebuilt using web components, it should feel a lot cleaner and more consistent for users, and is so much easier to develop in.
github.com/mdn/fred
Rebuilt using web components, it should feel a lot cleaner and more consistent for users, and is so much easier to develop in.
github.com/mdn/fred
I'm happy frameworks can get simpler, but also because Lit, which always uses importNode, probably just got faster too.
Filing issues for browser implementation bugs is a good thing for everyone!
I'm happy frameworks can get simpler, but also because Lit, which always uses importNode, probably just got faster too.
Filing issues for browser implementation bugs is a good thing for everyone!
developer.chrome.com/blog/gap-dec...
developer.chrome.com/blog/gap-dec...
Generate complete #TypeScript type definitions for your #WebComponents in JSX frameworks like @react.dev 19+, @preactjs.com, and @stenciljs.com.
✨ Autocomplete
📝 Inline documentation
🛡️ Type validation
🔄 Event typing
wc-toolkit.com/integrations...
Generate complete #TypeScript type definitions for your #WebComponents in JSX frameworks like @react.dev 19+, @preactjs.com, and @stenciljs.com.
✨ Autocomplete
📝 Inline documentation
🛡️ Type validation
🔄 Event typing
wc-toolkit.com/integrations...
Me, a software engineer: I suspect it's CSS margin collapse. I'd update to use flex and justify-content:space-evenly but I know you recruiters trust Outlook as a renderer.
Me, a software engineer: Hmm, it looks just fine on my machine. Have you tried rebooting?
Me, a geographer: topology error
Me, a software engineer: I suspect it's CSS margin collapse. I'd update to use flex and justify-content:space-evenly but I know you recruiters trust Outlook as a renderer.
Has anyone solved this?
Has anyone solved this?
I feel like I hear about it so much, and I’ve had it for years, but have never once used it.
I feel like I hear about it so much, and I’ve had it for years, but have never once used it.
Damning, thorough write up by @eduardoboucas.com
eduardoboucas.com/posts/2025-0...
Damning, thorough write up by @eduardoboucas.com
eduardoboucas.com/posts/2025-0...
await userEvent.type(input, 'hello');
you write
await input.type('hello')
await userEvent.type(input, 'hello');
you write
await input.type('hello')
<my-input></my-input>
vs
<my-input>
<input type=“text” />
</my-input>
If you went with one, do you ever regret not going with the other?
<my-input></my-input>
vs
<my-input>
<input type=“text” />
</my-input>
If you went with one, do you ever regret not going with the other?
Shoelace prefers custom events: CustomEvent('sl-open')
Other libs typically emits normal evs: Event('open')
Shoelace prefers custom events: CustomEvent('sl-open')
Other libs typically emits normal evs: Event('open')
I’m wondering if we might need to develop some kind of test harness to abstract the shadow DOM away.
I’m wondering if we might need to develop some kind of test harness to abstract the shadow DOM away.