Skip to content

Instantly share code, notes, and snippets.

@codegenin
Forked from laracasts/gulpfile.js
Created September 29, 2015 17:03
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save codegenin/e078012d9f0ca69f2dbf to your computer and use it in GitHub Desktop.
Save codegenin/e078012d9f0ca69f2dbf to your computer and use it in GitHub Desktop.
Example Laravel-specific Gulpfile from Laracasts.com
var gulp = require('gulp');
var gutil = require('gulp-util');
var notify = require('gulp-notify');
var sass = require('gulp-ruby-sass');
var autoprefix = require('gulp-autoprefixer');
var minifyCSS = require('gulp-minify-css')
var coffee = require('gulp-coffee');
var exec = require('child_process').exec;
var sys = require('sys');
// Where do you store your Sass files?
var sassDir = 'app/assets/sass';
// Which directory should Sass compile to?
var targetCSSDir = 'public/css';
// Where do you store your CoffeeScript files?
var coffeeDir = 'app/assets/coffee';
// Which directory should CoffeeScript compile to?
var targetJSDir = 'public/js';
// Compile Sass, autoprefix CSS3,
// and save to target CSS directory
gulp.task('css', function () {
return gulp.src(sassDir + '/main.sass')
.pipe(sass({ style: 'compressed' }).on('error', gutil.log))
.pipe(autoprefix('last 10 version'))
.pipe(gulp.dest(targetCSSDir))
.pipe(notify('CSS minified'))
});
// Handle CoffeeScript compilation
gulp.task('js', function () {
return gulp.src(coffeeDir + '/**/*.coffee')
.pipe(coffee().on('error', gutil.log))
.pipe(gulp.dest(targetJSDir))
});
// Run all PHPUnit tests
gulp.task('phpunit', function() {
exec('phpunit', function(error, stdout) {
sys.puts(stdout);
});
});
// Keep an eye on Sass, Coffee, and PHP files for changes...
gulp.task('watch', function () {
gulp.watch(sassDir + '/**/*.sass', ['css']);
gulp.watch(coffeeDir + '/**/*.coffee', ['js']);
gulp.watch('app/**/*.php', ['phpunit']);
});
// What tasks does running gulp trigger?
gulp.task('default', ['css', 'js', 'phpunit', 'watch']);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment