You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

gulpfile.js 2.0KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  1. const gulp = require('gulp');
  2. const imagemin = require('gulp-imagemin');
  3. const uglify = require('gulp-uglify');
  4. const uglifycss = require('gulp-uglifycss');
  5. const sass = require('gulp-sass');
  6. const concat = require('gulp-concat');
  7. /*
  8. * Toplevelfunction
  9. * gulp.task
  10. * gulp.src
  11. * gulp.dest
  12. * gulp.watch
  13. */
  14. // Logs Message
  15. gulp.task('message', async function () {
  16. return console.log('Gulp is running...');
  17. });
  18. // Copy All HTML files
  19. gulp.task('copyHtml', async function () {
  20. gulp.src('app/*.html')
  21. .pipe(gulp.dest('dist'));
  22. });
  23. // Optimize Images
  24. gulp.task('imageMin', async function () {
  25. gulp.src('app/img/*')
  26. .pipe(imagemin())
  27. .pipe(gulp.dest('dist/images'))
  28. });
  29. // Minify JS
  30. gulp.task('minify', async function () {
  31. gulp.src('app/scripts/*.js')
  32. .pipe(uglify())
  33. .pipe(gulp.dest('dist/js'));
  34. });
  35. // Compile Sass
  36. gulp.task('sass', async function () {
  37. gulp.src('app/sass/*.scss')
  38. .pipe(sass().on('error', sass.logError))
  39. .pipe(gulp.dest('app/css'));
  40. });
  41. // Minify CSS
  42. gulp.task('css', async function () {
  43. gulp.src('app/css/*.css')
  44. .pipe(uglifycss({
  45. "maxLineLen": 80,
  46. "uglyComments": true
  47. }))
  48. .pipe(gulp.dest('./dist/css'));
  49. });
  50. // Scripts
  51. gulp.task('scripts', async function () {
  52. gulp.src('app/scripts/*.js')
  53. .pipe(concat('landung.js'))
  54. .pipe(uglify())
  55. .pipe(gulp.dest('dist/js'));
  56. });
  57. gulp.task('run', function(done) { // <--- Insert `done` as a parameter here...
  58. gulp.series('message','sass', 'css', 'copyHtml', 'imageMin', 'scripts')
  59. done(); // <--- ...and call it here.
  60. })
  61. /*
  62. gulp.task('default', ['message', 'copyHtml', 'imageMin', 'sass', 'scripts']);
  63. */
  64. gulp.task('watch', async function () {
  65. gulp.watch('app/scripts/*.js', gulp.series('scripts'));
  66. gulp.watch('app/img/*', gulp.series('imageMin'));
  67. gulp.watch('app/sass/*.scss', gulp.series('sass'));
  68. gulp.watch('app/css/*.css', gulp.series('css'));
  69. gulp.watch('app/*.html', gulp.series('copyHtml'));
  70. });