From 43da3d6323d93e377508b25874af65bb60c0532c Mon Sep 17 00:00:00 2001 From: Christopher Viel Date: Mon, 18 Jul 2016 17:23:28 -0400 Subject: [PATCH 1/2] Add possibility to specify src options. --- sass-build/README.md | 6 +----- sass-build/index.js | 5 +++-- 2 files changed, 4 insertions(+), 7 deletions(-) diff --git a/sass-build/README.md b/sass-build/README.md index 06bfd02..545c97c 100644 --- a/sass-build/README.md +++ b/sass-build/README.md @@ -10,6 +10,7 @@ that can be [piped](http://nodejs.org/api/stream.html#stream_readable_pipe_desti #### Available options: - **src** (String|Array) Glob or array of globs ([What's a glob?](https://github.com/isaacs/node-glob#glob-primer)) matching Sass entry files. Default: `'app/theme/app.+(ios|md|wp).scss'`. +- **srcOptions** (Object) An object passed as second argument to [`gulp.src`](https://github.com/gulpjs/gulp/blob/master/docs/API.md#options). Default `{}`. - **dest** (String) Output path for the compiled CSS bundle(s). Default: `'www/build/css'`. - **sassOptions** (Object) [Sass options](https://github.com/sass/node-sass#options). Default: ``` @@ -61,8 +62,3 @@ gulp.task('sass', function(){ }); }); ``` - - - - - diff --git a/sass-build/index.js b/sass-build/index.js index d9fefdd..3702d11 100644 --- a/sass-build/index.js +++ b/sass-build/index.js @@ -1,10 +1,11 @@ var gulp = require('gulp'), sass = require('gulp-sass'), - autoprefixer = require('gulp-autoprefixer') + autoprefixer = require('gulp-autoprefixer'), assign = require('lodash.assign'); var defaultOptions = { src: 'app/theme/app.+(ios|md|wp).scss', + srcOptions: {}, dest: 'www/build/css', sassOptions: { includePaths: [ @@ -31,7 +32,7 @@ var defaultOptions = { module.exports = function(options) { options = assign(defaultOptions, options); - return gulp.src(options.src) + return gulp.src(options.src, options.srcOptions) .pipe(sass(options.sassOptions)) .on('error', options.onError) .pipe(autoprefixer(options.autoprefixerOptions)) From 988d8e73ecb1b1b6f83170b0b9f43d83147dc430 Mon Sep 17 00:00:00 2001 From: Christopher Viel Date: Mon, 18 Jul 2016 17:27:39 -0400 Subject: [PATCH 2/2] Add a hook function to sass-build. It's useful if one needs to pipe extra transformations to the sass stream. --- sass-build/README.md | 1 + sass-build/index.js | 7 +++++-- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/sass-build/README.md b/sass-build/README.md index 545c97c..3f4edcb 100644 --- a/sass-build/README.md +++ b/sass-build/README.md @@ -13,6 +13,7 @@ that can be [piped](http://nodejs.org/api/stream.html#stream_readable_pipe_desti - **srcOptions** (Object) An object passed as second argument to [`gulp.src`](https://github.com/gulpjs/gulp/blob/master/docs/API.md#options). Default `{}`. - **dest** (String) Output path for the compiled CSS bundle(s). Default: `'www/build/css'`. - **sassOptions** (Object) [Sass options](https://github.com/sass/node-sass#options). Default: +- **hookFunction** (Function) A function that takes the sass stream as input and returns a stream. Useful if additional transformations need to be piped. Default: ``` { includePaths: [ diff --git a/sass-build/index.js b/sass-build/index.js index 3702d11..23ec4b0 100644 --- a/sass-build/index.js +++ b/sass-build/index.js @@ -23,6 +23,7 @@ var defaultOptions = { ], cascade: false }, + hookFunction: function(stream) { return stream; }, onError: function(err) { console.error(err.message); this.emit('end'); // Don't kill watch tasks - https://github.com/gulpjs/gulp/issues/259 @@ -32,9 +33,11 @@ var defaultOptions = { module.exports = function(options) { options = assign(defaultOptions, options); - return gulp.src(options.src, options.srcOptions) + var stream = gulp.src(options.src, options.srcOptions) .pipe(sass(options.sassOptions)) .on('error', options.onError) - .pipe(autoprefixer(options.autoprefixerOptions)) + .pipe(autoprefixer(options.autoprefixerOptions)); + + return options.hookFunction(stream) .pipe(gulp.dest(options.dest)); }