awesome-node
Best Node.js tools, libraries, frameworks and resources.
https://github.com/shaikh-shahid/awesome-node
Last synced: 18 days ago
JSON representation
-
Packages
-
Documentation
- ESDoc - Documentation generator targeting ES2015, attaching test code and measuring documentation coverage.
- Docco - Documentation generator which produces an HTML document that displays your comments intermingled with your code.
- Docusaurus - Documentation website generator that leverages React and Markdown, and comes with translation and versioning features.
- JSDoc - API documentation generator similar to JavaDoc or PHPDoc.
-
Email
- Nodemailer - The fastest way to handle email.
- emailjs - Send text/HTML emails with attachments to any SMTP server.
- MJML - Markup language designed to reduce the pain of creating responsive emails.
- email-templates - Create, preview, and send custom email templates.
-
Filesystem
- cpy - Copy files.
- rimraf - Recursively delete files like `rm -rf`.
- make-dir - Recursively create directories like `mkdir -p`.
- graceful-fs - Drop-in replacement for the `fs` module with various improvements.
- chokidar - Filesystem watcher which stabilizes events from `fs.watch` and `fs.watchFile` as well as using native `fsevents` on macOS.
- fs-extra - Extra methods for the `fs` module.
- del - Delete files/folders using globs.
- globby - Glob files with support for multiple patterns.
- find-up - Find a file by walking up parent directories.
- load-json-file - Read and parse a JSON file.
- write-json-file - Stringify and write JSON to a file atomically.
- fs-write-stream-atomic - Like `fs.createWriteStream()`, but atomic.
- filenamify - Convert a string to a valid filename.
- lnfs - Force create symlinks like `ln -fs`.
- istextorbinary - Check if a file is text or binary.
- fs-jetpack - Completely redesigned file system API for convenience in everyday use.
- pkg-dir - Find the root directory of an npm package.
- filehound - Flexible and fluent interface for searching the file system.
- move-file - Move a file, even works across devices.
- tempy - Get a random temporary file or directory path.
- proper-lockfile - Inter-process and inter-machine lockfile utility.
-
Forum
- nodeBB - Forum platform for the modern web.
-
Functional programming
- lodash - Utility library delivering consistency, customization, performance, & extras. A better and faster Underscore.js.
- Ramda - Utility library with a focus on flexible functional composition enabled by automatic currying and reversed argument order. Avoids mutating data.
- Folktale - Suite of libraries for generic functional programming in JavaScript that allows you to write elegant, modular applications with fewer bugs, and more reuse.
- Mout - Utility library with the biggest difference between other existing solutions is that you can choose to load only the modules/functions that you need, no extra overhead.
- Bacon.js - Functional reactive programming.
- RxJS - Functional reactive library for transforming, composing, and querying various kinds of data.
- Lazy.js - Utility library similar to lodash/Underscore but with lazy evaluation, which can translate to superior performance in many cases.
- Kefir.js - Reactive library with focus on high performance and low memory usage.
- immutable - Immutable data collections.
-
Hardware
- johnny-five - Firmata based Arduino Framework.
- i2c-bus - I2C serial bus access.
- onoff - GPIO access and interrupt detection.
- spi-device - SPI serial bus access.
- pigpio - Fast GPIO, PWM, servo control, state change notification, and interrupt handling on the Raspberry Pi.
- gps - NMEA parser for handling GPS receivers.
- gps - NMEA parser for handling GPS receivers.
- usb - USB library.
- serialport - Access serial ports for reading and writing.
-
HTTP
- got - Nicer interface to the built-in `http` module.
- gh-got - Convenience wrapper for `got` to interact with the GitHub API.
- wreck - HTTP Client Utilities.
- download - Download and extract files effortlessly.
- flashheart - REST client.
- http-fake-backend - Build a fake backend by providing the content of JSON files or JavaScript objects through configurable routes.
- cacheable-request - Wrap native HTTP requests with RFC compliant cache support.
- gotql - GraphQL request library built on [got](https://github.com/sindresorhus/got).
- global-agent - Global HTTP/HTTPS proxy agent that is configurable using environment variables.
- superagent - HTTP request library.
- http-proxy - HTTP proxy.
- node-fetch - `window.fetch` for Node.js.
-
Humanize
- pretty-bytes - Convert bytes to a human readable string: `1337` → `1.34 kB`.
- pretty-ms - Convert milliseconds to a human readable string: `1337000000` → `15d 11h 23m 20s`.
- pretty-error - Errors with less clutter.
- read-art - Extract readable content from any page.
- ms - Tiny millisecond conversion utility.
-
Image
- sharp - The fastest module for resizing JPEG, PNG, WebP and TIFF images.
- image-type - Detect the image type of a Buffer/Uint8Array.
- gm - GraphicsMagick and ImageMagick wrapper.
- lwip - Lightweight image processor which does not require ImageMagick.
- pica - High quality & fast resize (lanczos3) in pure JS. Alternative to canvas drawImage(), when no pixelation allowed.
- probe-image-size - Get the size of most image formats without a full download.
- qrcode - QR code and bar code generator.
- jimp - Image processing in pure JavaScript.
-
Job queues
- bull - Persistent job and message queue.
- idoit - Redis-backed job queue engine with advanced job control.
- rsmq - Redis-backed message queue.
- bee-queue - High-performance Redis-backed job queue.
- RedisSMQ - Simple high-performance Redis message queue with real-time monitoring.
- sqs-consumer - Build Amazon Simple Queue Service (SQS) based apps without the boilerplate.
- better-queue - Simple and efficient job queue when you cannot use Redis.
- node-resque - Redis-backed job queue.
-
Logging
- pino - Extremely fast logger inspired by Bunyan.
- winston - Multi-transport async logging library.
- console-log-level - The most simple logger imaginable with support for log levels and custom prefixes.
- storyboard - End-to-end, hierarchical, real-time, colorful logs and stories.
- consola - Console logger.
- signale - Console logger.
-
Math
- ndarray - Multidimensional arrays.
- mathjs - An extensive math library.
- math-clamp - Clamp a number.
- algebra - Algebraic structures.
- multimath - Core to create fast image math in WebAssembly and JS.
-
Minifiers
-
Miscellaneous
- execa - Better `child_process`.
- open - Opens stuff like websites, files, executables.
- clipboardy - Access the system clipboard (copy/paste).
- Faker.js - Generate massive amounts of fake data.
- cheerio - Fast, flexible, and lean implementation of core jQuery designed specifically for the server.
- hasha - Hashing made simple. Get the hash of a buffer/string/stream/file.
- dot-prop - Get a property from a nested object using a dot path.
- onetime - Only run a function once.
- import-fresh - Import a module while bypassing the cache.
- strip-bom - Strip UTF-8 byte order mark (BOM) from a string/buffer/stream.
- os-locale - Get the system locale.
- ssh2 - SSH2 client and server module.
- adit - SSH tunneling made simple.
- import-lazy - Import a module lazily.
- file-type - Detect the file type of a Buffer.
- Bottleneck - Rate limiter that makes throttling easy.
- ow - Function argument validation for humans.
- webworker-threads - Lightweight Web Worker API implementation with native threads.
- node-pre-gyp - Makes it easy to publish and install Node.js C++ addons from binaries.
- opencv - Bindings for OpenCV. The defacto computer vision library.
- dotenv - Load environment variables from .env file.
- remote-git-tags - Get tags from a remote git repo.
- semver - Semantic version parser.
- nodegit - Native bindings to Git.
- json-strictify - Safely serialize a value to JSON without data loss or going into an infinite loop.
- resolve-from - Resolve the path of a module like `require.resolve()` but from a given path.
- hypernova - Server-side rendering your JavaScript views.
- @sindresorhus/is - Type check values.
- env-dot-prop - Get, set, or delete nested properties of process.env using a dot path.
- emittery - Simple and modern async event emitter.
- node-video-lib - Pure JavaScript library for working with MP4 and FLV video files and creating MPEG-TS chunks for HLS streaming.
- basic-ftp
- genepi - Automatically generate a native Node.js addon from C++ code.
- husky - Create Git hook scripts.
- patch-package - Make and preserve fixes to npm dependencies.
- mem - Memoize functions - an optimization technique used to speed up consecutive function calls by caching the result of calls with identical input.
- Electron - Build cross platform desktop apps with web technologies. *(You might like [awesome-electron](https://github.com/sindresorhus/awesome-electron))*
- simplecrawler - Event driven web crawler.
- cashify - Currency conversion.
- jsdom - JavaScript implementation of HTML and the DOM.
-
Natural language processing
- franc - Detect the language of text.
- leven - Measure the difference between two strings using the Levenshtein distance algorithm.
- natural - Natural language facility.
- nlp.js - Building bots, with entity extraction, sentiment analysis, automatic language identify, and more.
- retext - An extensible natural language system.
-
Network
-
Node.js management
- nvm for Windows - Version management for Windows.
- n - Node.js version management.
- nave - Virtual Environments for Node.js.
- nodeenv - Node.js virtual environment compatible to Python's virtualenv.
- nodenv - Version manager that is similar to Ruby's rbenv. It supports auto version switching.
-
Number
- random-int - Generate a random integer.
- random-float - Generate a random float.
- unique-random - Generate random numbers that are consecutively unique.
- round-to - Round a number to a specific number of decimal places: `1.234` → `1.2`.
-
Parsing
- markdown-it - Markdown parser with 100% CommonMark support, extensions and syntax plugins.
- parse5 - Fast full-featured spec compliant HTML parser.
- strip-json-comments - Strip comments from JSON.
- strip-css-comments - Strip comments from CSS.
- parse-json - Parse JSON with more helpful errors.
- URI.js - URL mutation.
- PostCSS - CSS parser / stringifier.
- JSONStream - Streaming JSON.parse and stringify.
- neat-csv - Fast CSV parser. Callback interface for the above.
- csv-parser - Streaming CSV parser that aims to be faster than everyone else.
- PEG.js - Simple parser generator that produces fast parsers with excellent error reporting.
- binary-extract - Extract a value from a buffer of JSON without parsing the whole thing.
- Stylecow - Parse, manipulate and convert modern CSS to make it compatible with all browsers. Extensible with plugins.
- js-yaml - Very fast YAML parser.
- xml2js - XML to JavaScript object converter.
- Jison - Friendly JavaScript parser generator. It shares genes with Bison, Yacc and family.
- ref - Read/write structured binary data in Buffers.
- xlsx-populate - Read/write Excel XLSX.
- fast-xml-parser - Validate and parse XML.
- x-ray - Web scraping utility.
- remark - Markdown processor powered by plugins.
- nearley - Simple, fast, powerful parsing for JavaScript.
- Chevrotain - Very fast and feature rich parser building toolkit for JavaScript.
- google-libphonenumber - Parse, format, store and validate phone numbers.
-
Process management
- node-windows - Run scripts as a native Windows service and log to the Event viewer.
- PM2 - Advanced Process Manager.
- nodemon - Monitor for changes in your app and automatically restart the server.
- node-mac - Run scripts as a native Mac daemon and log to the console app.
- node-linux - Run scripts as native system service and log to syslog.
- supervisor - Restart scripts when they crash or restart when a `*.js` file changes.
- Phusion Passenger - Friendly process manager that integrates directly into Nginx.
-
Real-time
- Socket.io - Enables real-time bidirectional event-based communication.
- Faye - Real-time client-server message bus, based on Bayeux protocol.
- SocketCluster - Scalable HTTP + WebSocket engine which can run on multiple CPU cores.
- Primus - An abstraction layer for real-time frameworks to prevent module lock-in.
- deepstream.io - Scalable real-time microservice framework.
- Kalm - Low-level socket router and middleware framework.
- MQTT.js - Client for MQTT - Pub-sub based messaging protocol for use on top of TCP/IP.
- rpc-websockets - JSON-RPC 2.0 implementation over WebSockets.
- µWebSockets - Highly scalable WebSocket server & client library.
- Aedes - Barebone MQTT server that can run on any stream server.
-
Security
- themis - Multilanguage framework for making typical encryption schemes easy to use: data at rest, authenticated data exchange, transport protection, authentication, and so on.
- GuardRails - GitHub app that provides security feedback in pull requests.
- upash - Unified API for all password hashing algorithms.
-
Programming Languages
Categories
Sub Categories
Command-line apps
53
Command-line utilities
42
Miscellaneous
40
Database
27
Testing
24
Parsing
24
Filesystem
21
Debugging / Profiling
16
Text
16
Web frameworks
16
Streams
15
Control flow
14
Books
12
HTTP
12
Real-time
10
Build tools
10
Hardware
9
Functional programming
9
Tutorials
9
Weird
9
Image
8
Job queues
8
URL
7
Date
7
Articles
7
Content management systems
7
Process management
7
Videos
6
Compression
6
Security
6
Static site generators
6
Logging
6
Natural language processing
5
Math
5
Network
5
Node.js management
5
Templating
5
Documentation
5
Humanize
5
Minifiers
5
Data validation
5
Number
4
Email
4
Serialization
3
Cheatsheets
3
AST
3
Community
3
Benchmarking
2
Authentication
2
Blogging
2
Authorization
2
Discovery
1
Forum
1
Automation
1
Newsletters
1
Keywords
nodejs
134
javascript
118
node
32
cli
26
typescript
25
npm-package
16
command-line
14
testing
11
postgresql
11
http
11
json
11
node-js
10
promise
9
mysql
9
react
8
browser
8
terminal
8
server
7
performance
7
cli-app
7
sqlite
7
shell
7
database
7
framework
7
npm
7
async
6
redis
6
static-site-generator
6
orm
6
electron
6
microservices
6
promises
6
mongodb
6
node-module
6
iot
6
chrome
6
rest
6
html
5
web
5
windows
5
test
5
raspberry-pi
5
es6
5
websockets
5
sql
5
stream
5
css
5
express
5
mocha
4
testing-tools
4