gulp-recipe
v0.1.1
Published
Package manager for gulp recipes
Downloads
51
Readme
gulp-recipe
=============
Package manager for gulp recipes.
Many projects require the same gulp tasks with simple tweaks. This system is designed to make it easy to share and reuse gulp tasks.
Benefits
- Easily share recipes between projects and open source with other people.
- Smaller gulp file footprint.
- No need to manage gulp dev dependencies in package.json
- Auto download and install of recipe and npm dependencies of recipes.
- npm dependencies (except gulp) of each recipe are installed locally for each recipe. Allows for different version dependencies for each recipe.
NOTE: This documentation is still being written. If you click on a link and it doesn't go anywhere, it's likely because that portion of the docs hasn't been written yet. If there are parts of the docs you'd like us to focus on, feel free to ask!
Build Status
Quick Examples
gulpfile.js
var gulp = require('gulp');
var recipe = require('gulp-recipe');
// No defining dependencies in package.json or writing of basic gulp tasks.
// gulp-recipe will download and install the task and all dependencies for you!
gulp.task('lint', recipe.make('eslint', {
src: [
'path/to/my/js',
'!node_modules/**'
]
}));
Quick Guides
Dependencies
gulp-recipe is dependent upon
Download Source
The source is available for download from GitHub
Install
For use in gulpfile, you can install using npm
npm install gulp-recipe
To publish your own recipes, install globally using npm
npm install -g gulp-recipe
Usage
In gulpfile:
var gulp = require('gulp');
var recipe = require('gulp-recipe');
gulp.task('lint', recipe.make('eslint', {
src: [
'path/to/my/js',
'!node_modules/**'
]
));
Usage - Command Line
recipe [options] [command]
Global Options
-h, --help output usage information
-V, --version output the version number
-ep, --exec-path path to execute on
Commands
config
recipe config [cmd]
This command lets you set, get, or delete config data from .reciperc config files
Config Files
- config files are named '.reciperc OR .reciperc.json' and are all in JSON format
- all config files must have 0600 perms set or they will be ignored
- locations of config files
global: (config.get('prefix')[default: '/usr/local'])/etc/.reciperc
per-user: '$HOME/.reciperc'
per-project: '/path/to/project/.reciperc'
config get
recipe config get [options] <key>
get value in config file
Options:
-g, --global use global config file
-p, --project use project config file
-u, --user use user config file
Params:
<key> The property path to the value you want to get
Examples
get auth data from config
recipe config get auth
get deep path from config
recipe config get some.path.in.config.object
config set
recipe config set [options] <key> <value>
set value in config file
Options:
-g, --global use global config file
-p, --project use project config file
-u, --user use user config file
Params:
<key> The property path to the value you want to set
<value> The value you want to set
Examples
get auth data from config
recipe config get auth
get deep path from config
recipe config get some.path.in.config.object
config delete
recipe config delete [options] <key>
delete value from config file
Options:
-g, --global use global config file
-p, --project use project config file
-u, --user use user config file
Params:
<key> The property path to the value you want to delete
Examples
delete auth data from config
recipe config delete auth
delete deep path from config
recipe config delete some.path.in.config.object
publish
recipe publish [options] <path>
publish a recipe
Options:
-g, --global use global config file
-p, --project use project config file
-u, --user use user config file
Params:
<path> The file path to the package you want to publish
Examples
publish current working directory
recipe publish
publish a specific directory
recipe publish ./some/path/to/dir