awesome-nodejs
Delightful Node.js packages and resources. Crawl and sort daily by AwesomelsBot
https://github.com/thoqbk/awesome-nodejs
Last synced: 6 days ago
JSON representation
-
Filesystem
- node-fs-extra - Node.js: extra methods for the fs object like copy(), remove(), mkdirs() - ★ 4963
- chokidar - A neat wrapper around node.js fs.watch / fs.watchFile / fsevents. - ★ 4708
- rimraf - A `rm -rf` util for nodejs - ★ 2829
- node-graceful-fs - fs with incremental backoff on EMFILE - ★ 788
- make-dir - Make a directory and its parents if needed - Think `mkdir -p` - ★ 323
- del - Delete files and directories - ★ 876
- globby - User-friendly glob matching - ★ 758
- fs-jetpack - Better file system API for Node.js - ★ 431
- filenamify - Convert a string to a valid safe filename - ★ 183
- find-up - Find a file or directory by walking up parent directories - ★ 174
- filehound - Flexible and fluent interface for searching the file system - ★ 131
- load-json-file - Read and parse a JSON file - ★ 122
- write-json-file - Stringify and write JSON to a file atomically - ★ 109
- move-file - Move a file - Even works across devices - ★ 103
- pkg-dir - Find the root directory of a Node.js project or npm package - ★ 78
- istextorbinary - Determines if a buffer is comprised of text or binary - ★ 45
- fs-write-stream-atomic - Like `fs.createWriteStream(...)`, but atomic. - ★ 43
- lnfs - Safely force create symlinks - ★ 9
- node-proper-lockfile - An inter-process and inter-machine lockfile utility that works on a local or network file system. - ★ 57
-
Forum
- NodeBB - Node.js based forum software built for the modern web - ★ 9341
-
Functional programming
- ramda - Practical functional Javascript - ★ 14475
- lazy.js - Like Underscore, but lazier - ★ 5401
- kefir - A Reactive Programming library for JavaScript - ★ 1489
- mout - Modular JavaScript Utilities - ★ 1037
- immutable-js - Immutable persistent data collections for Javascript which increase efficiency and simplicity. - ★ 25610
-
Hardware
- johnny-five - JavaScript Robotics and IoT programming framework, developed at Bocoup. - ★ 9896
- onoff - GPIO access and interrupt detection with Node.js - ★ 741
- pigpio - Fast GPIO, PWM, servo control, state change notification and interrupt handling with Node.js on the Raspberry Pi - ★ 383
- i2c-bus - I2C serial bus access with Node.js - ★ 148
- GPS.js - A NMEA parser and GPS utility library - ★ 72
- spi-device - SPI serial bus access with Node.js - ★ 42
- GPS.js - A NMEA parser and GPS utility library - ★ 72
- node-usb - Improved USB library for Node.js - ★ 727
- node-serialport - Node.js package to access serial ports. Linux, OSX and Windows. Welcome your robotic JavaScript overlords. Better yet, program them! - ★ 3651
-
HTTP
- request - 🏊🏾 Simplified HTTP request client. - ★ 21094
- got - Simplified HTTP requests - ★ 4412
- download - Download and extract files - ★ 768
- wreck - HTTP Client Utilities - ★ 325
- http-fake-backend - Build a fake backend by providing the content of JSON files or JavaScript objects through configurable routes. - ★ 171
- gotql - GraphQL query utility for serverside apps - ★ 166
- cacheable-request - Wrap native HTTP requests with RFC compliant cache support - ★ 152
- gh-got - Convenience wrapper for `got` to interact with the GitHub API - ★ 125
- flashheart - A fully-featured Node.js REST client built for ease-of-use and resilience - ★ 88
- superagent - Ajax with less suck - (and node.js HTTP client to match) - ★ 13523
- node-http-proxy - A full-featured http proxy for node.js - ★ 9453
- node-fetch - A light-weight module that brings window.fetch to Node.js - ★ 3573
-
Humanize
- pretty-error - See node.js errors with less clutter - ★ 1190
- pretty-bytes - Convert bytes to a human readable string: 1337 → 1.34 kB - ★ 412
- pretty-ms - Convert milliseconds to a human readable string: `1337000000` → `15d 11h 23m 20s` - ★ 347
- node-readability - Scrape/Crawl article from any site automatically. Make any web page readable, no matter Chinese or English. - ★ 271
- ms - Tiny milisecond conversion utility - ★ 1674
-
Image
- sharp - High performance Node.js image processing, the fastest module to resize JPEG, PNG, WebP and TIFF images. Uses the libvips library. - ★ 9778
- gm - GraphicsMagick for node - ★ 5338
- lwip - Light Weight Image Processor for NodeJS - ★ 2157
- pica - Resize image in browser with high quality and high speed - ★ 1419
- probe-image-size - Get image size without full download. Supported image types: JPG, GIF, PNG, WebP, BMP, TIFF, SVG, PSD. - ★ 202
- image-type - Detect the image type of a Buffer/Uint8Array - ★ 152
- jimp - An image processing library written entirely in JavaScript for Node, with zero external or native dependencies. - ★ 7145
-
Job queues
- kue - Kue is a priority job queue backed by redis, built for node.js. - ★ 8050
- bull - Premium Queue package for handling jobs and messages in NodeJS. - ★ 3981
- bee-queue - A simple, fast, robust job/task queue for Node.js, backed by Redis. - ★ 1152
- rsmq - Redis Simple Message Queue - ★ 895
- idoit - Redis-backed task queue engine with advanced task control and eventual consistency - ★ 30
- node-resque - It's Resque... For node! Background jobs using redis. - ★ 617
-
Logging
- winston - A logger for just about everything. - ★ 11879
- pino - super fast, all natural json logger - ★ 3262
- storyboard - End-to-end, hierarchical, real-time, colorful logs and stories - ★ 506
- console-log-level - The most simple logger imaginable - ★ 30
- signale - Hackable console logger - ★ 6756
-
Mad science
- brain.js - Neural networks in JavaScript - ★ 6413
- NodeOS - Lightweight operating system using Node.js as userspace - ★ 5701
- peerflix - Streaming torrent client for node.js - ★ 4955
- cytoscape.js - Graph theory (network) library for visualisation and analysis - ★ 4860
- turf - A modular geospatial engine written in JavaScript - ★ 3987
- isomorphic-git - A pure JavaScript implementation of git for node and browsers! - ★ 3447
- js-git - A JavaScript implementation of Git. - ★ 3446
- bitcoinjs-lib - A javascript Bitcoin library for node.js and browsers. - ★ 3125
- js-ipfs - IPFS implementation in JavaScript - ★ 3099
- bitcore - A full stack for bitcoin and blockchain-based applications - ★ 2942
- peercast - torrent-stream + chromecast - ★ 401
- webcat - Mad science p2p pipe across the web using webrtc that uses your Github private/public key for authentication and a signalhub for discovery - ★ 381
- peerwiki - all of wikipedia on bittorrent - ★ 285
- skale - High performance distributed data processing engine - ★ 305
- zapsnap - Temporary peer to peer screenshot sharing from your browser. - ★ 176
- js-xlsx - SheetJS Community Edition -- Spreadsheet Parser and Writer - ★ 13094
- pdfkit - A JavaScript PDF generation library for Node and the browser - ★ 4336
-
Math
- mathjs - An extensive math library for JavaScript and Node.js - ★ 7647
- ndarray - Multidimensional arrays for JavaScript - ★ 805
- algebra - means completeness and balancing, from the Arabic word الجبر - ★ 66
- multimath - WebAssembly wrapper to simplify fast math coding - ★ 31
- math-clamp - Clamp a number - ★ 4
-
Minifiers
- imagemin - Tense, nervous, minifying images? - ★ 2584
- minimize - Minimize HTML - ★ 139
- UglifyJS2 - JavaScript parser / mangler / compressor / beautifier toolkit - ★ 9468
- clean-css - Fast and efficient CSS optimizer for node.js and the Web - ★ 3063
- minify - An ES6+ aware minifier based on the Babel toolchain (beta) - ★ 3613
-
Miscellaneous
- nodejs-guidelines - Tips, tricks, and resources for working with Node.js, and the start of an ongoing conversation on how we can improve the Node.js experience on Microsoft platforms. - ★ 1970
- execa - A better `child_process` - ★ 1636
- clipboardy - Access the system clipboard (copy/paste) - ★ 514
- awesome-cross-platform-nodejs - A curated list of awesome developer tools and libraries for writing and testing code that runs on Windows and Linux. - ★ 262
- cheerio - Fast, flexible, and lean implementation of core jQuery designed specifically for the server. - ★ 17850
- faker.js - generate massive amounts of realistic fake data in Node.js and the browser - ★ 16129
- awesome-electron - Useful resources for creating apps with Electron - ★ 15934
- dotenv - Loads environment variables from .env for nodejs projects. - ★ 7358
- hypernova - A service for server-side rendering your JavaScript views - ★ 4757
- nodegit - Native Node bindings to Git. - ★ 3742
- node-opencv - OpenCV Bindings for node.js - ★ 3570
- ssh2 - SSH2 client and server modules written in pure JavaScript for node.js - ★ 3238
- awesome-npm - Awesome npm resources and tips - ★ 3086
- node-semver - The semver parser for node (the one npm uses) - ★ 2474
- ow - Function argument validation for humans - ★ 2464
- node-webworker-threads - Lightweight Web Worker API implementation with native threads - ★ 1903
- file-type - Detect the file type of a Buffer/Uint8Array - ★ 769
- emittery - Simple and modern async event emitter - ★ 745
- is - Type check values: `is.string(' ') //=> true` - ★ 697
- hasha - Hashing made simple. Get the hash of a buffer/string/stream/file. - ★ 635
- node-pre-gyp - Node.js tool for easy binary deployment of C++ addons - ★ 580
- generator-nm - Scaffold out a node module - ★ 570
- bottleneck - Job scheduler and rate limiter, supports Clustering - ★ 517
- node-module-boilerplate - Boilerplate to kickstart creating a node module - ★ 424
- dot-prop - Get, set, or delete a property from a nested object using a dot path - ★ 337
- import-lazy - Import a module lazily - ★ 151
- import-fresh - Import a module while bypassing the cache - ★ 146
- os-locale - Get the system locale - ★ 134
- onetime - Ensure a function is only called once - ★ 79
- strip-bom - Strip UTF-8 byte order mark (BOM) from a string - ★ 68
- resolve-from - Resolve the path of a module like require.resolve() but from a given path - ★ 66
- remote-git-tags - Get tags from a remote git repo. Using only JS. No git binary required. - ★ 32
- adit - SSH tunnels – in any way you want it - ★ 21
- env-dot-prop - Get, set, or delete nested properties of process.env using a dot path - ★ 11
- json-strictify - Safely serialize a value to JSON without unintended loss of data or going into an infinite loop due to circular references. - ★ 3
- mem - Memoize functions - an optimization technique used to speed up consecutive function calls by caching the result of calls with identical input - ★ 404
- electron - Build cross-platform desktop apps with JavaScript, HTML, and CSS - ★ 66551
- simplecrawler - Flexible event driven crawler for node. - ★ 1809
- module-requests - Need a JavaScript module or looking for ideas? Welcome - ★ 422
- opn - A better node-open. Opens stuff like websites, files, executables. Cross-platform. - ★ 1300
- jsdom - A JavaScript implementation of the WHATWG DOM and HTML standards, for use with node.js - ★ 11069
-
Natural language processing
- natural - general natural language facilities for node - ★ 8215
- franc - Natural language detection - ★ 2823
- leven - Measure the difference between two strings with the fastest JS implementation of the Levenshtein distance algorithm - ★ 391
- retext - Natural language processor powered by plugins based on (and , ) - ★ 1625
-
Network
- get-port - Get an available port - ★ 281
- netcat - Netcat client and server modules written in pure Javascript for Node.js. - ★ 217
- getmac - Get the mac address of the current machine you are on via Node.js - ★ 160
- ipify - Get your public IP address - ★ 148
- node-dhcp - A DHCP server and client written in pure JavaScript - ★ 129
-
Node.js management
- nvm-windows - A node.js version management utility for Windows. Ironically written in Go. - ★ 7309
- n - Node version management - ★ 10211
- nave - ★ 1160
- nodeenv - Virtual environment for Node.js & integrator with virtualenv - ★ 955
-
Number
- round-to - Round a number to a specific number of decimal places: 1.234 → 1.2 - ★ 91
- unique-random - Generate random numbers that are consecutively unique - ★ 61
- random-int - Generate a random integer - ★ 40
- random-float - Generate a random float - ★ 18
-
Parsing
- postcss - Transforming styles with JS plugins - ★ 19653
- markdown-it - Markdown parser, done right. 100% CommonMark support, extensions, syntax plugins & high speed - ★ 6295
- URI.js - Javascript URL mutation library - ★ 5513
- node-xml2js - XML to JavaScript object converter. - ★ 3436
- js-yaml - JavaScript YAML parser and dumper. Very fast. - ★ 3372
- jison - Bison in JavaScript. - ★ 3203
- pegjs - PEG.js: Parser generator for JavaScript - ★ 3007
- parse5 - HTML parsing/serialization toolset for Node.js. WHATWG HTML Living Standard (aka HTML5)-compliant. - ★ 1909
- JSONStream - rawStream.pipe(JSONStream.parse()).pipe(streamOfObjects) - ★ 1592
- csv-parser - Streaming csv parser inspired by binary-csv that aims to be faster than everyone else - ★ 566
- strip-json-comments - Strip comments from JSON. Lets you use comments in your JSON files! - ★ 381
- ref - Turn Buffer instances into "pointers" - ★ 299
- fast-xml-parser - Validate XML, Parse XML to JS/JSON and vise versa, or parse XML to Nimn rapidly without C/C++ based libraries and no callback - ★ 295
- xlsx-populate - Excel XLSX parser/generator written in JavaScript with Node.js and browser support, jQuery/d3-style method chaining, encryption, and a focus on keeping existing workbook features and styles in tact. - ★ 275
- binary-extract - Extract a value from a buffer of json without parsing the whole thing - ★ 139
- parse-json - Parse JSON with more helpful errors - ★ 131
- stylecow - Modern CSS to all browsers - ★ 128
- strip-css-comments - Strip comments from CSS - ★ 83
- neat-csv - Fast CSV parser - ★ 75
- x-ray - The next web scraper. See through the <html> noise. - ★ 4727
- nearley - Simple, fast, powerful parser toolkit for JavaScript. - ★ 1987
- remark - Markdown processor powered by plugins based on (and , ) - ★ 1805
- chevrotain - Parser Building Toolkit for JavaScript - ★ 883
- google-libphonenumber - The up-to-date and reliable Google's libphonenumber package for node.js. - ★ 574
-
Process management
- node-windows - Windows support for Node.JS scripts (daemons, eventlog, UAC, etc). - ★ 1577
- pm2 - Node.js Production Process Manager with a built-in Load Balancer. - ★ 27006
- nodemon - Monitor for any changes in your node.js application and automatically restart the server - perfect for development - ★ 16462
- passenger - A fast and robust web server and application server for Ruby, Python and Node.js - ★ 4234
- node-supervisor - ★ 3490
- node-mac - Node utilities for Mac - ★ 428
- node-linux - Create native background daemons on Linux systems. - ★ 345
-
Real-time
- socket.io - Realtime application framework (Node.JS server) - ★ 44232
- socketcluster - Highly scalable realtime framework - ★ 4977
- faye - Simple pub/sub messaging for the web - ★ 4152
- primus - Primus, the creator god of the transformers & an abstraction layer for real-time to prevent module lock-in. - ★ 3728
- MQTT.js - The MQTT client for Node.js and the browser - ★ 3722
- deepstream.io-client-js - The Browser / Node.js Client for deepstream.io - ★ 223
- rpc-websockets - JSON-RPC 2.0 implementation over WebSockets for Node.js and JavaScript - ★ 131
- kalm.js - The socket manager - ★ 63
- uWebSockets - Tiny WebSockets - ★ 9753
- aedes - Barebone MQTT broker that can run on any stream server, the node way - ★ 336
-
Security
-
Serialization
- node-snappy - Nodejs bindings to Google's Snappy compression library - ★ 375
- compactr.js - Schema based serialization made easy - ★ 71
- protobuf.js - Protocol Buffers for JavaScript (& TypeScript). - ★ 4989
Programming Languages
Categories
Command-line apps
57
Command-line utilities
42
Miscellaneous
41
Parsing
24
Database
24
Filesystem
20
Testing
18
Mad science
17
Text
15
Streams
15
Control flow
14
Debugging / Profiling
13
HTTP
12
Web frameworks
12
Real-time
10
Build tools
9
Hardware
9
Weird
9
URL
7
Process management
7
Compression
7
Image
7
Job queues
6
Math
5
Network
5
Tutorials
5
Functional programming
5
Data validation
5
Minifiers
5
Static site generators
5
Logging
5
Templating
5
Date
5
Humanize
5
Node.js management
4
Content management systems
4
Number
4
Natural language processing
4
Email
3
Serialization
3
Documentation
2
AST
2
Cheatsheets
2
Benchmarking
2
Blogging
2
Security
2
Authorization
2
Authentication
2
Automation
1
Forum
1
Articles
1
Sub Categories
Keywords
nodejs
122
javascript
106
node
28
cli
24
typescript
22
npm-package
18
command-line
12
json
10
http
10
promise
8
postgresql
8
node-js
8
cli-app
7
browser
7
testing
7
mysql
7
terminal
7
npm
6
electron
6
node-module
6
iot
6
database
6
stream
6
awesome
5
awesome-list
5
framework
5
async
5
websockets
5
server
5
orm
5
windows
5
api
5
rest
5
performance
5
list
5
static-site-generator
5
promises
5
raspberry-pi
5
css
5
shell
5
react
5
html
5
websocket
4
webdriver
4
microservices
4
compiler
4
network
4
http-client
4
mongodb
4
es6
4