github.com/lunarobliq/gophish@v0.8.1-0.20230523153303-93511002234d/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-es').default,
    11      cleanCSS = require('gulp-clean-css'),
    12      babel = require('gulp-babel'),
    13  
    14      js_directory = 'static/js/src/',
    15      css_directory = 'static/css/',
    16      vendor_directory = js_directory + 'vendor/',
    17      app_directory = js_directory + 'app/',
    18      dest_js_directory = 'static/js/dist/',
    19      dest_css_directory = 'static/css/dist/';
    20  
    21  vendorjs = function () {
    22      return gulp.src([
    23              vendor_directory + 'jquery.js',
    24              vendor_directory + 'bootstrap.min.js',
    25              vendor_directory + 'moment.min.js',
    26              vendor_directory + 'papaparse.min.js',
    27              vendor_directory + 'd3.min.js',
    28              vendor_directory + 'topojson.min.js',
    29              vendor_directory + 'datamaps.min.js',
    30              vendor_directory + 'jquery.dataTables.min.js',
    31              vendor_directory + 'dataTables.bootstrap.js',
    32              vendor_directory + 'datetime-moment.js',
    33              vendor_directory + 'jquery.ui.widget.js',
    34              vendor_directory + 'jquery.fileupload.js',
    35              vendor_directory + 'jquery.iframe-transport.js',
    36              vendor_directory + 'sweetalert2.min.js',
    37              vendor_directory + 'bootstrap-datetime.js',
    38              vendor_directory + 'select2.min.js',
    39              vendor_directory + 'core.min.js',
    40              vendor_directory + 'highcharts.js',
    41              vendor_directory + 'ua-parser.min.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  scripts = function () {
    52      // Gophish app files - non-ES6
    53      return gulp.src([
    54              app_directory + 'autocomplete.js',
    55              app_directory + 'campaign_results.js',
    56              app_directory + 'campaigns.js',
    57              app_directory + 'dashboard.js',
    58              app_directory + 'groups.js',
    59              app_directory + 'landing_pages.js',
    60              app_directory + 'sending_profiles.js',
    61              app_directory + 'settings.js',
    62              app_directory + 'templates.js',
    63              app_directory + 'gophish.js',
    64              app_directory + 'users.js',
    65              app_directory + 'webhooks.js',
    66              app_directory + 'passwords.js'
    67          ])
    68          .pipe(rename({
    69              suffix: '.min'
    70          }))
    71          .pipe(uglify().on('error', function (e) {
    72              console.log(e);
    73          }))
    74          .pipe(gulp.dest(dest_js_directory + 'app/'));
    75  }
    76  
    77  styles = function () {
    78      return gulp.src([
    79              css_directory + 'bootstrap.min.css',
    80              css_directory + 'main.css',
    81              css_directory + 'dashboard.css',
    82              css_directory + 'flat-ui.css',
    83              css_directory + 'dataTables.bootstrap.css',
    84              css_directory + 'font-awesome.min.css',
    85              css_directory + 'chartist.min.css',
    86              css_directory + 'bootstrap-datetime.css',
    87              css_directory + 'checkbox.css',
    88              css_directory + 'sweetalert2.min.css',
    89              css_directory + 'select2.min.css',
    90              css_directory + 'select2-bootstrap.min.css',
    91          ])
    92          .pipe(cleanCSS({
    93              compatibilty: 'ie9'
    94          }))
    95          .pipe(concat('gophish.css'))
    96          .pipe(gulp.dest(dest_css_directory));
    97  }
    98  
    99  exports.vendorjs = vendorjs
   100  exports.scripts = scripts
   101  exports.styles = styles
   102  exports.build = gulp.parallel(vendorjs, scripts, styles)
   103  exports.default = exports.build