A generator powered by Yeoman which gives a user the abilitiy to create all Gulp tasks they need to build, run or develop one's application.
$ npm install -g yo generator-gulpfile-advanced
- Go to the root path of your project
- To launch global generator:
$ yo gulpfile-advanced
- Then select the tasks you want in your application
- To launch sub-generator in order to add new tasks (after launching the global generator):
$ yo gulpfile-advanced:taskName
- And now you can launch your task with gulp:
$ gulp taskName
- Or launch in watch mode:
$ gulp taskName:watch
- With the "custom" sub-generator you have the ability to make a custom task with existant tasks in your gulpfiles
- For example if I want to create a task named "dev" which can transpile less, create a webserver and minify html:
$ yo gulpfile:custom
What would you call your custom task?
> dev
Which tasks do you want in your custom task ?
> less:watch, webserver:watch, minify-html:watch
- gulpfile-advanced:webserver
- gulpfile-advanced:babel
- gulpfile-advanced:eslint
- gulpfile-advanced:jshint
- gulpfile-advanced:less
- gulpfile-advanced:sass
- gulpfile-advanced:minify-html
- gulpfile-advanced:uglify
- gulpfile-advanced:ng-annotate
- gulpfile-advanced:ng-constant
- gulpfile-advanced:mocha
- And so much more if you contribute and create your own sub-generator
$ git clone https://github.com/bnjjj/generator-gulpfile-advanced.git
$ cd generator-gulpfile-advanced
$ git submodule init
$ git submodule update
$ npm link
-
The long goal of this generator is for it to be used with other sub-generators - ones I haven't developed too. Each sub-generator is isolated in its own git repository so that everyone can request pulls or file more precise issues.
-
Furthermore you can develop your own sub-generator; after you have tested don't hesitate to request a pull so that I can integrate it as a sub-module in the main generator. This way you will still be the sole owner of your work and are free to edit it as you please.
-
Here are the pre-requisites for your pull requests to be accepted:
- Have your files well documented
- Have automated tests
- Keep the same structure so as to keep everything unified
-
The structure of the sub-generators has to be as follows:
- One file per task
- Task files have to be located in the "templates" directory et bear the same name as the task
- An "index.js" file at the root of your sub-generator will allow for configuration
-
If you're interested in developing:
- Clone the project and integrate your own generator in the "generators" directory
- When you're done with development, integrate as a Git sub-module
Big thanks to WaxAndWane for the translation
Made by Coenen Benjamin with love