github.com/bluestoneag/bluephish@v0.1.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 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 ]) 65 .pipe(rename({ 66 suffix: '.min' 67 })) 68 .pipe(uglify().on('error', function (e) { 69 console.log(e); 70 })) 71 .pipe(gulp.dest(dest_js_directory + 'app/')); 72 } 73 74 styles = function () { 75 return gulp.src([ 76 css_directory + 'bootstrap.min.css', 77 css_directory + 'main.css', 78 css_directory + 'dashboard.css', 79 css_directory + 'flat-ui.css', 80 css_directory + 'dataTables.bootstrap.css', 81 css_directory + 'font-awesome.min.css', 82 css_directory + 'chartist.min.css', 83 css_directory + 'bootstrap-datetime.css', 84 css_directory + 'checkbox.css', 85 css_directory + 'sweetalert2.min.css', 86 css_directory + 'select2.min.css', 87 css_directory + 'select2-bootstrap.min.css', 88 ]) 89 .pipe(cleanCSS({ 90 compatibilty: 'ie9' 91 })) 92 .pipe(concat('gophish.css')) 93 .pipe(gulp.dest(dest_css_directory)); 94 } 95 96 exports.vendorjs = vendorjs 97 exports.scripts = scripts 98 exports.styles = styles 99 exports.build = gulp.parallel(vendorjs, scripts, styles) 100 exports.default = exports.build