Skip to content
Snippets Groups Projects
gulpfile.js 1.54 KiB
Newer Older
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'))
ka215's avatar
ka215 committed
    .pipe(gulp.dest('./docs/css'))
ka215's avatar
ka215 committed
    .pipe(browserSync.stream());
});

gulp.task('scripts', function() {
  return gulp.src('src/timeline.js')
    .pipe(uglify({output: {comments: '/^!/'}}))
ka215's avatar
ka215 committed
    .on('error', function (err) { gutil.log(gutil.colors.red('[Error]'), err.toString()); })
    .pipe(rename({extname: '.min.js'}))
    .pipe(gulp.dest('./dist'))
ka215's avatar
ka215 committed
    .pipe(gulp.dest('./docs/js'))
ka215's avatar
ka215 committed
    .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']);
});