create-react-app-zero
twin.macro
Our great sponsors
create-react-app-zero | twin.macro | |
---|---|---|
7 | 57 | |
26 | 7,802 | |
- | - | |
0.0 | 6.1 | |
over 1 year ago | 19 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.
create-react-app-zero
-
Writing JavaScript without a build system
https://github.com/jsebrech/create-react-app-zero
-
Why is the JavaScript ecosystem like this
No build frontend dev is a thing, although obscure.
Preact has a no build path in their documentation: https://preactjs.com/guide/v10/getting-started/#no-build-too...
And here’s my no build react setup: https://github.com/jsebrech/create-react-app-zero
-
Ask HN: Programming Without a Build System?
Not really the thing you’re looking for, but for those looking for a toolless approach static web apps are a possibility. Host a folder on github pages, put an index.html file in there, start coding.
Plugging my own repo: https://github.com/jsebrech/create-react-app-zero
It is a version of create react app that works in that way, no build tools needed, only a static web server for local development.
-
What unpopular webdev opinions do you have?
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
- JS is USELESS without ... [fill in the blank]
-
Is the madness ever going to end?
I have been in professional web development since 2004 and I mostly agree with the author that there are massive amounts of groupthink going on. "Modern" web development has standardized in tool stacks which are insanely complicated, far beyond anything that is warranted in most cases. We have forgotten how to make simple things in simple ways.
At a minimum you need node, npm, webpack, babel, an spa framework, a frontend router, a css transpiler, a css framework, a test runner, a testing functions library, and a bunch of smaller things, and that's just what is "needed" to build a static website with a bit of interaction. We're not even talking about the dockerized insanity that happens as soon as you want to slide an API under that beast.
I understand why every piece is there, I was there when they arrived on the scene, I understand what problem they solve. What I don't understand is why as a group web developers have decided this is the only way to solve the problem of web development. What we don't have are simpler web stacks. Why do we need npm or babel at all to make a simple web frontend? Modern browsers are good enough that with the right tooling we don't need build pipelines or package managers. Similar arguments can be made for the server-side parts.
Anyway, here's my own two cents to a simpler web dev stack: a version of create react app that is entirely self-contained and has no build steps. https://github.com/jsebrech/create-react-app-zero
- Show HN: Create React App Zero, a no build tools way of making a React app
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?
Telegram-web-z - Telegram Web Z, GPL v3
twind - The smallest, fastest, most feature complete Tailwind-in-JS solution in existence.
unik - The Unikernel & MicroVM Compilation and Deployment Platform
Tailwind CSS - A utility-first CSS framework for rapid UI development.
iceberg - Twitter hit an iceberg, let's replace the ship by Thanksgiving (Nov 24, 2022)
tailwindcss-classnames - Functional typed classnames for TailwindCSS
mstoical - MStoical - a Forth like language, but better
jest-styled-components - 🔧 💅 Jest utilities for Styled Components
mu1 - Prototype tree-walking interpreter back when Mu was a high-level statement-oriented language, c. 2018
vue-emotion - Seamlessly use emotion (CSS-in-JS) with Vue.js
htmx - </> htmx - high power tools for HTML
tailwind-safelist-generator - Tailwind plugin to generate purge-safe.txt files