planit
Version:
Interactive markers on an image or blank canvas
81 lines (72 loc) • 2.13 kB
JavaScript
// Include gulp
var gulp = require('gulp');
// Include Our Plugins
var gutil = require('gulp-util');
var rename = require('gulp-rename');
var jshint = require('gulp-jshint');
var coffee = require('gulp-coffee');
var sourcemaps = require('gulp-sourcemaps');
var concat = require('gulp-concat');
var uglify = require('gulp-uglify');
var sass = require('gulp-sass');
var cssbeautify = require('gulp-cssbeautify');
var cssmin = require('gulp-cssmin');
// Coffee
gulp.task('coffee', function() {
return gulp.src([
// Planit
'source/javascripts/planit.coffee',
// Plan
'source/javascripts/planit/plan.coffee',
'source/javascripts/planit/plan/init.coffee',
'source/javascripts/planit/plan/zoomable.coffee',
'source/javascripts/planit/plan/events.coffee',
'source/javascripts/planit/plan/markers.coffee',
// Marker
'source/javascripts/planit/marker.coffee',
// Init
'source/javascripts/planit/init.coffee'
])
.pipe(concat('planit-tmp.coffee'))
.pipe(sourcemaps.init())
.pipe(coffee({bare: true}).on('error', gutil.log))
.pipe(sourcemaps.write())
.pipe(rename('planit.js'))
.pipe(gulp.dest('./'));
});
// Lint Task
gulp.task('jslint', function() {
return gulp.src('./planit.js')
.pipe(jshint())
.pipe(jshint.reporter('default'));
});
// Minify JS
gulp.task('jsdist', function() {
return gulp.src('./planit.js')
.pipe(rename('planit.min.js'))
.pipe(uglify())
.pipe(gulp.dest('dist'));
});
// Compile Sass
gulp.task('sass', function() {
return gulp.src('source/stylesheets/*.scss')
.pipe(sass({
includePaths: require('node-bourbon').includePaths
}))
.pipe(cssbeautify())
.pipe(gulp.dest('./'));
});
// Minify CSS
gulp.task('cssdist', function() {
return gulp.src('./planit.css')
.pipe(cssmin())
.pipe(rename('planit.min.css'))
.pipe(gulp.dest('dist'));
});
// Watch Files For Changes
gulp.task('watch', function() {
gulp.watch('source/javascripts/**/*.coffee', ['coffee', 'jslint']);
gulp.watch('source/stylesheets/*.scss', ['sass']);
});
// Default Task
gulp.task('default', ['watch']);