67 lines
1.5 KiB
JavaScript
67 lines
1.5 KiB
JavaScript
var gulp = require('gulp')
|
|
var nodemon = require('gulp-nodemon')
|
|
var sourcemaps = require('gulp-sourcemaps')
|
|
var concat = require('gulp-concat')
|
|
var uglify = require('gulp-uglify')
|
|
var cssmin = require('gulp-cssmin')
|
|
var del = require('del')
|
|
var path = require('path')
|
|
|
|
var client = {
|
|
js: {
|
|
src: 'client/js',
|
|
dest: 'public/js'
|
|
},
|
|
css: {
|
|
src: 'client/css',
|
|
dest: 'public/css'
|
|
}
|
|
}
|
|
|
|
gulp.task('default', ['jsmin', 'cssmin', 'start'])
|
|
|
|
gulp.task('start', function () {
|
|
nodemon({
|
|
script: 'bin/www',
|
|
ext: 'js css ejs',
|
|
ignore: ['public', 'logs'],
|
|
tasks: function (files) {
|
|
var tasks = []
|
|
files.forEach(function (file) {
|
|
if (path.relative(client.js.src, file).substr(0, 2) !== '..'
|
|
&& !~tasks.indexOf('jsmin')) {
|
|
tasks.push('jsmin')
|
|
}
|
|
if (path.relative(client.css.src, file).substr(0, 2) !== '..'
|
|
&& !~tasks.indexOf('cssmin')) {
|
|
tasks.push('cssmin')
|
|
}
|
|
})
|
|
return tasks
|
|
}
|
|
})
|
|
})
|
|
|
|
gulp.task('cleanjs', function () {
|
|
return del([client.js.dest])
|
|
})
|
|
|
|
gulp.task('cleancss', function () {
|
|
return del([client.css.dest])
|
|
})
|
|
|
|
gulp.task('jsmin', ['cleanjs'], function () {
|
|
return gulp.src(client.js.src + '/**/*.js')
|
|
.pipe(sourcemaps.init())
|
|
.pipe(concat('graph.js'))
|
|
.pipe(uglify())
|
|
.pipe(gulp.dest(client.js.dest))
|
|
})
|
|
|
|
gulp.task('cssmin', ['cleancss'], function () {
|
|
return gulp.src(client.css.src + '/**/*.css')
|
|
.pipe(concat('style.css'))
|
|
.pipe(cssmin())
|
|
.pipe(gulp.dest(client.css.dest))
|
|
})
|