gulp-recipe-pipemin-index
v0.1.7
Published
Receipe for building index file in development
Downloads
5
Maintainers
Readme
gulp-recipe-pipemin-index
Container for fast project compilation with hooks, based on gulp-pipemin.
Tasks
index
Compile index file and save in temp directory for serving.
watch:index
deps: index
Watch all index file dependencies and recompile it on change.
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. These files will also be watched by watch:index task.
example config:
sources.index = 'app/index.html';
sources.devAssets
mandatory flow: sources.devAssets -> pipemin's assetStream
Files that will be treated as assets for pipemin. Names of these files will be sorted and then fed to glob paths in index.html. These files will also be watched by watch:index task.
example config:
sources.devAssets = [
'app/bower_components/*/*.js',
'app/bower_components/*/{dist,min,release}/*.{js,css}', // most of the generic bower modules
sources.js, // include only when serving non-processed js files
sources.css // include only when serving non-processed css files
{ files: paths.tmp + '**/*', base: paths.tmp } // all processed files from temp directory
];
Note for recipe developer: there is no hook for transforming files in here (for optimization purposes). All compiled files should be saved in temp folder, not compiled every request. If you need to sort your assets differently, use pipes.devAsset* hook and do your own sorting.
Paths
paths.pipeminTmp
alias: paths.tmp default: 'tmp/'
Path to index task output directory.
Tasks
tasks.pipeminIndex
alias tasks.index default 'index'
index task name.
tasks.pipeminWatchIndex
alias tasks.watchIndex default 'watch:index'
watch:index task name.
Order
config.order.postDevAssetsSort
default: 100
Order of task for devAssets files sorting.
Api
Provided Hooks
pipes.devAsset*
type: source
Additional assets feeding to pipemin. Use it to do your own sorting.
pipes.postDevAsset*
type: sequence flow: sources.devAssets -> pipes.postDevAsset* -> pipemin's assetStream
Process all asset files before feeding them into pipemin. Note: sources.devAssets are marked as {read: false}, no file's content will be provided, and no transformed file will be actually written to disk. This is mainly intended for ordering or filename operations.
pipes.preDevBuild*
type: sequence
Do actions on index just before feeding it into pipemin.
pipes.postDevBuild*
type: sequence
Do actions on index files from pipes.build*. Example usage in gulp-recipe-pipemin-rev.
Used Hooks
postDevAssetsSort
Sorts raw assets files by name and places into hook.
preServe
Register index task to preServe.
watch
Register watch:index task to global watch.
Minify html