fetcher
v0.3.0
Published
Fetches libraries based on a JSON recipe in a remote repository
Downloads
19,550
Readme
fetcher
fetcher(recipeNameOrNames, [options], [callback])
Fetcher is a library the downloads assets and then places them, relative to some cwd
, wherever a recipe specifies.
var fetcher = require('fetcher');
fetcher('backbone', function(er){
if(er) { throw er; }
});
The above will:
- Clone the linemanjs/fetcher-recipes repo
- Load "recipes/backbone.cson".
- Install each step of the recipe in order, which in this case means:
- Install the "underscore" recipe, which is the first step to the "backbone" recipe (
{type: "recipe", name: "underscore"}
) - Install "backbone" by downloading the source file and placing it in
vendor/js/backbone.js
Options
An optional options argument can be passed as a second parameter of fetcher()
. The defaults worth concerning yourself with follow:
{
recipeRepo: "[email protected]:linemanjs/fetcher-recipes.git",
cwd: process.cwd()
}
That means you can use Fetcher with your own custom tool ecosystem by defining your own recipe repo. You can also define cwd
to whatever you like in order to install assets relative to whatever path you're interested in.
Testing fetcher
fetcher currently has no automated tests. To get any feedback, I recommend cloning or starting a recipes repo to work against, then running fetcher out of its own directory and manually inspecting results:
$ node
> require('./index')('google-analytics', {recipeRepo: "/Users/justin/code/linemanjs/fetcher-recipes"}, function(err) { console.log("errors!", err); })
And then inspecting that vendor/js/google-analytics.js
is how it should be, given that recipe.