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
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"
|