macaron
twin.macro
macaron | twin.macro | |
---|---|---|
1 | 57 | |
714 | 7,805 | |
0.7% | - | |
6.6 | 5.9 | |
21 days ago | 28 days ago | |
TypeScript | 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.
macaron
-
Show HN: I made Macaron – Type-safe CSS-in-JS with zero-runtime and colocation
Hey HN, my name is Mokshit and I'm really interested in web-performance and web-development. At the time of writing this, I'm a junior in high school.
Macaron is a typesafe CSS-in-JS library with zero runtime, colocation, maximum safety and productivity.
The motivation behind it is that runtime CSS-in-JS libraries, that is most of the CSS-in-JS libs, add alot of bloat to web apps and have a considerable performance drop with a bundle size increase. Alot of them also don't support more performant ways of building web apps like streaming markup. Most of the current compile-time CSS-in-JS libraries try to fix this, but have some or the other drawback like not offering colocation, or not being type-safe.
Today, Macaron does all this with a compiler that extracts all the style declarations at compile-time and converts them to static css files while also letting you author the type-safe styles in the same file as your application code. It supports both - a vanilla styling API and a styled-component API with support for multiple frameworks like SolidJS and React and build tools like Vite and Esbuild. Macaron is currently missing a webpack plugin, but that will also be published soon, making it compatible with almost all bundlers.
There's a ton of room for improvement in this space, and I feel like macaron is a step in that direction.
Github - https://github.com/macaron-css/macaron
twin.macro
-
Tailwindcss in Styled-Components
Twin Macro Github Repo. This is a great resource to help you pick up Twin’s syntax, learn more about the package, and keep up to date with the latest releases.
-
CSS Style Guide for Web Dev?
Personally I like twin.macro the most. It’s similar to the above but based on Tailwind.
-
Cool Tailwindcss Tools For Everyone
twin.macro is a library that allows you to use these styles in your JavaScript code. This library works exactly like styled-components.
- How do you css?
-
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:
-
Setup Nextjs Tailwind CSS Styled Components with TypeScript
twin.macro
-
What unpopular webdev opinions do you have?
If you use Tailwind with React a lot, and are wanting support for Styled Components, give Twin Macro a look. They're close to finishing support for TW v3 in their Releases section :)
- Are utility classes horrible design or am I dumb?
- What's the proper way to write Tailwind with React?
-
Stailwc: an swc plugin for transpiling tailwind directives at compile time
The blocker for us using it is our use of an excellent library called twin.macro which is built against babel's transpilation APIs to parse tailwindcss directives at compile time so that they may be used with css-in-js libraries. This efficiently bundles your css so that you only ship the precise css you use. The problem is, it's all quite slow.
What are some alternatives?
navita - Atomic CSS-in-JS with zero runtime
twind - The smallest, fastest, most feature complete Tailwind-in-JS solution in existence.
rainbow-sprinkles - Dynamic, theme-driven, style props for vanilla-extract.
Tailwind CSS - A utility-first CSS framework for rapid UI development.
bayukurnia.com - My personal website built with Astro, Turbo, and Vanilla Extract
tailwindcss-classnames - Functional typed classnames for TailwindCSS
styled-components - Visual primitives for the component age. Use the best bits of ES6 and CSS to style your apps without stress đź’…
jest-styled-components - 🔧 💅 Jest utilities for Styled Components
vue-emotion - Seamlessly use emotion (CSS-in-JS) with Vue.js
tailwind-safelist-generator - Tailwind plugin to generate purge-safe.txt files
tailwindcss-intellisense - Intelligent Tailwind CSS tooling for Visual Studio Code
tsdx - Zero-config CLI for TypeScript package development