189 lines
14 KiB
Plaintext
189 lines
14 KiB
Plaintext
[38;5;12m [39m[38;2;255;187;0m[1m[4mAwesome Node ESM[0m
|
||
|
||
[38;5;14m[1m![0m[38;5;12mAwesome[39m[38;5;14m[1m (https://awesome.re/badge-flat.svg)[0m[38;5;12m (https://awesome.re)[39m
|
||
|
||
[38;5;12mA curated list of Node.js modules with native ESM support and resources about ES Modules in Node.js.[39m
|
||
|
||
[38;2;255;187;0m[4mContents[0m
|
||
|
||
[38;5;12m- [39m[38;5;14m[1mArticles[0m[38;5;12m (#articles)[39m
|
||
[38;5;12m- [39m[38;5;14m[1mTools[0m[38;5;12m (#tools)[39m
|
||
[38;5;12m- [39m[38;5;14m[1mPackages[0m[38;5;12m (#packages)[39m
|
||
[38;5;12m - [39m[38;5;14m[1mWeb frameworks[0m[38;5;12m (#web-frameworks)[39m
|
||
[38;5;12m - [39m[38;5;14m[1mHTTP[0m[38;5;12m (#http)[39m
|
||
[38;5;12m - [39m[38;5;14m[1mWebSocket[0m[38;5;12m (#websocket)[39m
|
||
[38;5;12m - [39m[38;5;14m[1mTemplate engines[0m[38;5;12m (#template-engines)[39m
|
||
[38;5;12m - [39m[38;5;14m[1mSSR[0m[38;5;12m (#ssr)[39m
|
||
[38;5;12m - [39m[38;5;14m[1mDatabases[0m[38;5;12m (#databases)[39m
|
||
[38;5;12m - [39m[38;5;14m[1mLogging[0m[38;5;12m (#logging)[39m
|
||
[38;5;12m - [39m[38;5;14m[1mTesting[0m[38;5;12m (#testing)[39m
|
||
[38;5;12m - [39m[38;5;14m[1mCLI[0m[38;5;12m (#cli)[39m
|
||
[38;5;12m - [39m[38;5;14m[1mDate[0m[38;5;12m (#date)[39m
|
||
[38;5;12m - [39m[38;5;14m[1mFile system[0m[38;5;12m (#file-system)[39m
|
||
[38;5;12m - [39m[38;5;14m[1mUtility[0m[38;5;12m (#utility) (value manipulations)[39m
|
||
[38;5;12m - [39m[38;5;14m[1mRandom[0m[38;5;12m (#random)[39m
|
||
[38;5;12m - [39m[38;5;14m[1mParsing[0m[38;5;12m (#parsing)[39m
|
||
[38;5;12m - [39m[38;5;14m[1mCompression[0m[38;5;12m (#compression)[39m
|
||
[38;5;12m - [39m[38;5;14m[1mPerformance[0m[38;5;12m (#performance)[39m
|
||
[38;5;12m - [39m[38;5;14m[1mAST[0m[38;5;12m (#ast)[39m
|
||
[38;5;12m - [39m[38;5;14m[1mFunctional programming[0m[38;5;12m (#functional-programming)[39m
|
||
[38;5;12m - [39m[38;5;14m[1mMath[0m[38;5;12m (#math)[39m
|
||
[38;5;12m - [39m[38;5;14m[1mEthereum[0m[38;5;12m (#ethereum)[39m
|
||
[38;5;12m - [39m[38;5;14m[1mOther[0m[38;5;12m (#other)[39m
|
||
|
||
[38;2;255;187;0m[4mArticles[0m
|
||
|
||
[38;5;12m- [39m[38;5;14m[1mECMAScript Modules Node.js docs[0m[38;5;12m (https://nodejs.org/api/esm.html)[39m
|
||
[38;5;12m- [39m[38;5;14m[1mHow to Use ESM on the Web and Node.js[0m[38;5;12m (https://byteofdev.com/posts/how-to-use-esm/)[39m
|
||
[38;5;12m- [39m[38;5;14m[1mUsing ES modules natively in Node.js[0m[38;5;12m (https://2ality.com/2017/09/native-esm-node.html)[39m
|
||
[38;5;12m- [39m[38;5;14m[1mES Modules in Node today[0m[38;5;12m (https://blog.logrocket.com/es-modules-in-node-today)[39m
|
||
[38;5;12m- [39m[38;5;14m[1mSuper Simple Start to ESModules in Node.js[0m[38;5;12m (https://kentcdodds.com/blog/super-simple-start-to-es-modules-in-node-js/)[39m
|
||
|
||
[38;2;255;187;0m[4mTools[0m
|
||
|
||
[38;5;12m- [39m[38;5;14m[1mesbuild[0m[38;5;12m (https://github.com/evanw/esbuild) - an extremely fast JavaScript bundler and minifier.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mtsup[0m[38;5;12m (https://github.com/egoist/tsup) - bundle your TypeScript library with no config, powered by esbuild.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mrollup[0m[38;5;12m (https://github.com/rollup/rollup) - next-generation ES Module bundler.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mdual-publish[0m[38;5;12m (https://github.com/ai/dual-publish) - publish JS project as dual ES modules and CommonJS package to npm[39m
|
||
[38;5;12m- [39m[38;5;14m[1mcjstoesm[0m[38;5;12m (https://github.com/wessberg/cjstoesm) - tool that can transform CommonJS to ESM[39m
|
||
[38;5;12m- [39m[38;5;14m[1mesbuild-node-loader[0m[38;5;12m (https://github.com/antfu/esbuild-node-loader) - transpile TypeScript to ESM with Node.js loader.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mtsm[0m[38;5;12m (https://github.com/lukeed/tsm) - TypeScript Module Loader[39m
|
||
|
||
[38;2;255;187;0m[4mPackages[0m
|
||
|
||
[38;2;255;187;0m[4mWeb frameworks[0m
|
||
|
||
[38;5;12m- [39m[38;5;14m[1mtinyhttp[0m[38;5;12m (https://github.com/talentlessguy/tinyhttp) - tiny web framework as a replacement of Express.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mpolka[0m[38;5;12m (https://github.com/lukeed/polka) (alpha only) - micro web server so fast, it'll make you dance![39m
|
||
[38;5;12m- [39m[38;5;14m[1mkoa[0m[38;5;12m (https://github.com/koajs/koa) - expressive middleware for node.js using ES2017 async functions[39m
|
||
|
||
[38;2;255;187;0m[4mHTTP[0m
|
||
|
||
[38;2;255;187;0m[4mHTTP Clients[0m
|
||
|
||
[38;5;12m- [39m[38;5;14m[1mnode-fetch[0m[38;5;12m (https://github.com/node-fetch/node-fetch) - light-weight module that brings window.fetch to Node.js[39m
|
||
[38;5;12m- [39m[38;5;14m[1mhttpie[0m[38;5;12m (https://github.com/lukeed/httpie) - a Node.js HTTP client as easy as pie![39m
|
||
|
||
[38;2;255;187;0m[4mAPI Clients[0m
|
||
|
||
[38;5;12m- [39m[38;5;14m[1mkitsu[0m[38;5;12m (https://github.com/wopian/kitsu) - simple, lightweight & framework agnostic JSON:API client[39m
|
||
[38;5;12m- [39m[38;5;14m[1mtwitter-lite[0m[38;5;12m (https://github.com/draftbit/twitter-lite) - tiny, full-featured, flexible client / server library for the Twitter API [39m
|
||
|
||
[38;2;255;187;0m[4mWebSocket[0m
|
||
|
||
[38;5;12m- [39m[38;5;14m[1msockette[0m[38;5;12m (https://github.com/lukeed/sockette) - tiny wrapper around WebSocket that will automatically reconnect if the connection is lost![39m
|
||
|
||
[38;2;255;187;0m[4mMiddleware[0m
|
||
|
||
[38;5;12m- [39m[38;5;14m[1mmilliparsec[0m[38;5;12m (https://github.com/talentlessguy/milliparsec) - tiniest Node.js body parser ever[39m
|
||
[38;5;12m- [39m[38;5;14m[1msirv[0m[38;5;12m (https://github.com/lukeed/sirv) - an optimized middleware & CLI application for serving static files~! [39m
|
||
[38;5;12m- [39m[38;5;14m[1mtinyws[0m[38;5;12m (https://github.com/talentlessguy/tinyws) - tiny WebSocket middleware for Node.js[39m
|
||
[38;5;12m- [39m[38;5;14m[1mmalibu[0m[38;5;12m (https://github.com/tinyhttp/malibu) - framework-agnostic CSRF middleware for modern Node.js [39m
|
||
[38;5;12m- [39m[38;5;14m[1mlru-send[0m[38;5;12m (https://github.com/tinyhttp/lru-send) - LRU-based caching middleware for Node.js[39m
|
||
|
||
[38;2;255;187;0m[4mTemplate engines[0m
|
||
|
||
[38;5;12m- [39m[38;5;14m[1meta[0m[38;5;12m (https://github.com/eta-dev/eta) - embedded JS template engine for Node, Deno, and the browser[39m
|
||
[38;5;12m- [39m[38;5;14m[1mtempura[0m[38;5;12m (https://github.com/lukeed/tempura) - A light, crispy, and delicious template engine[39m
|
||
|
||
[38;2;255;187;0m[4mSSR[0m
|
||
|
||
[38;5;12m- [39m[38;5;14m[1mpreact-render-to-string[0m[38;5;12m (https://github.com/preactjs/preact-render-to-string) - universal rendering for Preact: render JSX and Preact components to HTML.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mhyperapp-render[0m[38;5;12m (https://github.com/kriasoft/hyperapp-render) - render Hyperapp to an HTML string with SSR and Node.js streaming support.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mhypermdx[0m[38;5;12m (https://github.com/talentlessguy/hypermdx) - Markdown enhanced with Hyperapp [39m
|
||
[38;5;12m- [39m[38;5;14m[1mstreamdown[0m[38;5;12m (https://github.com/talentlessguy/streamdown) - stream markdown to HTML [39m
|
||
|
||
[38;2;255;187;0m[4mDatabases[0m
|
||
|
||
[38;5;12m- [39m[38;5;14m[1mrxdb[0m[38;5;12m (https://github.com/pubkey/rxdb) - a realtime Database for JavaScript Applications.[39m
|
||
|
||
[38;2;255;187;0m[4mLogging[0m
|
||
|
||
[38;5;12m- [39m[38;5;14m[1mlogtown[0m[38;5;12m (https://github.com/logtown/logtown) - simple Logging Facade for JavaScript.[39m
|
||
[38;5;12m- [39m[38;5;14m[1moddlog[0m[38;5;12m (https://gitlab.com/frissdiegurke/oddlog) - high-performance payload focused logging library for node.js.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mdiary[0m[38;5;12m (https://github.com/maraisr/diary) - zero-dependency, fast logging library for both Node and Browser.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mroarr[0m[38;5;12m (https://github.com/gajus/roarr) - JSON logger for Node.js and browser.[39m
|
||
|
||
[38;2;255;187;0m[4mTesting[0m
|
||
|
||
[38;5;12m- [39m[38;5;14m[1muvu[0m[38;5;12m (https://github.com/lukeed/uvu) - an extremely fast and lightweight test runner for Node.js and the browser.[39m
|
||
[38;5;12m- [39m[38;5;14m[1moletus[0m[38;5;12m (https://github.com/bearror/oletus) - minimal ECMAScript Module test runner[39m
|
||
[38;5;12m- [39m[38;5;14m[1mhanbi[0m[38;5;12m (https://github.com/43081j/hanbi) - a small javascript library for stubbing and spying on methods/functions. [39m
|
||
[38;5;12m- [39m[38;5;14m[1mwirepig[0m[38;5;12m (https://github.com/griffinmyers/wirepig) - mock HTTP and TCP dependencies with real sockets.[39m
|
||
|
||
[38;2;255;187;0m[4mCLI[0m
|
||
|
||
[38;2;255;187;0m[4mArgument parsing[0m
|
||
|
||
[38;5;12m- [39m[38;5;14m[1myargs[0m[38;5;12m (https://github.com/yargs/yargs) - Command-line parser that automatically generates an elegant user-interface.[39m
|
||
|
||
[38;2;255;187;0m[4mColors[0m
|
||
|
||
[38;5;12m- [39m[38;5;14m[1mcolorette[0m[38;5;12m (https://github.com/jorgebucaran/colorette) - color your terminal using pure idiomatic JavaScript.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mkleur[0m[38;5;12m (https://github.com/lukeed/kleur) - the fastest Node.js library for formatting terminal text with ANSI colors~![39m
|
||
|
||
[38;2;255;187;0m[4mDate[0m
|
||
|
||
[38;5;12m- [39m[38;5;14m[1mdayjs[0m[38;5;12m (https://github.com/iamkun/dayjs) - 2KB immutable date library alternative to Moment.js with the same modern API[39m
|
||
[38;5;12m- [39m[38;5;14m[1mtinydate[0m[38;5;12m (https://github.com/lukeed/tinydate) - a tiny (349B) reusable date formatter. [39m
|
||
[38;5;12m- [39m[38;5;14m[1mtempe[0m[38;5;12m (https://github.com/masbagal/tempe) - Featherlight (< 2kB) helper for Javascript date formatting[39m
|
||
[38;5;12m- [39m[38;5;14m[1mlight-date[0m[38;5;12m (https://github.com/xxczaki/light-date) - blazing fast & lightweight (157 bytes) date formatting for Node.js and the browser. [39m
|
||
|
||
[38;2;255;187;0m[4mFile system[0m
|
||
|
||
[38;5;12m- [39m[38;5;14m[1mistextorbinary[0m[38;5;12m (https://github.com/bevry/istextorbinary) - Check if a file is text or binary.[39m
|
||
[38;5;12m- [39m[38;5;14m[1m@tinyhttp/dotenv[0m[38;5;12m (https://github.com/talentlessguy/tinyhttp/tree/master/packages/dotenv) - A rewrite of [39m[38;5;14m[1mdotenv[0m[38;5;12m (https://github.com/motdotla/dotenv) module.[39m
|
||
|
||
[38;2;255;187;0m[4mUtility[0m
|
||
|
||
[38;5;12m- [39m[38;5;14m[1mdequal[0m[38;5;12m (https://github.com/lukeed/dequal) - tiny (304B to 489B) utility to check for deep equality[39m
|
||
[38;5;12m- [39m[38;5;14m[1mklona[0m[38;5;12m (https://github.com/lukeed/klona) - tiny (240B to 507B) and fast utility to "deep clone" Objects, Arrays, Dates, RegExps, and more![39m
|
||
[38;5;12m- [39m[38;5;14m[1mdlv[0m[38;5;12m (https://github.com/developit/dlv) - Safe deep property access in 120 bytes. x = dlv(obj, 'a.b.x')[39m
|
||
|
||
|
||
[38;2;255;187;0m[4mRandom[0m
|
||
|
||
[38;5;12m- [39m[38;5;14m[1muuid[0m[38;5;12m (https://github.com/lukeed/uuid) - tiny (230B), fast, and cryptographically secure UUID (V4) generator for Node and the browser[39m
|
||
[38;5;12m- [39m[38;5;14m[1mnanoid[0m[38;5;12m (https://github.com/ai/nanoid) - Tiny, secure, URL-friendly, unique string ID generator.[39m
|
||
|
||
[38;2;255;187;0m[4mParsing[0m
|
||
|
||
[38;5;12m- [39m[38;5;14m[1msnarkdown[0m[38;5;12m (https://github.com/developit/snarkdown) - a snarky 1kb Markdown parser written in JavaScript[39m
|
||
|
||
[38;2;255;187;0m[4mCompression[0m
|
||
|
||
[38;5;12m- [39m[38;5;14m[1manzip[0m[38;5;12m (https://github.com/mikbry/anzip) - simple async unzip library for Node.js[39m
|
||
|
||
[38;2;255;187;0m[4mPerformance[0m
|
||
|
||
[38;5;12m- [39m[38;5;14m[1mpiscina[0m[38;5;12m (https://github.com/piscinajs/piscina) - a fast, efficient Node.js Worker Thread Pool implementation[39m
|
||
[38;5;12m- [39m[38;5;14m[1mnanodelay[0m[38;5;12m (https://github.com/ai/nanodelay) - a tiny (25 bytes) Promise wrapper around setTimeout [39m
|
||
|
||
[38;2;255;187;0m[4mAST[0m
|
||
|
||
[38;5;12m- [39m[38;5;14m[1macorn[0m[38;5;12m (https://github.com/acornjs/acorn) - a small, fast, JavaScript-based JavaScript parser[39m
|
||
|
||
[38;2;255;187;0m[4mFunctional programming[0m
|
||
|
||
[38;5;12m- [39m[38;5;14m[1mimmutable[0m[38;5;12m (https://github.com/facebook/immutable-js) - Immutable data collections.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mramda[0m[38;5;12m (https://github.com/Ramda/ramda) - practical functional Javascript.[39m
|
||
[38;5;12m- [39m[38;5;14m[1msmoldash[0m[38;5;12m (https://github.com/marvinhagemeister/smoldash) - A tiny lodash alternative built for the modern web[39m
|
||
[38;5;12m- [39m[38;5;14m[1mdeepdash[0m[38;5;12m (https://github.com/YuriGor/deepdash) - tree traversal library written in Underscore/Lodash fashion [39m
|
||
|
||
[38;2;255;187;0m[4mMath[0m
|
||
|
||
[38;5;12m- [39m[38;5;14m[1mmathjs[0m[38;5;12m (https://github.com/josdejong/mathjs) - An extensive math library.[39m
|
||
|
||
[38;2;255;187;0m[4mEthereum[0m
|
||
|
||
[38;5;12m- [39m[38;5;14m[1mget-ens[0m[38;5;12m (https://github.com/talentlessguy/get-ens) - Get text records of an ENS address[39m
|
||
[38;5;12m- [39m[38;5;14m[1msend-tx[0m[38;5;12m (https://github.com/talentlessguy/send-tx) - Sign & send Ethereum transactions[39m
|
||
|
||
[38;2;255;187;0m[4mOther[0m
|
||
|
||
[38;5;12m- [39m[38;5;14m[1mturf[0m[38;5;12m (https://github.com/Turfjs/turf) - a modular geospatial engine written in JavaScript [39m
|
||
[38;5;12m- [39m[38;5;14m[1mcashify[0m[38;5;12m (https://github.com/xxczaki/cashify) - lightweight currency conversion library, successor of money.js[39m
|
||
[38;5;12m- [39m[38;5;14m[1mastro[0m[38;5;12m (https://github.com/withastro/astro) - build faster websites with the island architecture [39m
|
||
[38;5;12m- [39m[38;5;14m[1mtransliterate[0m[38;5;12m (https://github.com/sindresorhus/transliterate) - convert Unicode characters to Latin characters using transliteration[39m
|
||
[38;5;12m- [39m[38;5;14m[1memittery[0m[38;5;12m (https://github.com/sindresorhus/emittery) - simple and modern async event emitter.[39m
|