Skip to content

A curated list of Node.js Native ESM modules and resources.

License

Notifications You must be signed in to change notification settings

talentlessguy/awesome-node-esm

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

87 Commits
 
 
 
 
 
 

Repository files navigation

Awesome Node ESM

Awesome

A curated list of Node.js modules with native ESM support and resources about ES Modules in Node.js.

Contents

Articles

Tools

  • esbuild - an extremely fast JavaScript bundler and minifier.
  • tsup - bundle your TypeScript library with no config, powered by esbuild.
  • rollup - next-generation ES Module bundler.
  • dual-publish - publish JS project as dual ES modules and CommonJS package to npm
  • cjstoesm - tool that can transform CommonJS to ESM
  • esbuild-node-loader - transpile TypeScript to ESM with Node.js loader.
  • tsm - TypeScript Module Loader

Packages

Web frameworks

  • tinyhttp - tiny web framework as a replacement of Express.
  • polka (alpha only) - micro web server so fast, it'll make you dance!
  • koa - expressive middleware for node.js using ES2017 async functions

HTTP

HTTP Clients

  • node-fetch - light-weight module that brings window.fetch to Node.js
  • httpie - a Node.js HTTP client as easy as pie!

API Clients

  • kitsu - simple, lightweight & framework agnostic JSON:API client
  • twitter-lite - tiny, full-featured, flexible client / server library for the Twitter API

WebSocket

  • sockette - tiny wrapper around WebSocket that will automatically reconnect if the connection is lost!

Middleware

  • milliparsec - tiniest Node.js body parser ever
  • sirv - an optimized middleware & CLI application for serving static files~!
  • tinyws - tiny WebSocket middleware for Node.js
  • malibu - framework-agnostic CSRF middleware for modern Node.js
  • lru-send - LRU-based caching middleware for Node.js

Template engines

  • eta - embedded JS template engine for Node, Deno, and the browser
  • tempura - A light, crispy, and delicious template engine

SSR

Databases

  • rxdb - a realtime Database for JavaScript Applications.

Logging

  • logtown - simple Logging Facade for JavaScript.
  • oddlog - high-performance payload focused logging library for node.js.
  • diary - zero-dependency, fast logging library for both Node and Browser.
  • roarr - JSON logger for Node.js and browser.

Testing

  • uvu - an extremely fast and lightweight test runner for Node.js and the browser.
  • oletus - minimal ECMAScript Module test runner
  • hanbi - a small javascript library for stubbing and spying on methods/functions.
  • wirepig - mock HTTP and TCP dependencies with real sockets.

CLI

Argument parsing

  • yargs - Command-line parser that automatically generates an elegant user-interface.

Colors

  • colorette - color your terminal using pure idiomatic JavaScript.
  • kleur - the fastest Node.js library for formatting terminal text with ANSI colors~!

Date

  • dayjs - 2KB immutable date library alternative to Moment.js with the same modern API
  • tinydate - a tiny (349B) reusable date formatter.
  • tempe - Featherlight (< 2kB) helper for Javascript date formatting
  • light-date - blazing fast & lightweight (157 bytes) date formatting for Node.js and the browser.

File system

Utility

  • dequal - tiny (304B to 489B) utility to check for deep equality
  • klona - tiny (240B to 507B) and fast utility to "deep clone" Objects, Arrays, Dates, RegExps, and more!
  • dlv - Safe deep property access in 120 bytes. x = dlv(obj, 'a.b.x')

Random

  • uuid - tiny (230B), fast, and cryptographically secure UUID (V4) generator for Node and the browser
  • nanoid - Tiny, secure, URL-friendly, unique string ID generator.

Parsing

  • snarkdown - a snarky 1kb Markdown parser written in JavaScript

Compression

  • anzip - simple async unzip library for Node.js

Performance

  • piscina - a fast, efficient Node.js Worker Thread Pool implementation
  • nanodelay - a tiny (25 bytes) Promise wrapper around setTimeout

AST

  • acorn - a small, fast, JavaScript-based JavaScript parser

Functional programming

  • immutable - Immutable data collections.
  • ramda - practical functional Javascript.
  • smoldash - A tiny lodash alternative built for the modern web
  • deepdash - tree traversal library written in Underscore/Lodash fashion

Math

  • mathjs - An extensive math library.

Ethereum

  • get-ens - Get text records of an ENS address
  • send-tx - Sign & send Ethereum transactions

Other

  • turf - a modular geospatial engine written in JavaScript
  • cashify - lightweight currency conversion library, successor of money.js
  • astro - build faster websites with the island architecture
  • transliterate - convert Unicode characters to Latin characters using transliteration
  • emittery - simple and modern async event emitter.