Search code examples
javascripthtmlgulp

usemin dev() not working on .js file


I'm using a gulp task to version and uglify the CSS and JavaScript files, however it isn't versioning the .js files and I have no explanation because it is simply not throwing any errors nor warnings. Any idea on how to solve it?

// build.js file
var gulp = require('gulp'),
    imagemin = require('gulp-imagemin'),
    del = require('del'),
    usemin = require('gulp-usemin'),
    rev = require('gulp-rev'),
    cssnano = require('gulp-cssnano'),
    uglify = require('gulp-uglify'),
    gutil = require('gulp-util');

gulp.task('deleteDistFolder', function() {
    return del("./dist");
});

gulp.task('optimizeImages', ['deleteDistFolder'], function() {
    return gulp.src(["./travel-app/assets/images/**/*",
                "!./travel-app/assets/images/icons",
                "!./travel-app/assets/images/icons/**/*",
            ])
                .pipe(imagemin({
                    progressive: true,
                    interlaced: true,
                    multipass: true
                }))
                .pipe(gulp.dest("./dist/assets/images"));
});

gulp.task('usemin', ['deleteDistFolder'], function() {
    return gulp.src("./travel-app/index.html")
                .pipe(usemin({
                    css: [  function() {return rev()}, 
                            function() {return cssnano()}
                         ],
                    js: [   function() {return uglify()}, 
                                function() {return rev()}
                        ]
                }))
                
                .pipe(gulp.dest("./dist"))
});

gulp.task('build', ['deleteDistFolder', 'optimizeImages', 'usemin']);
<!-- html blocks -->

  <!-- build:css /assets/styles/styles.css -->
  <link rel="stylesheet" href="temp/styles/styles.css">
  <!-- endbuild -->

  <!-- build:js /assets/scripts/Vendor.js -->
  <script src="/temp/scripts/Vendor.js"></script>
  <!-- endbuild -->

  <!-- build:js /assets/scripts/App.js -->
  <script src="/temp/scripts/App.js"></script>
  <!-- endbuild -->


Solution

  • Found a solution here: https://stackoverflow.com/a/50333361/7559928

    It seems the problem is related with the use of ES6 so it is better to use the gulp-uglify-es package.