Skip to content

Instantly share code, notes, and snippets.

@polarbirke
Forked from mpdude/gulpfile.js
Last active February 22, 2019 14:23
Show Gist options
  • Select an option

  • Save polarbirke/7520fe1a210a571ea67c05e59ff2aed1 to your computer and use it in GitHub Desktop.

Select an option

Save polarbirke/7520fe1a210a571ea67c05e59ff2aed1 to your computer and use it in GitHub Desktop.

Revisions

  1. polarbirke revised this gist Feb 22, 2019. 1 changed file with 0 additions and 1 deletion.
    1 change: 0 additions & 1 deletion gulpfile.js
    Original file line number Diff line number Diff line change
    @@ -55,7 +55,6 @@ gulp.task('compile-stylesheets', function() {
    merger.add(
    gulp.src(config.stylesheets.files[key], { cwd: config.webdir, read: false })
    .pipe($.exec('LC_ALL=en_GB.utf8 sass --cache-location <%= options.sassCacheDir %> --scss --style <%= options.sassOutputStyle %> --load-path <%= options.libdir %> --load-path <%= options.bowerdir %> <%= file.path %>', execOptions))
    .on('error', function(err) { $.util.log(err.message); })
    .pipe($.cssUrlRebase({ root: path.dirname(key) }))
    .pipe(config.development ? $.sourcemaps.init() : $.util.noop())
    .pipe($.postcss([autoprefixer({ browsers: ['last 5 version'] })]))
  2. polarbirke revised this gist Feb 22, 2019. 1 changed file with 1 addition and 1 deletion.
    2 changes: 1 addition & 1 deletion gulpfile.js
    Original file line number Diff line number Diff line change
    @@ -54,7 +54,7 @@ gulp.task('compile-stylesheets', function() {

    merger.add(
    gulp.src(config.stylesheets.files[key], { cwd: config.webdir, read: false })
    .pipe($.exec('sass --cache-location <%= options.sassCacheDir %> --scss --style <%= options.sassOutputStyle %> --load-path <%= options.libdir %> --load-path <%= options.bowerdir %> <%= file.path %>', execOptions))
    .pipe($.exec('LC_ALL=en_GB.utf8 sass --cache-location <%= options.sassCacheDir %> --scss --style <%= options.sassOutputStyle %> --load-path <%= options.libdir %> --load-path <%= options.bowerdir %> <%= file.path %>', execOptions))
    .on('error', function(err) { $.util.log(err.message); })
    .pipe($.cssUrlRebase({ root: path.dirname(key) }))
    .pipe(config.development ? $.sourcemaps.init() : $.util.noop())
  3. polarbirke revised this gist Aug 14, 2017. 1 changed file with 3 additions and 8 deletions.
    11 changes: 3 additions & 8 deletions Projekt-Maintenance
    Original file line number Diff line number Diff line change
    @@ -1,14 +1,9 @@
    // Prüfe, ob es Updates gibt
    npm outdated

    // Aktualisiere alle veralteten Pakete
    // (Vorsicht: Testen erforderlich! Aktualisiert außerdem keine abgelaufenen [deprecated] Pakete!)
    npm update

    // Maintenance in einem bestehenden Projekt:
    // Maintenance-Helfer in einem bestehenden Projekt:
    // • Wechsel: gulp-minify-css (deprecated) -> gulp-clean-css
    // • Wechsel: gulp-uglifyjs (deprecated) -> gulp-uglify ersetzt
    // • Wechsel: gulp-css-rebase-urls -> gulp-css-url-rebase
    // • Wechsel: autoprefixer-core -> autoprefixer
    // • Neu: gulp-sourcemaps
    // • evtl. neu: uglify-save-license
    npm install gulp-clean-css gulp-uglify gulp-sourcemaps autoprefixer gulp-css-url-rebase uglify-save-license --save
    npm uninstall autoprefixer-core gulp-minify-css gulp-uglifyjs gulp-css-rebase-urls --save
  4. polarbirke revised this gist Aug 14, 2017. 1 changed file with 2 additions and 2 deletions.
    4 changes: 2 additions & 2 deletions Projekt-Maintenance
    Original file line number Diff line number Diff line change
    @@ -1,8 +1,8 @@
    // Prüfe, ob es Updates gibt
    npm outdated

    // Aktualisiere alle veralteten Pakete (Vorsicht: Testen erforderlich!
    // Aktualisiert außerdem keine abgelaufenen [deprecated] Pakete!)
    // Aktualisiere alle veralteten Pakete
    // (Vorsicht: Testen erforderlich! Aktualisiert außerdem keine abgelaufenen [deprecated] Pakete!)
    npm update

    // Maintenance in einem bestehenden Projekt:
  5. polarbirke renamed this gist Aug 11, 2017. 1 changed file with 0 additions and 0 deletions.
    File renamed without changes.
  6. polarbirke renamed this gist Aug 11, 2017. 1 changed file with 0 additions and 0 deletions.
    File renamed without changes.
  7. polarbirke revised this gist Aug 11, 2017. 1 changed file with 14 additions and 0 deletions.
    14 changes: 14 additions & 0 deletions bash
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,14 @@
    // Prüfe, ob es Updates gibt
    npm outdated

    // Aktualisiere alle veralteten Pakete (Vorsicht: Testen erforderlich!
    // Aktualisiert außerdem keine abgelaufenen [deprecated] Pakete!)
    npm update

    // Maintenance in einem bestehenden Projekt:
    // • Wechsel: gulp-minify-css (deprecated) -> gulp-clean-css
    // • Wechsel: gulp-uglifyjs (deprecated) -> gulp-uglify ersetzt
    // • Wechsel: gulp-css-rebase-urls -> gulp-css-url-rebase
    // • Neu: gulp-sourcemaps
    npm install gulp-clean-css gulp-uglify gulp-sourcemaps autoprefixer gulp-css-url-rebase uglify-save-license --save
    npm uninstall autoprefixer-core gulp-minify-css gulp-uglifyjs gulp-css-rebase-urls --save
  8. polarbirke revised this gist Aug 11, 2017. 2 changed files with 24 additions and 13 deletions.
    16 changes: 13 additions & 3 deletions gulpfile.js
    Original file line number Diff line number Diff line change
    @@ -57,9 +57,14 @@ gulp.task('compile-stylesheets', function() {
    .pipe($.exec('sass --cache-location <%= options.sassCacheDir %> --scss --style <%= options.sassOutputStyle %> --load-path <%= options.libdir %> --load-path <%= options.bowerdir %> <%= file.path %>', execOptions))
    .on('error', function(err) { $.util.log(err.message); })
    .pipe($.cssUrlRebase({ root: path.dirname(key) }))
    .pipe($.postcss([ autoprefixer({ browsers: ['last 2 version'] }) ]))
    .pipe(config.development ? $.util.noop() : $.minifyCss())
    .pipe(config.development ? $.sourcemaps.init() : $.util.noop())
    .pipe($.postcss([autoprefixer({ browsers: ['last 5 version'] })]))
    .pipe($.concat(key))
    .pipe($.cleanCss({
    compatibility: 'ie7',
    rebase: false // URL rebasing wird besser von cssUrlRebase gehandhabt
    }))
    .pipe(config.development ? $.sourcemaps.write() : $.util.noop())
    .pipe(gulp.dest(config.webdir))
    );

    @@ -79,7 +84,12 @@ gulp.task('compile-javascripts', function() {

    merger.add(
    gulp.src(config.javascripts.files[key], { cwd: config.webdir })
    .pipe(config.development ? $.concat(key) : $.uglifyjs(key, { output: { comments: saveLicense }}))
    .pipe(config.development ? $.sourcemaps.init() : $.util.noop())
    .pipe($.uglify({
    output: { comments: saveLicense }
    }))
    .pipe($.concat(key))
    .pipe(config.development ? $.sourcemaps.write() : $.util.noop())
    .pipe(gulp.dest(config.webdir))
    );
    }
    21 changes: 11 additions & 10 deletions package.json
    Original file line number Diff line number Diff line change
    @@ -1,19 +1,20 @@
    {
    "private": true,
    "dependencies": {
    "autoprefixer": "^6.0.2",
    "autoprefixer": "^7.1.2",
    "gulp": "^3.8.5",
    "gulp-batch": "^1.0.5",
    "gulp-clean-css": "^3.7.0",
    "gulp-concat": "^2.3.3",
    "gulp-css-url-rebase": "^0.2.0",
    "gulp-css-url-rebase": "^0.2.3",
    "gulp-exec": "^2.1.0",
    "gulp-livereload": "^2.1.0",
    "gulp-load-plugins": "1.0.0-rc.1",
    "gulp-minify-css": "^1.2.1",
    "gulp-uglifyjs": "^0.6.2",
    "gulp-util": "^3.0.6",
    "merge-stream": "^1.0.0",
    "uglify-save-license": "^0.4.1",
    "gulp-postcss": "^6.0.0"
    "gulp-livereload": "^3.8.1",
    "gulp-load-plugins": "^1.5.0",
    "gulp-postcss": "^7.0.0",
    "gulp-sourcemaps": "^2.6.0",
    "gulp-uglify": "^3.0.0",
    "gulp-util": "^3.0.0",
    "merge-stream": "^1.0.1",
    "uglify-save-license": "^0.4.1"
    }
    }
  9. @mpdude mpdude revised this gist Sep 17, 2015. 1 changed file with 6 additions and 21 deletions.
    27 changes: 6 additions & 21 deletions gulpfile.js
    Original file line number Diff line number Diff line change
    @@ -10,33 +10,18 @@ var config = {

    "stylesheets": {
    "files": {
    "css/screen.css": [ 'bundles/webfactorywebsite/scss/screen.scss' ],
    "css/print.css": [ 'bundles/webfactorywebsite/scss/print.scss' ],
    "css/ie8.css": [ 'bundles/webfactorywebsite/scss/ie8.scss' ],
    "css/lte-ie7.css": [ 'bundles/webfactorywebsite/scss/lte-ie7.scss' ]
    // Alle Pfade relativ zu www/, *nicht* mit ../.. aus www ausbrechen!
    "css/target1.css": [ 'bundles/xx/scss/one.scss', 'bower_components/yy/yy.css', ... ],
    ...
    },
    "watch": ['{lib,src,www}/**/*.{css,scss}', '!www/css/**']
    },

    "javascripts": {
    "files": {
    "js/scripts.js": [
    /* Diese drei Dateien zusammen sind für das SvgFallbackBundle (unterhalb von Webfactory-13-Twig-Layout-Bundle) erforderlich. */
    'bower_components/jquery/dist/jquery.js',
    'bundles/webfactorysvgfallback/modernizr-2.6.2-svg.js',
    'bundles/webfactorysvgfallback/svg-fallback.js',
    'bundles/webfactorysvgfallback/init-svg.js',
    'bower_components/json3/lib/json3.js',
    'bower_components/angularjs/angular.js',
    'bower_components/isInViewport/lib/isInViewport.js',
    'bower_components/dreamerslab-jquery.center/jquery.center.js',
    'bower_components/letteringjs/jquery.lettering.js',
    'bower_components/masonry/dist/masonry.pkgd.js',
    'bundles/webfactorywebsite/js/jquery-showOnScrollUp.1.0.js',
    'bundles/webfactorywebsite/js/prism.js',
    'bundles/webfactorywebsite/js/common.js',
    'bundles/webfactorywebsite/js/ng/controllers.js'
    ]
    // Alle Pfade relativ zu www/, *nicht* mit ../.. aus www ausbrechen!
    "js/first.js": [ 'js/foo.js', 'bundles/xx/js/cool.js', ... ],
    ...
    },
    "watch": ['{lib,src,www}/**/*.js', '!www/js/**']
    },
  10. @mpdude mpdude revised this gist Sep 17, 2015. 1 changed file with 4 additions and 2 deletions.
    6 changes: 4 additions & 2 deletions gulpfile.js
    Original file line number Diff line number Diff line change
    @@ -107,12 +107,14 @@ gulp.task('compile-javascripts', function() {
    gulp.task('watch-with-livereload', function () {

    $.livereload.listen();
    gulp.watch(config.stylesheets.watch, $.batch({ timeout: 20 }, function (event) {
    gulp.watch(config.stylesheets.watch, $.batch({ timeout: 20 }, function (done) {
    gulp.start('compile-stylesheets');
    done();
    }));

    gulp.watch(config.javascripts.watch, $.batch({ timeout: 20 }, function (event) {
    gulp.watch(config.javascripts.watch, $.batch({ timeout: 20 }, function (done) {
    gulp.start('compile-javascripts');
    done();
    }));

    });
  11. @mpdude mpdude revised this gist Sep 17, 2015. 2 changed files with 2 additions and 2 deletions.
    2 changes: 1 addition & 1 deletion gulpfile.js
    Original file line number Diff line number Diff line change
    @@ -4,7 +4,7 @@ var $ = require('gulp-load-plugins')(); /// lädt alle gulp-*-Module in $.*
    var mergeStream = require('merge-stream');
    var path = require('path');
    var saveLicense = require('uglify-save-license');
    var autoprefixer = require('autoprefixer-core');
    var autoprefixer = require('autoprefixer');

    var config = {

    2 changes: 1 addition & 1 deletion package.json
    Original file line number Diff line number Diff line change
    @@ -1,7 +1,7 @@
    {
    "private": true,
    "dependencies": {
    "autoprefixer-core": "^5.1.7",
    "autoprefixer": "^6.0.2",
    "gulp": "^3.8.5",
    "gulp-batch": "^1.0.5",
    "gulp-concat": "^2.3.3",
  12. @mpdude mpdude revised this gist Sep 14, 2015. No changes.
  13. @mpdude mpdude revised this gist Sep 14, 2015. 1 changed file with 8 additions and 8 deletions.
    16 changes: 8 additions & 8 deletions package.json
    Original file line number Diff line number Diff line change
    @@ -1,19 +1,19 @@
    {
    "private": true,
    "dependencies": {
    "autoprefixer-core": "^5.1.7",
    "gulp": "^3.8.5",
    "gulp-batch": "^0.4.1",
    "gulp-batch": "^1.0.5",
    "gulp-concat": "^2.3.3",
    "gulp-css-url-rebase": "^0.2.0",
    "gulp-exec": "^2.1.0",
    "gulp-livereload": "^2.1.0",
    "gulp-minify-css": "^0.3.6",
    "gulp-uglifyjs": "^0.4.2",
    "gulp-util": "^3.0.0",
    "merge-stream": "^0.1.5",
    "gulp-load-plugins": "1.0.0-rc.1",
    "gulp-minify-css": "^1.2.1",
    "gulp-uglifyjs": "^0.6.2",
    "gulp-util": "^3.0.6",
    "merge-stream": "^1.0.0",
    "uglify-save-license": "^0.4.1",
    "gulp-load-plugins": "^0.8.0",
    "autoprefixer-core": "^5.1.7",
    "gulp-postcss": "^4.0.3"
    "gulp-postcss": "^6.0.0"
    }
    }
  14. @mpdude mpdude revised this gist Aug 19, 2015. 1 changed file with 0 additions and 1 deletion.
    1 change: 0 additions & 1 deletion package.json
    Original file line number Diff line number Diff line change
    @@ -1,7 +1,6 @@
    {
    "private": true,
    "dependencies": {
    "gulp-load-plugins": "^0.6.0",
    "gulp": "^3.8.5",
    "gulp-batch": "^0.4.1",
    "gulp-concat": "^2.3.3",
  15. @mpdude mpdude revised this gist Aug 8, 2015. 2 changed files with 2 additions and 2 deletions.
    2 changes: 1 addition & 1 deletion gulpfile.js
    Original file line number Diff line number Diff line change
    @@ -71,7 +71,7 @@ gulp.task('compile-stylesheets', function() {
    gulp.src(config.stylesheets.files[key], { cwd: config.webdir, read: false })
    .pipe($.exec('sass --cache-location <%= options.sassCacheDir %> --scss --style <%= options.sassOutputStyle %> --load-path <%= options.libdir %> --load-path <%= options.bowerdir %> <%= file.path %>', execOptions))
    .on('error', function(err) { $.util.log(err.message); })
    .pipe($.cssRebaseUrls({ root: path.dirname(key) }))
    .pipe($.cssUrlRebase({ root: path.dirname(key) }))
    .pipe($.postcss([ autoprefixer({ browsers: ['last 2 version'] }) ]))
    .pipe(config.development ? $.util.noop() : $.minifyCss())
    .pipe($.concat(key))
    2 changes: 1 addition & 1 deletion package.json
    Original file line number Diff line number Diff line change
    @@ -5,7 +5,7 @@
    "gulp": "^3.8.5",
    "gulp-batch": "^0.4.1",
    "gulp-concat": "^2.3.3",
    "gulp-css-rebase-urls": "0.0.5",
    "gulp-css-url-rebase": "^0.2.0",
    "gulp-exec": "^2.1.0",
    "gulp-livereload": "^2.1.0",
    "gulp-minify-css": "^0.3.6",
  16. @mpdude mpdude revised this gist Mar 30, 2015. 2 changed files with 5 additions and 1 deletion.
    2 changes: 2 additions & 0 deletions gulpfile.js
    Original file line number Diff line number Diff line change
    @@ -4,6 +4,7 @@ var $ = require('gulp-load-plugins')(); /// lädt alle gulp-*-Module in $.*
    var mergeStream = require('merge-stream');
    var path = require('path');
    var saveLicense = require('uglify-save-license');
    var autoprefixer = require('autoprefixer-core');

    var config = {

    @@ -71,6 +72,7 @@ gulp.task('compile-stylesheets', function() {
    .pipe($.exec('sass --cache-location <%= options.sassCacheDir %> --scss --style <%= options.sassOutputStyle %> --load-path <%= options.libdir %> --load-path <%= options.bowerdir %> <%= file.path %>', execOptions))
    .on('error', function(err) { $.util.log(err.message); })
    .pipe($.cssRebaseUrls({ root: path.dirname(key) }))
    .pipe($.postcss([ autoprefixer({ browsers: ['last 2 version'] }) ]))
    .pipe(config.development ? $.util.noop() : $.minifyCss())
    .pipe($.concat(key))
    .pipe(gulp.dest(config.webdir))
    4 changes: 3 additions & 1 deletion package.json
    Original file line number Diff line number Diff line change
    @@ -13,6 +13,8 @@
    "gulp-util": "^3.0.0",
    "merge-stream": "^0.1.5",
    "uglify-save-license": "^0.4.1",
    "gulp-load-plugins": "^0.8.0"
    "gulp-load-plugins": "^0.8.0",
    "autoprefixer-core": "^5.1.7",
    "gulp-postcss": "^4.0.3"
    }
    }
  17. @mpdude mpdude revised this gist Dec 12, 2014. 1 changed file with 2 additions and 1 deletion.
    3 changes: 2 additions & 1 deletion package.json
    Original file line number Diff line number Diff line change
    @@ -12,6 +12,7 @@
    "gulp-uglifyjs": "^0.4.2",
    "gulp-util": "^3.0.0",
    "merge-stream": "^0.1.5",
    "uglify-save-license": "^0.4.1"
    "uglify-save-license": "^0.4.1",
    "gulp-load-plugins": "^0.8.0"
    }
    }
  18. @mpdude mpdude revised this gist Dec 12, 2014. 2 changed files with 4 additions and 2 deletions.
    3 changes: 2 additions & 1 deletion gulpfile.js
    Original file line number Diff line number Diff line change
    @@ -3,6 +3,7 @@ var gulp = require('gulp');
    var $ = require('gulp-load-plugins')(); /// lädt alle gulp-*-Module in $.*
    var mergeStream = require('merge-stream');
    var path = require('path');
    var saveLicense = require('uglify-save-license');

    var config = {

    @@ -91,7 +92,7 @@ gulp.task('compile-javascripts', function() {

    merger.add(
    gulp.src(config.javascripts.files[key], { cwd: config.webdir })
    .pipe(config.development ? $.concat(key) : $.uglifyjs(key))
    .pipe(config.development ? $.concat(key) : $.uglifyjs(key, { output: { comments: saveLicense }}))
    .pipe(gulp.dest(config.webdir))
    );
    }
    3 changes: 2 additions & 1 deletion package.json
    Original file line number Diff line number Diff line change
    @@ -11,6 +11,7 @@
    "gulp-minify-css": "^0.3.6",
    "gulp-uglifyjs": "^0.4.2",
    "gulp-util": "^3.0.0",
    "merge-stream": "^0.1.5"
    "merge-stream": "^0.1.5",
    "uglify-save-license": "^0.4.1"
    }
    }
  19. @mpdude mpdude revised this gist Nov 27, 2014. 1 changed file with 1 addition and 1 deletion.
    2 changes: 1 addition & 1 deletion gulpfile.js
    Original file line number Diff line number Diff line change
    @@ -36,7 +36,7 @@ var config = {
    'bundles/webfactorywebsite/js/ng/controllers.js'
    ]
    },
    "watch": ['{lib,src,www}/**/*.{js}', '!www/js/**']
    "watch": ['{lib,src,www}/**/*.js', '!www/js/**']
    },

    "development": ($.util.env.e || $.util.env.env || phlough['symfony.kernel.environment']) == 'development',
  20. @mpdude mpdude revised this gist Nov 27, 2014. 1 changed file with 2 additions and 1 deletion.
    3 changes: 2 additions & 1 deletion gulpfile.js
    Original file line number Diff line number Diff line change
    @@ -56,7 +56,8 @@ gulp.task('compile-stylesheets', function() {
    libdir: config.libdir,
    bowerdir: config.bowerdir,
    sassCacheDir: config.tempdir + '/.sass-cache',
    sassOutputStyle: 'nested'
    sassOutputStyle: 'nested',
    maxBuffer: 500 * 1024 // 500 KB Puffergröße für Ausgabe SASS -> CSS-Rebase
    };

    for (var key in config.stylesheets.files) {
  21. @mpdude mpdude created this gist Sep 2, 2014.
    117 changes: 117 additions & 0 deletions gulpfile.js
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,117 @@
    var phlough = require("./conf/phlough-configuration.json");
    var gulp = require('gulp');
    var $ = require('gulp-load-plugins')(); /// lädt alle gulp-*-Module in $.*
    var mergeStream = require('merge-stream');
    var path = require('path');

    var config = {

    "stylesheets": {
    "files": {
    "css/screen.css": [ 'bundles/webfactorywebsite/scss/screen.scss' ],
    "css/print.css": [ 'bundles/webfactorywebsite/scss/print.scss' ],
    "css/ie8.css": [ 'bundles/webfactorywebsite/scss/ie8.scss' ],
    "css/lte-ie7.css": [ 'bundles/webfactorywebsite/scss/lte-ie7.scss' ]
    },
    "watch": ['{lib,src,www}/**/*.{css,scss}', '!www/css/**']
    },

    "javascripts": {
    "files": {
    "js/scripts.js": [
    /* Diese drei Dateien zusammen sind für das SvgFallbackBundle (unterhalb von Webfactory-13-Twig-Layout-Bundle) erforderlich. */
    'bower_components/jquery/dist/jquery.js',
    'bundles/webfactorysvgfallback/modernizr-2.6.2-svg.js',
    'bundles/webfactorysvgfallback/svg-fallback.js',
    'bundles/webfactorysvgfallback/init-svg.js',
    'bower_components/json3/lib/json3.js',
    'bower_components/angularjs/angular.js',
    'bower_components/isInViewport/lib/isInViewport.js',
    'bower_components/dreamerslab-jquery.center/jquery.center.js',
    'bower_components/letteringjs/jquery.lettering.js',
    'bower_components/masonry/dist/masonry.pkgd.js',
    'bundles/webfactorywebsite/js/jquery-showOnScrollUp.1.0.js',
    'bundles/webfactorywebsite/js/prism.js',
    'bundles/webfactorywebsite/js/common.js',
    'bundles/webfactorywebsite/js/ng/controllers.js'
    ]
    },
    "watch": ['{lib,src,www}/**/*.{js}', '!www/js/**']
    },

    "development": ($.util.env.e || $.util.env.env || phlough['symfony.kernel.environment']) == 'development',
    "webdir": phlough["project.webdir"],
    "libdir": phlough["project.libdir"],
    "bowerdir": phlough["bower.components_dir"],
    "tempdir": phlough["project.tempdir"]
    }

    gulp.task('compile-stylesheets', function() {

    var merger = mergeStream();

    var execOptions = {
    cwd: config.webdir,
    pipeStdout: true,
    libdir: config.libdir,
    bowerdir: config.bowerdir,
    sassCacheDir: config.tempdir + '/.sass-cache',
    sassOutputStyle: 'nested'
    };

    for (var key in config.stylesheets.files) {
    var destPath = config.webdir + "/" + key;

    $.util.log("Compile " + key + ": [" + (config.stylesheets.files[key].join(", ")) + "]");

    merger.add(
    gulp.src(config.stylesheets.files[key], { cwd: config.webdir, read: false })
    .pipe($.exec('sass --cache-location <%= options.sassCacheDir %> --scss --style <%= options.sassOutputStyle %> --load-path <%= options.libdir %> --load-path <%= options.bowerdir %> <%= file.path %>', execOptions))
    .on('error', function(err) { $.util.log(err.message); })
    .pipe($.cssRebaseUrls({ root: path.dirname(key) }))
    .pipe(config.development ? $.util.noop() : $.minifyCss())
    .pipe($.concat(key))
    .pipe(gulp.dest(config.webdir))
    );

    }

    merger.pipe($.livereload({ auto: false }));
    return merger;

    });

    gulp.task('compile-javascripts', function() {

    var merger = mergeStream();

    for (var key in config.javascripts.files) {
    $.util.log("Compile " + key + ": [" + (config.javascripts.files[key].join(", ")) + "]");

    merger.add(
    gulp.src(config.javascripts.files[key], { cwd: config.webdir })
    .pipe(config.development ? $.concat(key) : $.uglifyjs(key))
    .pipe(gulp.dest(config.webdir))
    );
    }

    merger.pipe($.livereload({ auto: false }));
    return merger;

    });

    gulp.task('watch-with-livereload', function () {

    $.livereload.listen();
    gulp.watch(config.stylesheets.watch, $.batch({ timeout: 20 }, function (event) {
    gulp.start('compile-stylesheets');
    }));

    gulp.watch(config.javascripts.watch, $.batch({ timeout: 20 }, function (event) {
    gulp.start('compile-javascripts');
    }));

    });

    gulp.task('default', ['watch-with-livereload']);
    gulp.task('compile', ['compile-stylesheets', 'compile-javascripts']);
    16 changes: 16 additions & 0 deletions package.json
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,16 @@
    {
    "private": true,
    "dependencies": {
    "gulp-load-plugins": "^0.6.0",
    "gulp": "^3.8.5",
    "gulp-batch": "^0.4.1",
    "gulp-concat": "^2.3.3",
    "gulp-css-rebase-urls": "0.0.5",
    "gulp-exec": "^2.1.0",
    "gulp-livereload": "^2.1.0",
    "gulp-minify-css": "^0.3.6",
    "gulp-uglifyjs": "^0.4.2",
    "gulp-util": "^3.0.0",
    "merge-stream": "^0.1.5"
    }
    }