Skip to content

taskjs/spec

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 

Repository files navigation

Task/1.0

JavaScript Task Specification

Task is unit of execution. In the javascript world, there have existing hundreds of tasks that we can use, like coffee-script, sass, less, jade, haml, uglifyjs, cleancss, jshint, csslint, jasmine, etc. But they are all unconnected, this specification addresses how tasks should be written in order to be connected that can be both client and server side.

1. Terminology

  1. task is an object or function with a run method whose behavior conforms to this specification.
  2. thenable is an object or function that defines a then method.
  3. inputs is an array of Record instances or javascript objects.
  4. logger is a Logging object, default is console.

2. Requirements

2.1 The run Method

A task must provide a run method must returning a thenable. A task’s run method accepts three arguments, and all arguments are optional:

run([inputs [, options [, logger]]])

Within Common.JS modules ecosystem, the entry point module like index.js should exports run method:

// index.js
exports.run = function(inputs, options, logger){
  return new Promise(function(resolve, reject){
     logger.log("it's work")
     resolve(inputs);
  })
}

3. Implementations

About

JavaScript Task Specification

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published