-
Notifications
You must be signed in to change notification settings - Fork 2
Home
A specification for stateless, promise-based, event emitting, javascript tasks.
WORK IN PROGRESS, FEEDBACK WELCOME
This project aims to define a stateless, promise-based, event emitting API for javascript tasks. Modules which adhere to this specification should be published as stand-alone packages on npm. The target for this spec includes file-based tasks, internal CLI front ends, and most exciting of all: plugins for the fantastic javascript build-tool Grunt (coming with version 0.5+).
Eventually, it is hoped that popular JS libraries will maintain their own node-task modules (think jshint, stylus, handlebars, etc). If/when this happens, it will be trivial to pass files through an arbitrary pipeline of interactions and transformations utilizing libraries across the entire npm ecosystem.
Task runners currently committed to supporting this spec: Grunt, Brunch, Automaton
- Task - Base class for Basic Tasks.
- DataPipe - Base class for Buffer Interface spec.
- FileBuffer - Extends DataPipe to create a Buffer Interface for local filesystems.
- S3Buffer - Extends DataPipe to create a Buffer Interface for Amazon S3.
- bufferize - Utility to convert any source input into any Buffer Interface.
- extruder - Utility to facilitate iterating over valid Input Formats.
- prepare - Task which utilizes bufferize to inflate input sources to any Buffer Interfaces.
- finalize - Task which writes input to its final destination using any Buffer Interface.
- globule - Globbing library which produces file listings in a node-task compliant Input Format.