<div align="center">
<div>
<img width="500" src="media/logo.svg" alt="Awesome Node.js">
<br>
</div>
<br>
<br>
<br>
<br>
<hr>
<p>
<p>
<sup>
<a href="https://github.com/sponsors/sindresorhus">My open source work is supported by the community</a>
</sup>
</p>
<sup>Special thanks to:</sup>
<br>
<br>
<a href="https://standardresume.co/tech">
<img src="https://sindresorhus.com/assets/thanks/standard-resume-logo.svg" width="160"/>
</a>
<br>
<br>
<a href="https://workos.com/?utm_campaign=github_repo&utm_medium=referral&utm_content=awesome-nodejs&utm_source=github">
<div>
<img src="https://sindresorhus.com/assets/thanks/workos-logo-white-bg.svg" width="200" alt="WorkOS">
</div>
<b>Your app, enterprise-ready.</b>
<div>
<sub>Start selling to enterprise customers with just a few lines of code.</sub>
<br>
<sup>Add Single Sign-On (and more) in minutes instead of months.</sup>
</div>
</a>
<br>
<br>
<a href="https://transloadit.com?utm_source=sindresorhus&utm_medium=referral&utm_campaign=sponsorship&utm_content=awesome-nodejs">
<picture>
<source width="320" media="(prefers-color-scheme: dark)" srcset="https://sindresorhus.com/assets/thanks/transloadit-logo-dark.svg">
<source width="320" media="(prefers-color-scheme: light)" srcset="https://sindresorhus.com/assets/thanks/transloadit-logo.svg">
<img width="320" src="https://sindresorhus.com/assets/thanks/transloadit-logo.svg" alt="Transloadit logo">
</picture>
</a>
<br>
<br>
<br>
<a href="https://logto.io/?ref=sindre">
<div>
<picture>
<source width="200" media="(prefers-color-scheme: dark)" srcset="https://sindresorhus.com/assets/thanks/logto-logo-dark.svg?x">
<source width="200" media="(prefers-color-scheme: light)" srcset="https://sindresorhus.com/assets/thanks/logto-logo-light.svg?x">
<img width="200" src="https://sindresorhus.com/assets/thanks/logto-logo-light.svg?x" alt="Logto logo">
</picture>
</div>
<b>The better identity infrastructure for developers</b>
<div>
<sup>Logto is an open-source Auth0 alternative designed for every app.</sup>
</div>
</a>
<br>
<br>
<a href="https://encore.dev?utm_campaign=github_repo&utm_medium=referral&utm_content=sindre&utm_source=github">
<div>
<picture>
<source width="230" media="(prefers-color-scheme: dark)" srcset="https://sindresorhus.com/assets/thanks/encore-logo-dark.svg">
<source width="230" media="(prefers-color-scheme: light)" srcset="https://sindresorhus.com/assets/thanks/encore-logo-light.svg">
<img width="230" src="https://sindresorhus.com/assets/thanks/encore-logo-light.svg" alt="Encore logo">
</picture>
</div>
<b>The development platform for building type-safe distributed systems</b>
<div>
<sup>End-to-end tooling from local development to automated DevOps and infrastructure in your AWS/GCP.</sup>
</div>
</a>
<br>
<br>
<br>
</p>
<hr>
<br>
<br>
<br>
<br>
<br>
<a href="https://awesome.re">
<img src="https://awesome.re/badge-flat2.svg" alt="Awesome">
</a>
<p>
<sub>Just type <a href="https://node.cool"><code>node.cool</code></a> to go here. Follow me on <a href="https://twitter.com/sindresorhus">Twitter</a>.</sub>
</p>
<br>
<p>
<a href="https://en.wikipedia.org/wiki/Node.js">Node.js</a> is an open-source, cross-platform, JavaScript runtime for writing servers and command-line tools.
</p>
<br>
</div>
Contents
Official
Packages
Mad science
- webtorrent - Streaming torrent client for Node.js and the browser.
- peerflix - Streaming torrent client.
- ipfs - Distributed file system that seeks to connect all computing devices with the same system of files.
- stackgl - Open software ecosystem for WebGL, built on top of browserify and npm.
- peerwiki - All of Wikipedia on BitTorrent.
- peercast - Stream a torrent video to Chromecast.
- BitcoinJS - Clean, readable, proven Bitcoin library.
- Bitcore - Pure and powerful Bitcoin library.
- PDFKit - PDF generation library.
- turf - Modular geospatial processing and analysis engine.
- webcat - p2p pipe across the web using WebRTC that uses your GitHub private/public key for authentication.
- NodeOS - The first operating system powered by npm.
- YodaOS - AI operating system.
- Brain.js - Machine-learning framework.
- Pipcook - Front-end algorithm framework to create a machine learning pipeline.
- Cytoscape.js - Graph theory (a.k.a. network) modeling and analysis.
- js-git - JavaScript implementation of Git.
- xlsx - Pure JS Excel spreadsheet reader and writer.
- isomorphic-git - Pure JavaScript implementation of Git.
Command-line apps
- np - Better
npm publish
.
- npm-name - Check a package name's availability on npm.
- gh-home - Open the GitHub page of the repo in the current directory.
- npm-home - Open the npm page of a package.
- trash - Safer alternative to
rm
.
- speed-test - Test your internet connection speed and ping.
- pageres - Capture website screenshots.
- cpy - Copy files.
- vtop - More better top, with nice charts.
- empty-trash - Empty the trash.
- is-up - Check whether a website is up or down.
- is-online - Check if the internet connection is up.
- public-ip - Get your public IP address.
- clipboard-cli - Copy & paste on the terminal.
- XO - Enforce strict code style using the JavaScript happiness style.
- ESLint - The pluggable linting utility for JavaScript.
- David - Tells you when your package npm dependencies are out of date.
- http-server - Simple, zero-config command-line HTTP server.
- Live Server - Development HTTP-server with livereload capability.
- bcat - Pipe command output to web browsers.
- normit - Google Translate with speech synthesis in your terminal.
- fkill - Fabulously kill processes. Cross-platform.
- pjs - Pipeable JavaScript. Quickly filter, map, and reduce from the terminal.
- license-checker - Check licenses of your app's dependencies.
- browser-run - Easily run code in a browser environment.
- tmpin - Adds stdin support to any CLI app that accepts file input.
- wallpaper - Change the desktop wallpaper.
- pen - Live Markdown preview in the browser from your favorite editor.
- dark-mode - Toggle the macOS Dark Mode.
- Jsome - Pretty prints JSON with configurable colors and indentation.
- mobicon - Mobile app icon generator.
- mobisplash - Mobile app splash screen generator.
- diff2html-cli - Pretty git diff to HTML generator.
- trymodule - Try out npm packages in the terminal.
- jscpd - Copy/paste detector for source code.
- atmo - Server-side API mocking.
- auto-install - Auto installs dependencies as you code.
- lessmd - Markdown in the terminal.
- cost-of-modules - Find out which dependencies are slowing you down.
- localtunnel - Expose your localhost to the world.
- svg-term-cli - Share terminal sessions via SVG.
- gtop - System monitoring dashboard for the terminal.
- themer - Generate themes for your editor, terminal, wallpaper, Slack, and more.
- carbon-now-cli - Beautiful images of your code — from right inside your terminal.
- cash-cli - Convert between 170 currencies.
- taskbook - Tasks, boards & notes for the command-line habitat.
- discharge - Easily deploy static websites to Amazon S3.
- npkill - Easily find and remove old and heavy node_modules folders.
Functional programming
- lodash - Utility library delivering consistency, customization, performance, & extras. A better and faster Underscore.js.
- immutable - Immutable data collections.
- Ramda - Utility library with a focus on flexible functional composition enabled by automatic currying and reversed argument order. Avoids mutating data.
- 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.
- RxJS - Functional reactive library for transforming, composing, and querying various kinds of data.
- Kefir.js - Reactive library with focus on high performance and low memory usage.
HTTP
- got - Nicer interface to the built-in
http
module.
- undici - High performance HTTP client written from scratch with zero dependencies.
- ky-universal - Universal HTTP client based on Fetch.
- node-fetch -
window.fetch
for Node.js.
- axios - Promise based HTTP client (works in the browser too).
- superagent - HTTP request library.
- 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.
- global-agent - Global HTTP/HTTPS proxy agent