diff --git a/gulpfile.js b/gulpfile.js index 3ae5bb50..bdc4c722 100644 --- a/gulpfile.js +++ b/gulpfile.js @@ -1,78 +1,82 @@ -var path = require("path"); -var gulp = require("gulp"); -var _if = require("gulp-if"); -var sass = require("gulp-sass"); -var babel = require("babelify"); -var minify_css = require("gulp-minify-css"); -var autoprefixer = require("gulp-autoprefixer"); -var imageMin = require("gulp-imagemin"); -var uglify = require("gulp-uglify"); -var concat = require("gulp-concat"); -var browserify = require("gulp-browserify"); -var annotate = require("browserify-ngannotate"); +var gulp = require('gulp'); +var _if = require('gulp-if'); +var postcss = require('gulp-postcss'); +var sass = require('gulp-sass'); +var imageMin = require('gulp-imagemin'); +var uglify = require('gulp-uglify'); +var minify = require('gulp-minify'); +var concat = require('gulp-concat'); +var browserify = require('gulp-browserify'); var is_production = process.env['NODE_ENV'] == 'production'; gulp.task("concat-bower", function () { - var files = [ - "public/bower_components/jquery/dist/jquery.min.js", - "public/bower_components/angular/angular.min.js", - "public/bower_components/angular-route/angular-route.min.js", - "public/bower_components/angular-animate/angular-animate.min.js", - "public/bower_components/angulartics/dist/angulartics.min.js", - "public/bower_components/angulartics/dist/angulartics-ga.min.js", - "public/bower_components/spin.js/spin.js", - "public/bower_components/angular-spinner/angular-spinner.min.js", - "public/bower_components/socket.io-client/socket.io.js" - ]; + var files = [ + "public/bower_components/jquery/dist/jquery.min.js", + "public/bower_components/angular/angular.min.js", + "public/bower_components/angular-route/angular-route.min.js", + "public/bower_components/angular-animate/angular-animate.min.js", + "public/bower_components/angulartics/dist/angulartics.min.js", + "public/bower_components/angulartics/dist/angulartics-ga.min.js", + "public/bower_components/spin.js/spin.js", + "public/bower_components/angular-spinner/angular-spinner.min.js", + "public/bower_components/socket.io-client/socket.io.js" + ]; gulp.src(files) - .pipe(concat("libs.js")) - .pipe(uglify()) + .pipe(concat("libs.js")) + .pipe(uglify()) .pipe(gulp.dest("public")); }); -gulp.task("sass", function () { - gulp.src("./assets/style/*.scss") +gulp.task('styles', function () { + var processors = [ + require('autoprefixer')({browsers: ['last 1 version']}), + require('cssnano')() + ]; + + gulp.src('./assets/style/*.scss') .pipe(sass()) - .pipe(concat("style.css")) - .pipe(autoprefixer()) - .pipe(minify_css({processImport:false})) - .pipe(gulp.dest("public")); + .pipe(postcss(processors)) + .pipe(concat('style.css')) + .pipe(gulp.dest('./public')); }); -gulp.task("copy", function(){ - gulp.src("./assets/fonts/*") - .pipe(gulp.dest("./public/fonts")); +gulp.task("copy", function () { + gulp.src("./assets/fonts/*") + .pipe(gulp.dest("./public/fonts")); - gulp.src("./assets/graphics/*") - .pipe(gulp.dest("./public/graphics")); + gulp.src("./assets/graphics/*") + .pipe(gulp.dest("./public/graphics")); - gulp.src([ - "./3rdparty/*", - "robots.txt" - ]) - .pipe(gulp.dest("./public")); + gulp.src([ + "./3rdparty/*", + "robots.txt" + ]) + .pipe(gulp.dest("./public")); }); -gulp.task("compile", function(){ - gulp.src([ - "client/app.js", - "client/document.js", - "client/data.js", - "client/instagram.js" - ]) - .pipe(browserify({ - transform: [annotate, babel] - })) - .pipe(_if(is_production, uglify())) - .pipe(gulp.dest("public")); +gulp.task('compile', function () { + gulp.src([ + 'client/app.js', + 'client/document.js', + 'client/data.js', + 'client/instagram.js' + ]) + .pipe(browserify({ + transform: [ + require('browserify-ngannotate'), + require('babelify') + ] + })) + //.pipe(_if(is_production, minify())) + .pipe(gulp.dest('./public')); }); -gulp.task("imagemin", function(){ - gulp.src("./assets/img/**/*") - .pipe(imageMin()) - .pipe(gulp.dest("./public/img")); +gulp.task("imagemin", function () { + gulp.src("./assets/img/**/*") + .pipe(imageMin()) + .pipe(gulp.dest("./public/img")); }); -gulp.task("default", ["sass", "compile"]); -gulp.task("deploy", ["default", "copy", "imagemin"]); +gulp.task('default', ['styles', 'compile']); +gulp.task('deploy', ['default', 'copy', 'imagemin']); diff --git a/package.json b/package.json index b66d3f19..b792b77d 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "Hudozka", "private": true, - "version": "3.4.0", + "version": "3.4.1", "description": "", "main": "bin/www.js", "scripts": { @@ -19,12 +19,11 @@ "koa-bodyparser": "^1.4.1", "koa-conditional-get": "^1.0.2", "koa-etag": "^2.0.0", - "koa-helmet": "0.0.3", + "koa-helmet": "^1.0.0", "koa-logger": "^1.2.2", "koa-prerender": "^1.0.3", "koa-route": "^2.4.0", "koa-static": "^1.4.9", - "koa-useragent": "0.1.1", "koa.io": "0.0.3", "mz": "^1.3.0", "promised-mongo": "git+https://git@github.com/tmshv/promised-mongo", @@ -32,18 +31,20 @@ "thunkify": "^2.1.2" }, "devDependencies": { - "babelify": "^6.1.3", + "autoprefixer": "^6.2.3", + "babelify": "^7.2.0", "bower": "^1.3.12", - "browserify-ngannotate": "^0.7.1", + "browserify-ngannotate": "^2.0.0", + "cssnano": "^3.4.0", "gulp": "^3.8.10", - "gulp-autoprefixer": "0.0.6", "gulp-browserify": "^0.5.0", "gulp-concat": "^2.4.1", - "gulp-if": "^1.2.5", + "gulp-if": "^2.0.0", "gulp-imagemin": "~0.1.5", - "gulp-minify-css": "~0.3.0", - "gulp-sass": "^1.2.2", - "gulp-uglify": "^1.1.0", + "gulp-minify": "0.0.5", + "gulp-postcss": "^6.0.1", + "gulp-sass": "^2.1.1", + "gulp-uglify": "^1.5.0", "mocha": "~1.17.1", "should": "~3.1.2" } diff --git a/server.js b/server.js index 39b06bbb..acb651a7 100644 --- a/server.js +++ b/server.js @@ -34,7 +34,7 @@ app.use(prerender(config.prerender)); app.use(serve(path.join(__dirname, "public"))); app.use(serve(path.join(__dirname, "templates"))); -app.use(helmet.defaults()); +app.use(helmet()); app.use(function *(next) { var q = this.query;