//// Constantes // Ressources plugins, notation simplifiée pour créer plusieurs constantes const { dest, parallel, series, src, task } = require('gulp'), minifycss = require('gulp-clean-css'); //// Fonctions / sous tâches // Copier les ressources dans le novueau dossier task('copy-assets', function() { return src( [ // On copie tout... 'src/**/*.*', // sauf le css, qui sera copié via minify css '!src/css/*.*' ] ) // On met dans le tuyau (c'est comme ça, chut) // On envoie les fichiers dans le dossier build/ .pipe(dest('build/')); }); // Minifier le css // https://www.npmjs.com/package/gulp-clean-css task('minify-css', function() { return src('src/css/*.css') .pipe(minifycss()) .pipe(dest('build/css/')); }); //// Tâches // Fonction par défaut, appelée dans la console en tapant 'gulp' // Le premier paramètre est le nom de la tâche // Cette tâche appelle chaque tâche contenue dans la fonction passé en 2eme paramètre // La tâche par défaut appelle la tâche copy-assets, ainsi que la tâche minifier le css task('default', parallel('copy-assets', 'minify-css')); // Note : Depuis la version 4 de gulp, les tâches peuvent être appelées // https://gulpjs.com/docs/en/api/series // - à la suite les unes des autres (contraintes) // https://gulpjs.com/docs/en/api/parallel // - ou en même temps (gain de temps et de performances)