babel-plugin-macros
htm
Our great sponsors
babel-plugin-macros | htm | |
---|---|---|
6 | 34 | |
2,557 | 8,206 | |
- | - | |
0.0 | 0.0 | |
9 days ago | about 1 year ago | |
JavaScript | JavaScript | |
MIT License | Apache License 2.0 |
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:
-
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
-
A tale of knowledge building
babel-plugin-macros
htm
-
Simple Modern JavaScript Using JavaScript Modules and Import Maps
This seems like a case of caring way too much about something that's hardly very different. JSX versus tagged template strings can be incredibly similar to one another.
The examples in this article are using vanilla template strings to author raw html, but that only misses a couple of nicities JSX has. There are tagged template string libraries like htm[1] that do include some of the few nicities JSX has, but which are actually compatible with the official language.
-
Using React without JSX == no build
There is however a library that is closer to JSX (HTML-like feel) but yet does not require a build step. htm. HTM uses tagged templates to leverage template literal as native Javascript template strings. If you have not played with tagged templates, I encourage you to check this out, it's a quite powerful feature, that has recently become a part of Javascript.
- Anyone have multiple language syntax highlighting with treesitter working?
-
Templating in HTML
You can also use preact without a build step via htm
-
What unpopular webdev opinions do you have?
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.
-
State of JSX in JavaScript Frameworks
Our sweet little React wannabe actively publicizes itself as an alternative to React, no wonder it has perfect support for JSX as well. But if you want, you can also go the lit way.
- Tauri – Creating Tiny Desktop Apps
-
[AskJS] What is an issue you struggle with your current tech stack?
For your own side project, try rigging something together with pure ESM, I tried it and it was a pretty fun exercise. HTM/Lit for building components. Skypack for bundling modules using a CDN. You can even bundle multiple dependencies on a CDN using ReverseHTTP. Native imports maps are also great, but not fully supported yet.
- Ask HN: What's is your go to toolset for simple front end development?
-
Is there a way to make this JavaScript code more concise and less repetitive?
Frameworks definitely help solve this problem in part. But you don't need to go that far just for something simple like this. For example you could use htm plus vhtml to get a no-build tools way to write declarative HTML markup that is translated into a plain HTML string. Or for just a few more kb, you can use htm + preact to get all of the power of React for about 13kb, again with no build tools or setup.
What are some alternatives?
babel-plugin-styled-components - Improve the debugging experience and add server-side rendering support to styled-components
jsx - The JSX specification is a XML-like syntax extension to ECMAScript.
Preact - ⚛️ Fast 3kB React alternative with the same modern API. Components & Virtual DOM.
esbuild-plugin-alias - esbuild plugin for path aliases
babel-plugin-react-html-attrs - Babel plugin which transforms HTML and SVG attributes on JSX host elements into React-compatible attributes
babel-plugin-transform-react-remove-prop-types - Remove unnecessary React propTypes from the production build. :balloon:
vim-jsx-pretty - :flashlight: [Vim script] JSX and TSX syntax pretty highlighting for vim.
jsx-control-statements - Neater If and For for React JSX
nextjs-typescript-starter - A starter project with NextJS, Typescript and Tailwind/Styled Components
babel-plugin-module-resolver - Custom module resolver plugin for Babel
babel-plugin-proposal-pattern-matching - the minimal grammar, high performance JavaScript pattern matching implementation
super-expressive - 🦜 Super Expressive is a zero-dependency JavaScript library for building regular expressions in (almost) natural language