Skip to content
Snippets Groups Projects
gulpfile.js 1.44 KiB
Newer Older
  • Learn to ignore specific revisions
  • ka215's avatar
    ka215 committed
    var gulp = require('gulp');
    var sass = require('gulp-sass');
    var autoprefixer = require('gulp-autoprefixer');
    var cleanCSS = require('gulp-clean-css');
    var eslint = require('gulp-eslint');
    var uglify = require('gulp-uglify');
    var rename = require('gulp-rename');
    var gutil = require('gulp-util');
    var browserSync = require('browser-sync').create();
    
    gulp.task('browser-sync', function() {
      browserSync.init({
        server: './'
      });
    });
    
    gulp.task('styles', function() {
      return gulp.src('src/**/*.scss')
        .pipe(sass())
        .pipe(autoprefixer())
        .pipe(cleanCSS({compatibility: 'ie8'}))
        .pipe(rename({extname: '.min.css'}))
        .pipe(gulp.dest('./dist'))
        .pipe(browserSync.stream());
    });
    
    gulp.task('scripts', function() {
      return gulp.src('src/timeline.js')
        .pipe(uglify())
        .on('error', function (err) { gutil.log(gutil.colors.red('[Error]'), err.toString()); })
        .pipe(rename({extname: '.min.js'}))
        .pipe(gulp.dest('./dist'))
        .pipe(browserSync.stream());
    });
    
    gulp.task('eslint', function() {
      return gulp.src('src/timeline.js')
        .pipe(eslint({useEslintrc: true}))
        .pipe(eslint.format())
        .pipe(eslint.failAfterError());
        //.pipe(gulp.dest('./dist'))
        //.pipe(browserSync.stream());
    });
    
    gulp.task('default', function() {
      browserSync.init({
        server: './'
      });
      gulp.watch('src/timeline.js',['eslint','scripts']);
      gulp.watch('src/**/*.scss',['styles']);
    });