Our great sponsors
-
twin.macro
🦹♂️ Twin blends the magic of Tailwind with the flexibility of css-in-js (emotion, styled-components, solid-styled-components, stitches and goober) at build time.
Give Twin Macro a look -- it uses Styled Components (or if you want, Emotion / Stitches) to let you build out React components directly with Tailwind utilities, or you can mix TW utils with custom CSS anywhere you want.
-
For example, I made a version of create react app that requires zero build tools and IMHO doesn't concede too much in developer experience. To be fair, I am not using this myself professionally, but as a proof of concept I think it's pretty interesting to see what's possible. https://github.com/jsebrech/create-react-app-zero
-
SurveyJS
Open-Source JSON Form Builder to Create Dynamic Forms Right in Your App. With SurveyJS form UI libraries, you can build and style forms in a fully-integrated drag & drop form builder, render them in your JS app, and store form submission data in any backend, inc. PHP, ASP.NET Core, and Node.js.
-
htm
Hyperscript Tagged Markup: JSX alternative using standard tagged templates, with compiler support.
Minifying only makes sense for large dependencies, and when you download those prebundled from unpkg.com they are minified. Few are the web projects whose own code benefits enough from minifying to need it. And for those not using TS the transformations boil down to browser compatibility and JSX. Browser compatibility is someone everyone needs to check for themselves, but I would argue still supporting IE in 2022 is actively harmful. JSX is replaced by the htm library. Granted, htm is not a full replacement for JSX, but performance-wise it is fine, because modern browsers are ridiculously fast executing javascript, even on slow machines.
-
You should try running Lighthouse on Google's own websites, including https://web.dev/ itself. They often miss the mark on the very guidelines they ask you to follow. TL;DR it doesn't matter as much as you think it does. When in doubt, test with real users and fix real problems instead of focusing on arbitrary metrics. You can use these audits to guide your testing, but a 100 on Lighthouse says nothing about your real-world UX and performance. For example, your app could defer requesting several megabytes' worth of data on initial page load to trick Lighthouse into giving you a perfect score.
-
stitches
[Not Actively Maintained] CSS-in-JS with near-zero runtime, SSR, multi-variant support, and a best-in-class developer experience.
The CSS library wars should not be won by Tailwind or CSS-in-JS, but build-time variant based compiled styles. Something like Stitches.
-
partytown
Relocate resource intensive third-party scripts off of the main thread and into a web worker. 🎉
You can offload this type of thing to a web worker using https://partytown.builder.io though, which will help lighthouse scores by getting it off the main thread
-
It got much better with the introduction of React hooks. No more having map your state to props and all that junk. And the react-redux team released something called redux toolkit, which I have yet to use, but it looks like it greatly reduces boiler plate code
-
InfluxDB
Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
-
Tooling like Astro (Islands) let you build barebones static sites while mixing in more interactive components from almost any view library/framework you want. It's the best of both worlds.
-
If you're into API mocking for frontend apps, MSW is great and let's you set a delay to mock loading or error states.
-
lazysizes
High performance and SEO friendly lazy loader for images (responsive and normal), iframes and more, that detects any visibility changes triggered through user interaction, CSS or JavaScript without configuration.
lazysizes is better than loading="lazy"
-
sage
WordPress starter theme with Laravel Blade components and templates, Tailwind CSS, and a modern development workflow
Sage starting with v9 is way more complicated than any WordPress starter theme should be
-
Additionally, see here where the ability to configure arrow function parentheses was requested. The rejection was based entirely on the arbitrary 5 rule limit, but after discussion, it was ultimately implemented almost a year later.