{"id":13459830,"url":"https://github.com/talentlessguy/awesome-node-esm","last_synced_at":"2025-10-08T20:30:47.170Z","repository":{"id":54432988,"uuid":"288226829","full_name":"talentlessguy/awesome-node-esm","owner":"talentlessguy","description":"A curated list of Node.js Native ESM modules and resources.","archived":false,"fork":false,"pushed_at":"2023-04-18T20:07:32.000Z","size":70,"stargazers_count":89,"open_issues_count":0,"forks_count":3,"subscribers_count":2,"default_branch":"master","last_synced_at":"2024-05-23T07:27:47.560Z","etag":null,"topics":["awesome","awesome-list","esm","javascript","native-esm","node-esm","node-js","nodejs"],"latest_commit_sha":null,"homepage":"","language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/talentlessguy.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2020-08-17T16:11:08.000Z","updated_at":"2024-05-20T19:16:27.000Z","dependencies_parsed_at":"2024-01-05T21:45:00.350Z","dependency_job_id":"75cf12a1-11c9-40bc-bde7-bc6f0665b78e","html_url":"https://github.com/talentlessguy/awesome-node-esm","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/talentlessguy%2Fawesome-node-esm","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/talentlessguy%2Fawesome-node-esm/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/talentlessguy%2Fawesome-node-esm/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/talentlessguy%2Fawesome-node-esm/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/talentlessguy","download_url":"https://codeload.github.com/talentlessguy/awesome-node-esm/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":235706359,"owners_count":19032606,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["awesome","awesome-list","esm","javascript","native-esm","node-esm","node-js","nodejs"],"created_at":"2024-07-31T10:00:30.093Z","updated_at":"2025-10-08T20:30:42.132Z","avatar_url":"https://github.com/talentlessguy.png","language":null,"readme":"# Awesome Node ESM\n\n[![Awesome](https://awesome.re/badge-flat.svg)](https://awesome.re)\n\nA curated list of Node.js modules with native ESM support and resources about ES Modules in Node.js.\n\n## Contents\n\n- [Articles](#articles)\n- [Tools](#tools)\n- [Packages](#packages)\n  - [Web frameworks](#web-frameworks)\n  - [HTTP](#http)\n  - [WebSocket](#websocket)\n  - [Template engines](#template-engines)\n  - [SSR](#ssr)\n  - [Databases](#databases)\n  - [Logging](#logging)\n  - [Testing](#testing)\n  - [CLI](#cli)\n  - [Date](#date)\n  - [File system](#file-system)\n  - [Utility](#utility) (value manipulations)\n  - [Random](#random)\n  - [Parsing](#parsing)\n  - [Compression](#compression)\n  - [Performance](#performance)\n  - [AST](#ast)\n  - [Functional programming](#functional-programming)\n  - [Math](#math)\n  - [Ethereum](#ethereum)\n  - [Other](#other)\n\n## Articles\n\n- [ECMAScript Modules Node.js docs](https://nodejs.org/api/esm.html)\n- [How to Use ESM on the Web and Node.js](https://byteofdev.com/posts/how-to-use-esm/)\n- [Using ES modules natively in Node.js](https://2ality.com/2017/09/native-esm-node.html)\n- [ES Modules in Node today](https://blog.logrocket.com/es-modules-in-node-today)\n- [Super Simple Start to ESModules in Node.js](https://kentcdodds.com/blog/super-simple-start-to-es-modules-in-node-js/)\n\n## Tools\n\n- [esbuild](https://github.com/evanw/esbuild) - an extremely fast JavaScript bundler and minifier.\n- [tsup](https://github.com/egoist/tsup) - bundle your TypeScript library with no config, powered by esbuild.\n- [rollup](https://github.com/rollup/rollup) - next-generation ES Module bundler.\n- [dual-publish](https://github.com/ai/dual-publish) - publish JS project as dual ES modules and CommonJS package to npm\n- [cjstoesm](https://github.com/wessberg/cjstoesm) - tool that can transform CommonJS to ESM\n- [esbuild-node-loader](https://github.com/antfu/esbuild-node-loader) - transpile TypeScript to ESM with Node.js loader.\n- [tsm](https://github.com/lukeed/tsm) - TypeScript Module Loader\n\n## Packages\n\n### Web frameworks\n\n- [tinyhttp](https://github.com/talentlessguy/tinyhttp) - tiny web framework as a replacement of Express.\n- [polka](https://github.com/lukeed/polka) (alpha only) - micro web server so fast, it'll make you dance!\n- [koa](https://github.com/koajs/koa) - expressive middleware for node.js using ES2017 async functions\n\n### HTTP\n\n#### HTTP Clients\n\n- [node-fetch](https://github.com/node-fetch/node-fetch) - light-weight module that brings window.fetch to Node.js\n- [httpie](https://github.com/lukeed/httpie) - a Node.js HTTP client as easy as pie!\n\n#### API Clients\n\n- [kitsu](https://github.com/wopian/kitsu) - simple, lightweight \u0026 framework agnostic JSON:API client\n- [twitter-lite](https://github.com/draftbit/twitter-lite) - tiny, full-featured, flexible client / server library for the Twitter API \n\n### WebSocket\n\n- [sockette](https://github.com/lukeed/sockette) - tiny wrapper around WebSocket that will automatically reconnect if the connection is lost!\n\n### Middleware\n\n- [milliparsec](https://github.com/talentlessguy/milliparsec) - tiniest Node.js body parser ever\n- [sirv](https://github.com/lukeed/sirv) - an optimized middleware \u0026 CLI application for serving static files~! \n- [tinyws](https://github.com/talentlessguy/tinyws) - tiny WebSocket middleware for Node.js\n- [malibu](https://github.com/tinyhttp/malibu) - framework-agnostic CSRF middleware for modern Node.js \n- [lru-send](https://github.com/tinyhttp/lru-send) - LRU-based caching middleware for Node.js\n\n### Template engines\n\n- [eta](https://github.com/eta-dev/eta) - embedded JS template engine for Node, Deno, and the browser\n- [tempura](https://github.com/lukeed/tempura) - A light, crispy, and delicious template engine\n\n### SSR\n\n- [preact-render-to-string](https://github.com/preactjs/preact-render-to-string) - universal rendering for Preact: render JSX and Preact components to HTML.\n- [hyperapp-render](https://github.com/kriasoft/hyperapp-render) - render Hyperapp to an HTML string with SSR and Node.js streaming support.\n- [hypermdx](https://github.com/talentlessguy/hypermdx) - Markdown enhanced with Hyperapp \n- [streamdown](https://github.com/talentlessguy/streamdown) - stream markdown to HTML \n\n### Databases\n\n- [rxdb](https://github.com/pubkey/rxdb) - a realtime Database for JavaScript Applications.\n\n### Logging\n\n- [logtown](https://github.com/logtown/logtown) - simple Logging Facade for JavaScript.\n- [oddlog](https://gitlab.com/frissdiegurke/oddlog) - high-performance payload focused logging library for node.js.\n- [diary](https://github.com/maraisr/diary) - zero-dependency, fast logging library for both Node and Browser.\n- [roarr](https://github.com/gajus/roarr) - JSON logger for Node.js and browser.\n\n### Testing\n\n- [uvu](https://github.com/lukeed/uvu) - an extremely fast and lightweight test runner for Node.js and the browser.\n- [oletus](https://github.com/bearror/oletus) - minimal ECMAScript Module test runner\n- [hanbi](https://github.com/43081j/hanbi) - a small javascript library for stubbing and spying on methods/functions. \n- [wirepig](https://github.com/griffinmyers/wirepig) - mock HTTP and TCP dependencies with real sockets.\n\n### CLI\n\n#### Argument parsing\n\n- [yargs](https://github.com/yargs/yargs) - Command-line parser that automatically generates an elegant user-interface.\n\n#### Colors\n\n- [colorette](https://github.com/jorgebucaran/colorette) - color your terminal using pure idiomatic JavaScript.\n- [kleur](https://github.com/lukeed/kleur) - the fastest Node.js library for formatting terminal text with ANSI colors~!\n\n### Date\n\n- [dayjs](https://github.com/iamkun/dayjs) - 2KB immutable date library alternative to Moment.js with the same modern API\n- [tinydate](https://github.com/lukeed/tinydate) - a tiny (349B) reusable date formatter. \n- [tempe](https://github.com/masbagal/tempe) - Featherlight (\u003c 2kB) helper for Javascript date formatting\n- [light-date](https://github.com/xxczaki/light-date) - blazing fast \u0026 lightweight (157 bytes) date formatting for Node.js and the browser. \n\n### File system\n\n- [istextorbinary](https://github.com/bevry/istextorbinary) - Check if a file is text or binary.\n- [@tinyhttp/dotenv](https://github.com/talentlessguy/tinyhttp/tree/master/packages/dotenv) - A rewrite of [dotenv](https://github.com/motdotla/dotenv) module.\n\n### Utility\n\n- [dequal](https://github.com/lukeed/dequal) - tiny (304B to 489B) utility to check for deep equality\n- [klona](https://github.com/lukeed/klona) - tiny (240B to 507B) and fast utility to \"deep clone\" Objects, Arrays, Dates, RegExps, and more!\n- [dlv](https://github.com/developit/dlv) - Safe deep property access in 120 bytes. x = dlv(obj, 'a.b.x')\n\n\n### Random\n\n- [uuid](https://github.com/lukeed/uuid) - tiny (230B), fast, and cryptographically secure UUID (V4) generator for Node and the browser\n- [nanoid](https://github.com/ai/nanoid) - Tiny, secure, URL-friendly, unique string ID generator.\n\n### Parsing\n\n- [snarkdown](https://github.com/developit/snarkdown) - a snarky 1kb Markdown parser written in JavaScript\n\n### Compression\n\n- [anzip](https://github.com/mikbry/anzip) - simple async unzip library for Node.js\n\n### Performance\n\n- [piscina](https://github.com/piscinajs/piscina) - a fast, efficient Node.js Worker Thread Pool implementation\n- [nanodelay](https://github.com/ai/nanodelay) - a tiny (25 bytes) Promise wrapper around setTimeout \n\n### AST\n\n- [acorn](https://github.com/acornjs/acorn) - a small, fast, JavaScript-based JavaScript parser\n\n### Functional programming\n\n- [immutable](https://github.com/facebook/immutable-js) - Immutable data collections.\n- [ramda](https://github.com/Ramda/ramda) - practical functional Javascript.\n- [smoldash](https://github.com/marvinhagemeister/smoldash) - A tiny lodash alternative built for the modern web\n- [deepdash](https://github.com/YuriGor/deepdash) - tree traversal library written in Underscore/Lodash fashion \n\n### Math\n\n- [mathjs](https://github.com/josdejong/mathjs) - An extensive math library.\n\n### Ethereum\n\n- [get-ens](https://github.com/talentlessguy/get-ens) - Get text records of an ENS address\n- [send-tx](https://github.com/talentlessguy/send-tx) - Sign \u0026 send Ethereum transactions\n\n### Other\n\n- [turf](https://github.com/Turfjs/turf) - a modular geospatial engine written in JavaScript \n- [cashify](https://github.com/xxczaki/cashify) - lightweight currency conversion library, successor of money.js\n- [astro](https://github.com/withastro/astro) - build faster websites with the island architecture \n- [transliterate](https://github.com/sindresorhus/transliterate) - convert Unicode characters to Latin characters using transliteration\n- [emittery](https://github.com/sindresorhus/emittery) - simple and modern async event emitter.\n","funding_links":[],"categories":["Uncategorized","Technical","Programming Languages","Others","Programming Language Lists"],"sub_categories":["Uncategorized","awesome-*","JavaScript Lists"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftalentlessguy%2Fawesome-node-esm","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftalentlessguy%2Fawesome-node-esm","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftalentlessguy%2Fawesome-node-esm/lists"}