Skip to content

Commit 04ed63d

Browse files
committed
Upgrade to Gulp ^4.0
1 parent 4478926 commit 04ed63d

File tree

5 files changed

+5697
-84
lines changed

5 files changed

+5697
-84
lines changed

.gitignore

Lines changed: 41 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,49 @@
1+
# Logs
2+
logs
3+
*.log
4+
5+
# Runtime data
6+
pids
7+
*.pid
8+
*.seed
9+
10+
# Directory for instrumented libs generated by jscoverage/JSCover
11+
lib-cov
12+
13+
# Coverage directory used by tools like istanbul
14+
coverage
15+
.nyc_output
16+
17+
# Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files)
18+
.grunt
19+
20+
# Compiled binary addons (https://nodejs.org/api/addons.html)
21+
build/Release
22+
23+
# Dependency directory
24+
# Commenting this out is preferred by some people, see
25+
# https://www.npmjs.org/doc/misc/npm-faq.html#should-i-check-my-node_modules-folder-into-git-
26+
node_modules
27+
28+
# Users Environment Variables
29+
.lock-wscript
30+
31+
# Garbage files
32+
.DS_Store
33+
**/*.DS_Store
34+
35+
# Test results
36+
test.xunit
37+
138
# Build and Release Folders
239
bin-debug/
340
bin-release/
441

542
# Other files and folders
643
.settings/
744

8-
node_modules/
45+
# Folder destination build
946
dist/
47+
48+
#php-storm
49+
.idea

gulpfile.js

Lines changed: 68 additions & 71 deletions
Original file line numberDiff line numberDiff line change
@@ -1,68 +1,79 @@
1-
var gulp = require('gulp'),
2-
sass = require('gulp-sass'),
3-
fileinclude = require('gulp-file-include'),
4-
htmlmin = require('gulp-htmlmin'),
5-
uglify = require('gulp-uglify'),
6-
concat = require('gulp-concat'),
7-
csso = require('gulp-csso'),
8-
clean = require('gulp-rimraf'),
9-
runSequence = require('run-sequence');
10-
11-
gulp.task('clean', [], function() {
12-
console.log("Clean all files in build folder");
13-
14-
return gulp.src("dist/*", { read: false }).pipe(clean());
15-
});
16-
17-
gulp.task('sass', function() {
1+
"use strict";
2+
3+
const del = require("del");
4+
const eslint = require("gulp-eslint");
5+
const gulp = require('gulp');
6+
const sass = require('gulp-sass');
7+
const fileinclude = require('gulp-file-include');
8+
const htmlmin = require('gulp-htmlmin');
9+
const uglify = require('gulp-uglify');
10+
const concat = require('gulp-concat');
11+
const csso = require('gulp-csso');
12+
13+
function clean() {
14+
console.log("Delete build folder");
15+
16+
return del(["./dist/"]);
17+
}
18+
19+
function sassTask() {
1820
console.log("Sass task run");
1921

20-
gulp.src('src/scss/*.scss')
22+
return gulp.src('src/scss/*.scss')
2123
.pipe(sass({outputStyle: 'compressed'}))
2224
.pipe(csso())
2325
.pipe(concat('style.min.css'))
2426
.pipe(gulp.dest('dist/css/'));
25-
});
27+
}
2628

27-
gulp.task('css', function() {
28-
console.log("Css task run");
29+
function styles() {
30+
console.log("Styles task run");
2931

30-
gulp.src([
32+
return gulp.src([
3133
'node_modules/bootstrap/dist/css/bootstrap.css',
3234
'node_modules/@fortawesome/fontawesome-free/css/all.css',
3335
'src/css/**/*.css'
3436
])
3537
.pipe(csso())
3638
.pipe(concat('lib.min.css'))
3739
.pipe(gulp.dest('dist/css'));
38-
});
40+
}
3941

40-
gulp.task('js', function() {
41-
console.log("JS task run");
42+
function scriptsLint() {
43+
return gulp
44+
.src(["dist/js/**/*", "./gulpfile.js"])
45+
.pipe(plumber())
46+
.pipe(eslint())
47+
.pipe(eslint.format())
48+
.pipe(eslint.failAfterError());
49+
}
4250

43-
gulp.src([
51+
function scripts() {
52+
console.log("Scripts task run");
53+
54+
return gulp.src([
4455
'node_modules/jquery/dist/jquery.js',
4556
'node_modules/bootstrap/dist/js/bootstrap.js',
4657
'src/js/**/*.js'
4758
])
4859
.pipe(uglify())
4960
.pipe(concat('main.min.js'))
5061
.pipe(gulp.dest('dist/js'));
51-
});
62+
}
5263

53-
gulp.task('images', function() {
64+
function images() {
5465
console.log("Images task run");
5566

56-
gulp.src([
67+
return gulp.src([
5768
'src/images/**/*'
5869
])
5970
.pipe(gulp.dest('dist/images'));
60-
});
71+
}
6172

62-
gulp.task('html', function () {
73+
function html() {
6374
console.log("HTML task run");
6475

65-
gulp.src(['src/*.html'])
76+
return gulp.src(['src/*.html'])
6677
.pipe(fileinclude({
6778
prefix: '@@',
6879
basepath: 'src/partials'
@@ -72,42 +83,28 @@ gulp.task('html', function () {
7283
removeComments: true
7384
}))
7485
.pipe(gulp.dest('dist'));
75-
});
76-
77-
gulp.task('default', function() {
78-
runSequence('clean', 'sass', 'css', 'js', 'images', 'html', function() {
79-
console.log('Run task done');
80-
// done();
81-
});
82-
});
83-
84-
gulp.task('watch', function() {
85-
gulp.run('default');
86-
87-
gulp.watch('src/scss/**/*.scss', function(event) {
88-
console.log('File ' + event.path + ' was ' + event.type + ', running tasks...');
89-
gulp.run('sass');
90-
});
91-
92-
gulp.watch('src/css/**/*.css', function(event) {
93-
console.log('File ' + event.path + ' was ' + event.type + ', running tasks...');
94-
gulp.run('css');
95-
});
96-
97-
gulp.watch('src/js/**/*.js', function(event) {
98-
console.log('File ' + event.path + ' was ' + event.type + ', running tasks...');
99-
gulp.run('js');
100-
});
101-
102-
gulp.watch('src/images/**/*', function(event) {
103-
console.log('File ' + event.path + ' was ' + event.type + ', running tasks...');
104-
gulp.run('images');
105-
});
106-
107-
gulp.watch('src/**/*.html', function (event) {
108-
console.log('File ' + event.path + ' was ' + event.type + ', running tasks...');
109-
gulp.run('html');
110-
});
111-
});
112-
113-
86+
}
87+
88+
function watch() {
89+
gulp.watch('src/scss/**/*.scss', sassTask);
90+
gulp.watch('src/css/**/*.css', styles);
91+
gulp.watch('src/js/**/*.js', scripts);
92+
gulp.watch('src/images/**/*', images);
93+
gulp.watch('src/**/*.html', html);
94+
}
95+
96+
// define complex tasks
97+
const js = gulp.series(scriptsLint, scripts);
98+
const build = gulp.series(clean, gulp.parallel(styles, scripts, sassTask, images, html));
99+
100+
// export tasks
101+
exports.clean = clean;
102+
exports.sassTask = sassTask;
103+
exports.styles = styles;
104+
exports.js = js;
105+
exports.images = images;
106+
exports.html = html;
107+
exports.watch = watch;
108+
exports.build = build;
109+
110+
exports.default = build;

0 commit comments

Comments
 (0)