Nodejs 资源大全中文版,正在翻译中。。。
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
README.md
readme.html

README.md

Awesome Node.js 中文版

一份nodejs的超级大礼包 包(packages) and 资源(resources)

被老外的awesome 清单刺激到,觉得有必要翻译一份,为国产的程序员们做点事情,本清单将保持实时更新同步。PS:进都进来了,就顺便看看其他的吧:

如果想加入,那就加入吧。

目录

神奇的科学

  • webtorrent - WebTorrent 是一个可工作在node.js和浏览器的流BT客户端。它完全采用JavaScript开发,在浏览器中WebTorrent使用WebRTC (data channels) 来进行p2p传输。它可以不使用浏览器插件,扩展或安装。只有JavaScript。
  • GitTorrent - Git仓库的P2P网络,通过比特流分享。
  • peerflix - 流客户端.
  • dat - Dat 是开源的项目,进行实时复制,数据集版本控制,提供每个文件格式和数据存储后端的流。.
  • ipfs - IPFS 是分布式文件系统,寻求连接所有计算机设备的相同文件系统。在某些方面,这很类似于原始的 Web 目标,但是 IPFS 最终会更像单个比特流群交换的 git 对象。
  • stackgl - WebGL的开源软件生态系统,基于browserify和npm构建。
  • peerwiki - 比特流上的所有wiki
  • peercast - 推送视频流到Chromecast.
  • BitcoinJS - BitcoinJS 是一个纯 JavaScript 库,支持 Node.js和浏览器,用于操作各种比特币钱包。代码清晰,可读性强。
  • Bitcore - Bitcore 是一个完整原生的比特币网络的 JavaScript 开发库,提供比特币应用开发的核心功能。
  • PDFKit - PDF生成器库.
  • turf - Turf 是一个 JavaScript 的模块化的 GIS 引擎,它执行地理空间与GeoJSON数据处理任务,可以在服务器或在浏览器上运行。
  • webcat - 使用您的GitHub的私有/公共密钥认证的p2p管道,可以通过WebRTC跨web使用。
  • js-git - Git的JavaScript实现。
  • NodeOS - 第一个通过npm实现的操作系统,使用Node.js编写。
  • limdu - 一个机器学习框架。
  • Cytoscape.js - Cytoscape.js 是个开源 JavaScript 图形库,用户可以用 Cytoscape.js 来分析和制作可视化图形。它兼容 CommonJS/Node.js, jQuery 1.4+ 和纯 JavaScript。

