github.com/fanux/shipyard@v0.0.0-20161009071005-6515ce223235/controller/static/semantic/tasks/collections/internal.js (about) 1 /******************************* 2 Internal Task Collection 3 *******************************/ 4 5 /* These tasks create packaged files from **dist** components 6 Not intended to be called directly by a user because 7 these do not build fresh from **src** 8 */ 9 10 module.exports = function(gulp) { 11 12 var 13 // node dependencies 14 fs = require('fs'), 15 chmod = require('gulp-chmod'), 16 concat = require('gulp-concat'), 17 concatCSS = require('gulp-concat-css'), 18 clone = require('gulp-clone'), 19 gulpif = require('gulp-if'), 20 header = require('gulp-header'), 21 less = require('gulp-less'), 22 minifyCSS = require('gulp-minify-css'), 23 plumber = require('gulp-plumber'), 24 print = require('gulp-print'), 25 rename = require('gulp-rename'), 26 replace = require('gulp-replace'), 27 uglify = require('gulp-uglify'), 28 29 // user config 30 config = require('./../config/user'), 31 docsConfig = require('./../config/docs'), 32 33 // install config 34 tasks = require('./../config/project/tasks'), 35 release = require('./../config/project/release'), 36 37 // shorthand 38 globs = config.globs, 39 assets = config.paths.assets, 40 output = config.paths.output, 41 42 banner = tasks.banner, 43 filenames = tasks.filenames, 44 log = tasks.log, 45 settings = tasks.settings 46 ; 47 48 /*-------------- 49 Packaged 50 ---------------*/ 51 52 gulp.task('package uncompressed css', function() { 53 return gulp.src(output.uncompressed + '/**/' + globs.components + globs.ignored + '.css') 54 .pipe(plumber()) 55 .pipe(replace(assets.uncompressed, assets.packaged)) 56 .pipe(concatCSS(filenames.concatenatedCSS)) 57 .pipe(gulpif(config.hasPermission, chmod(config.permission))) 58 .pipe(header(banner, settings.header)) 59 .pipe(gulp.dest(output.packaged)) 60 .pipe(print(log.created)) 61 ; 62 }); 63 64 gulp.task('package compressed css', function() { 65 return gulp.src(output.uncompressed + '/**/' + globs.components + globs.ignored + '.css') 66 .pipe(plumber()) 67 .pipe(replace(assets.uncompressed, assets.packaged)) 68 .pipe(concatCSS(filenames.concatenatedMinifiedCSS)) 69 .pipe(gulpif(config.hasPermission, chmod(config.permission))) 70 .pipe(minifyCSS(settings.concatMinify)) 71 .pipe(header(banner, settings.header)) 72 .pipe(gulp.dest(output.packaged)) 73 .pipe(print(log.created)) 74 ; 75 }); 76 77 gulp.task('package uncompressed js', function() { 78 return gulp.src(output.uncompressed + '/**/' + globs.components + globs.ignored + '.js') 79 .pipe(plumber()) 80 .pipe(replace(assets.uncompressed, assets.packaged)) 81 .pipe(concat(filenames.concatenatedJS)) 82 .pipe(header(banner, settings.header)) 83 .pipe(gulpif(config.hasPermission, chmod(config.permission))) 84 .pipe(gulp.dest(output.packaged)) 85 .pipe(print(log.created)) 86 ; 87 }); 88 89 gulp.task('package compressed js', function() { 90 return gulp.src(output.uncompressed + '/**/' + globs.components + globs.ignored + '.js') 91 .pipe(plumber()) 92 .pipe(replace(assets.uncompressed, assets.packaged)) 93 .pipe(concat(filenames.concatenatedMinifiedJS)) 94 .pipe(uglify(settings.concatUglify)) 95 .pipe(header(banner, settings.header)) 96 .pipe(gulpif(config.hasPermission, chmod(config.permission))) 97 .pipe(gulp.dest(output.packaged)) 98 .pipe(print(log.created)) 99 ; 100 }); 101 102 /*-------------- 103 RTL 104 ---------------*/ 105 106 if(config.rtl) { 107 108 gulp.task('package uncompressed rtl css', function () { 109 return gulp.src(output.uncompressed + '/**/' + globs.components + globs.ignoredRTL + '.rtl.css') 110 .pipe(replace(assets.uncompressed, assets.packaged)) 111 .pipe(concatCSS(filenames.concatenatedRTLCSS)) 112 .pipe(gulpif(config.hasPermission, chmod(config.permission))) 113 .pipe(header(banner, settings.header)) 114 .pipe(gulp.dest(output.packaged)) 115 .pipe(print(log.created)) 116 ; 117 }); 118 119 gulp.task('package compressed rtl css', function () { 120 return gulp.src(output.uncompressed + '/**/' + globs.components + globs.ignoredRTL + '.rtl.css') 121 .pipe(replace(assets.uncompressed, assets.packaged)) 122 .pipe(concatCSS(filenames.concatenatedMinifiedRTLCSS)) 123 .pipe(gulpif(config.hasPermission, chmod(config.permission))) 124 .pipe(minifyCSS(settings.concatMinify)) 125 .pipe(header(banner, settings.header)) 126 .pipe(gulp.dest(output.packaged)) 127 .pipe(print(log.created)) 128 ; 129 }); 130 131 gulp.task('package uncompressed docs css', function() { 132 return gulp.src(output.uncompressed + '/**/' + globs.components + globs.ignored + '.css') 133 .pipe(plumber()) 134 .pipe(replace(assets.uncompressed, assets.packaged)) 135 .pipe(concatCSS(filenames.concatenatedCSS)) 136 .pipe(gulpif(config.hasPermission, chmod(config.permission))) 137 .pipe(gulp.dest(output.packaged)) 138 .pipe(print(log.created)) 139 ; 140 }); 141 142 gulp.task('package compressed docs css', function() { 143 return gulp.src(output.uncompressed + '/**/' + globs.components + globs.ignored + '.css') 144 .pipe(plumber()) 145 .pipe(replace(assets.uncompressed, assets.packaged)) 146 .pipe(concatCSS(filenames.concatenatedMinifiedCSS)) 147 .pipe(minifyCSS(settings.concatMinify)) 148 .pipe(header(banner, settings.header)) 149 .pipe(gulpif(config.hasPermission, chmod(config.permission))) 150 .pipe(gulp.dest(output.packaged)) 151 .pipe(print(log.created)) 152 ; 153 }); 154 155 } 156 157 /*-------------- 158 Docs 159 ---------------*/ 160 161 var 162 docsOutput = docsConfig.paths.output 163 ; 164 165 gulp.task('package uncompressed docs css', function() { 166 return gulp.src(docsOutput.uncompressed + '/**/' + globs.components + globs.ignored + '.css') 167 .pipe(plumber()) 168 .pipe(replace(assets.uncompressed, assets.packaged)) 169 .pipe(concatCSS(filenames.concatenatedCSS)) 170 .pipe(gulpif(config.hasPermission, chmod(config.permission))) 171 .pipe(gulp.dest(docsOutput.packaged)) 172 .pipe(print(log.created)) 173 ; 174 }); 175 176 gulp.task('package compressed docs css', function() { 177 return gulp.src(docsOutput.uncompressed + '/**/' + globs.components + globs.ignored + '.css') 178 .pipe(plumber()) 179 .pipe(replace(assets.uncompressed, assets.packaged)) 180 .pipe(concatCSS(filenames.concatenatedMinifiedCSS)) 181 .pipe(minifyCSS(settings.concatMinify)) 182 .pipe(header(banner, settings.header)) 183 .pipe(gulpif(config.hasPermission, chmod(config.permission))) 184 .pipe(gulp.dest(docsOutput.packaged)) 185 .pipe(print(log.created)) 186 ; 187 }); 188 189 gulp.task('package uncompressed docs js', function() { 190 return gulp.src(docsOutput.uncompressed + '/**/' + globs.components + globs.ignored + '.js') 191 .pipe(plumber()) 192 .pipe(replace(assets.uncompressed, assets.packaged)) 193 .pipe(concat(filenames.concatenatedJS)) 194 .pipe(header(banner, settings.header)) 195 .pipe(gulpif(config.hasPermission, chmod(config.permission))) 196 .pipe(gulp.dest(docsOutput.packaged)) 197 .pipe(print(log.created)) 198 ; 199 }); 200 201 gulp.task('package compressed docs js', function() { 202 return gulp.src(docsOutput.uncompressed + '/**/' + globs.components + globs.ignored + '.js') 203 .pipe(plumber()) 204 .pipe(replace(assets.uncompressed, assets.packaged)) 205 .pipe(concat(filenames.concatenatedMinifiedJS)) 206 .pipe(uglify(settings.concatUglify)) 207 .pipe(header(banner, settings.header)) 208 .pipe(gulpif(config.hasPermission, chmod(config.permission))) 209 .pipe(gulp.dest(docsOutput.packaged)) 210 .pipe(print(log.created)) 211 ; 212 }); 213 214 };