Last active
October 22, 2018 01:46
-
-
Save rkonno/c54e0e18bb79c1f9288e72c089d14dab to your computer and use it in GitHub Desktop.
gulpfile.js
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
const gulp = require('gulp'); | |
gulp.task('scripts', () => { | |
const minify = require('gulp-minify'); | |
return gulp.src('./src/scripts/*.js') | |
.pipe(minify({ | |
ext:{ | |
min:'.min.js' | |
}, | |
noSource: true | |
})) | |
.pipe(gulp.dest('./dist/assets/js')); | |
}); | |
gulp.task('styles', () => { | |
const postcss = require('gulp-postcss'); | |
const sourcemaps = require('gulp-sourcemaps'); | |
const rename = require('gulp-rename'); | |
return gulp.src('./src/styles/*.css') | |
.pipe(sourcemaps.init()) | |
.pipe(postcss([ | |
require('postcss-import'), | |
require('postcss-preset-env'), | |
require('postcss-apply'), | |
require('postcss-neat'), | |
require('cssnano') | |
])) | |
.pipe(rename({ | |
extname: ".min.css" | |
})) | |
.pipe(sourcemaps.write('.')) | |
.pipe(gulp.dest('./dist/assets/css')); | |
}); | |
gulp.task('html', () => { | |
return gulp.src('./src/html/**') | |
.pipe(gulp.dest('./dist/assets/html')); | |
}); | |
gulp.task('fonts', () => { | |
return gulp.src('./src/fonts/**') | |
.pipe(gulp.dest('./dist/assets/fonts')); | |
}); | |
gulp.task('images', () => { | |
const imagemin = require('gulp-imagemin'); | |
return gulp.src('./src/images/**') | |
.pipe(imagemin()) | |
.pipe(gulp.dest('./dist/assets/images')) | |
}); | |
gulp.task('vendors', () => { | |
return gulp.src('./src/vendors/**') | |
.pipe(gulp.dest('./dist/assets/vendors')); | |
}); | |
gulp.task('manifest', () => { | |
return gulp.src('./src/manifest.json') | |
.pipe( gulp.dest('./dist')); | |
}); | |
gulp.task('clean', () => { | |
const del = require('del'); | |
return del(['./dist', './archive.zip'], { force:true }); | |
}); | |
gulp.task('zip', () => { | |
const zip = require('gulp-zip'); | |
return gulp.src('./dist/**/*', { base: '.' }) | |
.pipe(zip('archive.zip')) | |
.pipe(gulp.dest('./')); | |
}); | |
gulp.task('build', | |
gulp.series( | |
'clean', | |
gulp.parallel( | |
'scripts', | |
'styles', | |
'html', | |
'fonts', | |
'images', | |
'vendors', | |
'manifest' | |
), | |
'zip' | |
) | |
); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment