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  };