Harminder Virk edited this page Nov 26, 2016 · 106 revisions

co libraries

Libraries that support Co via thunk or promise style return values:

  • co-child-process - spawn a child process with stdin support
  • prompt-promise - Sane command prompt, confirm, multiline, password as promises
  • co-prompt - terminal user input utilities
  • co-walk - walk a file tree and return a list of files
  • check-sum - assert multiple checksums on a stream in parallel
  • cogent - simpler HTTP requests using co
  • hash-stream - yield the hash of a stream or file
  • moko - generator powered models
  • octokat.js - a GitHub API client using promises
  • pswd - hash and compare passwords with pbkdf2
  • raw-body - get and validate the raw body of a readable stream
  • unglob - unglob a list of files/globs based on a directory or another list of files
  • fly - New generation build system and task automation tool for node using generators.
  • eventemitter-co - EventEmitter where you can yield stuff (with co support)
  • co-lambda-runner - An interface between generators and AWS Lambda functions

HTTP Servers

Libraries specifically for use with HTTP servers.

  • body - Parse HTTP requests bodies with thunks
  • co-body - parse request bodies
  • co-busboy - parse multipart bodies
  • co-multipart - parse multipart bodies and save to disk
  • co-render - template rendering built on consolidate.js
  • co-views - higher level template rendering based on co-render
  • koa - Expressive middleware for node.js using generators
  • co-next — Simple wrapper to use generators for request handlers and middleware. General purpose. Useful for Express routes.

Flow Control

  • async-co - async flows backed up by generators & co
  • co-assert-timeout - Assert a timeout on a thunk or generator function
  • co-blackhole - Filter and ignore errors.
  • co-control - Kick off async processes but don't pause code execution until you need the result.
  • co-defer – setImmediate and stuff with generators
  • co-each - parallel foreach
  • co-first – Yield the first async value returned for the co generator library
  • co-flow – Flexible execution flow addons (all, any, wait) for co
  • co-gate – Gate module to guard asynchronous API with a callback
  • co-gather - similar with co-parallel, but will gather all the results even error happened
  • co-limiter - Limits how many generators can be ran at the same time
  • co-parallel - parallel execution with concurrency support
  • co-priority-queue - A simple priority queue
  • co-process - Concurrent producer/consumer processing
  • co-queue - A FIFO queue
  • co-read - consume readable streams
  • co-retry - Automatically retry generators that fail
  • co-jitter-retry - Retry generators, with full-jitter
  • co-select – Yield the first async value returned for the co generator library
  • co-sleep – setTimeout that works with the co generator framework
  • co-spawn – setImmediate for the co generator framework
  • co-sqlite3 - A promise version for node-sqlite3
  • co-thread - execute N light-weight threads (generator functions) in parallel
  • co-wait – setTimeout generator style
  • co-write - write to streams, respecting backpressure
  • chan - A go style channel implementation for JavaScript that works nicely with co.
  • chanel - parallel execution with concurrency and "streaming" support
  • comm - Rust-inspired communication primitives for asynchronous message passing.
  • coo – Flow control library based on co
  • defer - setImmediate, setTimeout, etc. with generators
  • co-filter - Parallel filter generator function
  • co-reject - Parallel reject generator function
  • co-ware - Easily create your own middleware layer using generators
  • composedly - Create compositions of middleware and named it
  • congestion - Generator-based congestion control
  • co-functional - Functional helpers (map, filter, reduce, compose, ...)
  • co-compose - Koa and AdonisJs style middleware for your own apps.

API Wrappers

Libraries that more-or-less just wrap other libraries.



  • co-ejs - Embedded JavaScript Templates for koa


  • co-slowlog - slowlog for GeneratorFunction or function that return a Promise.


Clone this wiki locally
You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.
Press h to open a hovercard with more details.