esbuild
snowpack
Our great sponsors
esbuild | snowpack | |
---|---|---|
203 | 2 | |
31,869 | 19,804 | |
- | - | |
9.8 | 7.7 | |
2 days ago | 4 days ago | |
Go | JavaScript | |
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.
esbuild
-
in case anyone was interested, I made a very basic and raw react app setup! TS + ESBUILD
I created this little repo to be very barebones but just enough to get started. Esbuild is lighting fast and it's a great jump point to test out some ideas and just start developing without any headache!
-
Using the ESBuild plug-in mechanism to achieve the desired functionality
esbuild is a general purpose code compiler and build tool that uses golang builds, it is very fast and 1~2 orders of magnitude higher in performance than the existing js toolchain. It's not an out-of-the-box build tool yet, but with its plugin system we can already do a lot of things.
import { Plugin } from 'esbuild' /** * Automatically exclude all dependencies * Some regular expression syntax of js is not supported by golang, see https://github.com/evanw/esbuild/issues/1634 */ export function autoExternal(): Plugin { return { name: 'autoExternal', setup(build) { build.onResolve({ filter: /. */ }, (args) => { if (/^\. {1,2}\//.test(args.path)) { return } return { path: args.path, external: true, } }) }, } }
-
Go: The language of cloud-native development - SD Times
But then you see stuff like ESBuild, where the Evan Wallace (the author) tried to write in both Rust and Go, and his Go version was faster. According to him, this was probably because Go runs destructors in a parallel thread, whereas Rust runs them in the same thread (source), among other factors. The same performance could theoretically be achieved in Rust, but it would demand a lot more effort.
-
Better Backend DX: Fastify + ESBuild = ⚡️
Use esbuild as a compiler and backend bundler
Will provide an alternative solution for Windows later. (ref: https://github.com/evanw/esbuild/issues/976)
- Unix command line conventions over time
-
Why You Should Ditch Create-React-App for Vite
Esbuild is a Javascript build tool written in Go, which pre-bundles dependencies 10-100 times faster than Javascript-based bundlers.
-
Make your end to end tests fast
We did this via the npm threads wrapper and esbuild. We first moved all of our compute code into a new file with minimal imports, called imageCompare.worker.js. We then added a pre-compilation step with esbuild to compile this file into a bundle. We then spawn the worker using this generated file as a blob, and interact with it via the threads promise interface.
-
Is typescript better than JS?
Though, if you want to use one, do yourself a favor and give esbuild a try. It is orders of magnitude faster, at the cost of less flexibility.
snowpack
-
Is Astro ready for your blog?
Astro began life with Snowpack as its asset pipeline, which makes perfect sense given that the two projects came originally from the same development team. However, the developers soon reached the decision that Astro would be a better product if it used the impressive Vite package, instead. While the resulting switchover was a breaking change with a capital BC when it occurred, the capabilities it unlocked have proven the exceptional wisdom of this choice.
- Snowpack retires, creator recommends Vite instead
What are some alternatives?
swc - Rust-based platform for the Web
vite - Next generation frontend tooling. It's fast!
Rollup - Next-generation ES module bundler
webpack - A bundler for javascript and friends. Packs many modules into a few bundled assets. Code Splitting allows for loading parts of the application on demand. Through "loaders", modules can be CommonJs, AMD, ES6 modules, CSS, Images, JSON, Coffeescript, LESS, ... and your custom stuff.
parcel - The zero configuration build tool for the web. 📦🚀
Tailwind CSS - A utility-first CSS framework for rapid UI development.
import-maps - How to control the behavior of JavaScript imports
Snowpack - ESM-powered frontend build tool. Instant, lightweight, unbundled development. ✌️ [Moved to: https://github.com/FredKSchott/snowpack]
terser - 🗜 JavaScript parser, mangler and compressor toolkit for ES6+
PostCSS - Transforming styles with JS plugins
ts-node - TypeScript execution and REPL for node.js
tsup - The simplest and fastest way to bundle your TypeScript libraries.