diff --git a/deploy/gulpfile.js b/deploy/gulpfile.js index de3c15e6729367fc82d7c2469b67a77846e68d71..8e8a15a01e1699bcfc1109658014e85a8850d835 100644 --- a/deploy/gulpfile.js +++ b/deploy/gulpfile.js @@ -1,51 +1,78 @@ 'use strict'; var fs = require('fs'); var gulp = require('gulp'); -var prefix = require('gulp-autoprefixer'); //префиксы -var concatCss = require('gulp-concat-css'); //конкатенация -var minifyCss = require('gulp-minify-css'); //минификация -var rename = require('gulp-rename'); //переименовывание + +// gulp plugins var less = require('gulp-less'); +//var prefix = require('gulp-autoprefixer'); //префиксы +//var concatCss = require('gulp-concat-css'); //конкатенация +//var minifyCss = require('gulp-minify-css'); //минификация +//var rename = require('gulp-rename'); //переименовывание + + + + +// ============================= +// paths +// ============================= -var ROOT_PATH = '../'; -var APP_PATH = ROOT_PATH + '~dev_rating/'; +var sysPath = { + root: '../', + app: '../~dev_rating/', +}; -var SRC_CONFIG_PATH = ROOT_PATH + 'config/'; -var DEST_CONFIG_PATH = APP_PATH + 'application/config/'; +var srcPath = { + css: sysPath.root + 'media/css/', + less: sysPath.root + 'media/less/', + js: sysPath.root + 'media/js/', + media: sysPath.root + 'media/', + config: sysPath.root + 'config/', +}; -var SRC_MEDIA_PATH = ROOT_PATH + 'media/'; -var DEST_MEDIA_PATH = APP_PATH + 'static/'; +var dstPath = { + css: sysPath.app + 'static/css/', + less: sysPath.app + 'static/css/', + js: sysPath.app + 'static/js/', + media: sysPath.app + 'static/', + config: sysPath.app + 'application/config/', +}; + + + +// ============================= +// rules +// ============================= gulp.task('less:compile', function () { - gulp.src(SRC_MEDIA_PATH + 'less/**/*.less') + gulp.src(srcPath.less + '**/*.less') .pipe(less()) - .pipe(gulp.dest(DEST_MEDIA_PATH + 'css/')); + .pipe(gulp.dest(dstPath.css)); }); gulp.task('css:copy', function() { - gulp.src(SRC_MEDIA_PATH + 'css/**/*.css') - .pipe(gulp.dest(DEST_MEDIA_PATH + 'css/')); + gulp.src(srcPath.css + '**/*.css') + .pipe(gulp.dest(dstPath.css)); }); gulp.task('js:copy', function() { - gulp.src(SRC_MEDIA_PATH + 'js/**/*.js') - .pipe(gulp.dest(DEST_MEDIA_PATH + 'js/')); + gulp.src(srcPath.js + '**/*.js') + .pipe(gulp.dest(dstPath.js)); }); gulp.task('config:copy', function() { - gulp.src(SRC_CONFIG_PATH + '*') - .pipe(gulp.dest(DEST_CONFIG_PATH)); + gulp.src(srcPath.config + '*') + .pipe(gulp.dest(dstPath.config)); }); gulp.task('folders:create', function() { var dirs = [ - APP_PATH + 'application/logs/', - APP_PATH + 'application/cache/', - APP_PATH + 'application/cache/twig/' + sysPath.app + 'application/logs/', + sysPath.app + 'application/cache/', + sysPath.app + 'application/cache/twig/' ]; - fs.mkdir(dirs[0], function(err, fd) {}); - fs.mkdir(dirs[1], function(err, fd) { - fs.mkdir(dirs[2], function(err, fd) {}); + fs.mkdir(dirs[0], function() {}); + fs.mkdir(dirs[1], function() { + fs.mkdir(dirs[2], function() {}); }); }); @@ -62,16 +89,36 @@ gulp.task('folders:create', function() { // gulp.src('source/*.html').pipe(gulp.dest('public')); // }); + + +// ============================= +// watch +// ============================= + gulp.task('watch', function () { - gulp.watch(SRC_MEDIA_PATH + 'css/*.css', ['css:copy']); - gulp.watch(SRC_MEDIA_PATH + 'less/*.less', ['less:compile']); + gulp.watch(srcPath.css + '*.css', ['css:copy']); + gulp.watch(srcPath.less + '*.less', ['less:compile']); }); + + +// ============================= +// common tasks +// ============================= + +gulp.task('config', [ + 'config:copy' +]); + gulp.task('default', [ 'less:compile', 'css:copy', 'js:copy', - 'config:copy', - 'folders:create' +]); + +gulp.task('install', [ + 'folders:create', + 'config', + 'default' ]);