Pinned Tweet
🧩 I'm available for consulting and other work related to Web Extensions, DOM-adjacent performance, UX/DX review, and general codebase maintenance, modernization, and automation.
🐦 DM or [email protected]
🐛 Till then, I'll be here fixing Refined GitHub github.com/fregante
It only took me 20 years of CSS to find out about (and need) this selector, which surprisingly even targets content editable
developer.mozilla.org/en-US/…
Fregante retweeted
Why you should use React Aria:
• It has 50+ components, including complex ones like data tables, trees, date pickers, color pickers, and tons more. No need to combine multiple libraries to build your app.
• It has complex interactions like accessible drag and drop, keyboard multi select, form validation, virtualization, and table column resizing built in.
• It is optimized to feel great on touch screens. No weird sticky hover states, conflicts with text selection, etc.
• It’s battle tested for accessibility across devices including mobile, going far beyond the ARIA Practices guide.
• It has internationalization built in, including localized strings, support for many calendar and numbering systems, etc.
• It has a compositional API. Combine components together to create custom patterns.
• You get full control. The components are already pretty flexible but if you need even more you can drop down to the hook layer and customize everything.
• Great documentation including interactive examples, guides, agent skills, etc.
I’m biased but nothing else comes close to this level of functionality, quality, and customizability in one package.
Fregante retweeted
eslint-plugin-unicorn now has 300+ rules to catch bugs and improve your JavaScript
github.com/sindresorhus/esli…
Here are the notes github.com/refined-github/re…
Sponsorships always available and appreciated github.com/sponsors/fregante
GitHub tip: improve the rendering of non-language code blocks by asserting it's a different language. My favorite are ```R, ```basic, and ```yml (this screenshot)
There goes the last use case for Array#reduce()
Can APIs be retired?
ECMAScript excitement 😉
Congrats to @bakkoting on advancing Math.sumPrecise to Stage 4 at TC39 this week 🎉
let vals = [1e20, 0.1, -1e20];
Math.sumPrecise(vals); //👉 0.1
It lets you calculate the sum of an array of numbers. Manual addition in a loop can lose precision.
I love how developers will spend hours perfecting dark mode, how I set up my OS to `prefers-color-scheme: dark` and how I'm still presented with blindingly-bright websites.
Please drop your toggles and use the preference I already set system-wide. 🙏
So many offenders, but @webpack @jest @Cypress_io blind me daily.
Vite, Playwright, ESLint all get it right on their websites.
🤩 Today's example of immensely helpful error messages. As a non-python developer, this was fantastic.
I wish more commonly-used packages handled common errors this way instead of sending users on day-long Google trips.
Nothing better than finding a solution to your problem online and then being unable to upvote it because you yourself wrote it two years ago. 🙌
Refined GitHub is ready for '25 with 25k stars 🌠
If you don't already, make sure to also follow future releases by clicking Watch -> Custom -> Releases
github.com/refined-github/re…
AbortSignals should have just been promises, not a dedicated class.
Now they can become one
github.com/fregante/abort-ut…










![let values = [1e20, 0.1, -1e20]; values.reduce((a, b) => a + b, 0); // 0 Math.sumPrecise(values); // 0.1](https://pbs.twimg.com/media/GxFoRTfWYAAyOpQ.jpg?name=small&format=webp)


