diff --git a/gulpfile.js b/gulpfile.js index 4cb0341a96..51678484e0 100644 --- a/gulpfile.js +++ b/gulpfile.js @@ -1,16 +1,18 @@ var gulp = require('gulp'), - debug = require('debug')('freecc:gulp'), - bower = require('bower-main-files'), - nodemon = require('gulp-nodemon'), - sync = require('browser-sync'), - reload = sync.reload, - inject = require('gulp-inject'), - reloadDelay = 1000, - eslint = require('gulp-eslint'); + debug = require('debug')('freecc:gulp'), + bower = require('bower-main-files'), + nodemon = require('gulp-nodemon'), + sync = require('browser-sync'), + reload = sync.reload, + inject = require('gulp-inject'), + reloadDelay = 1000, + less = require('gulp-less'), + path = require('path'), + eslint = require('gulp-eslint'); var paths = { - server: './server/server.js', - serverIgnore: [] + server: './server/server.js', + serverIgnore: [] }; gulp.task('inject', function() { @@ -22,50 +24,58 @@ gulp.task('inject', function() { }); gulp.task('serve', function(cb) { - var called = false; - nodemon({ - script: paths.server, - ext: '.js', - ignore: paths.serverIgnore, - env: { - 'NODE_ENV': 'development', - 'DEBUG': process.env.DEBUG || 'freecc:*' - } + var called = false; + nodemon({ + script: paths.server, + ext: '.js', + ignore: paths.serverIgnore, + env: { + 'NODE_ENV': 'development', + 'DEBUG': process.env.DEBUG || 'freecc:*' + } + }) + .on('start', function() { + if (!called) { + called = true; + setTimeout(function() { + cb(); + }, reloadDelay); + } }) - .on('start', function() { - if (!called) { - called = true; - setTimeout(function() { - cb(); - }, reloadDelay); - } - }) - .on('restart', function(files) { - if (files) { - debug('Files that changes: ', files); - } - setTimeout(function() { - debug('Restarting browsers'); - reload(); - }, reloadDelay); - }); + .on('restart', function(files) { + if (files) { + debug('Files that changes: ', files); + } + setTimeout(function() { + debug('Restarting browsers'); + reload(); + }, reloadDelay); + }); }); gulp.task('sync', ['serve'], function() { - sync.init(null, { - proxy: 'http://localhost:3000', - logLeval: 'debug', - files: ['public/js/lib/*/*.{js, jsx}'], - port: 3001, - open: false, - reloadDelay: reloadDelay - }); + sync.init(null, { + proxy: 'http://localhost:3000', + logLeval: 'debug', + files: ['public/js/lib/*/*.{js, jsx}'], + port: 3001, + open: false, + reloadDelay: reloadDelay + }); }); gulp.task('lint', function() { return gulp.src(['public/js/lib/**/*']) - .pipe(eslint()) - .pipe(eslint.format()); + .pipe(eslint()) + .pipe(eslint.format()); }); -gulp.task('default', ['serve', 'sync']); +gulp.task('build', function() { + return gulp.src('./public/css/*.less') + .pipe(less({ + paths: [ path.join(__dirname, 'less', 'includes') ] + })) + .pipe(gulp.dest('./public/css/')); +}); + +gulp.task('default', ['build', 'serve', 'sync']); diff --git a/package.json b/package.json index 6813f87726..6cbc7a85a6 100644 --- a/package.json +++ b/package.json @@ -12,7 +12,8 @@ "scripts": { "start": "node server/server.js", "lint": "eslint --ext=.js,.jsx .", - "test": "mocha" + "test": "mocha", + "postinstall": "bower cache clean && bower install" }, "license": "BSD-3-Clause", "contributors": [ @@ -50,6 +51,7 @@ "forever": "~0.14.1", "frameguard": "^0.2.2", "github-api": "~0.7.0", + "gulp-less": "^3.0.3", "gulp-minify-css": "~0.5.1", "helmet": "~0.9.0", "helmet-csp": "^0.2.3",