This commit is contained in:
Christophe 2022-09-27 11:27:55 +02:00
parent 4c40f9b7b6
commit 6cb3d68829
3 changed files with 5458 additions and 7201 deletions

View file

@ -1,40 +1,49 @@
const { src, dest, series, parallel, watch } = require('gulp');
const gulpSass = require('gulp-sass');
const gulpSass = require('gulp-sass')(require('sass'));
const sourcemaps = require('gulp-sourcemaps');
const postcss = require('gulp-postcss');
const autoprefixer = require('autoprefixer');
const CombineMQ = require('postcss-combine-media-query');
const notify = require('gulp-notify');
const concat = require('gulp-concat');
const uglify = require('gulp-uglify');
const babel = require('gulp-babel');
const rename = require('gulp-regex-rename');
const CSSnano = require('cssnano');
// const unuse = require('postcss-uncss'); //https://github.com/uncss/postcss-uncss
/*
* SASS$
*/
function sass() {
let options_unuse = {
html: 'http://starter.spip',
};
return (
src('css/**/*.scss')
return src(['css/**/*.scss'])
.pipe(sourcemaps.init())
.pipe(gulpSass({ outputStyle: 'expanded' }))
.pipe(
gulpSass({
outputStyle: 'expanded',
})
)
.on('error', (err) => notify().write(err))
.pipe(postcss([autoprefixer()])) // autoprefixer
//.pipe(postcss([autoprefixer(), cssnano()])) // autoprefixer + minifier
//.pipe(postcss([unuse(options_unuse), autoprefixer()])) // css unuse + autoprefixer
.pipe(
postcss([
CombineMQ, // rassemble les Media Queries (parfait pour les classes utilitaires)
autoprefixer, // ajoute les préfixes vendeurs
// CSSnano, // minification
])
)
.pipe(sourcemaps.write('.')) // initialize sourcemaps first
.pipe(dest('css'))
);
.pipe(dest('css'));
}
/*
* JS -> concat + babel
*/
function jsConcatMinif() {
return src(['./js/a_compresser/*.js'])
console.log('ok');
return (
src(['./js/a_compresser/*.js'])
.pipe(sourcemaps.init())
.pipe(
babel({
@ -42,16 +51,18 @@ function jsConcatMinif() {
})
)
.pipe(concat('mon_site.min.js', { newLine: ';' }))
.pipe(uglify())
// SPECIFIQUE DEV: ne pas compacter le JS
// .pipe(uglify())
.pipe(sourcemaps.write('.'))
.pipe(dest('./js'));
.pipe(dest('./js'))
);
}
/*
* JS -> babel
*/
function jsBabel() {
return src(['js/*.es6.js'])
return src(['js/**/*.es6.js'])
.pipe(
babel({
presets: ['@babel/preset-env'],
@ -77,11 +88,48 @@ function watcherJsConcatMinif() {
}
function watcherJsBabel() {
watch('./js/*.es6.js', { ignoreInitial: false }, jsBabel).on('change', function () {
watch('./js/**/*.es6.js', { ignoreInitial: false }, jsBabel).on('change', function () {
notify('JS (babel) ==> OK').write('');
});
}
/*
* SVG sprite
*/
// const gulpSvgSprite = require('gulp-svg-sprite');
// const config = {
// shape: {
// spacing: {
// box: 'icon',
// },
// },
// mode: {
// symbol: {
// dest: '.',
// sprite: 'sprite_symbol_picto.svg',
// },
// },
// };
//
// function svgSprite() {
// return (
// src('svg/**/*.svg')
// .pipe(gulpSvgSprite(config))
// .on('error', function (error) {
// console.log(error);
// })
// .pipe(dest('img'))
// );
// }
/*
* SVG minifier
*/
// var svgmin = require('gulp-svgmin');
// function svgMin() {
// return src('svg/*.svg').pipe(svgmin()).pipe(dest('./svgmin'));
// }
/*
* Exports des fonctions
*/
@ -89,4 +137,6 @@ module.exports = {
default: parallel(sass, jsConcatMinif, jsBabel),
sass: sass,
watch: parallel(watcherSass, watcherJsConcatMinif, watcherJsBabel),
// sprite: svgSprite,
// svgmin: svgMin,
};

12443
package-lock.json generated

File diff suppressed because it is too large Load diff

View file

@ -19,24 +19,24 @@
"author": "tofulm at Gamuza",
"license": "ISC",
"devDependencies": {
"@babel/core": "^7.14.6",
"@babel/preset-env": "^7.14.5",
"@types/jquery": "^3.5.5",
"@babel/core": "^7.11.6",
"@babel/preset-env": "^7.11.5",
"@types/jquery": "^3.3.31",
"gulp": "^4.0.2",
"gulp-babel": "^8.0.0",
"gulp-concat": "^2.6.1",
"gulp-notify": "^4.0.0",
"gulp-postcss": "^8.0.0",
"gulp-regex-rename": "^0.1.0",
"gulp-svg-sprite": "^1.5.0",
"gulp-svgmin": "^3.0.0",
"gulp-uglify": "^3.0.2"
"gulp-sass": "^5.1.0",
"gulp-sourcemaps": "^3.0.0",
"sass": "^1.49.11"
},
"dependencies": {
"autoprefixer": "^10.2.6",
"gulp-postcss": "^9.0.0",
"gulp-sass": "^4.1.0",
"gulp-sourcemaps": "^3.0.0",
"postcss": "^8.3.5",
"postcss-uncss": "^0.17.0"
"autoprefixer": "^9.8.6",
"cssnano": "^5.1.7",
"gulp-postcss": "^8.0.0",
"gulp-uglify": "^3.0.2",
"postcss-combine-media-query": "^1.0.1"
}
}