1 var gulp = require('gulp'),
3 gutil = require('gulp-util'),
4 concat = require('gulp-concat'),
5 runSequence = require('run-sequence'),
6 install = require("gulp-install"),
7 connect = require('gulp-connect'),
8 open = require('gulp-open'),
9 argv = require('yargs').argv,
10 less = require('gulp-less'),
11 debug = require('gulp-debug'),
12 replace = require('gulp-replace-task');
14 var config = require( './build.config.js');
18 * Task for cleaning build directory
20 gulp.task('clean', function() {
21 // You can use multiple globbing patterns as you would with `gulp.src`
22 return del(config.build_dir);
28 gulp.task('copyAssetsCss', function () {
29 return gulp.src(config.assets_files.css)
32 (config.build_dir) + '/assets/css'
37 gulp.task('copyAssetsData', function () {
38 return gulp.src(config.assets_files.data)
39 .pipe(gulp.dest((config.build_dir) + '/assets/data'));
45 gulp.task('copyTemplates', function () {
46 gutil.log(gutil.colors.cyan('INFO :: copying APP Template files'));
48 return gulp.src(config.app_files.templates)
49 .pipe(gulp.dest(config.build_dir));
52 gulp.task('copyAppJs', function () {
53 gutil.log(gutil.colors.cyan('INFO :: copying APP Controller JS files'));
54 return gulp.src(config.app_files.js)
55 .pipe(gulp.dest(config.build_dir));
58 gulp.task('copyRootJs', function () {
59 gutil.log(gutil.colors.cyan('INFO :: copying APP Root JS files'));
60 return gulp.src(config.app_files.root_js)
61 .pipe(gulp.dest(config.build_dir));
65 * Compile css from less files
67 gulp.task('less', function () {
68 gutil.log(gutil.colors.cyan('INFO :: compiling LESS file'));
69 return gulp.src(config.app_files.less)
71 .pipe(gulp.dest((config.build_dir) + '/assets/css'));
75 * Copy app assets images
77 gulp.task('copyAppImgs', function () {
78 gutil.log(gutil.colors.cyan('INFO :: copying image files'));
79 return gulp.src(config.app_files.img)
80 .pipe(gulp.dest((config.build_dir) + '/assets/img'));
87 gulp.task('copyVendorCss', function () {
88 gutil.log(gutil.colors.cyan('INFO :: copying VENDOR css'));
89 return gulp.src(config.vendor_files.css, { cwd : 'node_modules/**' })
90 .pipe(gulp.dest((config.build_dir) + '/vendor'));
93 gulp.task('copyVendorFonts', function () {
94 gutil.log(gutil.colors.cyan('INFO :: copying VENDOR fonts'));
95 return gulp.src(config.vendor_files.fonts, { cwd : 'node_modules/**' })
96 .pipe(gulp.dest((config.build_dir) + '/vendor'));
99 gulp.task('copyVendorJs', function () {
100 gutil.log(gutil.colors.cyan('INFO :: copying VENDOR js files'));
101 return gulp.src(config.vendor_files.js, { cwd : 'node_modules/**' })
102 .pipe(gulp.dest((config.build_dir) + '/vendor'));
106 * Copy task aggregated
108 gulp.task('copy', function() {
109 runSequence('less', [
124 gulp.task('build', function(){
125 runSequence('clean', 'copy');
130 * Live preview main task for development
131 * argument --live should be used to force build task to build only live preview
133 gulp.task('default', function (){
136 gutil.log(gutil.colors.red('ERROR :: --live argument must be used for live preview!'));
139 gutil.log(gutil.colors.cyan('INFO :: opening new browser tab live:' + argv.live));
141 runSequence('build');