命令行应用

  • pageres - 网站截图工具。
  • trash - trash 命令替代linux rm命令实现windows回收站的功能
  • npm-name - 检查报名在npm上是否可用。
  • XO - XO 是 JavaScript 幸福样式,强制执行严格代码风格,pull request 的时候不会再讨论代码风格。没有 .eslintrc,.jshintrc,.jscsrc 管理。
  • speed-test - 测试网络连接速度和ping。
  • np - 比npm publish更好用。
  • yo - 运行Yeoman生成器。
  • Babel - 从现在开始使用下一代JavaScript。
  • ESLint - ESLint 是一个开源的插件化得JavaScript验证工具,相比JSLint,ESLint具有可配置性。
  • JSCS - JavaScript代码风格检查。
  • Standard - JavaScript标准风格,使用一种风格来限制所有。
  • cpy - 复制文件。
  • fkill - 跨平台的,更好的杀死进程的方式。
  • vantage - Vangtage.js 是一个全新的 Node 交互式 CLI。Vangtage 灵感来源于 commander.js,通过 inquirer.js 的交互式 prompt 把在线 Node 应用转换到 CLI。可以本地或者远程访问,Vantage 可以让你构建自己的 API,导入社区扩展等等。
  • vtop - 更好更漂亮的图表。
  • tmpin - 给所有能接受文件输入的CLI应用添加标准输入支持。
  • empty-trash - 清空回收站。
  • is-up - 检查Web站点是否在线。
  • is-online - 检查是否联网。
  • public-ip - 获取你的公网IP。
  • dark-mode - 触发OS X的夜间模式。
  • ttystudio - 记录你的终端并且编译成GIF或者APNG动态图,无需任何依赖,bash脚本或者gif相关的东西。
  • David - 当你的npm依赖过时的时候通知你。
  • http-server - 简单,零配置的命令行HTTP服务器。
  • Live Server - 一个自带热加载功能的http服务器。
  • bcat - 将命令行输出到web浏览器。
  • normit - 在终端运行的包含语音合成Google翻译。
  • slap - 类似于Sublime的基于命令行的文本编辑器。
  • jsinspect - 发现复制粘贴的或者结构相似代码。
  • esformatter - JavaScript代码格式化。
  • pjs - 能作为管道使用的JavaScript,从终端快速过滤,映射等。
  • license-checker - 检查应用的依赖的证书。
  • browser-run - 轻松在浏览器环境中运行代码。
  • modhelp -在终端动态高亮README模块。
  • wifi-password - 在终端通过命令行获取当前的wifi密码。.
  • wallpaper -命令行改变桌面的背景。
  • brightness - 命令行改变屏幕的亮度。
  • torrent - 下载种子。
  • tfa - Two-factor验证客户端。
  • rtail - 使用Unix管道,在终端实时输出浏览器多个流。
  • kill-tabs - 通过关闭Chrome 窗口来提升性能,减少电池消耗,节约内存。
  • alex - Catch insensitive, inconsiderate writing.
  • pen - 浏览器中的你最喜欢的编辑器Markdown实时预览。
  • subdownloader - 电影和电视剧的字幕下载。
  • iponmap - IP地址查找。
  • Jsome - 根据配置的颜色和排版格式化打印JSON。
  • itunes-remote -iTunes交互控制.
  • dev-time - 获取一个用户当前的本地时间.
  • text-meme - 生成一个text meme.
  • mobicon - 生成手机应用的icon.
  • mobisplash - 生成手机应用的 splash 屏幕.
  • diff2html-cli - 好看的 git diff 的html生成器.
  • Cash - 纯js实现的跨平台的Unix shell命令.
  • vaca - 获取一个随机的ASCII 🐮.
  • gh-home - 在当前的directory打开一个GitHub仓库的页面.
  • npm-home - 打开一个npm包的home页面.

函数式编程

  • lodash - 一个工具库,相当于一个更好更快的 Underscore.js.
  • immutable - 数据持久化.
  • mori - A library for using使用 ClojureScript的持久化数据结构,且支持 vanilla JavaScript API的库.
  • Ramda - 专注于灵活的函数式编程的工具库,能力来自于自动柯里化和函数参数优先于数据,提供了mutating data.
  • Folktale - 一整套通用的JavaScript函数式编程方案,帮助你构建优雅的,组合式的健壮且高度复用的应用。
  • underscore-contrib - The brass buckles on Underscore's utility belt.
  • Mout - 和其他工具库最大的不同是,你可以选择只下载你需要的模块或函数,没有额外的负担。
  • RxJS - 函数式响应式编程库,专注于大量不同数据的转换,构建和查询。
  • Lazy.js - Lazy.js是类似Underscore或Lo-Dash的JavaScript工具库,但是它有一个非常独特的特性:惰性求值。很多情况下,惰性求值都将带来巨大的性能提升,特别是当处理巨大的数组和连锁使用多个方法的时候。

HTTP

  • got - A nicer interface to the built-in http module.
  • gh-got - Convenience wrapper for got to interact with the GitHub API.
  • request - Simplified HTTP request client.
  • Nock - A HTTP mocking and expectations library.
  • hyperquest - Streaming HTTP requests.
  • axios - Promise based HTTP client (works in the browser too).
  • spdy - Creates SPDY servers with the same API as the built-in https module.
  • wreck - HTTP Client Utilities.
  • download - Download and extract files effortlessly.
  • http-proxy - A full-featured HTTP proxy.
  • rocky - Featured, middleware-oriented HTTP proxy with traffic replay and intercept.
  • superagent - A small progressive HTTP request library.

