const gulp = require('gulp'), concat = require("gulp-concat"), rename = require("gulp-rename"), cleanCSS = require('gulp-clean-css'), order = require('gulp-order'), uglify = require('gulp-uglify'), streamqueue = require('streamqueue'), pipeline = require('readable-stream').pipeline; gulp.task('copy', async function() { gulp.src('./node_modules/bootstrap/dist/js/bootstrap.js') .pipe(rename('v3-bootstrap.js')) .pipe(gulp.dest('./js/')); gulp.src('./node_modules/bootstrap/dist/css/bootstrap.css') .pipe(rename('v3-bootstrap.css')) .pipe(gulp.dest('./css/')); gulp.src('./node_modules/popper.js/dist/umd/popper.js') .pipe(rename('v3-popper.js')) .pipe(gulp.dest('./js/')); gulp.src('./node_modules/jquery/dist/jquery.min.js') .pipe(rename('v3-jquery.js')) .pipe(gulp.dest('./js/')); gulp.src('./node_modules/jasny-bootstrap/dist/js/jasny-bootstrap.min.js') .pipe(rename('v3-jasny-bootstrap.js')) .pipe(gulp.dest('./js/')); gulp.src('./node_modules/jasny-bootstrap/dist/css/jasny-bootstrap.css') .pipe(rename('v3-jasny-bootstrap.css')) .pipe(gulp.dest('./css/')); gulp.src('./node_modules/animate.css/animate.css') .pipe(rename('v3-animate.css')) .pipe(gulp.dest('./css/')); gulp.src('./node_modules/svg-morpheus/compile/minified/svg-morpheus.js') .pipe(rename('v3-svg-morpheus.js')) .pipe(gulp.dest('./js/')); gulp.src('./node_modules/moment/min/moment.min.js') .pipe(rename('v3-moment.js')) .pipe(gulp.dest('./js/')); gulp.src('./node_modules/@fullcalendar/core/main.js') .pipe(rename('v3-fullcalendar.js')) .pipe(gulp.dest('./js/')); gulp.src('./node_modules/@fullcalendar/core/main.css') .pipe(rename('v3-fullcalendar.css')) .pipe(gulp.dest('./css/')); gulp.src('./node_modules/@fullcalendar/google-calendar/main.js') .pipe(rename('v3-fullcalendar-google.js')) .pipe(gulp.dest('./js/')); gulp.src('./node_modules/@fullcalendar/daygrid/main.js') .pipe(rename('v3-fullcalendar-daygrid.js')) .pipe(gulp.dest('./js/')); gulp.src('./node_modules/@fullcalendar/daygrid/main.css') .pipe(rename('v3-fullcalendar-daygrid.css')) .pipe(gulp.dest('./css/')); console.log("files 📄 from npm pkgs "); }); gulp.task('css', async function() { return streamqueue({ objectMode: true }, gulp.src('./css/fonts.css'), gulp.src('./css/v3-animate.css'), gulp.src('./css/v3-fullcalendar-daygrid.css'), gulp.src('./css/v3-fullcalendar.css'), gulp.src('./css/v3-bootstrap.css'), gulp.src('./style.css') ) .pipe(concat('v3-style.css')) .pipe(cleanCSS({level: {1: {specialComments: 0}}})) .pipe(rename('v3-style.min.css')) .pipe(gulp.dest('./', { overwrite:true })); gulp.src('css/front-page.css') .pipe(cleanCSS({level: {1: {specialComments: 0}}})) .pipe(rename('v3-front.min.css')) .pipe(gulp.dest('./css/')); console.log("CSS built 🔧 "); }); gulp.task('js', async function() { return streamqueue({ objectMode: true }, gulp.src('./js/v3-jquery.js'), gulp.src('./js/v3-popper.js'), gulp.src('./js/v3-bootstrap.js'), gulp.src('./js/v3-jasny-bootstrap.js'), gulp.src('./js/v3-moment.js'), gulp.src('./js/v3-fullcalendar.js'), gulp.src('./js/v3-fullcalendar-daygrid.js'), gulp.src('./js/v3-fullcalendar-google.js'), gulp.src('./js/modernizr.js'), gulp.src('./js/validate.js'), gulp.src('./js/scripts.js') ) .pipe(concat('v3-script.js')) //.pipe(uglify()) .pipe(rename('v3-script.min.js')) .pipe(gulp.dest('./js/', { overwrite:true })) gulp.src([ 'js/v3-jquery.js', 'js/svg-morpheus.js', 'js/messenger.min.js', 'js/v3-bootstrap.js', 'js/terminal.js', 'js/front-page.js']) .pipe(order([ 'js/v3-jquery.js', 'js/svg-morpheus.js', 'js/messenger.min.js', 'js/v3-bootstrap.js', 'js/terminal.js', 'js/front-page.js'])) .pipe(concat('v3-front-page.js')) .pipe(uglify()) .pipe(rename('v3-front-page.min.js')) .pipe(gulp.dest('./js/')) console.log("JS built 🔧 "); });