-
A couple more:
https://wayland.emersion.fr/mako/
https://makoframework.com/
It can be hard sometimes to come up with names that aren't already in use. I think as long as it's clear in the description what it is, and the same name isn't shared for two projects that do approximately the same thing, maybe it's not so bad.
-
InfluxDB
Purpose built for real-time analytics at any scale. InfluxDB Platform is powered by columnar analytics, optimized for cost-efficient storage, and built with open data standards.
-
It might not be pretty, but it works super fast, and it only took me a couple of hours to convert the whole thing...
[0] https://bun.sh
-
Sadly, I only discovered that one after I named this project: https://github.com/chjj/mako
-
Are you familiar with Java?
If so, a web bundler is like a build tool which creates a single fat jar from all your source code and dependencies, so all you have to "deploy" is a single file... except the fat jar is just a (usually minified) js file (and sometimes other resources like a css output file that is the "bundled" version of multiple input CSS files, and other formats that "compile" to CSS, like SCSS [1] which used to be common because CSS lacked lots of features, like variables for example, but today is not as much needed).
Without a bundler, when you write your application in multiple JS files that use npm dependencies (99.9% of web developers), how do you get the HTML to include links to everything? It's a bit tricky to do by hand, so you get a bundler to take one or more "entry points" and then anything that it refers to gets "bundled" together in a single output file that gets minified and "tree-shaken" (dead code elimination, i.e if you don't use some functions of a lib you imported, those functions are removed from the output).
Bundlers also process the JS code to replace stuff like CommonJS module imports/exports with ESM (the now standard module system that browsers support) and may even translate usages of newer features to code that uses old, less convenient APIs (so that your code runs in older browsers).
I've been learning a lot about this because I am writing a project that is built on top of esbuild[2], a web bundler written in Go (I believe Vite uses it, and Vite is included in the benchmarks in this post). It's extremely fast, so fast I don't know why bother writing something in Rust to go even faster, I get all my code compiled in a few milliseconds with esbuild!
Hope that helps.
[1] https://sass-lang.com/documentation/syntax/
[2] https://esbuild.github.io/
-
the issue show that Mako plans to support the unplugin system, it's a compat solution for existing ecosystem.
https://github.com/umijs/mako/issues/1238
-
You forgot Parcel, which is working on v3 https://parceljs.org/
-
-
SaaSHub
SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives
-
Related posts
-
Optimising package size for Typescript AWS Lambda functions using serverless-esbuild
-
Building NPM packages for CommonJS with ESM dependencies
-
Esbuild implements the JavaScript decorators proposal
-
Effortless Function as a Service: A Simple Guide to Implementing it with Query
-
How to run TypeScript natively in Node.js with TSX