From 8a2678b2ddb18f0d545b15ef4b8408f02941d09c Mon Sep 17 00:00:00 2001 From: omair saleh Date: Tue, 29 Dec 2020 16:59:23 +0800 Subject: [PATCH] update gulp from v3 to v4 --- gulpfile.js | 69 +++++++++++++++++++++++++++++----------------------- package.json | 49 ++++++++++++++++++------------------- 2 files changed, 62 insertions(+), 56 deletions(-) diff --git a/gulpfile.js b/gulpfile.js index 7f1221bf..7d64dac9 100644 --- a/gulpfile.js +++ b/gulpfile.js @@ -1,18 +1,25 @@ const pkg = require('./package.json'); const gulp = require('gulp'); +const fancyLog = require('fancy-log'); const del = require('del'); -const plugins = require('gulp-load-plugins')({pattern: ['*'], scope: ['devDependencies']}); -let uglifyEs = require('gulp-uglify-es').default; +const plugins = require('gulp-load-plugins')({ + lazy: true, + postRequireTransforms: { + print: (plugin) => plugin.default, + uglifyEs: (plugin) => plugin.default + } +}); const onError = (error) => { - console.log(error); + fancyLog(error); }; const sassOptions = {style: 'compressed'}; -// compile vendor dependencies gulp.task('vendorJs', () => { - plugins.fancyLog('Compiling vendor JS dependencies'); + + fancyLog('Compiling vendor JS dependencies'); + return gulp.src(pkg.globs.vendorJs) .pipe(plugins.plumber({errorHandler: onError})) .pipe(plugins.print()) @@ -22,7 +29,7 @@ gulp.task('vendorJs', () => { }); gulp.task('vendorCss', () => { - plugins.fancyLog('Compiling vendor CSS dependencies'); + fancyLog('Compiling vendor CSS dependencies'); return gulp.src(pkg.globs.vendorCss) .pipe(plugins.plumber({errorHandler: onError})) .pipe(plugins.print()) @@ -34,7 +41,7 @@ gulp.task('vendorCss', () => { }); gulp.task('vendorFonts', () => { - plugins.fancyLog('Copying vendor fonts for dependencies'); + fancyLog('Copying vendor fonts for dependencies'); return gulp.src(pkg.globs.vendorFonts) .pipe(plugins.plumber({errorHandler: onError})) .pipe(plugins.print()) @@ -42,16 +49,23 @@ gulp.task('vendorFonts', () => { }); gulp.task('vendorImages', () => { - plugins.fancyLog('Copying vendor images for dependencies'); + fancyLog('Copying vendor images for dependencies'); return gulp.src(pkg.globs.vendorImages) .pipe(plugins.plumber({errorHandler: onError})) .pipe(plugins.print()) .pipe(gulp.dest(pkg.paths.build.images)); }); -// compile source scss -gulp.task('sourceCss', () => { - plugins.fancyLog('Compiling source CSS files'); +gulp.task('sourceImages', () => { + fancyLog('Compiling source image files'); + return gulp.src(pkg.globs.sourceImages) + .pipe(plugins.plumber({errorHandler: onError})) + .pipe(plugins.print()) + .pipe(gulp.dest(pkg.paths.build.images)); +}); + +gulp.task('sourceCss', gulp.series('sourceImages', () => { + fancyLog('Compiling source CSS files'); return gulp.src(pkg.globs.sourceCss) .pipe(plugins.plumber({errorHandler: onError})) .pipe(plugins.print()) @@ -59,43 +73,38 @@ gulp.task('sourceCss', () => { .pipe(plugins.autoprefixer()) .pipe(plugins.concatCss('site.css')) .pipe(gulp.dest(pkg.paths.build.css)); -}); +})); gulp.task('sourceJs', () => { - plugins.fancyLog('Compiling source JS dependencies'); + fancyLog('Compiling source JS dependencies'); return gulp.src(pkg.globs.sourceJs) .pipe(plugins.plumber({errorHandler: onError})) .pipe(plugins.print()) .pipe(plugins.concat('site.js')) - .pipe(uglifyEs()) + .pipe(plugins.uglifyEs()) .pipe(gulp.dest(pkg.paths.build.js)); }); -gulp.task('sourceImages', () => { - plugins.fancyLog('Compiling source image files'); - return gulp.src(pkg.globs.sourceImages) - .pipe(plugins.plumber({errorHandler: onError})) - .pipe(plugins.print()) - .pipe(gulp.dest(pkg.paths.build.images)); -}); gulp.task('sourceFonts', () => { - plugins.fancyLog('Compiling source font files'); + fancyLog('Compiling source font files'); return gulp.src(pkg.globs.sourceFonts) .pipe(plugins.plumber({errorHandler: onError})) .pipe(plugins.print()) .pipe(gulp.dest(pkg.paths.build.fonts)); }); + gulp.task('clean', () => { return del([pkg.paths.build.css + '/*', pkg.paths.build.js + '/*', !pkg.paths.build.js + '/app.js', pkg.paths.build.images + '/*', pkg.paths.build.fonts + '/*']); }); -gulp.task('vendor', ['vendorJs', 'vendorCss', 'vendorFonts', 'vendorImages']); -gulp.task('source', ['sourceCss', 'sourceImages', 'sourceJs', 'sourceFonts']); -gulp.task('build', ['clean', 'vendor', 'source']); +gulp.task('vendor', gulp.series('vendorJs', 'vendorCss', 'vendorFonts', 'vendorImages')); +gulp.task('source', gulp.series('sourceCss', 'sourceImages', 'sourceJs', 'sourceFonts')); +gulp.task('build', gulp.series('clean', 'vendor', 'source')); -gulp.task('watch', () => { - gulp.watch(pkg.globs.sourceCss, ['sourceCss']); - gulp.watch(pkg.globs.sourceImages, ['sourceImages']); - gulp.watch(pkg.globs.sourceJs, ['sourceJs']); - gulp.watch(pkg.globs.sourceJs, ['sourceFonts']); +gulp.task('watch', (done) => { + gulp.watch(pkg.globs.sourceCss, gulp.series('sourceCss')); + gulp.watch(pkg.globs.sourceImages, gulp.series('sourceImages')); + gulp.watch(pkg.globs.sourceJs, gulp.series('sourceJs')); + gulp.watch(pkg.globs.sourceJs, gulp.series('sourceFonts')); + done(); }); \ No newline at end of file diff --git a/package.json b/package.json index af09d038..8bc1d6c5 100644 --- a/package.json +++ b/package.json @@ -10,20 +10,19 @@ "production": "cross-env NODE_ENV=production node_modules/webpack/bin/webpack.js --no-progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js" }, "dependencies": { - "animate.css": "^3.7.2", + "animate.css": "^4.1.1", "bootstrap": "^4.0.0", "bootstrap-datepicker": "^1.7.1", - "chart.js": "^2.8.0", + "dropzone": "^5.7.2", "epic-spinners": "^1.1.0", "font-awesome": "^4.7.0", - "intro.js": "^2.9.3", + "intro.js": "^3.1.0", "jquery": "^3.2", - "jquery-validation": "^1.17.0", "jquery.scrollbar": "^0.2.11", "noty": "^3.2.0-beta", "perfect-scrollbar": "^1.5.0", "popper.js": "^1.12", - "sass-loader": "7.*", + "sass-loader": "10.1.0", "select2": "^4.0.6-rc.1", "vue": "^2.6.10", "vue-avatar": "^2.1.8", @@ -32,30 +31,30 @@ "vuex": "^3.1.1" }, "devDependencies": { - "axios": "^0.19", - "cross-env": "^5.1", - "del": "^3.0.0", + "axios": "^0.21.0", + "cross-env": "^7.0.2", + "del": "^6.0.0", "fancy-log": "^1.3.0", - "gulp": "^3.9.1", - "gulp-autoprefixer": "^4.0.0", - "gulp-clean-css": "^3.7.0", + "gulp": "^4.0.2", + "gulp-autoprefixer": "^7.0.1", + "gulp-clean-css": "^4.3.0", "gulp-concat": "^2.6.1", - "gulp-concat-css": "^2.3.0", - "gulp-copy": "^1.0.1", - "gulp-livereload": "^3.8.1", - "gulp-load-plugins": "^1.5.0", + "gulp-concat-css": "^3.1.0", + "gulp-copy": "^4.0.1", + "gulp-livereload": "^4.0.2", + "gulp-load-plugins": "^2.0.6", "gulp-newer": "^1.3.0", "gulp-plumber": "^1.1.0", - "gulp-print": "^2.0.1", - "gulp-rename": "^1.2.2", - "gulp-replace": "^0.6.1", - "gulp-sass": "^3.1.0", + "gulp-print": "^5.0.2", + "gulp-rename": "^2.0.0", + "gulp-replace": "^1.0.0", + "gulp-sass": "^4.1.0", "gulp-streamify": "^1.0.2", "gulp-uglify": "^3.0.0", - "gulp-uglify-es": "^1.0.4", - "laravel-mix": "^4.0.7", + "gulp-uglify-es": "^2.0.0", + "laravel-mix": "^5.0.9", "lodash": "^4.17.13", - "resolve-url-loader": "^2.3.1" + "resolve-url-loader": "^3.1.2" }, "paths": { "build": { @@ -72,10 +71,9 @@ "./node_modules/popper.js/dist/umd/popper.min.js", "./node_modules/bootstrap/dist/js/bootstrap.min.js", "./node_modules/jquery.scrollbar/jquery.scrollbar.min.js", - "./node_modules/jquery-validation/dist/jquery.validate.js", "./node_modules/select2/dist/js/select2.full.min.js", + "./node_modules/dropzone/dist/dropzone.js", "./node_modules/bootstrap-datepicker/dist/js/bootstrap-datepicker.js", - "./node_modules/chart.js/dist/Chart.js", "./node_modules/noty/lib/noty.js", "./node_modules/intro.js/intro.js", "./node_modules/vue/dist/vue.min.js" @@ -84,11 +82,11 @@ "./node_modules/font-awesome/css/font-awesome.min.css", "./node_modules/jquery.scrollbar/jquery.scrollbar.css", "./node_modules/select2/dist/css/select2.min.css", + "./node_modules/dropzone/dist/dropzone.css", "./node_modules/bootstrap-datepicker/dist/css/bootstrap-datepicker3.css", "./node_modules/noty/lib/noty.css", "./node_modules/noty/lib/themes/*.css", "./node_modules/animate.css/animate.css", - "./node_modules/chart.js/dist/Chart.css", "./node_modules/intro.js/introjs.css", "./node_modules/bootstrap/dist/css/bootstrap.min.css" ], @@ -110,7 +108,6 @@ "./resources/assets/js/pages*.js", "./resources/assets/js/three.r92.min.js", "./resources/assets/js/vanta.birds.min.js", - "./resources/assets/js/validation.js", "./resources/assets/js/scripts.js" ], "sourceFonts": [