babel-plugin-macros
vanilla-extract
babel-plugin-macros | vanilla-extract | |
---|---|---|
6 | 90 | |
2,605 | 9,272 | |
- | 0.7% | |
0.0 | 8.9 | |
12 months ago | 7 days ago | |
JavaScript | TypeScript | |
MIT License | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
babel-plugin-macros
-
Fixing Class Composition in Tailwind CSS
One of the more promising alternatives is twin.macro - a Babel macro that processes Tailwind classes to generate JS objects understandable by various CSS-in-JS libraries. The developer experience (DX) of using it is amazing as you not only get all of Tailwindās features without much change to your code, but you also get much more flexibility - all that on top of the traditional benefits of CSS-in-JS. Hereās an example code:
-
[AskJS] My approach to Application Config, what does the JS community think of this?
For example with Babel you could use babel-plugin-macros to execute this file at compile time and replace the file contents with the result of the computation. So appSettings would only have the configs for the current environment and nothing more and your source wouldn't need to change much.
-
I made a package to help you with file-system based routing for react-router-dom
It does require babel-plugin-macros which should also help with keeping things nice and performant in production. The package is part of a larger initiative im trying to achieve which is to create file-system based routing for all mainstream React and React Native routing packages. I have done everything I can to keep it as boilerplate free as I can. To give an example
-
Jest Error in a NextJS project. babel-jest is unable to find my babel.config.js
MacroError: The macro you imported from "undefined" is being executed outside the context of compilation with babel-plugin-macros. This indicates that you don't have the babel plugin "babel-plugin-macros" configured correctly. Please see the documentation for how to configure babel-plugin-macros properly: https://github.com/kentcdodds/babel-plugin-macros/blob/master/other/docs/user.md
-
I am creating a pattern-matching plugin in javascript. This is what it does. Are you interested in using it?
Yes, it also does that. https://github.com/kentcdodds/babel-plugin-macros
-
A tale of knowledge building
babel-plugin-macros
vanilla-extract
-
The best testing strategies for frontends
In our experience, the best testing strategy for modern frontends is a combination of E2E testing (using Playwright+NextJS), and unit testing. Visual regression testing is not worth the effort in our opinion, especially with the advent of better CSS tooling like TailwindCSS and Vanilla Extract.
-
Is there really anything better than Css Modules?
For building component libraries Iāve been a big fan of vanilla extract. Apparently itās from the same people who made css modules
-
Introducing StyleX - the styling system used by Meta
This sounds exactly like Vanilla Extract. https://vanilla-extract.style/
-
An Overview of 25+ UI Component Libraries in 2023
KumaUI : Another relatively new contender, Kuma uses zero runtime CSS-in-JS to create headless UI components which allows a lot of flexibility. It was heavily inspired by other zero runtime CSS-in-JS solutions such as PandaCSS, Vanilla Extract, and Linaria, as well as by Styled System, ChakraUI, and Native Base. ### ļ»æVue
-
Creating a Component Library Fastš(using Vite's library mode)
The components are styled with CSS modules. When building the library, these styles will get transformed to normal CSS style sheets. This means that the consuming application will not even be required to support CSS modules. (In the future I want to extend this tutorial to use vanilla-extract instead.)
-
Tailwind CSS and the death of web craftsmanship
I do a lot of UI work and have never understood the appeal of Tailwind. Itās like relearning a new language. Tailwind was released in 2017. Maybe the CSS landscape wasnāt as good back then? Modern CSS is pretty awesome.
Iāve enjoyed using Vanilla Extract https://vanilla-extract.style/. Itās like css-in-js with none of the downsides as everything gets compiled to css.
-
PSA: Rust web frontend with Tailwind is easy!
Nah, I used enough Tailwind to know it becomes a spaghetti mess. I stick with CSS now, and in React I use https://vanilla-extract.style, compile time CSS in TypeScript.
-
What's the best option these days for CSS in JS?
Vanilla Extract is my current choice for the next greenfield project. I would also recommend checking out how and why this team integrated it with Tailwind.
-
Feeling lost on grokking large libraries
I'm not trying to call a particular org or library out, because I think the ones I've been digging through (and prompted me to write this) are very high quality. It's vanilla-extract (a build-time CSS-in-JS library) and Braid Design System (built on vanilla-extract).
-
Coming here from svelteland... is there a way to put CSS module inside JS?
Apart from what has been suggested, there is also https://vanilla-extract.style/.
What are some alternatives?
babel-plugin-styled-components - Improve the debugging experience and add server-side rendering support to styled-components
stitches - [Not Actively Maintained] CSS-in-JS with near-zero runtime, SSR, multi-variant support, and a best-in-class developer experience.
nextjs-typescript-starter - A starter project with NextJS, Typescript and Tailwind/Styled Components
panda - š¼ Universal, Type-Safe, CSS-in-JS Framework for Product Teams ā”ļø
babel-plugin-transform-react-remove-prop-types - Remove unnecessary React propTypes from the production build. :balloon:
styled-components - Visual primitives for the component age. Use the best bits of ES6 and CSS to style your apps without stress š
jsx-control-statements - Neater If and For for React JSX
Tailwind CSS - A utility-first CSS framework for rapid UI development.
babel-plugin-module-resolver - Custom module resolver plugin for Babel
shadcn/ui - Beautifully designed components that you can copy and paste into your apps. Accessible. Customizable. Open Source.
babel-plugin-proposal-pattern-matching - the minimal grammar, high performance JavaScript pattern matching implementation
linaria - Zero-runtime CSS in JS library