diff --git a/tasks/build.js b/tasks/build.js index 6dfd36a90..cb5e0fdbd 100644 --- a/tasks/build.js +++ b/tasks/build.js @@ -15,7 +15,6 @@ var clone = require('gulp-clone'), flatten = require('gulp-flatten'), gulpif = require('gulp-if'), - header = require('gulp-header'), less = require('gulp-less'), minifyCSS = require('gulp-minify-css'), plumber = require('gulp-plumber'), @@ -70,6 +69,11 @@ module.exports = function(callback) { .pipe(plumber()) .pipe(less(settings.less)) .pipe(autoprefixer(settings.prefix)) + .pipe(replace(comments.variables.in, comments.variables.out)) + .pipe(replace(comments.license.in, comments.license.out)) + .pipe(replace(comments.large.in, comments.large.out)) + .pipe(replace(comments.small.in, comments.small.out)) + .pipe(replace(comments.tiny.in, comments.tiny.out)) .pipe(flatten()) ; @@ -77,14 +81,10 @@ module.exports = function(callback) { uncompressedStream = stream.pipe(clone()); compressedStream = stream.pipe(clone()); + // uncompressed component css uncompressedStream .pipe(plumber()) - .pipe(replace(comments.variables.in, comments.variables.out)) - .pipe(replace(comments.large.in, comments.large.out)) - .pipe(replace(comments.small.in, comments.small.out)) - .pipe(replace(comments.tiny.in, comments.tiny.out)) .pipe(replace(assets.source, assets.uncompressed)) - .pipe(header(banner, settings.header)) .pipe(gulpif(config.hasPermission, chmod(config.permission))) .pipe(gulp.dest(output.uncompressed)) .pipe(print(log.created)) @@ -93,13 +93,13 @@ module.exports = function(callback) { }) ; + // compressed component css compressedStream = stream .pipe(plumber()) .pipe(clone()) .pipe(replace(assets.source, assets.compressed)) .pipe(minifyCSS(settings.minify)) .pipe(rename(settings.rename.minCSS)) - .pipe(header(banner, settings.header)) .pipe(gulpif(config.hasPermission, chmod(config.permission))) .pipe(gulp.dest(output.compressed)) .pipe(print(log.created)) @@ -119,12 +119,12 @@ module.exports = function(callback) { gulp.src(source.definitions + '/**/' + globs.components + '.js') .pipe(plumber()) .pipe(flatten()) + .pipe(replace(comments.license.in, comments.license.out)) .pipe(gulp.dest(output.uncompressed)) .pipe(gulpif(config.hasPermission, chmod(config.permission))) .pipe(print(log.created)) .pipe(uglify(settings.uglify)) .pipe(rename(settings.rename.minJS)) - .pipe(header(banner, settings.header)) .pipe(gulp.dest(output.compressed)) .pipe(gulpif(config.hasPermission, chmod(config.permission))) .pipe(print(log.created)) diff --git a/tasks/collections/internal.js b/tasks/collections/internal.js index 7c38136b9..bb580fd9a 100644 --- a/tasks/collections/internal.js +++ b/tasks/collections/internal.js @@ -55,6 +55,7 @@ module.exports = function(gulp) { .pipe(replace(assets.uncompressed, assets.packaged)) .pipe(concatCSS(filenames.concatenatedCSS)) .pipe(gulpif(config.hasPermission, chmod(config.permission))) + .pipe(header(banner, settings.header)) .pipe(gulp.dest(output.packaged)) .pipe(print(log.created)) ; @@ -65,9 +66,9 @@ module.exports = function(gulp) { .pipe(plumber()) .pipe(replace(assets.uncompressed, assets.packaged)) .pipe(concatCSS(filenames.concatenatedMinifiedCSS)) - .pipe(minifyCSS(settings.minify)) - .pipe(header(banner, settings.header)) .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)) ; @@ -90,7 +91,7 @@ module.exports = function(gulp) { .pipe(plumber()) .pipe(replace(assets.uncompressed, assets.packaged)) .pipe(concat(filenames.concatenatedMinifiedJS)) - .pipe(uglify(settings.uglify)) + .pipe(uglify(settings.concatUglify)) .pipe(header(banner, settings.header)) .pipe(gulpif(config.hasPermission, chmod(config.permission))) .pipe(gulp.dest(output.packaged)) @@ -108,6 +109,8 @@ module.exports = function(gulp) { return gulp.src(output.uncompressed + '/**/' + globs.components + globs.ignoredRTL + '.rtl.css') .pipe(replace(assets.uncompressed, assets.packaged)) .pipe(concatCSS(filenames.concatenatedRTLCSS)) + .pipe(gulpif(config.hasPermission, chmod(config.permission))) + .pipe(header(banner, settings.header)) .pipe(gulp.dest(output.packaged)) .pipe(print(log.created)) ; @@ -117,7 +120,8 @@ module.exports = function(gulp) { return gulp.src(output.uncompressed + '/**/' + globs.components + globs.ignoredRTL + '.rtl.css') .pipe(replace(assets.uncompressed, assets.packaged)) .pipe(concatCSS(filenames.concatenatedMinifiedRTLCSS)) - .pipe(minifyCSS(settings.minify)) + .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)) @@ -140,7 +144,7 @@ module.exports = function(gulp) { .pipe(plumber()) .pipe(replace(assets.uncompressed, assets.packaged)) .pipe(concatCSS(filenames.concatenatedMinifiedCSS)) - .pipe(minifyCSS(settings.minify)) + .pipe(minifyCSS(settings.concatMinify)) .pipe(header(banner, settings.header)) .pipe(gulpif(config.hasPermission, chmod(config.permission))) .pipe(gulp.dest(output.packaged)) @@ -174,7 +178,7 @@ module.exports = function(gulp) { .pipe(plumber()) .pipe(replace(assets.uncompressed, assets.packaged)) .pipe(concatCSS(filenames.concatenatedMinifiedCSS)) - .pipe(minifyCSS(settings.minify)) + .pipe(minifyCSS(settings.concatMinify)) .pipe(header(banner, settings.header)) .pipe(gulpif(config.hasPermission, chmod(config.permission))) .pipe(gulp.dest(docsOutput.packaged)) @@ -199,7 +203,7 @@ module.exports = function(gulp) { .pipe(plumber()) .pipe(replace(assets.uncompressed, assets.packaged)) .pipe(concat(filenames.concatenatedMinifiedJS)) - .pipe(uglify(settings.uglify)) + .pipe(uglify(settings.concatUglify)) .pipe(header(banner, settings.header)) .pipe(gulpif(config.hasPermission, chmod(config.permission))) .pipe(gulp.dest(docsOutput.packaged)) diff --git a/tasks/config/project/tasks.js b/tasks/config/project/tasks.js index 2c7a4476d..ed64ac879 100644 --- a/tasks/config/project/tasks.js +++ b/tasks/config/project/tasks.js @@ -32,8 +32,14 @@ module.exports = { // remove all comments from config files (.variable) variables : { - in : /\/\*[\s\S]+?\/\* End Config \*\//m, - out : '', + in : /(\/\*[\s\S]+?\*\/+)[\s\S]+?\/\* End Config \*\//, + out : '$1', + }, + + // add version to first comment + license: { + in : /(^\/\*[\s\S]+)(# Semantic UI )([\s\S]+?\*\/)/, + out : '$1$2' + release.version + ' $3' }, // adds uniform spacing around comments @@ -70,12 +76,6 @@ module.exports = { url : release.url }, - /* Minified CSS Settings */ - minify: { - processImport : false, - keepSpecialComments : 0 - }, - /* What Browsers to Prefix */ prefix: { browsers: [ @@ -97,15 +97,29 @@ module.exports = { rtlMinCSS : { extname : '.rtl.min.css' } }, - /* Sourcemaps */ - sourcemap: { - includeContent : true, - sourceRoot : '/src' + /* Minified CSS Concat */ + minify: { + processImport : false, + keepSpecialComments : 1 }, /* Minified JS Settings */ uglify: { - mangle : true + mangle : true, + preserveComments : 'some' + }, + + /* Minified Concat CSS Settings */ + concatMinify: { + processImport : false, + keepSpecialComments : false + }, + + /* Minified Concat JS */ + concatUglify: { + mangle : true, + preserveComments : false } + } }; \ No newline at end of file diff --git a/tasks/rtl/build.js b/tasks/rtl/build.js index de2863e6f..46085e695 100644 --- a/tasks/rtl/build.js +++ b/tasks/rtl/build.js @@ -14,7 +14,6 @@ var clone = require('gulp-clone'), flatten = require('gulp-flatten'), gulpif = require('gulp-if'), - header = require('gulp-header'), less = require('gulp-less'), minifyCSS = require('gulp-minify-css'), plumber = require('gulp-plumber'), @@ -67,6 +66,11 @@ module.exports = function(callback) { .pipe(less(settings.less)) .pipe(autoprefixer(settings.prefix)) .pipe(rtlcss()) + .pipe(replace(comments.variables.in, comments.variables.out)) + .pipe(replace(comments.license.in, comments.license.out)) + .pipe(replace(comments.large.in, comments.large.out)) + .pipe(replace(comments.small.in, comments.small.out)) + .pipe(replace(comments.tiny.in, comments.tiny.out)) .pipe(flatten()) ; @@ -76,13 +80,8 @@ module.exports = function(callback) { uncompressedStream .pipe(plumber()) - .pipe(replace(comments.variables.in, comments.variables.out)) - .pipe(replace(comments.large.in, comments.large.out)) - .pipe(replace(comments.small.in, comments.small.out)) - .pipe(replace(comments.tiny.in, comments.tiny.out)) .pipe(replace(assets.source, assets.uncompressed)) .pipe(rename(settings.rename.rtlCSS)) - .pipe(header(banner, settings.header)) .pipe(gulpif(config.hasPermission, chmod(config.permission))) .pipe(gulp.dest(output.uncompressed)) .pipe(print(log.created)) @@ -97,7 +96,6 @@ module.exports = function(callback) { .pipe(replace(assets.source, assets.compressed)) .pipe(minifyCSS(settings.minify)) .pipe(rename(settings.rename.rtlMinCSS)) - .pipe(header(banner, settings.header)) .pipe(gulpif(config.hasPermission, chmod(config.permission))) .pipe(gulp.dest(output.compressed)) .pipe(print(log.created)) @@ -117,14 +115,13 @@ module.exports = function(callback) { gulp.src(source.definitions + '/**/' + globs.components + '.js') .pipe(plumber()) .pipe(flatten()) - .pipe(gulp.dest(output.uncompressed)) + .pipe(replace(comments.license.in, comments.license.out)) .pipe(gulpif(config.hasPermission, chmod(config.permission))) + .pipe(gulp.dest(output.uncompressed)) .pipe(print(log.created)) .pipe(uglify(settings.uglify)) .pipe(rename(settings.rename.minJS)) - .pipe(header(banner, settings.header)) .pipe(gulp.dest(output.compressed)) - .pipe(gulpif(config.hasPermission, chmod(config.permission))) .pipe(print(log.created)) .on('end', function() { gulp.start('package compressed js'); diff --git a/tasks/rtl/watch.js b/tasks/rtl/watch.js index 9518ae0c8..238d0e533 100644 --- a/tasks/rtl/watch.js +++ b/tasks/rtl/watch.js @@ -14,7 +14,6 @@ var chmod = require('gulp-chmod'), clone = require('gulp-clone'), gulpif = require('gulp-if'), - header = require('gulp-header'), less = require('gulp-less'), minifyCSS = require('gulp-minify-css'), plumber = require('gulp-plumber'), @@ -131,6 +130,7 @@ module.exports = function(callback) { .pipe(plumber()) .pipe(less(settings.less)) .pipe(replace(comments.variables.in, comments.variables.out)) + .pipe(replace(comments.license.in, comments.license.out)) .pipe(replace(comments.large.in, comments.large.out)) .pipe(replace(comments.small.in, comments.small.out)) .pipe(replace(comments.tiny.in, comments.tiny.out)) @@ -146,7 +146,6 @@ module.exports = function(callback) { uncompressedStream .pipe(plumber()) .pipe(replace(assets.source, assets.uncompressed)) - .pipe(header(banner, settings.header)) .pipe(rename(settings.rename.rtlCSS)) .pipe(gulp.dest(output.uncompressed)) .pipe(print(log.created)) @@ -160,7 +159,6 @@ module.exports = function(callback) { .pipe(replace(assets.source, assets.compressed)) .pipe(minifyCSS(settings.minify)) .pipe(rename(settings.rename.minCSS)) - .pipe(header(banner, settings.header)) .pipe(rename(settings.rename.rtlMinCSS)) .pipe(gulp.dest(output.compressed)) .pipe(print(log.created)) @@ -186,6 +184,7 @@ module.exports = function(callback) { ], function(file) { gulp.src(file.path) .pipe(plumber()) + .pipe(replace(comments.license.in, comments.license.out)) .pipe(gulpif(config.hasPermission, chmod(config.permission))) .pipe(gulp.dest(output.uncompressed)) .pipe(print(log.created)) diff --git a/tasks/watch.js b/tasks/watch.js index 619792c2f..098cdc161 100644 --- a/tasks/watch.js +++ b/tasks/watch.js @@ -14,7 +14,6 @@ var chmod = require('gulp-chmod'), clone = require('gulp-clone'), gulpif = require('gulp-if'), - header = require('gulp-header'), less = require('gulp-less'), minifyCSS = require('gulp-minify-css'), plumber = require('gulp-plumber'), @@ -138,6 +137,7 @@ module.exports = function(callback) { .pipe(plumber()) .pipe(less(settings.less)) .pipe(replace(comments.variables.in, comments.variables.out)) + .pipe(replace(comments.license.in, comments.license.out)) .pipe(replace(comments.large.in, comments.large.out)) .pipe(replace(comments.small.in, comments.small.out)) .pipe(replace(comments.tiny.in, comments.tiny.out)) @@ -152,7 +152,6 @@ module.exports = function(callback) { uncompressedStream .pipe(plumber()) .pipe(replace(assets.source, assets.uncompressed)) - .pipe(header(banner, settings.header)) .pipe(gulp.dest(output.uncompressed)) .pipe(print(log.created)) .on('end', function() { @@ -165,7 +164,6 @@ module.exports = function(callback) { .pipe(replace(assets.source, assets.compressed)) .pipe(minifyCSS(settings.minify)) .pipe(rename(settings.rename.minCSS)) - .pipe(header(banner, settings.header)) .pipe(gulp.dest(output.compressed)) .pipe(print(log.created)) .on('end', function() { @@ -190,6 +188,7 @@ module.exports = function(callback) { ], function(file) { gulp.src(file.path) .pipe(plumber()) + .pipe(replace(comments.license.in, comments.license.out)) .pipe(gulpif(config.hasPermission, chmod(config.permission))) .pipe(gulp.dest(output.uncompressed)) .pipe(print(log.created))