An open API service indexing awesome lists of open source software.

awesome-nodejs

Delightful Node.js packages and resources
https://github.com/tantum101/awesome-nodejs

Last synced: 14 days ago
JSON representation

  • Packages

    • Filesystem

      • 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.
      • fs-extra - Extra methods for the `fs` module.
      • 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.
    • Forum

      • nodeBB - Forum platform for the modern web.
    • 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.
    • Hardware

      • johnny-five - Firmata based Arduino Framework.
      • serialport - Access serial ports for reading and writing.
      • usb - USB library.
      • 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.
    • 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](https://github.com/sindresorhus/got).
      • global-agent - Global HTTP/HTTPS proxy agent that is configurable using environment variables.
      • smoke - File-based HTTP mock server with recording abilities.
      • purest - REST client.
    • 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`.
      • ms - Tiny millisecond conversion utility.
      • pretty-error - Errors with less clutter.
      • read-art - Extract readable content from any page.
    • 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.
      • jimp - Image processing in pure JavaScript.
      • probe-image-size - Get the size of most image formats without a full download.
      • qrcode - QR code and bar code generator.
      • ImageScript - Image processing in JavaScript, utilizing WebAssembly for performance.
    • Job queues

      • bull - Persistent job and message queue.
      • agenda - MongoDB-backed job scheduling.
      • idoit - Redis-backed job queue engine with advanced job control.
      • node-resque - Redis-backed job queue.
      • 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.
      • bullmq - Persistent job and message 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.
    • 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.
    • 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`.
      • cheerio - Fast, flexible, and lean implementation of core jQuery designed specifically for the server.
      • open - Opens stuff like websites, files, executables.
      • 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.
      • mem - Memoize functions - an optimization technique used to speed up consecutive function calls by caching the result of calls with identical input.
      • 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.
      • 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.
      • clipboardy - Access the system clipboard (copy/paste).
      • 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.
      • 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.
      • jsdom - JavaScript implementation of HTML and the DOM.
      • @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
      • cashify - Currency conversion.
      • 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.
      • editly - Declarative video editing API.
      • wild-wild-path - Object property paths with wildcards and regexes.
    • Natural language processing

      • retext - An extensible natural language system.
      • 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.
    • Network

      • get-port - Get an available port.
      • ipify - Get your public IP address.
      • getmac - Get the computer MAC address.
      • DHCP - DHCP client and server.
      • netcat - Netcat port in pure JS.
    • Node.js management

      • n - Node.js version management.
      • nave - Virtual Environments for Node.js.
      • nodeenv - Node.js virtual environment compatible to Python's virtualenv.
      • nvm for Windows - Version management for Windows.
      • nodenv - Version manager that is similar to Ruby's rbenv. It supports auto version switching.
      • fnm - Cross-platform Node.js version manager built in Rust.
    • 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

      • remark - Markdown processor powered by plugins.
      • 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.
      • 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.
      • x-ray - Web scraping utility.
      • nearley - Simple, fast, powerful parsing for JavaScript.
      • 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.
      • google-libphonenumber - Parse, format, store and validate phone numbers.
      • ref - Read/write structured binary data in Buffers.
      • xlsx-populate - Read/write Excel XLSX.
      • Chevrotain - Very fast and feature rich parser building toolkit for JavaScript.
      • fast-xml-parser - Validate and parse XML.
    • Process management

      • 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.
      • node-windows - Run scripts as a native Windows service and log to the Event viewer.
      • 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

      • µWebSockets - Highly scalable WebSocket server & client library.
      • 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.
      • Aedes - Barebone MQTT server that can run on any stream server.
    • Security

      • upash - Unified API for all password hashing algorithms.
      • 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.
      • rate-limiter-flexible - Brute-force and DDoS attack protection.
      • crypto-hash - Async non-blocking hashing.
      • jose-simple - Encryption and decryption of data using the JOSE (JSON Object Signing and Encryption) standard.
    • Serialization

      • snappy - Native bindings for Google's Snappy compression library.
      • protobuf - Implementation of Protocol Buffers.
      • compactr - Implementation of the Compactr protocol.
    • Static site generators

      • DocPad - Static site generator with dynamic abilities and huge plugin ecosystem.
      • docsify - Markdown documentation site generator with no statically built HTML files.
      • Charge - Opinionated, zero-config static site generator using JSX and MDX.