Before I found this package, I used to create a long array of strings, and join them together whenever I needed large text content. But with common-tags, I could use many of their handy tagged-template literals to create large paragraphs, while still keeping under my Prettier line limits, in a much simpler way!
Mjml + React is a great combination when you're trying to write emails on the server. It removes the pain-points of having to maintain html emails as long-strings and the poor html + css support of some email clients. You can also install types for TypeScript on the side. One downside though is it uses Node#fs under the hood, so testing on Storybook can be a bit of a pain.
If you've used styled-components, I highly recommend trying Linaria instead. Linaria functions very similarly to styled-components, but styles are generated at build-time, which results in smaller bundle-sizes and improved front-end performance. The styled-api is not as powerful as styled-components (no attrs, no embeddable css-fragments, no built-in theming); but in most cases, you can achieve what you need just as easily without those features. Also, if you use dynamic props to write css-variables in your styled-components implementation, Linaria is even easier since it's always css-variables under the hood instead.
Probably one of the best UI libraries out there today! (with few small downsides) Material UI offers countless components, and its design language is based on Google's Material UI. It's very mature nowadays, so components are highly customizable and you can do just about everything with them. There's an OK support for theming (and you can every create a dark theme), however, if you need granular support over the UI of the components, this is probably not for you. Also, since Material Design makes heavy use of shadows, transitions and effects, Material UI isn't the most lightweight library and this can affect the perceived responsiveness of your app. Nevertheless, it offers the ability to create a modern, beautiful UI with minimal code, and the documentation is sublime, so IMHO it's still worth it.
As advertised - microbundle offers module bundling without any configuration. It's powered by Rollup, and is being used by various packages such as Preact. It produces small files and is pretty performant, and although it's not as feature-rich as Webpack or Parcel, it's great for smaller projects.
I found Winston to be reliable, extendible, and a great choice for any type of conventional logging. While the extendibility comes at a cost (more complexity and more serious learning curve), I think for any project that it isn't trivial, it is worth it. Winston is my logger of choice for several projects I've built, from small to large. I'm usually wrapping it with a wrapper of my own to add some more functionality, but nevertheless, it saves me a lot of work and code. Would definitely recommend it.
Angular used to be my weapon of choice for a few years. While it's been easy to get started with Angular, over time we found the code to be not very maintainable with a weird mix of HTML and directives. Also, performance tended to suffer as the application grew we created a lot of DOM elements (unlike React's shadow DOM implementation was better). Eventually, I gave it up in favor of React and never looked back.
I've moved about 4 years ago from Angular to React and never looked back. React is so much more performant with the shadow DOM, and allows building component-based apps that are modular and easy to maintain. When they first introduced Hooks, at first I was reluctant since it seemed like a regression from OOP to functional programming, but I decided to take the leap, and actually found Hook-based apps to be more predictable and easier to maintain. Haven't started speaking about the ecosystem - thousands of libraries allowing you to easily do just about anything in React. React is definitely my weapon of choice when it comes to frontend development.