Debugging / Profiling

  • ironNode - Node.js debugger supporting ES2015 out of the box.
  • 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.
  • why-is-node-running - Node.js is running but you don't know why?
  • 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.
  • TraceGL - Transforms your JavaScript, injecting monitoring code that produces a log of everything that happens.
  • locus - Starts a REPL at runtime that has access to all variables.
  • bugger - Provides Chrome Devtools bindings to debug programs in Chrome.
  • 0x - Flamegraph profiling.

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).
  • console-log-level - The most simple logger imaginable with support for log levels and custom prefixes.

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.
  • log-update - Log by overwriting the previous output in the terminal. Useful for rendering progress bars, animations, etc.
  • Inquirer.js - Interactive command-line prompt.
  • update-notifier - Update notifications for your CLI app.
  • ansi-escapes - ANSI escape codes for manipulating the terminal.
  • 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.
  • log-symbols - Colored symbols for various log levels.
  • figures - Unicode symbols with Windows CMD fallbacks.
  • boxen - Create boxes in the terminal.
  • string-width - Get the visual width of a string - the number of columns required to display it.
  • first-run - Check if it's the first time the process is run.
  • sparkly - Generate sparklines ▁▂▃▅▂▇
  • vorpal - A framework for interactive CLI apps.
  • blessed - A curses-like library.
  • yn - Parse yes/no like values.
  • cli-table - Pretty unicode tables.
  • drawille - Draw on the terminal with unicode braille characters.
  • googleauth - Create and load persistent Google authentication tokens for command-line apps.
  • ascii-charts - ASCII bar chart in the terminal.
  • progress - Flexible ascii progress bar.
  • cli-cursor - Toggle the CLI cursor.
  • columnify - Create text-based columns suitable for console output. Supports cell wrapping.
  • cli-columns - Columnated unicode and ansi-safe text lists.
  • cfonts - Sexy ASCII fonts for the console.
  • multispinner - Multiple, simultaneous, individually controllable CLI spinners.
  • omelette - Shell autocompletion helper.
  • cross-env - Set environment variables cross-platform.
  • shelljs - Portable Unix shell commands.
  • loud-rejection - Make unhandled promise rejections fail loudly instead of the default silent fail.
  • ora - Elegant terminal spinner.
  • term-img - Display images in your terminal.
  • yargs - Command-line parser that automatically generates an elegant user-interface.

Build tools

  • gulp - Streaming and fast build system that favors code over config.
  • Broccoli - A fast, reliable asset pipeline, supporting constant-time rebuilds and compact build definitions.
  • browserify - Browser-side require() the Node.js way.
  • webpack - Packs modules and assets 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.
  • grunt - Task runner that can perform repetitive tasks like minification, compilation, unit testing, linting, etc.
  • start - Simple tasks runner powered by composable functions and promise chaining.
  • ygor - A promising task runner for when npm run isn't enough and everything else is too much.

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.
  • i2c-bus - I2C serial bus access.

Templating

  • marko - A fast and lightweight HTML-based templating engine that compiles templates to CommonJS modules and supports streaming, async rendering and custom tags.
  • nunjucks - A powerful templating engine with inheritance, asynchronous control, and more (jinja2 inspired).
  • 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.
  • EJS - Simple unopinionated templating language.
  • Jade - High-performance template engine heavily influenced by Haml.

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.
  • Feathers - A minimal and flexible microservice framework built in the spirit of Express.
  • 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. (You might like awesome-meteor)
  • 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.
  • Interfake - Rapid prototyping framework for making mock HTTP APIs, with a Node.js, command-line and HTTP interface.
  • Derby - MVC framework, making it easy to write realtime, collaborative applications that run in both Node.js and browsers.
  • Restberry - Framework for setting up RESTful JSON APIs, applied to your database models without needing to write any code.
  • Catberry - Framework with Flux architecture, isomorphic web-components, and progressive rendering.
  • ThinkJS - Framework with ES2015+ support, WebSockets, REST API.

Documentation

  • 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.
  • documentation.js - API documentation generator with support for ES2015+ and flow annotation.
  • YUIDoc - Generates API documentation from comments in source.

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 fs module with various improvements.
  • chokidar - Filesystem watcher which stabilizes events from fs.watch and fs.watchFile as well as using native fsevents on OS X.
  • find-up - Find a file by walking up parent directories.
  • load-json-file - Read and parse a JSON file.
  • write-json-file - Stringify and write JSON to a file atomically.
  • fs-write-stream-atomic - Like fs.createWriteStream(), but atomic.
  • 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.

