github.com/topsteplocal/gophish@v0.6.0/gulpfile.js (about)

     1  /*
     2   * gulpfile.js
     3   *
     4   * Description: The Gophish gulpfile
     5   */
     6  
     7  var gulp = require('gulp'),
     8      rename = require('gulp-rename'),
     9      concat = require('gulp-concat'),
    10      uglify = require('gulp-uglify'),
    11      cleanCSS = require('gulp-clean-css'),
    12  
    13      js_directory = 'static/js/src/',
    14      css_directory = 'static/css/',
    15      vendor_directory = js_directory + 'vendor/',
    16      app_directory = js_directory + 'app/**/*.js',
    17      dest_js_directory = 'static/js/dist/',
    18      dest_css_directory = 'static/css/dist/';
    19  
    20  gulp.task('vendorjs', function () {
    21      // Vendor minifying / concat
    22      return gulp.src([
    23              vendor_directory + 'jquery.js',
    24              vendor_directory + 'bootstrap.min.js',
    25              vendor_directory + 'moment.min.js',
    26              vendor_directory + 'chartist.min.js',
    27              vendor_directory + 'papaparse.min.js',
    28              vendor_directory + 'd3.min.js',
    29              vendor_directory + 'topojson.min.js',
    30              vendor_directory + 'datamaps.min.js',
    31              vendor_directory + 'jquery.dataTables.min.js',
    32              vendor_directory + 'dataTables.bootstrap.js',
    33              vendor_directory + 'datetime-moment.js',
    34              vendor_directory + 'jquery.ui.widget.js',
    35              vendor_directory + 'jquery.fileupload.js',
    36              vendor_directory + 'jquery.iframe-transport.js',
    37              vendor_directory + 'sweetalert2.min.js',
    38              vendor_directory + 'bootstrap-datetime.js',
    39              vendor_directory + 'select2.min.js',
    40              vendor_directory + 'core.min.js',
    41              vendor_directory + 'highcharts.js'
    42          ])
    43          .pipe(concat('vendor.js'))
    44          .pipe(rename({
    45              suffix: '.min'
    46          }))
    47          .pipe(uglify())
    48          .pipe(gulp.dest(dest_js_directory));
    49  })
    50  
    51  gulp.task('scripts', function () {
    52      // Gophish app files
    53      gulp.src(app_directory)
    54          .pipe(rename({
    55              suffix: '.min'
    56          }))
    57          .pipe(uglify().on('error', function (e) {
    58              console.log(e);
    59          }))
    60          .pipe(gulp.dest(dest_js_directory + 'app/'));
    61  })
    62  
    63  gulp.task('styles', function () {
    64      return gulp.src([
    65              css_directory + 'bootstrap.min.css',
    66              css_directory + 'main.css',
    67              css_directory + 'dashboard.css',
    68              css_directory + 'flat-ui.css',
    69              css_directory + 'dataTables.bootstrap.css',
    70              css_directory + 'font-awesome.min.css',
    71              css_directory + 'chartist.min.css',
    72              css_directory + 'bootstrap-datetime.css',
    73              css_directory + 'checkbox.css',
    74              css_directory + 'sweetalert2.min.css',
    75              css_directory + 'select2.min.css',
    76              css_directory + 'select2-bootstrap.min.css',
    77          ])
    78          .pipe(cleanCSS({
    79              compatibilty: 'ie9'
    80          }))
    81          .pipe(concat('gophish.css'))
    82          .pipe(gulp.dest(dest_css_directory));
    83  })
    84  
    85  gulp.task('build', ['vendorjs', 'scripts', 'styles']);
    86  
    87  gulp.task('default', ['build']);