update gulp from v3 to v4

This commit is contained in:
omair saleh
2020-12-29 16:59:23 +08:00
parent ab499f9ceb
commit 8a2678b2dd
2 changed files with 62 additions and 56 deletions
Vendored
+39 -30
View File
@@ -1,18 +1,25 @@
const pkg = require('./package.json'); const pkg = require('./package.json');
const gulp = require('gulp'); const gulp = require('gulp');
const fancyLog = require('fancy-log');
const del = require('del'); const del = require('del');
const plugins = require('gulp-load-plugins')({pattern: ['*'], scope: ['devDependencies']}); const plugins = require('gulp-load-plugins')({
let uglifyEs = require('gulp-uglify-es').default; lazy: true,
postRequireTransforms: {
print: (plugin) => plugin.default,
uglifyEs: (plugin) => plugin.default
}
});
const onError = (error) => { const onError = (error) => {
console.log(error); fancyLog(error);
}; };
const sassOptions = {style: 'compressed'}; const sassOptions = {style: 'compressed'};
// compile vendor dependencies
gulp.task('vendorJs', () => { gulp.task('vendorJs', () => {
plugins.fancyLog('Compiling vendor JS dependencies');
fancyLog('Compiling vendor JS dependencies');
return gulp.src(pkg.globs.vendorJs) return gulp.src(pkg.globs.vendorJs)
.pipe(plugins.plumber({errorHandler: onError})) .pipe(plugins.plumber({errorHandler: onError}))
.pipe(plugins.print()) .pipe(plugins.print())
@@ -22,7 +29,7 @@ gulp.task('vendorJs', () => {
}); });
gulp.task('vendorCss', () => { gulp.task('vendorCss', () => {
plugins.fancyLog('Compiling vendor CSS dependencies'); fancyLog('Compiling vendor CSS dependencies');
return gulp.src(pkg.globs.vendorCss) return gulp.src(pkg.globs.vendorCss)
.pipe(plugins.plumber({errorHandler: onError})) .pipe(plugins.plumber({errorHandler: onError}))
.pipe(plugins.print()) .pipe(plugins.print())
@@ -34,7 +41,7 @@ gulp.task('vendorCss', () => {
}); });
gulp.task('vendorFonts', () => { gulp.task('vendorFonts', () => {
plugins.fancyLog('Copying vendor fonts for dependencies'); fancyLog('Copying vendor fonts for dependencies');
return gulp.src(pkg.globs.vendorFonts) return gulp.src(pkg.globs.vendorFonts)
.pipe(plugins.plumber({errorHandler: onError})) .pipe(plugins.plumber({errorHandler: onError}))
.pipe(plugins.print()) .pipe(plugins.print())
@@ -42,16 +49,23 @@ gulp.task('vendorFonts', () => {
}); });
gulp.task('vendorImages', () => { gulp.task('vendorImages', () => {
plugins.fancyLog('Copying vendor images for dependencies'); fancyLog('Copying vendor images for dependencies');
return gulp.src(pkg.globs.vendorImages) return gulp.src(pkg.globs.vendorImages)
.pipe(plugins.plumber({errorHandler: onError})) .pipe(plugins.plumber({errorHandler: onError}))
.pipe(plugins.print()) .pipe(plugins.print())
.pipe(gulp.dest(pkg.paths.build.images)); .pipe(gulp.dest(pkg.paths.build.images));
}); });
// compile source scss gulp.task('sourceImages', () => {
gulp.task('sourceCss', () => { fancyLog('Compiling source image files');
plugins.fancyLog('Compiling source CSS 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) return gulp.src(pkg.globs.sourceCss)
.pipe(plugins.plumber({errorHandler: onError})) .pipe(plugins.plumber({errorHandler: onError}))
.pipe(plugins.print()) .pipe(plugins.print())
@@ -59,43 +73,38 @@ gulp.task('sourceCss', () => {
.pipe(plugins.autoprefixer()) .pipe(plugins.autoprefixer())
.pipe(plugins.concatCss('site.css')) .pipe(plugins.concatCss('site.css'))
.pipe(gulp.dest(pkg.paths.build.css)); .pipe(gulp.dest(pkg.paths.build.css));
}); }));
gulp.task('sourceJs', () => { gulp.task('sourceJs', () => {
plugins.fancyLog('Compiling source JS dependencies'); fancyLog('Compiling source JS dependencies');
return gulp.src(pkg.globs.sourceJs) return gulp.src(pkg.globs.sourceJs)
.pipe(plugins.plumber({errorHandler: onError})) .pipe(plugins.plumber({errorHandler: onError}))
.pipe(plugins.print()) .pipe(plugins.print())
.pipe(plugins.concat('site.js')) .pipe(plugins.concat('site.js'))
.pipe(uglifyEs()) .pipe(plugins.uglifyEs())
.pipe(gulp.dest(pkg.paths.build.js)); .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', () => { gulp.task('sourceFonts', () => {
plugins.fancyLog('Compiling source font files'); fancyLog('Compiling source font files');
return gulp.src(pkg.globs.sourceFonts) return gulp.src(pkg.globs.sourceFonts)
.pipe(plugins.plumber({errorHandler: onError})) .pipe(plugins.plumber({errorHandler: onError}))
.pipe(plugins.print()) .pipe(plugins.print())
.pipe(gulp.dest(pkg.paths.build.fonts)); .pipe(gulp.dest(pkg.paths.build.fonts));
}); });
gulp.task('clean', () => { 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 + '/*']); 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('vendor', gulp.series('vendorJs', 'vendorCss', 'vendorFonts', 'vendorImages'));
gulp.task('source', ['sourceCss', 'sourceImages', 'sourceJs', 'sourceFonts']); gulp.task('source', gulp.series('sourceCss', 'sourceImages', 'sourceJs', 'sourceFonts'));
gulp.task('build', ['clean', 'vendor', 'source']); gulp.task('build', gulp.series('clean', 'vendor', 'source'));
gulp.task('watch', () => { gulp.task('watch', (done) => {
gulp.watch(pkg.globs.sourceCss, ['sourceCss']); gulp.watch(pkg.globs.sourceCss, gulp.series('sourceCss'));
gulp.watch(pkg.globs.sourceImages, ['sourceImages']); gulp.watch(pkg.globs.sourceImages, gulp.series('sourceImages'));
gulp.watch(pkg.globs.sourceJs, ['sourceJs']); gulp.watch(pkg.globs.sourceJs, gulp.series('sourceJs'));
gulp.watch(pkg.globs.sourceJs, ['sourceFonts']); gulp.watch(pkg.globs.sourceJs, gulp.series('sourceFonts'));
done();
}); });
+23 -26
View File
@@ -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" "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": { "dependencies": {
"animate.css": "^3.7.2", "animate.css": "^4.1.1",
"bootstrap": "^4.0.0", "bootstrap": "^4.0.0",
"bootstrap-datepicker": "^1.7.1", "bootstrap-datepicker": "^1.7.1",
"chart.js": "^2.8.0", "dropzone": "^5.7.2",
"epic-spinners": "^1.1.0", "epic-spinners": "^1.1.0",
"font-awesome": "^4.7.0", "font-awesome": "^4.7.0",
"intro.js": "^2.9.3", "intro.js": "^3.1.0",
"jquery": "^3.2", "jquery": "^3.2",
"jquery-validation": "^1.17.0",
"jquery.scrollbar": "^0.2.11", "jquery.scrollbar": "^0.2.11",
"noty": "^3.2.0-beta", "noty": "^3.2.0-beta",
"perfect-scrollbar": "^1.5.0", "perfect-scrollbar": "^1.5.0",
"popper.js": "^1.12", "popper.js": "^1.12",
"sass-loader": "7.*", "sass-loader": "10.1.0",
"select2": "^4.0.6-rc.1", "select2": "^4.0.6-rc.1",
"vue": "^2.6.10", "vue": "^2.6.10",
"vue-avatar": "^2.1.8", "vue-avatar": "^2.1.8",
@@ -32,30 +31,30 @@
"vuex": "^3.1.1" "vuex": "^3.1.1"
}, },
"devDependencies": { "devDependencies": {
"axios": "^0.19", "axios": "^0.21.0",
"cross-env": "^5.1", "cross-env": "^7.0.2",
"del": "^3.0.0", "del": "^6.0.0",
"fancy-log": "^1.3.0", "fancy-log": "^1.3.0",
"gulp": "^3.9.1", "gulp": "^4.0.2",
"gulp-autoprefixer": "^4.0.0", "gulp-autoprefixer": "^7.0.1",
"gulp-clean-css": "^3.7.0", "gulp-clean-css": "^4.3.0",
"gulp-concat": "^2.6.1", "gulp-concat": "^2.6.1",
"gulp-concat-css": "^2.3.0", "gulp-concat-css": "^3.1.0",
"gulp-copy": "^1.0.1", "gulp-copy": "^4.0.1",
"gulp-livereload": "^3.8.1", "gulp-livereload": "^4.0.2",
"gulp-load-plugins": "^1.5.0", "gulp-load-plugins": "^2.0.6",
"gulp-newer": "^1.3.0", "gulp-newer": "^1.3.0",
"gulp-plumber": "^1.1.0", "gulp-plumber": "^1.1.0",
"gulp-print": "^2.0.1", "gulp-print": "^5.0.2",
"gulp-rename": "^1.2.2", "gulp-rename": "^2.0.0",
"gulp-replace": "^0.6.1", "gulp-replace": "^1.0.0",
"gulp-sass": "^3.1.0", "gulp-sass": "^4.1.0",
"gulp-streamify": "^1.0.2", "gulp-streamify": "^1.0.2",
"gulp-uglify": "^3.0.0", "gulp-uglify": "^3.0.0",
"gulp-uglify-es": "^1.0.4", "gulp-uglify-es": "^2.0.0",
"laravel-mix": "^4.0.7", "laravel-mix": "^5.0.9",
"lodash": "^4.17.13", "lodash": "^4.17.13",
"resolve-url-loader": "^2.3.1" "resolve-url-loader": "^3.1.2"
}, },
"paths": { "paths": {
"build": { "build": {
@@ -72,10 +71,9 @@
"./node_modules/popper.js/dist/umd/popper.min.js", "./node_modules/popper.js/dist/umd/popper.min.js",
"./node_modules/bootstrap/dist/js/bootstrap.min.js", "./node_modules/bootstrap/dist/js/bootstrap.min.js",
"./node_modules/jquery.scrollbar/jquery.scrollbar.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/select2/dist/js/select2.full.min.js",
"./node_modules/dropzone/dist/dropzone.js",
"./node_modules/bootstrap-datepicker/dist/js/bootstrap-datepicker.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/noty/lib/noty.js",
"./node_modules/intro.js/intro.js", "./node_modules/intro.js/intro.js",
"./node_modules/vue/dist/vue.min.js" "./node_modules/vue/dist/vue.min.js"
@@ -84,11 +82,11 @@
"./node_modules/font-awesome/css/font-awesome.min.css", "./node_modules/font-awesome/css/font-awesome.min.css",
"./node_modules/jquery.scrollbar/jquery.scrollbar.css", "./node_modules/jquery.scrollbar/jquery.scrollbar.css",
"./node_modules/select2/dist/css/select2.min.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/bootstrap-datepicker/dist/css/bootstrap-datepicker3.css",
"./node_modules/noty/lib/noty.css", "./node_modules/noty/lib/noty.css",
"./node_modules/noty/lib/themes/*.css", "./node_modules/noty/lib/themes/*.css",
"./node_modules/animate.css/animate.css", "./node_modules/animate.css/animate.css",
"./node_modules/chart.js/dist/Chart.css",
"./node_modules/intro.js/introjs.css", "./node_modules/intro.js/introjs.css",
"./node_modules/bootstrap/dist/css/bootstrap.min.css" "./node_modules/bootstrap/dist/css/bootstrap.min.css"
], ],
@@ -110,7 +108,6 @@
"./resources/assets/js/pages*.js", "./resources/assets/js/pages*.js",
"./resources/assets/js/three.r92.min.js", "./resources/assets/js/three.r92.min.js",
"./resources/assets/js/vanta.birds.min.js", "./resources/assets/js/vanta.birds.min.js",
"./resources/assets/js/validation.js",
"./resources/assets/js/scripts.js" "./resources/assets/js/scripts.js"
], ],
"sourceFonts": [ "sourceFonts": [