gulp-recipe-pipemin-build
Container for fast project compilation with hooks, based on gulp-pipemin.
Tasks
build
deps: clean:dist
Build whole project into dist directory.
package
deps: build
Make zip package file ready for deployment.
clean:dist
Delete dist directory and its contents.
Configuration
Recipe specific
Sources
sources.index
mandatory
flow: sources.index -> pipes.preBuild* -> pipemin -> merge with build -> pipes.postMerge* -> dest
Entry point html files (index.html) to be processed with gulp-pipemin.
example config:
sourcesindex = 'app/index.html';
sources.assets
mandatory
flow: sources.assets -> pipes.asset* hook
Files that will be treated as assets for pipemin. Names of these files will be fed to glob paths in index.html. Superfluous files are left untouched, but will be loaded into memory during build.
example config:
sourcesassets = 'app/bower_components/*/*.js' 'app/bower_components/*/{dist,min,release}/*.{js,css}' // most of the generic bower modules sourcesjs // include only when serving non-processed js files sourcescss // include only when serving non-processed css files // do not include temp folder here;
sources.build
flow: sources.build -> pipes.build* hook
Files that will be added to final build bypassing pipemin.
Paths
paths.pipeminDist
alias: paths.dist
default: 'dist/'
Destination path for build task output directory.
paths.pipeminPackage
alias: paths.package
default: 'package.zip'
Destination path for package task output file.
Tasks
tasks.pipeminBuild
alias tasks.build
default 'build'
build task name.
tasks.pipeminPackage
alias tasks.package
default 'package'
package task name.
tasks.pipeminCleanDist
alias: tasks.cleanDist
default: 'clean:dist'
clean:dist task name.
Order
config.pipeminMinify
alias: config.order.minify
default: 1000
Minification task order in build processing pipe.
Api
Provided Hooks
pipes.asset*
type: source
flow: pipes.asset* -> pipemin's assetStream
Additional asset sources, good for injecting compiled files into index.html and minification process.
pipes.postAssets*
type: sequence
Do actions on files from pipes.asset* before piping them into pipemin.
pipes.build*
type: source
flow: pipes.build* -> pipes.postBuild* -> merge with pipemin's output -> pipes.postMerge* -> dest
Additional build output files, bypasses the pipemin and goes straight to postBuild step.
pipes.preBuild*
type: sequence
Do actions on index just before feeding it into pipemin.
pipes.postBuild*
type: sequence
Do actions on files from pipes.build*. Example usage in gulp-recipe-pipemin-rev.
pipes.postMerge*
type: sequence
Do actions on all built files before outputing them to dist.
pipes.processJs*
type: sequence
Process js files gathered by pipemin from index.
pipes.processCss*
type: sequence
Process css files gathered by pipemin from index.
pipes.processHtml*
type: sequence
Process index files after resolving assets by pipemin.
Used Hooks
pipes.assetRaw
Sorts raw assets files by name and places into hook.
pipes.processJsMinify
Minify Js with uglify.
pipes.processCssMinify
Minify css with csso.
pipes.processHtmlMinify
Minify html