PluginProbe
Gianism / 4.4.0
Gianism v4.4.0
4.3.0 4.3.1 4.3.2 4.3.3 4.3.4 4.4.0 5.0.0 5.0.1 5.0.2 5.1.0 5.2.1 5.2.2 5.3.0 6.0.0 6.0.1 trunk 1.0 1.1 1.1.1 1.1.2 1.1.3 1.1.4 1.1.5 1.1.6 1.1.7 All 65 releases
gianism / gulpfile.js

gulpfile.js in Gianism 4.4.0, at gulpfile.js

98 lines 2.3 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 const gulp = require('gulp');
2 const fs = require('fs');
3 const $ = require('gulp-load-plugins')();
4 const pngquant = require('imagemin-pngquant');
5 const mergeStream = require('merge-stream');
6
7
8 // Sass tasks
9 gulp.task('sass', function () {
10 return gulp.src(['./src/sass/**/*.scss'])
11 .pipe($.plumber({
12 errorHandler: $.notify.onError('<%= error.message %>')
13 }))
14 .pipe($.sourcemaps.init({loadMaps: true}))
15 .pipe($.sassGlob())
16 .pipe($.sass({
17 errLogToConsole: true,
18 outputStyle : 'compressed',
19 includePaths : [
20 './src/sass'
21 ]
22 }))
23 .pipe($.autoprefixer())
24 .pipe($.sourcemaps.write('./map'))
25 .pipe(gulp.dest('./assets/css'));
26 });
27
28
29 // Minify All
30 gulp.task('js', function () {
31 return gulp.src(['./src/js/**/*.js'])
32 .pipe($.plumber({
33 errorHandler: $.notify.onError('<%= error.message %>')
34 }))
35 .pipe($.sourcemaps.init({
36 loadMaps: true
37 }))
38 .pipe($.uglify())
39 .pipe($.sourcemaps.write('./map'))
40 .pipe(gulp.dest('./assets/js/'));
41 });
42
43
44 // JS Hint
45 gulp.task('jshint', function () {
46 return gulp.src(['./src/js/**/*.js'])
47 .pipe($.jshint('./src/.jshintrc'))
48 .pipe($.jshint.reporter('jshint-stylish'));
49 });
50
51 // Build libraries
52 gulp.task('copylib', function () {
53 return mergeStream(
54 // Copy LigatureSymbols
55 gulp.src([
56 './src/fonts/**/*'
57 ])
58 .pipe(gulp.dest('./assets/fonts/')),
59 // Copy JS Cookie
60 gulp.src([
61 './node_modules/js-cookie/src/js.cookie.js'
62 ])
63 .pipe($.uglify())
64 .pipe(gulp.dest('./assets/js/'))
65 );
66 });
67
68 // Image min
69 gulp.task('imagemin', function () {
70 return gulp.src('./src/img/**/*')
71 .pipe($.imagemin({
72 progressive: true,
73 svgoPlugins: [{removeViewBox: false}],
74 use : [pngquant()]
75 }))
76 .pipe(gulp.dest('./assets/img'));
77 });
78
79
80 // watch
81 gulp.task('watch', function ( done ) {
82 // Make SASS
83 gulp.watch('./src/sass/**/*.scss', gulp.task( 'sass' ) );
84 // JS
85 gulp.watch(['./src/js/**/*.js'], gulp.parallel( 'js', 'jshint' ) );
86 // Minify Image
87 gulp.watch('./src/img/**/*', gulp.task( 'imagemin' ) );
88 // Done.
89 done();
90 });
91
92
93 // Build
94 gulp.task('build', gulp.parallel( 'copylib', 'js', 'sass', 'imagemin' ) );
95
96 // Default Tasks
97 gulp.task('default', gulp.parallel( 'watch' ) );
98