Permalink
Cannot retrieve contributors at this time
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
227 lines (201 sloc)
8.06 KB
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| /******************************* | |
| Internal Task Collection | |
| *******************************/ | |
| /* These tasks create packaged files from **dist** components | |
| Not intended to be called directly by a user because | |
| these do not build fresh from **src** | |
| */ | |
| module.exports = function(gulp) { | |
| var | |
| // node dependencies | |
| fs = require('fs'), | |
| chmod = require('gulp-chmod'), | |
| concat = require('gulp-concat'), | |
| concatCSS = require('gulp-concat-css'), | |
| clone = require('gulp-clone'), | |
| dedupe = require('gulp-dedupe'), | |
| gulpif = require('gulp-if'), | |
| header = require('gulp-header'), | |
| less = require('gulp-less'), | |
| minifyCSS = require('gulp-clean-css'), | |
| plumber = require('gulp-plumber'), | |
| print = require('gulp-print'), | |
| rename = require('gulp-rename'), | |
| replace = require('gulp-replace'), | |
| uglify = require('gulp-uglify'), | |
| // user config | |
| config = require('./../config/user'), | |
| docsConfig = require('./../config/docs'), | |
| // install config | |
| tasks = require('./../config/tasks'), | |
| release = require('./../config/project/release'), | |
| // shorthand | |
| globs = config.globs, | |
| assets = config.paths.assets, | |
| output = config.paths.output, | |
| banner = tasks.banner, | |
| filenames = tasks.filenames, | |
| log = tasks.log, | |
| settings = tasks.settings | |
| ; | |
| /*-------------- | |
| Packaged | |
| ---------------*/ | |
| gulp.task('package uncompressed css', function() { | |
| return gulp.src(output.uncompressed + '/**/' + globs.components + globs.ignored + '.css') | |
| .pipe(plumber()) | |
| .pipe(dedupe()) | |
| .pipe(replace(assets.uncompressed, assets.packaged)) | |
| .pipe(concatCSS(filenames.concatenatedCSS, settings.concatCSS)) | |
| .pipe(gulpif(config.hasPermission, chmod(config.permission))) | |
| .pipe(header(banner, settings.header)) | |
| .pipe(gulp.dest(output.packaged)) | |
| .pipe(print(log.created)) | |
| ; | |
| }); | |
| gulp.task('package compressed css', function() { | |
| return gulp.src(output.uncompressed + '/**/' + globs.components + globs.ignored + '.css') | |
| .pipe(plumber()) | |
| .pipe(dedupe()) | |
| .pipe(replace(assets.uncompressed, assets.packaged)) | |
| .pipe(concatCSS(filenames.concatenatedMinifiedCSS, settings.concatCSS)) | |
| .pipe(gulpif(config.hasPermission, chmod(config.permission))) | |
| .pipe(minifyCSS(settings.concatMinify)) | |
| .pipe(header(banner, settings.header)) | |
| .pipe(gulp.dest(output.packaged)) | |
| .pipe(print(log.created)) | |
| ; | |
| }); | |
| gulp.task('package uncompressed js', function() { | |
| return gulp.src(output.uncompressed + '/**/' + globs.components + globs.ignored + '.js') | |
| .pipe(plumber()) | |
| .pipe(dedupe()) | |
| .pipe(replace(assets.uncompressed, assets.packaged)) | |
| .pipe(concat(filenames.concatenatedJS)) | |
| .pipe(header(banner, settings.header)) | |
| .pipe(gulpif(config.hasPermission, chmod(config.permission))) | |
| .pipe(gulp.dest(output.packaged)) | |
| .pipe(print(log.created)) | |
| ; | |
| }); | |
| gulp.task('package compressed js', function() { | |
| return gulp.src(output.uncompressed + '/**/' + globs.components + globs.ignored + '.js') | |
| .pipe(plumber()) | |
| .pipe(dedupe()) | |
| .pipe(replace(assets.uncompressed, assets.packaged)) | |
| .pipe(concat(filenames.concatenatedMinifiedJS)) | |
| .pipe(uglify(settings.concatUglify)) | |
| .pipe(header(banner, settings.header)) | |
| .pipe(gulpif(config.hasPermission, chmod(config.permission))) | |
| .pipe(gulp.dest(output.packaged)) | |
| .pipe(print(log.created)) | |
| ; | |
| }); | |
| /*-------------- | |
| RTL | |
| ---------------*/ | |
| if(config.rtl) { | |
| gulp.task('package uncompressed rtl css', function () { | |
| return gulp.src(output.uncompressed + '/**/' + globs.components + globs.ignoredRTL + '.rtl.css') | |
| .pipe(dedupe()) | |
| .pipe(replace(assets.uncompressed, assets.packaged)) | |
| .pipe(concatCSS(filenames.concatenatedRTLCSS, settings.concatCSS)) | |
| .pipe(gulpif(config.hasPermission, chmod(config.permission))) | |
| .pipe(header(banner, settings.header)) | |
| .pipe(gulp.dest(output.packaged)) | |
| .pipe(print(log.created)) | |
| ; | |
| }); | |
| gulp.task('package compressed rtl css', function () { | |
| return gulp.src(output.uncompressed + '/**/' + globs.components + globs.ignoredRTL + '.rtl.css') | |
| .pipe(dedupe()) | |
| .pipe(replace(assets.uncompressed, assets.packaged)) | |
| .pipe(concatCSS(filenames.concatenatedMinifiedRTLCSS, settings.concatCSS)) | |
| .pipe(gulpif(config.hasPermission, chmod(config.permission))) | |
| .pipe(minifyCSS(settings.concatMinify)) | |
| .pipe(header(banner, settings.header)) | |
| .pipe(gulp.dest(output.packaged)) | |
| .pipe(print(log.created)) | |
| ; | |
| }); | |
| gulp.task('package uncompressed docs css', function() { | |
| return gulp.src(output.uncompressed + '/**/' + globs.components + globs.ignored + '.css') | |
| .pipe(dedupe()) | |
| .pipe(plumber()) | |
| .pipe(replace(assets.uncompressed, assets.packaged)) | |
| .pipe(concatCSS(filenames.concatenatedCSS, settings.concatCSS)) | |
| .pipe(gulpif(config.hasPermission, chmod(config.permission))) | |
| .pipe(gulp.dest(output.packaged)) | |
| .pipe(print(log.created)) | |
| ; | |
| }); | |
| gulp.task('package compressed docs css', function() { | |
| return gulp.src(output.uncompressed + '/**/' + globs.components + globs.ignored + '.css') | |
| .pipe(dedupe()) | |
| .pipe(plumber()) | |
| .pipe(replace(assets.uncompressed, assets.packaged)) | |
| .pipe(concatCSS(filenames.concatenatedMinifiedCSS, settings.concatCSS)) | |
| .pipe(minifyCSS(settings.concatMinify)) | |
| .pipe(header(banner, settings.header)) | |
| .pipe(gulpif(config.hasPermission, chmod(config.permission))) | |
| .pipe(gulp.dest(output.packaged)) | |
| .pipe(print(log.created)) | |
| ; | |
| }); | |
| } | |
| /*-------------- | |
| Docs | |
| ---------------*/ | |
| var | |
| docsOutput = docsConfig.paths.output | |
| ; | |
| gulp.task('package uncompressed docs css', function() { | |
| return gulp.src(docsOutput.uncompressed + '/**/' + globs.components + globs.ignored + '.css') | |
| .pipe(dedupe()) | |
| .pipe(plumber()) | |
| .pipe(replace(assets.uncompressed, assets.packaged)) | |
| .pipe(concatCSS(filenames.concatenatedCSS, settings.concatCSS)) | |
| .pipe(gulpif(config.hasPermission, chmod(config.permission))) | |
| .pipe(gulp.dest(docsOutput.packaged)) | |
| .pipe(print(log.created)) | |
| ; | |
| }); | |
| gulp.task('package compressed docs css', function() { | |
| return gulp.src(docsOutput.uncompressed + '/**/' + globs.components + globs.ignored + '.css') | |
| .pipe(dedupe()) | |
| .pipe(plumber()) | |
| .pipe(replace(assets.uncompressed, assets.packaged)) | |
| .pipe(concatCSS(filenames.concatenatedMinifiedCSS, settings.concatCSS)) | |
| .pipe(minifyCSS(settings.concatMinify)) | |
| .pipe(header(banner, settings.header)) | |
| .pipe(gulpif(config.hasPermission, chmod(config.permission))) | |
| .pipe(gulp.dest(docsOutput.packaged)) | |
| .pipe(print(log.created)) | |
| ; | |
| }); | |
| gulp.task('package uncompressed docs js', function() { | |
| return gulp.src(docsOutput.uncompressed + '/**/' + globs.components + globs.ignored + '.js') | |
| .pipe(dedupe()) | |
| .pipe(plumber()) | |
| .pipe(replace(assets.uncompressed, assets.packaged)) | |
| .pipe(concat(filenames.concatenatedJS)) | |
| .pipe(header(banner, settings.header)) | |
| .pipe(gulpif(config.hasPermission, chmod(config.permission))) | |
| .pipe(gulp.dest(docsOutput.packaged)) | |
| .pipe(print(log.created)) | |
| ; | |
| }); | |
| gulp.task('package compressed docs js', function() { | |
| return gulp.src(docsOutput.uncompressed + '/**/' + globs.components + globs.ignored + '.js') | |
| .pipe(dedupe()) | |
| .pipe(plumber()) | |
| .pipe(replace(assets.uncompressed, assets.packaged)) | |
| .pipe(concat(filenames.concatenatedMinifiedJS)) | |
| .pipe(uglify(settings.concatUglify)) | |
| .pipe(header(banner, settings.header)) | |
| .pipe(gulpif(config.hasPermission, chmod(config.permission))) | |
| .pipe(gulp.dest(docsOutput.packaged)) | |
| .pipe(print(log.created)) | |
| ; | |
| }); | |
| }; |