Skip to content

Instantly share code, notes, and snippets.

@cannap
Created May 9, 2014 10:46
Show Gist options
  • Save cannap/b811ec915ba80b8053a7 to your computer and use it in GitHub Desktop.
Save cannap/b811ec915ba80b8053a7 to your computer and use it in GitHub Desktop.
Gulpfile for Laravel with vendor/admin/public dirs
var gulp = require('gulp');
var notify = require('gulp-notify');
var minifyCSS = require('gulp-minify-css');
var uglify = require('gulp-uglify');
var livereload = require('gulp-livereload');
var concat = require('gulp-concat');
//Main App
var cssDir = 'app/assets/css';
var jsDir = 'app/assets/js';
//Vendors
var vCSSDir = 'app/assets/vendor/css';
var vJSDir = 'app/assets/vendor/js';
//The Target's
var targetCSSDir = 'public/css';
var vtargetCSSDir = 'public/vendor/css';
var targetJSDir = 'public/js';
var vtargetJSDir = 'public/vendor/js';
//Tasks
gulp.task('css', function () {
return gulp.src(cssDir + '/app.css')
.pipe(concat('app.css'))
.pipe(minifyCSS())
.pipe(gulp.dest(targetCSSDir))
.pipe(notify('CSS Generated'))
});
gulp.task('vcss', function () {
return gulp.src(vCSSDir + '/*.css')
.pipe(concat('vendor.css'))
.pipe(minifyCSS())
.pipe(gulp.dest(vtargetCSSDir))
.pipe(notify('CSS Vendor Generated'))
});
gulp.task('js', function () {
return gulp.src(jsDir + '/*.js')
.pipe(concat('app.js'))
.pipe(uglify())
.pipe(gulp.dest(targetJSDir))
.pipe(notify('Js Generated'))
});
gulp.task('vjs', function () {
return gulp.src(vJSDir + '/*.js')
.pipe(concat('vendor.js'))
.pipe(uglify())
.pipe(gulp.dest(vtargetJSDir))
.pipe(notify('Js Vendor Generated'))
});
//Keep Watching
gulp.task('watch', function () {
var server = livereload();
gulp.watch(vCSSDir + '/**/*.css', ['css']);
gulp.watch(vJSDir + '/**/*.js', ['js']);
gulp.watch(cssDir + '/**/*.css', ['css']);
gulp.watch(jsDir + '/**/*.js', ['js']);
gulp.watch('app/**/*.php').on('change', function (file) {
server.changed(file.path);
});
});
//all Together
gulp.task('default', ['css', 'js', 'vcss', 'vjs', 'watch']);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment