👉🏻 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')