gulp-straw v0.0.7

Gulp Straw (experimental)
Gulp Task Manager: The command-line tool for managing your gulpfile. gulpfile is a task file for gulp.js.
Usually gulpfile grows bigger and bigger, so it's strongly recommended to split it and make it reusable. How? Use this straw!
$ straw install gulpfile
[OK] cognitom:gulpfile > gulpfile
installing required modules in taskfiles...
[OK] installation completed
$ ls
gulpfile.js node_modules package.jsonFeatures
- retrieve
gulpfilefrom your (or other's) GitHub repo - install dependencies automatically
and now implementing the features below.
- update
gulpfilefrom GitHub - publish
gulpfileto GitHub
Installation
Install gulp-straw from npm with:
$ npm install -g gulp-strawStraw requires you to authenticate with GitHub. Let's setup at first.
$ straw setupThen, follow the instruction.
Straw requires you to auth with GitHub.
You can create a new token here:
- https://github.com/settings/tokens/new
------------------------------------------------------------
- GitHub account: cognitom
- Open the browser to get your token? (YES/no)
- Paste here: 123456789abcdef123456789abcdef
------------------------------------------------------------
Successfully access to your GitHub account!
- Name: Tsutomu Kawamura
- Mail: tsutomu@librize.com
The account 'cognitom' was saved into ~/.netrc.Or add the following entry to your ~/.netrc file manually
machine api.github.com
login <username>
password <token>Getting Started
At the first, prepare your gulpfiles repository like this.
Install gulpfiles
Go to your project directory.
$ cd ./path/to/project/Get gulpfiles from your repository:
$ straw install gulpfile
$ straw install task/cssOr it's ok to set multiple tasks.
$ straw install gulpfile task/cssCustom directory
If you have a task coffee but you want to install it under the task directory, use --dir option.
$ straw install coffee --dir task/Get gulpfiles from others
$ straw install cognitom/gulpfiles:gulpfile
$ straw install cognitom/gulpfiles:task/cssIf the repository name is ommited straw guess that the name would be gulpfiles. So these command can also be written like below.
$ straw install cognitom:gulpfile
$ straw install cognitom:task/cssInstall all
Install all specified in package.json:
$ straw installUpdate gulpfiles
Update all specified in package.json:
$ straw updateUpdate gulpfiles:
$ straw update task/cssPublish gulpfiles
$ straw publish task/cssAppendix
package.json format
{
"gulpfiles": {
"gulpfile": "cognitom:gulpfile",
"task/css": "cognitom:task/css"
}
}Todos:
- introduce commander.js
- get file from GitHub repo by octonode
- save config into package.json
- auto-complete extension:
.jsor.coffeeor ... - install multi tasks
- install all from package.json
- add devDependency automatically
- easy flow to login to GitHub
- copy gulpvars in package.json
- modify relative paths in gulpfiles
- update task
- publish task
- uninstall task
- support private repo
- error handling
- test test test