Files
2015-01-07 18:13:52 +00:00

80 lines
2.0 KiB
JavaScript

'use strict';
var gulp = require( 'gulp' );
var jshint = require( 'gulp-jshint' );
var rename = require( 'gulp-rename' );
var runSequence = require( 'run-sequence' );
var stylus = require( 'gulp-stylus' );
var uglify = require( 'gulp-uglify' );
// not sure if we'll use nib, but probably should add it
var nib = require( 'nib' );
var gulpConfig = require( './gulp/config' );
var paths = gulpConfig.paths;
var stylusOptions = {
use: nib()
, compress: false
};
gulp.task( 'default', function( cb ) {
runSequence( 'jshint', 'release', cb );
});
gulp.task( 'release', [ 'stylus', 'stylus:compress', 'uglify', 'copySrcFiles' ] );
gulp.task( 'watch', function() {
gulp.watch( paths.src.stylus + '**/*', [ 'stylus' ] );
});
gulp.task( 'jshint', function() {
var files = [
'./gulpfile.js'
, './test.js'
, paths.src.js + 'scheduler.js'
];
return gulp.src( files )
.pipe( jshint( './.jshintrc' ) )
.pipe( jshint.reporter( 'jshint-stylish' ) )
.pipe( jshint.reporter( 'fail' ) );
});
gulp.task( 'uglify', function() {
return gulp.src( [ paths.src.js + 'scheduler.js' ] )
.pipe( uglify() )
.pipe( rename({
extname: '.min.js'
}))
.pipe( gulp.dest( paths.dist.js ) );
});
gulp.task( 'stylus', function() {
stylusOptions.compress = false;
return gulp.src( [ paths.src.stylus + 'scheduler.styl' ] )
.pipe( stylus( stylusOptions ) )
.pipe( gulp.dest( paths.src.css ) );
});
gulp.task( 'stylus:compress', function() {
stylusOptions.compress = true;
return gulp.src( [ paths.src.stylus + 'scheduler.styl' ] )
.pipe( stylus( stylusOptions ) )
.pipe( rename({
extname: '.min.css'
}))
.pipe( gulp.dest( paths.dist.css ) );
});
gulp.task( 'copySrcFiles', function() {
gulp.src( [ paths.src.js + '**/*' ] )
.pipe( gulp.dest( paths.dist.js ) );
gulp.src( [ paths.src.css + '**/*' ] )
.pipe( gulp.dest( paths.dist.css ) );
});