h3
esbuild
h3 | esbuild | |
---|---|---|
8 | 325 | |
3,141 | 37,307 | |
2.9% | - | |
9.3 | 9.5 | |
5 days ago | 5 days ago | |
TypeScript | Go | |
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.
h3
-
Why I keep an eye on the Vue ecosystem and you should too
H3 is a small and delightful webserver. It honestly won me over the second I saw how simple the server side implementation of websockets was. It's actually so good, it even has bindings for uploadthing
-
Hono v4.0.0
Same, I'll probably move to https://github.com/unjs/h3 since it's used anyway in Nuxt (which I use for other projects)
-
File Upload Security and Malware Protection
import formidable from 'formidable'; /* global defineEventHandler, getRequestHeaders, readBody */ /** * @see https://nuxt.com/docs/guide/concepts/server-engine * @see https://github.com/unjs/h3 */ export default defineEventHandler(async (event) => { let body; const headers = getRequestHeaders(event); if (headers['content-type']?.includes('multipart/form-data')) { body = await parseMultipartNodeRequest(event.node.req); } else { body = await readBody(event); } console.log(body); return { ok: true }; });
-
File Uploads for the Web (3): File Uploads in Node & Nuxt
import formidable from 'formidable'; /** * @see https://nuxt.com/docs/guide/concepts/server-engine * @see https://github.com/unjs/h3 */ export default defineEventHandler(async (event) => { let body; const headers = getRequestHeaders(event); if (headers['content-type']?.includes('multipart/form-data')) { body = await parseMultipartNodeRequest(event.node.req); } else { body = await readBody(event); } console.log(body); return { ok: true }; }); /** * @param {import('http').IncomingMessage} req */ function parseMultipartNodeRequest(req) { return new Promise((resolve, reject) => { /** @see https://github.com/node-formidable/formidable/ */ const form = formidable({ multiples: true }) form.parse(req, (error, fields, files) => { if (error) { reject(error); return; } resolve({ ...fields, ...files }); }); }); }
-
How do you implement Middleware using an httpOnly cookie?
You could probably do all that in Nuxt with building a backend in the server folder. (More info here: https://nuxt.com/docs/guide/directory-structure/server) But, I understand that the official Nuxt 3 Auth module is being worked on which should make life a lot easier. For now, there's something new you can look into, namely the session support in the newest Nitro version (which is the backend part of Nuxt 3). There's some info here: https://github.com/unjs/h3/pull/315. I should not that I have not looked at this yet, though.
-
Build a SSR App with React, React Router and Vite
h3 - a minimalistic and simple node.js framework
- How can I use Express JS on Nuxt3
-
a first look at nuxt 3
Nuxt 3 is powered by a new server engine called Nitro. Nitro is used in development and production. It includes cross-platform support for Node.js, Browsers, and service-workers and serverless support out-of-the-box. Other features include API routes, automatic code-splitting, async-loaded chunks, and hybrid static/serverless modes. Server API endpoints and Middleware that internally uses h3 are added by Nitro.
esbuild
- Esbuild implements the JavaScript decorators proposal
-
How and why do we bundle zx?
At first we wanted to just get rid of all the helper utilities. Keep only the kernel, but this would mean a loss of backward compatibility. We needed some efficient code processing instead with recomposition and tree-shaking. We needed a bundler. But which one? Our testing approach relies on targets, not sources. We rebuilt the project frequently, speed was critical requirement. In essence, we chose a solution from a couple of among all available alternatives: esbuild and parcel. Esbuild won. Specifically in our case, it proved to be more productive and customizable.
-
Use Notion as your CMS along with Next.js
During my search for deploying Lambdas via GitHub actions, I came across a tutorial that utilized ncc for converting TypeScript and bundling. While ncc is effective, I discovered esbuild, which proved to be significantly faster and perfectly suited to my requirements.
-
β° Itβs time to talk about Import Map, Micro Frontend, and Nx Monorepo
The advent of esbuild, the native support for ES Modules in browsers, the widespread adoption of import map, the emergence of tools like Native Federation, and the Nx ecosystem all combine to forge a flexible and well-maintained Micro Frontend Architecture.
-
JS Toolbox 2024: Bundlers and Test Frameworks
EsBuild is a relatively new, blazing-fast JavaScript bundler and minifier. It stands out for its high performance, significantly speeding up the build process in development pipelines.
-
Build a Vite 5 backend integration with Flask
Unlike Webpack, the Vite DevServer only compiles files when they are requested. It leverages ES module imports, which allow JS files to import other files without needing to bundle them together during development. When one file changes, only that file needs to be re-compiled, and the rest can remain unchanged. Project files are compiled with Rollup.js. Third-party dependencies in node_modules are pre-compiled using the ultra-fast esbuild bundler for maximum speed, and they are cached until the dependency version changes. Vite also provides a client script for hot module reloading.
-
SSR React in Go
Use esbuild to build the React code into a form executable on both the server and client sides.
-
Effortless Function as a Service: A Simple Guide to Implementing it with Query
The functions will bundle using esbuild. For that, it is required to install esbuild globally:
-
How to run TypeScript natively in Node.js with TSX
TSX is the newest and most improved version of our ts-node, using ESBuild to transpile TS files to JS very quickly. The most interesting part is that TSX was developed to be a complete replacement for Node, so you can actually use TSX as a TypeScript REPL, if you install it globally with npm i -g tsx, just run tsx in your terminal and you can write TSX natively. But what's even cooler is that you can load TSX for all TypeScript files using --loader tsx when you run your file. For example, let's say we have this file called index.ts:
-
Quick Summary of Angular 17
esbuild plus Vite is out of developer preview and enabled by default, yielding 67%, 87%, 80% speed improvements for build time, hybrid build time and hybrid serve time respectively.
What are some alternatives?
Nuxt 3 - Old repo of Nuxt 3 framework, now on nuxt/nuxt
swc - Rust-based platform for the Web
Nuxt.js - Nuxt is an intuitive and extendable way to create type-safe, performant and production-grade full-stack web apps and websites with Vue 3. [Moved to: https://github.com/nuxt/nuxt]
vite - Next generation frontend tooling. It's fast!
ofetch - π± A better fetch API. Works on node, browser and workers.
Rollup - Next-generation ES module bundler
Laravel - The Laravel Framework.
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.
ajcwebdev-nuxt3 - An example Nuxt 3 application deployed on Netlify and Vercel
parcel - The zero configuration build tool for the web. π¦π
terser - π JavaScript parser, mangler and compressor toolkit for ES6+