A curated list of delightful Node.js packages and resources.
2016-12-13 13:11
429 查看
A curated list of delightful
Node.js packages and resources.
Inspired by the awesome list thing.
Mad science
Command-line apps
Functional programming
HTTP
Debugging / Profiling
Logging
Web frameworks
Command-line utilities
Package managers
Build tools
Hardware
Templating
Documentation
Filesystem
Control flow
Streams
Real-time
Date
Image
Text
Math
Data validation
Parsing
Humanize
Compression
Network
Static site generators
Content management systems
Forum
Blogging
Database
Testing
Benchmarking
Minifiers
Authentication
Node.js management
Email
Polyfills
Natural language processing
Process management
AST
Weird
Miscellaneous
webtorrent - Streaming torrent client for Node.js and the browser.
peerflix - Streaming torrent client.
dat - Real-time replication and versioning for data sets.
ipfs - Distributed file system that seeks to connect all computing devices with the same
system of files.
Breach - Modular and hackable browser written in JavaScript.
peerwiki - All of Wikipedia on BitTorrent.
peercast - Stream a torrent video to Chromecast.
BitcoinJS - Clean, readable, proven Bitcoin library.
Bitcore - A pure and powerful Bitcoin library.
js-git - JavaScript implementation of Git.
NodeOS - The first operating system powered by npm.
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.
pageres - Responsive website screenshots.
trash - A safer alternative to
npm-name - Check whether a package name is available on npm.
yo - Run Yeoman generators.
ESLint - The pluggable linting utility for JavaScript.
JSCS - JavaScript Code Style checker.
cpy - Copy files.
torrent - Download torrents.
David - Tells you when your package npm dependencies are out of date.
vtop - More better top, with nice charts.
tmpin - Adds stdin support to any CLI app that accepts file input.
empty-trash - Empty the trash.
normit - Google Translate with speech synthesis in your terminal.
esformatter - JavaScript code beautifier/formatter.
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.
http-server - Simple, zero-config command-line HTTP server.
bcat - Pipe command output to web browsers.
slap - Sublime-like terminal-based text editor.
jsinspect - Detect copy-pasted and structurally similar code.
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.
modhelp - Syntax-highlighted module READMEs in terminal with ANSI-friendly pager.
wifi-password - Get the current wifi password.
wallpaper - Change the desktop wallpaper.
dark-mode - Toggle the Dark Mode in OS X 10.10 from the command-line.
Lo-Dash - A utility library delivering consistency, customization, performance, & extras. A better and
faster Underscore.js.
Ramda - A 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.
mori - A library for using ClojureScript's persistent data structures and supporting API
from the comfort of vanilla JavaScript.
Folktale - A suite of libraries for generic functional programming in JavaScript that allows you
to write elegant, modular applications with fewer bugs, and more reuse.
immutable - Immutable data collections.
underscore-contrib - The brass buckles on Underscore's utility belt.
Bacon.js - Functional reactive programming.
RxJS - Functional reactive library for transforming, composing, and querying various
kinds of data.
Lazy.js - Utility library similar to Lo-Dash/Underscore but with lazy evaluation, which can
translate to superior performance in many cases.
request - Simplified HTTP request client.
got - A nicer interface to the built-in
gh-got - Convenience wrapper for
interact with the GitHub API.
superagent - A small progressive HTTP request library.
axios - Promise based HTTP client (works in the browser too).
hyperquest - Streaming HTTP requests.
spdy - Creates SPDY servers with the same API as the built-in
Nock - A HTTP mocking and expectations library.
download - Download and extract files effortlessly.
wreck - HTTP Client Utilities.
http-proxy - A full-featured HTTP proxy.
node-inspector - Debugger based on Blink Developer Tools.
Theseus - A new type of JavaScript debugger featuring real-time code coverage, retroactive
inspection and asynchronous call tree.
longjohn - Long stack traces with configurable call trace length.
debug - Tiny debugging utility.
jstrace - Dynamic tracing for JavaScript, similar to dtrace, ktap etc.
TraceGL - Transforms your JavaScript, injecting monitoring code that produces a log
of everything that happens.
njsTrace - Instrument and trace your code, see all function calls, arguments, return values,
as well as the time spent in each function.
vstream - Instrumentable streams mix-ins to inspect a pipeline of streams.
stackman - Enhance an error stacktrace with code excerpts and other goodies.
winston - A multi-transport async logging library.
Bunyan - A simple and fast JSON logging library.
intel - A comprehensive logging library (handlers, filters, formatters, console injection).
Koa - A new web framework designed by the team behind Express, which aims to be a smaller, more expressive,
and more robust foundation for web applications and APIs.
Express - A minimal and flexible web application framework, providing a robust set of features for building
single and multi-page, and hybrid web applications.
Hapi - A rich framework for building applications and services.
LoopBack - Powerful framework for creating REST APIs and easily connecting to backend data sources.
Meteor - An ultra-simple, database-everywhere, data-on-the-wire, pure-Javascript web framework.
SailsJS - An MVC web framework with a modern twist, supporting WebSockets, streams, and a data-driven
API.
Restify - A node framework built specifically to enable you to build correct REST web services.
Derby - MVC framework, making it easy to write realtime, collaborative applications that
run in both Node.js and browsers.
Interfake - Rapid prototyping framework for making mock HTTP APIs, with a Node,
command-line and HTTP interface.
Restberry - Framework for setting up RESTful JSON APIs, applied to your database models without needing
to write any code.
chalk - Terminal string styling done right.
meow - CLI app helper.
minimist - Parse command-line flags.
get-stdin - Easier stdin.
user-home - Get the path to the user home directory.
Inquirer.js - Interactive command-line prompt.
update-notifier - Update notifications for your CLI app.
sudo-block - Block users from running your app with root permissions.
configstore - Easily load and persist config without having to think about where and
how.
insight - Helps you understand how your tool is being used by anonymously reporting usage
metrics to Google Analytics.
sparkly - Generate sparklines ▁▂▃▅▂▇
blessed - A curses-like library.
cli-table - Pretty unicode tables.
drawille - Draw on the terminal with unicode braille characters.
progress - Flexible ascii progress bar.
log-symbols - Colored symbols for various log levels.
columnify - Create text-based columns suitable for console output. Supports cell wrapping.
googleauth - Create and load persistent Google authentication tokens for command-line
apps.
figures - Unicode symbols with Windows CMD fallbacks.
cli-cursor - Toggle the CLI cursor.
ascii-charts - ASCII bar chart in the terminal.
cfonts - Sexy ASCII fonts for the console.
yn - Parse yes/no like values.
npm - A package manager for Node.js and the web.
Bower - A package manager for the web.
Component - A package manager for building better web apps.
Duo - A next-generation package manager for the front-end.
jspm.io - Frictionless browser package management with support for ES6, CommonJS, AMD modules.
gulp.js - Streaming and fast build system that favors code over config.
grunt - Task runner that can perform repetitive tasks like minification, compilation, unit testing, linting,
etc.
Broccoli - A fast, reliable asset pipeline, supporting constant-time rebuilds and compact
build definitions.
browserify - Browser-side require() the Node.js way.
webpack - Packs CommonJS/AMD modules for the browser.
Brunch - Front-end web app build tool with simple declarative config, fast incremental compilation,
and an opinionated workflow.
strong-build - Build a node app package and prepare to deploy it as a package to
production or use git to commit to a deploy branch.
johnny-five - Firmata based Arduino Framework.
serialport - Access serial ports for reading and writing.
usb - USB library.
cylon.js - Next generation robotics framework with support for 26 different platforms.
handlebars.js - A superset of Mustache templates which adds powerful features like
helpers and more advanced blocks.
hogan.js - Twitter's small, fast, phase-separated compiler for Mustache templates.
Jade - High performance template engine heavily influenced by Haml.
nunjucks - A powerful templating engine with inheritance, asynchronous control, and more
(jinja2 inspired).
Docco - A quick-and-dirty documentation generator which produces an HTML document that displays
your comments intermingled with your code.
JSDoc - API documentation generator similar to JavaDoc or PHPDoc.
dox - JavaScript documentation generator using Markdown and JSDoc.
jsdox - JSDoc3 to Markdown documentation generator.
apiDoc - Inline documentation for RESTful web APIs.
del - Delete files/folders using globs.
globby - Glob files with support for multiple patterns.
cpy - Copy files.
rimraf - Recursively delete files like
mkdirp - Recursively create directories like
graceful-fs - Drop-in replacement for the
with various improvements.
fs-extra - Extra methods for the
fs-write-stream-atomic - Like
but atomic.
lnfs - Force create symlinks like
chokidar - Filesystem watcher which stabilizes events from
well as using native
gaze - A globbing watch module which uses custom native binaries to listen to filesystem events.
istextorbinary - Check if a file is text or binary.
filenamify - Convert a string to a valid filename.
Callbacks
each-async - Async concurrent iterator like forEach.
async - Provides straight-forward, powerful functions for working with asynchronousity.
after-all-results - Bundle results of async functions calls into one callback
with all the results.
Generators
co - The ultimate generator based flow-control goodness.
suspend - Generator-based control flow that plays nice with callbacks, promises, and thunks.
Promises
native-promise-only - A polyfill for native ES6 Promises.
Bluebird - A fully featured promise library with focus on innovative features and
performance.
Q - A tool for making and composing asynchronous promises.
Streams
Highland.js - Manages synchronous and asynchronous code easily, using nothing more than standard JavaScript
and Node-like Streams.
Channels
js-csp - Communicating sequential processes for JavaScript (like Clojurescript core.async,
or Go).
Other
zone - Provides a way to group and track resources and errors across asynchronous operations.
through2 - Tiny wrapper around streams2 Transform to avoid explicit subclassing noise.
concat-stream - Concatenates a stream into strings or binary data.
simple-bufferstream - Turn a Buffer into a ReadableStream.
co-stream - co generator
stream.
byline - Super-simple line-by-line Stream reader.
first-chunk-stream - Transform the first chunk in a stream.
duplexify - Turn a writeable and readable stream into a single streams2 duplex stream.
pumpify - Combine an array of streams into a single duplex stream.
from2 - Convenience wrapper for ReadableStream, inspired by
from2-array - Create a
based on an array of source values.
peek-stream - Transform stream that lets you peek the first line before deciding
how to parse it.
binary-split - A fast newline (or any delimiter) splitter stream.
multistream - Combine multiple streams into a single stream.
graphicsmagick-stream - Fast conversion/scaling of images using a pool
of long lived graphicsmagick processes.
readable-stream - Mirror of Streams2 and Streams3 implementations in core.
s3-upload-stream - Upload a stream to an Amazon S3 bucket using multipart upload.
through2-concurrent - Transform object streams concurrently.
stream-combiner2 - Turn a pipeline into a single stream.
Socket.io - Enables real-time bidirectional event-based communication.
SockJS - Low latency, full duplex, cross-domain channel browser-server, with WebSockets
or without.
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.
Straw - Real-time dataflow framework.
Moment.js - Parse, validate, manipulate, and display dates.
Moment Timezone - IANA Time Zone Database + Moment.js.
dateformat - Date formatting.
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.
is-progressive - Check if a JPEG image is progressive.
Underscore.string - Collection of string manipulation utilities.
he - A robust HTML entity encoder/decoder.
iconv-lite - Convert character encodings.
repeating - Repeat a string.
camelcase - Convert a dash/dot/underscore/space separated string to camelCase: foo-bar
→ fooBar.
normalize-url - Normalize a URL.
humanize-url - Humanize a URL: http://sindresorhus.com →
sindresorhus.com.
escape-string-regexp - Escape RegExp special characters.
indent-string - Indent each line in a string.
strip-indent - Strip leading whitespace from every line in a string.
detect-indent - Detect the indentation of code.
i18n-node - Simple translation module with dynamic JSON storage.
babelfish - i18n with very easy syntax for plurals.
string-length - Get the real length of a string - by correctly counting astral
symbols and ignoring ansi escape codes.
speakingurl - Generate a slug from a string with transliteration.
linkify-it - Link patterns detector with full unicode support.
ndarray - Multidimensional arrays.
mathjs - An extensive math library.
joi - Object schema description language and validator for JavaScript objects.
is-my-json-valid - JSON Schema validator that uses code generation to be extremely
fast.
css - CSS parser / stringifier.
strip-json-comments - Strip comments from JSON.
marked - A markdown parser and compiler built for speed.
markdown-it - A very fast markdown parser with 100% CommonMark support, extensions
and syntax plugins.
js-yaml - Very fast YAML parser.
URI.js - URL mutation.
JSONStream - Streaming JSON.parse and stringify.
csv-parser - Streaming CSV parser that aims to be faster than everyone else.
excel-stream - Streaming Excel spreadsheet to JSON parser.
parse5 - Fast full-featured spec compliant HTML parser.
htmlparser2 - Forgiving HTML/XML parser.
PostCSS - Framework for CSS postprocessors, to modify CSS.
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.
x-ray - A web scraping utility to see through the
nearley - Simple, fast, powerful parsing for JavaScript.
pretty-bytes - Convert bytes to a human readable string:
pretty-ms - Convert milliseconds to a human readable string:
ms - Tiny millisecond conversion utility.
pretty-error - Errors with less clutter.
humanize - Data formatter for human readability.
read-art - Extract readable content from any page.
Archiver - Streaming interface for archive generation, supporting ZIP and TAR.
decompress-zip - Unzip.
tar-stream - Streaming tar parser and generator. Also see tar-fs.
decompress - A pluggable decompression module with support for
out of the box.
pako - High speed zlib port to pure js (deflate, inflate, gzip).
get-port - Get an available port.
ipify - Get your public IP address.
getmac - Get the computer MAC address.
Metalsmith - An extremely simple, pluggable static site generator.
Wintersmith - Flexible, minimalistic, multi-platform static site generator.
Assemble - Static site generator for Node.js, Grunt.js, and Yeoman.
DocPad - Static site generator with dynamic abilities and huge plugin ecosystem.
KeystoneJS - CMS and web application platform built on Express and MongoDB.
Calipso - A simple content management system, built along similar themes to Drupal and Wordpress, that is
designed to be fast, flexible and simple.
Apostrophe2 - A content management system with an emphasis on intuitive front end content editing
and administration built on Express and MongoDB.
nodeBB - A better forum platform for the modern web.
ghost - Simple, powerful publishing platform that allows you to share your story with the world.
Hexo - Fast, simple and powerful blogging framework.
Drivers
LevelUP - LevelDB.
MongoDB - MongoDB driver.
PostgreSQL - PostgreSQL client. Pure JavaScript and native libpq bindings.
MySQL - MySQL client.
Redis - Redis client.
ODM / ORM
Bookshelf - ORM for PostgreSQL, MySQL and SQLite3 in the style of Backbone.js.
JugglingDB - Multi-database ORM with a common API. Supports Redis, PostgreSQL, MongoDB,
MySQL, SQLite, Neo4j, memory, and more.
Mongoose - Elegant MongoDB object modeling.
Sequelize - Multi-dialect ORM. Supports PostgreSQL, SQLite, MySQL.
Waterline - Datastore-agnostic tool that dramatically simplifies interaction with
one or more databases.
Iridium - A high performance MongoDB ORM with support for promises, distributed
caching, preprocessing, validation and plugins.
OpenRecord - ORM for PostgreSQL, MySQL, SQLite3 and RESTful datastores. Similar
to ActiveRecord.
Query builder
Knex - A query builder for PostgreSQL, MySQL and SQLite3, designed to be flexible, portable, and fun to
use.
Other
NeDB - Embedded persistent database written in JavaScript.
tape - TAP-producing
test harness.
Mocha - A feature-rich test framework making asynchronous testing simple and fun.
Mochify - TDD with Browserify, Mocha, PhantomJS and WebDriver.
loadtest - Run load tests for your web application, with an API for automation.
istanbul - A code coverage tool that computes statement, line, function and branch
coverage with module loader hooks to transparently add coverage when running tests.
Sinon.JS - Test spies, stubs and mocks.
Karma - Executes code in multiple real browsers.
navit - PhantomJS wrapper for easy client tests scripting.
Benchmark.js - A robust benchmarking library that works on nearly all JavaScript platforms, supports
high-resolution timers, and returns statistically significant results.
matcha - A caffeine driven, simplistic approach to benchmarking.
UglifyJS2 - JavaScript minifier.
clean-css - CSS minifier.
minimize - HTML minifier.
imagemin - Image minifier.
Passport - Simple, unobtrusive authentication.
everyauth - Authentication and authorization (password, facebook, & more) for your Connect
and Express apps.
passwordless - Token-based authentication middleware for Express allowing authentication without
passwords.
Lockit - Full featured authentication solution for Express. Supports a variety of databases,
predefined routes, email and two-factor authentication.
Grant - OAuth middleware for Express, Koa and Hapi.
n - Node.js version management.
nave - Virtual Environments for Node.js.
nodeenv - A Node.js virtual environment compatible to Python's virtualenv.
nvm for Windows - Version management for Windows.
Nodemailer - The fastest way to handle email.
object-assign - ES6
path-is-absolute - Node.js 0.12
debug-log - Node.js 0.12
set-immediate-shim - Simple setImmediate polyfill.
harmony-reflect - ES6 Reflect and Proxy polyfill.
es6-shim - Collection of ES6 polyfills.
More ES6 polyfills at es6-tools.
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 - A general natural language facility.
node-windows - Run scripts as a native Windows service and log to the Event viewer.
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.
forever - A simple CLI tool for ensuring that a given script runs continuously (i.e.
forever).
supervisor - Restart scripts when they crash or restart when a
changes.
PM2 - Advanced Process Manager.
Phusion Passenger - Friendly process manager that integrates directly into Nginx.
naught - Process manager with zero downtime deployment.
Acorn - A tiny, fast JavaScript parser.
Rocambole - Recursively walk and transform JavaScript AST.
superb - Get superb like words.
cat-names - Get popular cat names.
dog-names - Get popular dog names.
cool-ascii-faces - Get some cool ascii faces.
cat-ascii-faces - ₍˄·͈༝·͈˄₎◞ ̑̑ෆ⃛ (=ↀωↀ=)✧ (^・o・^)ノ”
multiline - Multiline strings in JavaScript.
opn - Opens stuff like websites, files, executables.
semver - semver parser.
cheerio - Fast, flexible, and lean implementation of core jQuery designed specifically
for the server.
require-uncached - Require a module bypassing the cache.
Faker.js - Generate massive amounts of fake data.
Bottleneck - A powerful rate limiter that makes throttling easy.
stringify-object - Stringify an object/array like JSON.stringify just without all
the double-quotes.
strip-bom - Strip UTF-8 byte order mark (BOM) from a string/buffer/stream.
shelljs - Portable Unix shell commands.
nan - A header file filled with macro and utility goodness for making add-on development for
across Node.js versions easier.
ssh2 - An SSH2 client module.
lazy-req - Require modules lazily.
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.
common-errors - Common error classes and utility functions.
Electron - Cross-platform desktop application shell.
agenda - Lightweight job scheduling on MongoDB.
node-bell - Real-time anomalies detection for periodic time series.
dotenv - Load environment variables from .env file.
file-type - Detect the file type of a Buffer.
os-locale - Get the system locale.
remote-git-tags - Get tags from a remote git repo.
dot-prop - Get a property from a nested object using a dot path.
onetime - Only run a function once.
Nodeschool - Learn Node.js with interactive lessons.
The Art of Node - An introduction to Node.js.
stream-handbook - How to write Node.js programs with streams.
browserify-handbook - The definitive guide for browserify.
module-best-practices - Some good practices when writing new npm modules.
node-modules.com - An alternative npm search engine with a more intelligent and personal results
ranking.
Error Handling in Node.js
Teach Yourself Node.JS in 10 Steps
node weekly - Weekly e-mail round-up of Node.js news and articles.
nmotw - Node Module Of The Week, weekly dose of hand picked node modules.
Introduction to Node.js with Ryan Dahl
LearnAllTheNodes - Series of useful tips, tricks, and packages.
Introduction to Node.js Fundamentals
Hands on with Node.js
Full Streams Ahead - Introduction to streams.
NodeUp
Node.js in Action
Mastering Node
Professional Node.js: Building Javascript
Based Scalable Software
Practical Node.js: Building Real-World Scalable Web Apps
Mixu's Node book
Web Development with Node and Express
Node.js blog
HowToNode - Teaching how to do various tasks in Node.js as well as teach fundamental concepts that are
needed to write effective code.
Real Time Web with Node.js
Express.js
GitHub Linker - Chrome extension
that linkifies dependencies in package.json, .js, .jsx, .coffee and .md files on GitHub.
nodebots - Robots powered by JavaScript.
node-module-boilerplate - Boilerplate to kickstart creating a node
module.
generator-nm - Scaffold out a node module.
Node.js packages and resources.
Inspired by the awesome list thing.
Packages
Mad scienceCommand-line apps
Functional programming
HTTP
Debugging / Profiling
Logging
Web frameworks
Command-line utilities
Package managers
Build tools
Hardware
Templating
Documentation
Filesystem
Control flow
Streams
Real-time
Date
Image
Text
Math
Data validation
Parsing
Humanize
Compression
Network
Static site generators
Content management systems
Forum
Blogging
Database
Testing
Benchmarking
Minifiers
Authentication
Node.js management
Polyfills
Natural language processing
Process management
AST
Weird
Miscellaneous
Mad science
webtorrent - Streaming torrent client for Node.js and the browser.peerflix - Streaming torrent client.
dat - Real-time replication and versioning for data sets.
ipfs - Distributed file system that seeks to connect all computing devices with the same
system of files.
Breach - Modular and hackable browser written in JavaScript.
peerwiki - All of Wikipedia on BitTorrent.
peercast - Stream a torrent video to Chromecast.
BitcoinJS - Clean, readable, proven Bitcoin library.
Bitcore - A pure and powerful Bitcoin library.
js-git - JavaScript implementation of Git.
NodeOS - The first operating system powered by npm.
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.
Command-line apps
pageres - Responsive website screenshots.trash - A safer alternative to
rm.
npm-name - Check whether a package name is available on npm.
yo - Run Yeoman generators.
ESLint - The pluggable linting utility for JavaScript.
JSCS - JavaScript Code Style checker.
cpy - Copy files.
torrent - Download torrents.
David - Tells you when your package npm dependencies are out of date.
vtop - More better top, with nice charts.
tmpin - Adds stdin support to any CLI app that accepts file input.
empty-trash - Empty the trash.
normit - Google Translate with speech synthesis in your terminal.
esformatter - JavaScript code beautifier/formatter.
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.
http-server - Simple, zero-config command-line HTTP server.
bcat - Pipe command output to web browsers.
slap - Sublime-like terminal-based text editor.
jsinspect - Detect copy-pasted and structurally similar code.
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.
modhelp - Syntax-highlighted module READMEs in terminal with ANSI-friendly pager.
wifi-password - Get the current wifi password.
wallpaper - Change the desktop wallpaper.
dark-mode - Toggle the Dark Mode in OS X 10.10 from the command-line.
Functional programming
Lo-Dash - A utility library delivering consistency, customization, performance, & extras. A better andfaster Underscore.js.
Ramda - A 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.
mori - A library for using ClojureScript's persistent data structures and supporting API
from the comfort of vanilla JavaScript.
Folktale - A suite of libraries for generic functional programming in JavaScript that allows you
to write elegant, modular applications with fewer bugs, and more reuse.
immutable - Immutable data collections.
underscore-contrib - The brass buckles on Underscore's utility belt.
Bacon.js - Functional reactive programming.
RxJS - Functional reactive library for transforming, composing, and querying various
kinds of data.
Lazy.js - Utility library similar to Lo-Dash/Underscore but with lazy evaluation, which can
translate to superior performance in many cases.
HTTP
request - Simplified HTTP request client.got - A nicer interface to the built-in
httpmodule.
gh-got - Convenience wrapper for
gotto
interact with the GitHub API.
superagent - A small progressive HTTP request library.
axios - Promise based HTTP client (works in the browser too).
hyperquest - Streaming HTTP requests.
spdy - Creates SPDY servers with the same API as the built-in
httpsmodule.
Nock - A HTTP mocking and expectations library.
download - Download and extract files effortlessly.
wreck - HTTP Client Utilities.
http-proxy - A full-featured HTTP proxy.
Debugging / Profiling
node-inspector - Debugger based on Blink Developer Tools.Theseus - A new type of JavaScript debugger featuring real-time code coverage, retroactive
inspection and asynchronous call tree.
longjohn - Long stack traces with configurable call trace length.
debug - Tiny debugging utility.
jstrace - Dynamic tracing for JavaScript, similar to dtrace, ktap etc.
TraceGL - Transforms your JavaScript, injecting monitoring code that produces a log
of everything that happens.
njsTrace - Instrument and trace your code, see all function calls, arguments, return values,
as well as the time spent in each function.
vstream - Instrumentable streams mix-ins to inspect a pipeline of streams.
stackman - Enhance an error stacktrace with code excerpts and other goodies.
Logging
winston - A multi-transport async logging library.Bunyan - A simple and fast JSON logging library.
intel - A comprehensive logging library (handlers, filters, formatters, console injection).
Web frameworks
Koa - A new web framework designed by the team behind Express, which aims to be a smaller, more expressive,and more robust foundation for web applications and APIs.
Express - A minimal and flexible web application framework, providing a robust set of features for building
single and multi-page, and hybrid web applications.
Hapi - A rich framework for building applications and services.
LoopBack - Powerful framework for creating REST APIs and easily connecting to backend data sources.
Meteor - An ultra-simple, database-everywhere, data-on-the-wire, pure-Javascript web framework.
SailsJS - An MVC web framework with a modern twist, supporting WebSockets, streams, and a data-driven
API.
Restify - A node framework built specifically to enable you to build correct REST web services.
Derby - MVC framework, making it easy to write realtime, collaborative applications that
run in both Node.js and browsers.
Interfake - Rapid prototyping framework for making mock HTTP APIs, with a Node,
command-line and HTTP interface.
Restberry - Framework for setting up RESTful JSON APIs, applied to your database models without needing
to write any code.
Command-line utilities
chalk - Terminal string styling done right.meow - CLI app helper.
minimist - Parse command-line flags.
get-stdin - Easier stdin.
user-home - Get the path to the user home directory.
Inquirer.js - Interactive command-line prompt.
update-notifier - Update notifications for your CLI app.
sudo-block - Block users from running your app with root permissions.
configstore - Easily load and persist config without having to think about where and
how.
insight - Helps you understand how your tool is being used by anonymously reporting usage
metrics to Google Analytics.
sparkly - Generate sparklines ▁▂▃▅▂▇
blessed - A curses-like library.
cli-table - Pretty unicode tables.
drawille - Draw on the terminal with unicode braille characters.
progress - Flexible ascii progress bar.
log-symbols - Colored symbols for various log levels.
columnify - Create text-based columns suitable for console output. Supports cell wrapping.
googleauth - Create and load persistent Google authentication tokens for command-line
apps.
figures - Unicode symbols with Windows CMD fallbacks.
cli-cursor - Toggle the CLI cursor.
ascii-charts - ASCII bar chart in the terminal.
cfonts - Sexy ASCII fonts for the console.
yn - Parse yes/no like values.
Package managers
npm - A package manager for Node.js and the web.Bower - A package manager for the web.
Component - A package manager for building better web apps.
Duo - A next-generation package manager for the front-end.
jspm.io - Frictionless browser package management with support for ES6, CommonJS, AMD modules.
Build tools
gulp.js - Streaming and fast build system that favors code over config.grunt - Task runner that can perform repetitive tasks like minification, compilation, unit testing, linting,
etc.
Broccoli - A fast, reliable asset pipeline, supporting constant-time rebuilds and compact
build definitions.
browserify - Browser-side require() the Node.js way.
webpack - Packs CommonJS/AMD modules for the browser.
Brunch - Front-end web app build tool with simple declarative config, fast incremental compilation,
and an opinionated workflow.
strong-build - Build a node app package and prepare to deploy it as a package to
production or use git to commit to a deploy branch.
Hardware
johnny-five - Firmata based Arduino Framework.serialport - Access serial ports for reading and writing.
usb - USB library.
cylon.js - Next generation robotics framework with support for 26 different platforms.
Templating
handlebars.js - A superset of Mustache templates which adds powerful features likehelpers and more advanced blocks.
hogan.js - Twitter's small, fast, phase-separated compiler for Mustache templates.
Jade - High performance template engine heavily influenced by Haml.
nunjucks - A powerful templating engine with inheritance, asynchronous control, and more
(jinja2 inspired).
Documentation
Docco - A quick-and-dirty documentation generator which produces an HTML document that displaysyour comments intermingled with your code.
JSDoc - API documentation generator similar to JavaDoc or PHPDoc.
dox - JavaScript documentation generator using Markdown and JSDoc.
jsdox - JSDoc3 to Markdown documentation generator.
apiDoc - Inline documentation for RESTful web APIs.
Filesystem
del - Delete files/folders using globs.globby - Glob files with support for multiple patterns.
cpy - Copy files.
rimraf - Recursively delete files like
rm -rf.
mkdirp - Recursively create directories like
mkdir -p.
graceful-fs - Drop-in replacement for the
fsmodule
with various improvements.
fs-extra - Extra methods for the
fsmodule.
fs-write-stream-atomic - Like
fs.createWriteStream(),
but atomic.
lnfs - Force create symlinks like
ln -fs.
chokidar - Filesystem watcher which stabilizes events from
fs.watchand
fs.watchFileas
well as using native
fseventson OS X.
gaze - A globbing watch module which uses custom native binaries to listen to filesystem events.
istextorbinary - Check if a file is text or binary.
filenamify - Convert a string to a valid filename.
Control flow
Callbackseach-async - Async concurrent iterator like forEach.
async - Provides straight-forward, powerful functions for working with asynchronousity.
after-all-results - Bundle results of async functions calls into one callback
with all the results.
Generators
co - The ultimate generator based flow-control goodness.
suspend - Generator-based control flow that plays nice with callbacks, promises, and thunks.
Promises
native-promise-only - A polyfill for native ES6 Promises.
Bluebird - A fully featured promise library with focus on innovative features and
performance.
Q - A tool for making and composing asynchronous promises.
Streams
Highland.js - Manages synchronous and asynchronous code easily, using nothing more than standard JavaScript
and Node-like Streams.
Channels
js-csp - Communicating sequential processes for JavaScript (like Clojurescript core.async,
or Go).
Other
zone - Provides a way to group and track resources and errors across asynchronous operations.
Streams
through2 - Tiny wrapper around streams2 Transform to avoid explicit subclassing noise.concat-stream - Concatenates a stream into strings or binary data.
simple-bufferstream - Turn a Buffer into a ReadableStream.
co-stream - co generator
stream.
byline - Super-simple line-by-line Stream reader.
first-chunk-stream - Transform the first chunk in a stream.
duplexify - Turn a writeable and readable stream into a single streams2 duplex stream.
pumpify - Combine an array of streams into a single duplex stream.
from2 - Convenience wrapper for ReadableStream, inspired by
through2.
from2-array - Create a
from2stream
based on an array of source values.
peek-stream - Transform stream that lets you peek the first line before deciding
how to parse it.
binary-split - A fast newline (or any delimiter) splitter stream.
multistream - Combine multiple streams into a single stream.
graphicsmagick-stream - Fast conversion/scaling of images using a pool
of long lived graphicsmagick processes.
readable-stream - Mirror of Streams2 and Streams3 implementations in core.
s3-upload-stream - Upload a stream to an Amazon S3 bucket using multipart upload.
through2-concurrent - Transform object streams concurrently.
stream-combiner2 - Turn a pipeline into a single stream.
Real-time
Socket.io - Enables real-time bidirectional event-based communication.SockJS - Low latency, full duplex, cross-domain channel browser-server, with WebSockets
or without.
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.
Straw - Real-time dataflow framework.
Date
Moment.js - Parse, validate, manipulate, and display dates.Moment Timezone - IANA Time Zone Database + Moment.js.
dateformat - Date formatting.
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.
is-progressive - Check if a JPEG image is progressive.
Text
Underscore.string - Collection of string manipulation utilities.he - A robust HTML entity encoder/decoder.
iconv-lite - Convert character encodings.
repeating - Repeat a string.
camelcase - Convert a dash/dot/underscore/space separated string to camelCase: foo-bar
→ fooBar.
normalize-url - Normalize a URL.
humanize-url - Humanize a URL: http://sindresorhus.com →
sindresorhus.com.
escape-string-regexp - Escape RegExp special characters.
indent-string - Indent each line in a string.
strip-indent - Strip leading whitespace from every line in a string.
detect-indent - Detect the indentation of code.
i18n-node - Simple translation module with dynamic JSON storage.
babelfish - i18n with very easy syntax for plurals.
string-length - Get the real length of a string - by correctly counting astral
symbols and ignoring ansi escape codes.
speakingurl - Generate a slug from a string with transliteration.
linkify-it - Link patterns detector with full unicode support.
Math
ndarray - Multidimensional arrays.mathjs - An extensive math library.
Data validation
joi - Object schema description language and validator for JavaScript objects.is-my-json-valid - JSON Schema validator that uses code generation to be extremely
fast.
Parsing
css - CSS parser / stringifier.strip-json-comments - Strip comments from JSON.
marked - A markdown parser and compiler built for speed.
markdown-it - A very fast markdown parser with 100% CommonMark support, extensions
and syntax plugins.
js-yaml - Very fast YAML parser.
URI.js - URL mutation.
JSONStream - Streaming JSON.parse and stringify.
csv-parser - Streaming CSV parser that aims to be faster than everyone else.
excel-stream - Streaming Excel spreadsheet to JSON parser.
parse5 - Fast full-featured spec compliant HTML parser.
htmlparser2 - Forgiving HTML/XML parser.
PostCSS - Framework for CSS postprocessors, to modify CSS.
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.
x-ray - A web scraping utility to see through the
<html>noise.
nearley - Simple, fast, powerful parsing for JavaScript.
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.
humanize - Data formatter for human readability.
read-art - Extract readable content from any page.
Compression
Archiver - Streaming interface for archive generation, supporting ZIP and TAR.decompress-zip - Unzip.
tar-stream - Streaming tar parser and generator. Also see tar-fs.
decompress - A pluggable decompression module with support for
tar,
tar.gzand
zipfiles
out of the box.
pako - High speed zlib port to pure js (deflate, inflate, gzip).
Network
get-port - Get an available port.ipify - Get your public IP address.
getmac - Get the computer MAC address.
Static site generators
Metalsmith - An extremely simple, pluggable static site generator.Wintersmith - Flexible, minimalistic, multi-platform static site generator.
Assemble - Static site generator for Node.js, Grunt.js, and Yeoman.
DocPad - Static site generator with dynamic abilities and huge plugin ecosystem.
Content management systems
KeystoneJS - CMS and web application platform built on Express and MongoDB.Calipso - A simple content management system, built along similar themes to Drupal and Wordpress, that is
designed to be fast, flexible and simple.
Apostrophe2 - A content management system with an emphasis on intuitive front end content editing
and administration built on Express and MongoDB.
Forum
nodeBB - A better forum platform for the modern web.
Blogging
ghost - Simple, powerful publishing platform that allows you to share your story with the world.Hexo - Fast, simple and powerful blogging framework.
Database
DriversLevelUP - LevelDB.
MongoDB - MongoDB driver.
PostgreSQL - PostgreSQL client. Pure JavaScript and native libpq bindings.
MySQL - MySQL client.
Redis - Redis client.
ODM / ORM
Bookshelf - ORM for PostgreSQL, MySQL and SQLite3 in the style of Backbone.js.
JugglingDB - Multi-database ORM with a common API. Supports Redis, PostgreSQL, MongoDB,
MySQL, SQLite, Neo4j, memory, and more.
Mongoose - Elegant MongoDB object modeling.
Sequelize - Multi-dialect ORM. Supports PostgreSQL, SQLite, MySQL.
Waterline - Datastore-agnostic tool that dramatically simplifies interaction with
one or more databases.
Iridium - A high performance MongoDB ORM with support for promises, distributed
caching, preprocessing, validation and plugins.
OpenRecord - ORM for PostgreSQL, MySQL, SQLite3 and RESTful datastores. Similar
to ActiveRecord.
Query builder
Knex - A query builder for PostgreSQL, MySQL and SQLite3, designed to be flexible, portable, and fun to
use.
Other
NeDB - Embedded persistent database written in JavaScript.
Testing
tape - TAP-producingtest harness.
Mocha - A feature-rich test framework making asynchronous testing simple and fun.
Mochify - TDD with Browserify, Mocha, PhantomJS and WebDriver.
loadtest - Run load tests for your web application, with an API for automation.
istanbul - A code coverage tool that computes statement, line, function and branch
coverage with module loader hooks to transparently add coverage when running tests.
Sinon.JS - Test spies, stubs and mocks.
Karma - Executes code in multiple real browsers.
navit - PhantomJS wrapper for easy client tests scripting.
Benchmarking
Benchmark.js - A robust benchmarking library that works on nearly all JavaScript platforms, supportshigh-resolution timers, and returns statistically significant results.
matcha - A caffeine driven, simplistic approach to benchmarking.
Minifiers
UglifyJS2 - JavaScript minifier.clean-css - CSS minifier.
minimize - HTML minifier.
imagemin - Image minifier.
Authentication
Passport - Simple, unobtrusive authentication.everyauth - Authentication and authorization (password, facebook, & more) for your Connect
and Express apps.
passwordless - Token-based authentication middleware for Express allowing authentication without
passwords.
Lockit - Full featured authentication solution for Express. Supports a variety of databases,
predefined routes, email and two-factor authentication.
Grant - OAuth middleware for Express, Koa and Hapi.
Node.js management
n - Node.js version management.nave - Virtual Environments for Node.js.
nodeenv - A Node.js virtual environment compatible to Python's virtualenv.
nvm for Windows - Version management for Windows.
Email
Nodemailer - The fastest way to handle email.
Polyfills
object-assign - ES6 Object.assign()polyfill.
path-is-absolute - Node.js 0.12
path.isAbsolute()polyfill.
debug-log - Node.js 0.12
util.debuglog()ponyfill.
set-immediate-shim - Simple setImmediate polyfill.
harmony-reflect - ES6 Reflect and Proxy polyfill.
es6-shim - Collection of ES6 polyfills.
More ES6 polyfills at es6-tools.
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 - A general natural language facility.
Process management
node-windows - Run scripts as a native Windows service and log to the Event viewer.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.
forever - A simple CLI tool for ensuring that a given script runs continuously (i.e.
forever).
supervisor - Restart scripts when they crash or restart when a
*.jsfile
changes.
PM2 - Advanced Process Manager.
Phusion Passenger - Friendly process manager that integrates directly into Nginx.
naught - Process manager with zero downtime deployment.
AST
Acorn - A tiny, fast JavaScript parser.Rocambole - Recursively walk and transform JavaScript AST.
Weird
superb - Get superb like words.cat-names - Get popular cat names.
dog-names - Get popular dog names.
cool-ascii-faces - Get some cool ascii faces.
cat-ascii-faces - ₍˄·͈༝·͈˄₎◞ ̑̑ෆ⃛ (=ↀωↀ=)✧ (^・o・^)ノ”
Miscellaneous
multiline - Multiline strings in JavaScript.opn - Opens stuff like websites, files, executables.
semver - semver parser.
cheerio - Fast, flexible, and lean implementation of core jQuery designed specifically
for the server.
require-uncached - Require a module bypassing the cache.
Faker.js - Generate massive amounts of fake data.
Bottleneck - A powerful rate limiter that makes throttling easy.
stringify-object - Stringify an object/array like JSON.stringify just without all
the double-quotes.
strip-bom - Strip UTF-8 byte order mark (BOM) from a string/buffer/stream.
shelljs - Portable Unix shell commands.
nan - A header file filled with macro and utility goodness for making add-on development for
across Node.js versions easier.
ssh2 - An SSH2 client module.
lazy-req - Require modules lazily.
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.
common-errors - Common error classes and utility functions.
Electron - Cross-platform desktop application shell.
agenda - Lightweight job scheduling on MongoDB.
node-bell - Real-time anomalies detection for periodic time series.
dotenv - Load environment variables from .env file.
file-type - Detect the file type of a Buffer.
os-locale - Get the system locale.
remote-git-tags - Get tags from a remote git repo.
dot-prop - Get a property from a nested object using a dot path.
onetime - Only run a function once.
Resources
Tutorials
Nodeschool - Learn Node.js with interactive lessons.The Art of Node - An introduction to Node.js.
stream-handbook - How to write Node.js programs with streams.
browserify-handbook - The definitive guide for browserify.
module-best-practices - Some good practices when writing new npm modules.
Discovery
node-modules.com - An alternative npm search engine with a more intelligent and personal resultsranking.
Articles
Error Handling in Node.jsTeach Yourself Node.JS in 10 Steps
Newsletters
node weekly - Weekly e-mail round-up of Node.js news and articles.nmotw - Node Module Of The Week, weekly dose of hand picked node modules.
Videos
Introduction to Node.js with Ryan DahlLearnAllTheNodes - Series of useful tips, tricks, and packages.
Introduction to Node.js Fundamentals
Hands on with Node.js
Full Streams Ahead - Introduction to streams.
Podcasts
NodeUp
Books
Node.js in ActionMastering Node
Professional Node.js: Building Javascript
Based Scalable Software
Practical Node.js: Building Real-World Scalable Web Apps
Mixu's Node book
Web Development with Node and Express
Blogs
Node.js blogHowToNode - Teaching how to do various tasks in Node.js as well as teach fundamental concepts that are
needed to write effective code.
Courses
Real Time Web with Node.js
Cheatsheets
Express.js
Tools
GitHub Linker - Chrome extensionthat linkifies dependencies in package.json, .js, .jsx, .coffee and .md files on GitHub.
Miscellaneous
nodebots - Robots powered by JavaScript.node-module-boilerplate - Boilerplate to kickstart creating a node
module.
generator-nm - Scaffold out a node module.
相关文章推荐
- Edge.js:让.NET和Node.js代码比翼齐飞(http://www.infoq.com/cn/articles/the_edge_of_net_and_node)
- Remove Nth Node From End of List - JS
- Leetcode_remove-nth-node-from-end-of-list(c++ and python version)
- nodejs采坑记录之-“Make sure you have the latest version of node.js and npm installed”
- [88] A brief list of Goa'uld words and phrases.
- the list of creative,well designed and 100% pure Flex Websites(11+)
- This list contains all of the known Microsoft Knowledge Base articles, howtos, fixes, hotfixes, webcasts and updates of Microsof
- MM--A List of Tables and Tcodes about MM
- Get Remote Machines Last Boot Time From A List Of Machines And Write To Excel - 如何获得远程主机的启动时间
- 15 Minute SEO List - Learn how to SEO:List of Best and Worst practices for designing a high traffic website
- The query processor ran out of internal resources and could not produce a query plan. This is a rare event and only expected for
- [转]Beware of Hot Skills Lists: a JonERP.com Disclaimer and Tips List
- [转]The Big List of JavaScript, CSS, and HTML Development Tools, Libraries, Projects, and Books
- List of free and open source operating systems (In alphabetic order, 345)
- MM--A List of Tables and Tcodes about MM
- List of X$ Tables and how the names are derived
- List of approver codes and roles analysis