Control flow

  • Promises
    • Bluebird - A fully featured promise library with focus on innovative features and performance.
    • pinkie-promise - Promise ponyfill.
    • pify - Promisify a callback-style function.
    • rfpify - Promisify a result-first callback-style function.
    • delay - Delay a promise a specified amount of time.
  • Callbacks
    • each-async - Async concurrent iterator like forEach.
    • async - Provides straight-forward, powerful functions for working with asynchronicity.
    • async-chainable - Chainable, pluggable async functionality.
    • 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.
    • bluebird-co - A set of high performance yield handlers for Bluebird coroutines.
  • 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.
  • from2 - Convenience wrapper for ReadableStream, inspired by through2.
  • get-stream - Get a stream as a string or buffer.
  • concat-stream - Concatenates a stream into strings or binary data.
  • into-stream - Convert a buffer/string/array/object into 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.
  • 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.
  • byline - Super-simple line-by-line Stream reader.
  • first-chunk-stream - Transform the first chunk in a stream.
  • pad-stream - Pad each line in a stream.
  • multistream - Combine multiple streams into a single stream.
  • stream-combiner2 - Turn a pipeline into a single stream.
  • readable-stream - Mirror of Streams2 and Streams3 implementations in core.
  • through2-concurrent - Transform object streams concurrently.
  • graphicsmagick-stream - Fast conversion/scaling of images using a pool of long lived GraphicsMagick processes.

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.
  • 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.
  • Straw - Real-time dataflow framework.

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.
  • is-progressive - Check if a JPEG image is progressive.
  • probe-image-size - Get the size of most image formats without a full download.

Text

  • Underscore.string - Collection of string manipulation utilities.
  • iconv-lite - Convert character encodings.
  • repeating - Repeat a string.
  • string-length - Get the real length of a string - by correctly counting astral symbols and ignoring ansi escape codes.
  • camelcase - Convert a dash/dot/underscore/space separated string to camelCase: foo-bar → fooBar.
  • escape-string-regexp - Escape RegExp special characters.
  • execall - Find multiple RegExp matches in a string.
  • splice-string - Remove or replace part of a string like Array#splice.
  • 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.
  • he - A robust HTML entity encoder/decoder.
  • i18n-node - Simple translation module with dynamic JSON storage.
  • babelfish - i18n with very easy syntax for plurals.
  • parse-columns - Parse text columns, like the output of Unix commands.
  • hanging-indent - Format a string into a hanging-indented paragraph.
  • matcher - Simple wildcard matching.

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.2341.2.

Math

Date

URL

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.
  • property-validator - Easy property validation for Express.

Parsing

  • remark - Markdown processor powered by plugins.
  • markdown-it - A very fast 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.
  • PostCSS - CSS parser / stringifier.
  • JSONStream - Streaming JSON.parse and stringify.
  • csv-parser - Streaming CSV parser that aims to be faster than everyone else.
  • neat-csv - Fast CSV parser. Callback interface for the above.
  • PEG.js - Simple parser generator that produces fast parsers with excellent error reporting.
  • x-ray - A web scraping utility to see through the <html> noise.
  • nearley - Simple, fast, powerful parsing for JavaScript.
  • binary-extract - Extract a value from a buffer of JSON without parsing the whole thing.
  • json-mask - Tiny language and engine for selecting parts of an object, hiding/masking the rest.
  • Stylecow - Parse, manipulate and convert modern CSS to make it compatible with all browsers. Extensible with plugins.
  • js-yaml - Very fast YAML parser.
  • excel-stream - Streaming Excel spreadsheet to JSON parser.
  • xml2js - XML to JavaScript object converter.
  • Jison - Friendly JavaScript parser generator. It shares genes with Bison, Yacc and family.

Humanize

  • pretty-bytes - Convert bytes to a human readable string: 13371.34 kB.
  • pretty-ms - Convert milliseconds to a human readable string: 133700000015d 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.
  • pako - High speed zlib port to pure js (deflate, inflate, gzip).
  • tar-stream - Streaming tar parser and generator. Also see tar-fs.
  • decompress - A pluggable decompression module with support for tar, tar.gz and zip files out of the box.

