cool-node-modules

A list of cool node modules. Inspired by awesome.

Applications

  • clocker: Track project hours.
  • deejay: Music player that broadcasts to everyone on the same network.
  • http-server: A simple zero-configuration command-line http server.
  • jsinspect: Detect copy-pasted and structurally similar code.
  • kgcat: Tap into Google's knowledge right from your console.
  • normit: Google translate with speech synthesis in your terminal.
  • opn-cli: Opens stuff like websites, files, executables. Cross-platform.
  • peerflix: Streaming torrent client.
  • tetris: Play tetris in your terminal, with colors.
  • vmd: Preview markdown files in a separate window. Markdown is formatted exactly the same as on GitHub.
  • vtop: A graphical activity monitor for the command line.

Audio

  • baudio: Generate audio streams with functions.
  • tune: Tune up baudio.

Bots

  • botkit: A toolkit for making Slack bot applications.

Browser

  • browserify: Browser-side require() the node.js way.

Colors

  • color: JavaScript color conversion and manipulation library.
  • colorname: Provides color names.
  • color-blind: Simulate color blindness by converting RGB hex codes.
  • one-color: An OO-based JavaScript color parser/computation toolkit with support for RGB, HSV, HSL, CMYK, and alpha channels.

Command-line tools

  • beeper: Make your terminal beep.
  • get-stdin: Get stdin as a string or buffer.
  • listr: Terminal task list.
  • log-update: Log by overwriting the previous output in the terminal.
  • minimist: Parse argument options.
  • ora: Elegant terminal spinners.
  • progress-bar: Flexible ascii progress bar.
  • single-line-log: Output one line and move to beginning of line.
  • vorpal: Framework for interactive CLIs.

Compression

Databases

Electron

  • electron: Build cross platform desktop apps with web technologies.
  • electron-prebuilt: Install electron prebuilt binaries using npm.

Email

  • campaign: Compose responsive email templates easily, fill them with models, and send them out.
  • smtp-protocol: Write SMTP clients and servers.

Environment

  • dotenv: Loads environment variables from a .env file.
  • fullname: Get the fullname of the current user.
  • username: Get the username of the current user.

File system

  • chokidar: A neat wrapper around node.js fs.watch / fs.watchFile / fsevents.
  • cpy: Copy files.
  • del: Delete files and folders.
  • file-type: Detect the file type of a Buffer/Uint8Array.
  • folder-walker: Get a stream of files walking recursively through a folder.
  • fuse-bindings: FUSE bindings for Node.
  • list-dir: List directory contents recursively.
  • tempfile: Get a random temp file path.

Formatting

  • boxen: Create boxes in the terminal.
  • bytes: Utility to parse a string bytes (ex: 1TB) to bytes (1099511627776) and vice-versa.
  • camelcase: Convert a dash/dot/underscore/space separated string to camelCase.
  • chalk: Terminal string styling done right.
  • decamelize: Convert a camelized string into a lowercased one with a custom separator.
  • htmlout: HTML-styled console output.
  • ms: Tiny milisecond conversion utility.
  • pretty-error: See node errors with less clutter.
  • uppercamelcase: Convert a dash/dot/underscore/space separated string to UpperCamelCase.

Git

HTML

  • hyperstream: Stream HTML into HTML at a CSS selector.

HTTP

  • axios: Promise based HTTP client.
  • body-parser: Request body parsing middleware for express.
  • busboy: A streaming parser for HTML form data.
  • download: Download and extract files.
  • express: Fast, unopinionated, minimalist web framework.
  • got: Simplified HTTP/HTTPS requests.
  • hyperquest: Streaming http requests.
  • request: Simplified HTTP request client.
  • server-static: Serve static files.
  • superagent: Progressive client-side HTTP request library.
  • timeout: Request timeout middleware for express.

Images

  • gif-stream: A streaming GIF encoder and decoder.
  • inkjet: JPEG-image decoding, encoding & EXIF reading library.
  • jimp: An image processing library written entirely in JavaScript, with zero external or native dependencies.
  • jpeg-js: A pure javascript JPEG encoder and decoder for Node.
  • jpg-stream: A streaming JPEG encoder and decoder.
  • opencv: OpenCV bindings for Node.
  • pics: Ties together streaming image encoders and decoders with a nice API.
  • png-stream: A streaming PNG encoder and decoder.
  • qr-image: Yet another QR code generator.
  • sharp: The fastest Node.js module for resizing JPEG, PNG, WebP and TIFF images. Uses the libvips library.
  • to-ico: Convert PNG to ICO in memory.

Logging

  • morgan: HTTP request logger for express.

Markdown

  • marked: A markdown parser and compiler. Built for speed.

Mime types

  • mime: A super simple utility library for dealing with mime-types.

Networking

  • dns-discovery: Service discovery using regular DNS and multicast DNS.
  • get-port: Get an available port.
  • internal-ip: Get your internal IPv4 or IPv6 address.
  • ipify: Get your public IP address, using the ipify API.
  • network-address: Get the local network address of your machine.
  • public-ip: Get your public IP address - very fast!
  • socket.io: Real-time bidirectional event-based communication.
  • ssh2: SSH2 client and server modules written in pure JavaScript
  • tcp-bind: Bind a low port and drop sudo priviledges ASAP.
  • torrent-stream: The low level streaming torrent engine that peerflix uses.
  • webtorrent: Streaming torrent client for the web.
  • wifi-list: List nearby wifi networks.

Objects

  • camelize: Recursively transform object keys to camel-case.
  • difflet: Colorful diffs for javascript objects.

ORMs & ODMs

  • mongoose: MongoDB object modeling designed to work in an asynchronous environment.
  • mongorito: MongoDB ODM for modern Node apps.
  • sequelize: Promise-based ORM for Postgres, MySQL, MariaDB, SQLite and Microsoft SQL Server.

Parsing

  • csv-parser: Streaming CSV parser.
  • excel-stream: A stream that converts excel spreadsheets into JSON object arrays.

PDF

  • pdfkit: PDF generation library.

Processes

  • auto-daemon: Automatically spawn implicit background services.
  • forever: A simple CLI tool for ensuring that a given script runs continuously.
  • pm2: Production process manager for Node.js applications with a built-in load balancer.
  • psy: Process monitor command. Like pm2 and forever, but will less features.

Promises

  • bluebird: Full featured promise library with unmatched performance.
  • q: A tool for creating and composing asynchronous promises.

Random generators

  • casual: Fake data generator.
  • chance: Random generator helper.
  • faker: Generate massive amounts of fake data.

React & Flux

  • flux: Application Architecture for Building User Interfaces.
  • redux: Predictable state container for JavaScript apps.
  • react: A declarative, efficient, and flexible JavaScript library for building user interfaces.
  • react-native: A framework for building native apps with React.
  • react-router: A complete routing library for React.

Serialization

Streams

  • multi-write-stream: Create a writable stream that writes to multiple other writeable streams.

Testing

  • chai: BDD/TDD assertion framework.
  • istanbul: Code coverage tool.
  • mocha: Simple, flexible, fun javascript test framework.
  • sinon: Test spies, stubs and mocks.
  • supertest: Super-agent driven library for testing node.js HTTP servers using a fluent API.
  • supertest-as-promised: Supercharges supertest with a then method.

Utility toolbelts

  • lazy.js: Functional utility library for JavaScript with a lazy engine.
  • lodash: A modern JavaScript utility library delivering modularity, performance & extras.
  • ramda: Practical functional Javascript.

Validation

Video

WebRTC