xkeshav

gulpfile.js

Jul 22nd, 2016
147
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. var gulp = require('gulp');
  2. var source = require('vinyl-source-stream');
  3. var browserSync = require('browser-sync').create();
  4. var mainBowerFiles = require('main-bower-files');
  5. var es = require('event-stream');
  6. var wiredep = require('wiredep').stream;
  7.  
  8. var $ = require("gulp-load-plugins")({
  9.   pattern: ['gulp-*', 'gulp.*', 'browserify**'],
  10.   replaceString: /\bgulp[\-.]/
  11. });
  12.  
  13. var onError = function (err) {
  14.     $.util.log($.util.colors.red('Error (' + err.plugin + '): ' + err.message));
  15. };
  16.  
  17. var src = './app/';
  18. var dest = './env/';
  19.  
  20. //---------------TASK begins -------------------------
  21.  
  22.     gulp.task('lint', function() {
  23.       return gulp.src('./app/**/*.js')
  24.         .pipe($.jshint())
  25.         .pipe($.jshint.reporter('default'))
  26.         // .pipe($.notify({ message: 'JS Hinting task complete' }))
  27.     });
  28.  
  29.     gulp.task('scripts', ['lint'], function(){
  30.         return gulp.src(['./app/**/*.js'])
  31.                 .pipe($.plumber())
  32.                 .pipe($.sourcemaps.init())
  33.                 .pipe($.uglify().on('error', onError))
  34.                 .pipe($.plumber.stop())
  35.                 .pipe($.concat('vendor.min.js'))
  36.                 .pipe($.sourcemaps.write())
  37.                 .pipe(gulp.dest(dest))
  38.     });
  39.  
  40.     gulp.task('browserify', function() {
  41.         return $.browserify('./app/app.js')
  42.             .bundle()
  43.             .pipe(source('main.js'))
  44.             .pipe(gulp.dest(dest));
  45.     });
  46.  
  47.     gulp.task('copy', ['browserify'], function() {
  48.         gulp.src(['app/**/*.html','./app/**/*.css'])
  49.             .pipe(gulp.dest(dest))
  50.             .pipe(browserSync.stream());
  51.     });
  52.  
  53.     gulp.task('sass', function() {
  54.       return gulp.src(['./app/assets/**/*.scss','./app/assets/**/*.css'])
  55.         .pipe($.sourcemaps.init())
  56.         .pipe($.autoprefixer({ browsers: ['last 2 versions']}))
  57.         .pipe($.sass().on('error', $.sass.logError))
  58.         .pipe($.cssnano())
  59.         .pipe($.sourcemaps.write())
  60.         .pipe(gulp.dest(dest))
  61.         .pipe(browserSync.reload({stream: true}));
  62.     });
  63.  
  64.     gulp.task('inject', function () {
  65.       var target = gulp.src('./app/index.html');
  66.       var sources = gulp.src('./app/**/*.js');
  67.       return target
  68.         .pipe($.inject(gulp.src(mainBowerFiles(),{ read: false}), {
  69.             name: 'bower',
  70.             relative: true
  71.         }))
  72.         // .pipe($.inject(sources.pipe($.angularFilesort())))
  73.         .pipe(gulp.dest(src))
  74.     });
  75.  
  76.  
  77.     gulp.task('build', ['inject', 'copy']);
  78.  
  79.     gulp.task('browser-sync', ['build'], function() {
  80.         browserSync.init({
  81.             server: {
  82.                 baseDir: dest
  83.             },
  84.             browser:["firefox"]
  85.         });
  86.     });
  87.  
  88.     gulp.task('default', ['browser-sync'], function(){
  89.         $.util.log('Default is running...');
  90.         gulp.watch("./app/**/*.*", ["build"]);
  91.         gulp.watch("./env/**/*.*").on('change', browserSync.reload);
  92.     })
Add Comment
Please, Sign In to add comment