Network

  • get-port - Get an available port.
  • ipify - Get your public IP address.
  • getmac - Get the computer MAC address.

Database

  • Drivers
  • ODM / ORM
    • Bookshelf - ORM for PostgreSQL, MySQL and SQLite3 in the style of Backbone.js.
    • Massive - PostgreSQL data access tool.
    • 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.
    • orm2 - ORM for PostgreSQL, MariaDB, MySQL, Amazon Redshift, SQLite, MongoDB.
    • firenze - Adapter-based ORM for MySQL, Memory, Redis, localStorage and more.
  • 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

  • AVA - Futuristic test runner.
  • tap - A TAP test framework.
  • tape - TAP-producing test harness.
  • Mocha - A feature-rich test framework making asynchronous testing simple and fun.
  • power-assert - Provides descriptive assertion messages through the standard assert interface.
  • Mochify - TDD with Browserify, Mocha, PhantomJS and WebDriver.
  • trevor - Run tests against multiple versions of Node.js without switching versions manually or pushing to Travis CI.
  • 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.
  • nyc - Code coverage tool built on istanbul that works with subprocesses.
  • Sinon.JS - Test spies, stubs and mocks.
  • navit - PhantomJS / SlimerJS wrapper to simplify browser test scripting.
  • nock - HTTP mocking and expectations.
  • intern - A next-generation code testing stack for JavaScript.
  • toxy - Hackable HTTP proxy to simulate failure scenarios and network conditions.
  • hook-std - Hook and modify stdout/stderr.
  • testen - Run tests for multiple versions of Node.js locally with NVM.

Benchmarking

  • 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.

Minifiers

Authentication

  • Passport - Simple, unobtrusive authentication.
  • everyauth - Authentication and authorization (password, Facebook, etc) 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.

Email

  • Nodemailer - The fastest way to handle email.
  • emailjs - Send text/HTML emails with attachments to any SMTP server.

Job queues

  • kue - Priority job queue backed by Redis.
  • bull - Persistent job and message queue.

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.

Polyfills

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

  • PM2 - Advanced Process Manager.
  • 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).
  • nodemon - Monitor for changes in your app and automatically restart the server.
  • supervisor - Restart scripts when they crash or restart when a *.js file changes.
  • Phusion Passenger - Friendly process manager that integrates directly into Nginx.
  • naught - Process manager with zero downtime deployment.

Automation

  • robotjs - Desktop Automation: control the mouse, keyboard and read the screen.

AST

  • Acorn - A tiny, fast JavaScript parser.
  • Rocambole - Recursively walk and transform JavaScript AST.

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.

Weird

Miscellaneous

  • execa - A better child_process.
  • cheerio - Fast, flexible, and lean implementation of core jQuery designed specifically for the server.
  • Electron - Build cross platform desktop apps with web technologies. (You might like awesome-electron)
  • opn - 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.
  • require-uncached - Require a module bypassing the cache.
  • 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.
  • deep-assign - Recursive Object.assign().
  • os-locale - Get the system locale.
  • nan - A header file filled with macro and utility goodness for making add-on development for across Node.js versions easier.
  • multiline - Multiline strings in JavaScript.
  • ssh2 - An SSH2 client and server module.
  • adit - SSH tunneling made simple.
  • lazy-req - Require modules lazily.
  • file-type - Detect the file type of a Buffer.
  • Bottleneck - A powerful rate limiter that makes throttling easy.
  • 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.
  • agenda - Lightweight job scheduling on MongoDB.
  • dotenv - Load environment variables from .env file.
  • remote-git-tags - Get tags from a remote git repo.
  • semver - semver parser.
  • nar - Create self-contained executable binaries.
  • node-bell - Real-time anomalies detection for periodic time series.
  • Faker.js - Generate massive amounts of fake data.
  • nodegit - Native bindings to Git.
  • json-strictify - Safely serialize a value to JSON without data loss or going into an infinite loop.
  • parent-module - Get the path of the parent module.
  • resolve-from - Resolve the path of a module like require.resolve() but from a given path.