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.

62 lines
2.3 KiB

// commencer par importer gulp
// si on veux utiliser import il faut décalrer dans le package que l'on est en modules
// => "type":"module", et pas "type":"commonjs",
// dans le futur :
// import * as gulp from gulp;
// mais en version actuelle :
const gulp = require('gulp');
const gsass = require('gulp-sass')(require('sass')); // on require gsass et lui assigne sass comme compilateur
const gugly = require('gulp-uglify-es');
const sourcemaps = require('gulp-sourcemaps');
const { SourceMap } = require('module');
const {basename} = require('path'); // ceci permet de récupérer la fonction basename initialisée dans le module node "path"
const {dirname:basedir,normalize:normalize_path} = require('path'); // ceci permet de récupérer la fonction dirname initialisée dans le module node "path" en la renommant en basedir
// !! => cast en boolean
const [un,deux,,quatre] = [!!1,2,gulp,"four"]; //assigne chaque case de tableau de droite à une const définie dans le tableau gauche en ignorant les éléments vide (ici le 3e element de gauche)
const two = null;
const undefined2 = two ?? 2; // defini undefined2 a two si elle est non "nullable", sinon assigne 2
const struct_of_twos = {
two: { arab : 2, roman : 'II' },
deux : 2
}
let redefine2 = deux?.arab;
// redefine2 vaut ici 2 ça s'arrête à la première prop valide trouvée.
// pour voir la console faire "node gulpfile.js"
console.log(basedir(__filename));
// __dirname existe
function sass() {
return gulp.src(normalize_path(basedir(__filename)+'/style-main.scss'))
.pipe(sourcemaps.init())
.pipe(gsass())
.pipe(sourcemaps.write(basedir(__filename)))
.pipe(gulp.dest(basedir(__filename)));
}
function uglify() {
var dest = normalize_path(basedir(__filename)+'/scripts/');
return gulp.src(normalize_path(basedir(__filename)+'/scripts-sources/**/*.js'))
.pipe(sourcemaps.init())
.pipe(gugly.default())
.pipe(sourcemaps.write(dest))
.pipe(gulp.dest(dest));
}
// à afficher avec gulp --tasks
module.exports = {
sass,
uglify,
'default' : gulp.parallel(sass,uglify),
};
// exports.sass = sass;
// ou module.exports.sass = sass;
// ou exports['default'] =
// cwd à check pour gulp car il indique le "current working dir"