gulp-easy
Npm package for fast and easy compile js, less and other files with gulp.
Install
npm install --save-dev gulp gulp-easy
Tasks and production mode
Module gulp-easy export two public tasks:
default
for developer (with watch and without compress);production
for production builds.
Also you can append argument --production
for production builds:
node $SOURCE_DIR/node_modules/gulp/bin/gulp.js --gulpfile $SOURCE_DIR/gulpfile.js --production
Configuration
Configuration in gulp-easy
is optional, but you can set in through config()
method:
require('gulp-easy')
.config({
dest: './app/dest',
less: {
minifycss: {
compatibility: 'ie7'
}
}
})
.less()
Also each task method (js
, less
, files
, ..) have config argument for overwrite config:
require('gulp-easy')
.config({
dest: './app/dest'
})
.less('less/index.less', 'public/app.css', {
minifycss: {
compatibility: 'ie7'
}
})
Default config (without methods configs):
{
dest: 'public',
name: 'app',
compress: null,
watch: null,
}
Examples of gulpfile.js file
Most minimalistic gulp file. Default file name is app
, default destination dir is public
.
The task performs:
- Compile
less/index.less
file with it imports to css public/app.css
. - Concat and compile as common js all javascript files from folder
js
to file public/app.js
. - Copy all files from folder
images
(recursive) to folder public/images
.
require('gulp-easy')
.less('less/index.less')
.js('js/*.js')
.files('images/**/*', 'public/images/')
Normal gulp file without defaults.
The task performs:
- Concat and compile less files
less/header.less
, less/header.less
to css app/public/style.css
. Destination folder specified in config. - Compile as common js file
js/index.js
to file app/public/lib/main.js
.
require('gulp-easy')
.config({
dest: 'app/public'
})
.less(['less/header.less', 'less/main.less'], 'style.css')
.js('js/index.js', 'app/public/lib/main.js')
Methods api
js(src, dest, config)
src
: string or array strings, glob format;dest
: (optional) string file name or path to destination (output) file;config
: (optional) custom configuration object. Default configuration is:
{
browserify: {},
uglify: {},
gzip: {},
transforms: [stringify]
}
Method do:
- compile common js code with
browserify
and it transforms
- write sourcemap, when
compress
is disable - compress by
uglify
, when compress
is enable - create gzip file, when
compress
is enable
less(src, dest, config)
src
: string or array strings, glob format;dest
: (optional) string file name or path to destination (output) file;config
: (optional) custom configuration object. Default configuration is:
Method do:
- process less to css
- concat files to one
- minify by
minifycss
module, when compress
is enable - write sourcemap, when
compress
is disable - create gzip file, when
compress
is enable
{
gzip: {},
minifycss: {
compatibility: 'ie9'
}
}
files(src, dest)
src
: string or array strings, glob format;dest
: (optional) string file name or path to destination (output) file;
Method do:
- copy source files to destination folder