| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145 | "use strict";// Load pluginsconst autoprefixer = require("gulp-autoprefixer");const browsersync = require("browser-sync").create();const cleanCSS = require("gulp-clean-css");const del = require("del");const gulp = require("gulp");const header = require("gulp-header");const merge = require("merge-stream");const plumber = require("gulp-plumber");const rename = require("gulp-rename");const sass = require("gulp-sass");const uglify = require("gulp-uglify");// Load package.json for bannerconst pkg = require('./package.json');// Set the banner contentconst banner = ['/*!\n',  ' * Start Bootstrap - <%= pkg.title %> v<%= pkg.version %> (<%= pkg.homepage %>)\n',  ' * Copyright 2013-' + (new Date()).getFullYear(), ' <%= pkg.author %>\n',  ' * Licensed under <%= pkg.license %> (https://github.com/StartBootstrap/<%= pkg.name %>/blob/master/LICENSE)\n',  ' */\n',  '\n'].join('');// BrowserSyncfunction browserSync(done) {  browsersync.init({    server: {      baseDir: "./"    },    port: 3000  });  done();}// BrowserSync reloadfunction browserSyncReload(done) {  browsersync.reload();  done();}// Clean vendorfunction clean() {  return del(["./vendor/"]);}// Bring third party dependencies from node_modules into vendor directoryfunction modules() {  // Bootstrap JS  var bootstrapJS = gulp.src('./node_modules/bootstrap/dist/js/*')    .pipe(gulp.dest('./vendor/bootstrap/js'));  // Bootstrap SCSS  var bootstrapSCSS = gulp.src('./node_modules/bootstrap/scss/**/*')    .pipe(gulp.dest('./vendor/bootstrap/scss'));  // ChartJS  var chartJS = gulp.src('./node_modules/chart.js/dist/*.js')    .pipe(gulp.dest('./vendor/chart.js'));  // dataTables  var dataTables = gulp.src([      './node_modules/datatables.net/js/*.js',      './node_modules/datatables.net-bs4/js/*.js',      './node_modules/datatables.net-bs4/css/*.css'    ])    .pipe(gulp.dest('./vendor/datatables'));  // Font Awesome  var fontAwesome = gulp.src('./node_modules/@fortawesome/**/*')    .pipe(gulp.dest('./vendor'));  // jQuery Easing  var jqueryEasing = gulp.src('./node_modules/jquery.easing/*.js')    .pipe(gulp.dest('./vendor/jquery-easing'));  // jQuery  var jquery = gulp.src([      './node_modules/jquery/dist/*',      '!./node_modules/jquery/dist/core.js'    ])    .pipe(gulp.dest('./vendor/jquery'));  return merge(bootstrapJS, bootstrapSCSS, chartJS, dataTables, fontAwesome, jquery, jqueryEasing);}// CSS taskfunction css() {  return gulp    .src("./scss/**/*.scss")    .pipe(plumber())    .pipe(sass({      outputStyle: "expanded",      includePaths: "./node_modules",    }))    .on("error", sass.logError)    .pipe(autoprefixer({      cascade: false    }))    .pipe(header(banner, {      pkg: pkg    }))    .pipe(gulp.dest("./css"))    .pipe(rename({      suffix: ".min"    }))    .pipe(cleanCSS())    .pipe(gulp.dest("./css"))    .pipe(browsersync.stream());}// JS taskfunction js() {  return gulp    .src([      './js/*.js',      '!./js/*.min.js',    ])    .pipe(uglify())    .pipe(header(banner, {      pkg: pkg    }))    .pipe(rename({      suffix: '.min'    }))    .pipe(gulp.dest('./js'))    .pipe(browsersync.stream());}// Watch filesfunction watchFiles() {  gulp.watch("./scss/**/*", css);  gulp.watch(["./js/**/*", "!./js/**/*.min.js"], js);  gulp.watch("./**/*.html", browserSyncReload);}// Define complex tasksconst vendor = gulp.series(clean, modules);const build = gulp.series(vendor, gulp.parallel(css, js));const watch = gulp.series(build, gulp.parallel(watchFiles, browserSync));// Export tasksexports.css = css;exports.js = js;exports.clean = clean;exports.vendor = vendor;exports.build = build;exports.watch = watch;exports.default = build;
 |