Awesome Node ESM !Awesome (https://awesome.re/badge-flat.svg) (https://awesome.re) A curated list of Node.js modules with native ESM support and resources about ES Modules in Node.js. Contents - Articles (#articles) - Tools (#tools) - Packages (#packages)  - Web frameworks (#web-frameworks)  - HTTP (#http)  - WebSocket (#websocket)  - Template engines (#template-engines)  - SSR (#ssr)  - Databases (#databases)  - Logging (#logging)  - Testing (#testing)  - CLI (#cli)  - Date (#date)  - File system (#file-system)  - Utility (#utility) (value manipulations)  - Random (#random)  - Parsing (#parsing)  - Compression (#compression)  - Performance (#performance)  - AST (#ast)  - Functional programming (#functional-programming)  - Math (#math)  - Ethereum (#ethereum)  - Other (#other) Articles - ECMAScript Modules Node.js docs (https://nodejs.org/api/esm.html) - How to Use ESM on the Web and Node.js (https://byteofdev.com/posts/how-to-use-esm/) - Using ES modules natively in Node.js (https://2ality.com/2017/09/native-esm-node.html) - ES Modules in Node today (https://blog.logrocket.com/es-modules-in-node-today) - Super Simple Start to ESModules in Node.js (https://kentcdodds.com/blog/super-simple-start-to-es-modules-in-node-js/) Tools - esbuild (https://github.com/evanw/esbuild) - an extremely fast JavaScript bundler and minifier. - tsup (https://github.com/egoist/tsup) - bundle your TypeScript library with no config, powered by esbuild. - rollup (https://github.com/rollup/rollup) - next-generation ES Module bundler. - dual-publish (https://github.com/ai/dual-publish) - publish JS project as dual ES modules and CommonJS package to npm - cjstoesm (https://github.com/wessberg/cjstoesm) - tool that can transform CommonJS to ESM - esbuild-node-loader (https://github.com/antfu/esbuild-node-loader) - transpile TypeScript to ESM with Node.js loader. - tsm (https://github.com/lukeed/tsm) - TypeScript Module Loader Packages Web frameworks - tinyhttp (https://github.com/talentlessguy/tinyhttp) - tiny web framework as a replacement of Express. - polka (https://github.com/lukeed/polka) (alpha only) - micro web server so fast, it'll make you dance! - koa (https://github.com/koajs/koa) - expressive middleware for node.js using ES2017 async functions HTTP HTTP Clients - node-fetch (https://github.com/node-fetch/node-fetch) - light-weight module that brings window.fetch to Node.js - httpie (https://github.com/lukeed/httpie) - a Node.js HTTP client as easy as pie! API Clients - kitsu (https://github.com/wopian/kitsu) - simple, lightweight & framework agnostic JSON:API client - twitter-lite (https://github.com/draftbit/twitter-lite) - tiny, full-featured, flexible client / server library for the Twitter API  WebSocket - sockette (https://github.com/lukeed/sockette) - tiny wrapper around WebSocket that will automatically reconnect if the connection is lost! Middleware - milliparsec (https://github.com/talentlessguy/milliparsec) - tiniest Node.js body parser ever - sirv (https://github.com/lukeed/sirv) - an optimized middleware & CLI application for serving static files~!  - tinyws (https://github.com/talentlessguy/tinyws) - tiny WebSocket middleware for Node.js - malibu (https://github.com/tinyhttp/malibu) - framework-agnostic CSRF middleware for modern Node.js  - lru-send (https://github.com/tinyhttp/lru-send) - LRU-based caching middleware for Node.js Template engines - eta (https://github.com/eta-dev/eta) - embedded JS template engine for Node, Deno, and the browser - tempura (https://github.com/lukeed/tempura) - A light, crispy, and delicious template engine SSR - preact-render-to-string (https://github.com/preactjs/preact-render-to-string) - universal rendering for Preact: render JSX and Preact components to HTML. - hyperapp-render (https://github.com/kriasoft/hyperapp-render) - render Hyperapp to an HTML string with SSR and Node.js streaming support. - hypermdx (https://github.com/talentlessguy/hypermdx) - Markdown enhanced with Hyperapp  - streamdown (https://github.com/talentlessguy/streamdown) - stream markdown to HTML  Databases - rxdb (https://github.com/pubkey/rxdb) - a realtime Database for JavaScript Applications. Logging - logtown (https://github.com/logtown/logtown) - simple Logging Facade for JavaScript. - oddlog (https://gitlab.com/frissdiegurke/oddlog) - high-performance payload focused logging library for node.js. - diary (https://github.com/maraisr/diary) - zero-dependency, fast logging library for both Node and Browser. - roarr (https://github.com/gajus/roarr) - JSON logger for Node.js and browser. Testing - uvu (https://github.com/lukeed/uvu) - an extremely fast and lightweight test runner for Node.js and the browser. - oletus (https://github.com/bearror/oletus) - minimal ECMAScript Module test runner - hanbi (https://github.com/43081j/hanbi) - a small javascript library for stubbing and spying on methods/functions.  - wirepig (https://github.com/griffinmyers/wirepig) - mock HTTP and TCP dependencies with real sockets. CLI Argument parsing - yargs (https://github.com/yargs/yargs) - Command-line parser that automatically generates an elegant user-interface. Colors - colorette (https://github.com/jorgebucaran/colorette) - color your terminal using pure idiomatic JavaScript. - kleur (https://github.com/lukeed/kleur) - the fastest Node.js library for formatting terminal text with ANSI colors~! Date - dayjs (https://github.com/iamkun/dayjs) - 2KB immutable date library alternative to Moment.js with the same modern API - tinydate (https://github.com/lukeed/tinydate) - a tiny (349B) reusable date formatter.  - tempe (https://github.com/masbagal/tempe) - Featherlight (< 2kB) helper for Javascript date formatting - light-date (https://github.com/xxczaki/light-date) - blazing fast & lightweight (157 bytes) date formatting for Node.js and the browser.  File system - istextorbinary (https://github.com/bevry/istextorbinary) - Check if a file is text or binary. - @tinyhttp/dotenv (https://github.com/talentlessguy/tinyhttp/tree/master/packages/dotenv) - A rewrite of dotenv (https://github.com/motdotla/dotenv) module. Utility - dequal (https://github.com/lukeed/dequal) - tiny (304B to 489B) utility to check for deep equality - klona (https://github.com/lukeed/klona) - tiny (240B to 507B) and fast utility to "deep clone" Objects, Arrays, Dates, RegExps, and more! - dlv (https://github.com/developit/dlv) - Safe deep property access in 120 bytes. x = dlv(obj, 'a.b.x') Random - uuid (https://github.com/lukeed/uuid) - tiny (230B), fast, and cryptographically secure UUID (V4) generator for Node and the browser - nanoid (https://github.com/ai/nanoid) - Tiny, secure, URL-friendly, unique string ID generator. Parsing - snarkdown (https://github.com/developit/snarkdown) - a snarky 1kb Markdown parser written in JavaScript Compression - anzip (https://github.com/mikbry/anzip) - simple async unzip library for Node.js Performance - piscina (https://github.com/piscinajs/piscina) - a fast, efficient Node.js Worker Thread Pool implementation - nanodelay (https://github.com/ai/nanodelay) - a tiny (25 bytes) Promise wrapper around setTimeout  AST - acorn (https://github.com/acornjs/acorn) - a small, fast, JavaScript-based JavaScript parser Functional programming - immutable (https://github.com/facebook/immutable-js) - Immutable data collections. - ramda (https://github.com/Ramda/ramda) - practical functional Javascript. - smoldash (https://github.com/marvinhagemeister/smoldash) - A tiny lodash alternative built for the modern web - deepdash (https://github.com/YuriGor/deepdash) - tree traversal library written in Underscore/Lodash fashion  Math - mathjs (https://github.com/josdejong/mathjs) - An extensive math library. Ethereum - get-ens (https://github.com/talentlessguy/get-ens) - Get text records of an ENS address - send-tx (https://github.com/talentlessguy/send-tx) - Sign & send Ethereum transactions Other - turf (https://github.com/Turfjs/turf) - a modular geospatial engine written in JavaScript  - cashify (https://github.com/xxczaki/cashify) - lightweight currency conversion library, successor of money.js - astro (https://github.com/withastro/astro) - build faster websites with the island architecture  - transliterate (https://github.com/sindresorhus/transliterate) - convert Unicode characters to Latin characters using transliteration - emittery (https://github.com/sindresorhus/emittery) - simple and modern async event emitter. nodeesm Github: https://github.com/talentlessguy/awesome-node-esm