gulpfile-preset
v1.8.13
Published
A boilerplate system for common gulp tasks I use in projects
Downloads
27
Maintainers
Readme
Gulpfile Preset
A boilerplate for common gulp tasks I use in projects. Also serves as a build app wrapper
Installation
$ npm install gulpfile-preset
Initial Post-Install
Right after initial installation, you may run the post install script in order to setup the files. You don't have to do this if the files are already setup before.
$ node ./node_modules/gulpfile-preset/misc/postinstall.js
This will generate the following files and folders at your root folder:
./gulp/exceptions Contains custom error files
./gulp/helpers Contains helper files
./gulp/images Contains images used for notification
./gulp/tasks Contains the task files. Each task is in its own file
./gulp/boot.js Prepares the build wrapper app
./gulp/config Configurations
./gulpfile.js Gulp entry
Tasks
Initial tasks available. You can always register additional tasks by creating one in the gulp/tasks folder.
|Task Name | Description |---|---| |styles |Compiles SCSS files into a single CSS file |scripts |Transpiles, combines, minifies and ES6-compliant scripts into one |image |Minifies images |svg |Minifies SVGs and creates a sprite |tests |Runs Jasmine Spec Runner for your Javascript behavioral tests |watch |Watches for file changes and runs task accordingly
Plugins
- sass-lint, gulp-sass for linting and compiling sass files
- jshint, babel for linting scripts and tranpiling ES6 into ES5.
- jasmine-browser, phantom-js for javascript BDD
- gulp-imagemin For lossless compression of images and SVGs
- svgstore, cheerio For creating SVG sprite
Features
- Non-breaking watch. Each task has its build errors handled as much as possible so as not to break the watch.
- Fast plugins. Plugins are carefully selected to use the fastest possible.
TO DO
- Add a postinstall prompt to run misc/postinstall.js at initial install
- Rename App namespace ( 'Build' perhaps? )
- Use ES6 syntax for tests once ES6 is [fully supported in PhantomJS] (https://kangax.github.io/compat-table/es6/#phantom)