mirror of
https://github.com/2ec0b4/kaamelott-soundboard.git
synced 2025-12-08 15:43:24 +00:00
* Test en cours d'un nouveau package Gulp * Change de librairie pour la gestion des templates HBS * Renomme le nom du channel (pour ne pas qu'il soit modifié lors du Gulp build) * Renomme les régions (pour ne pas qu'elles soient modifiées lors du Gulp build) * Simplifie le Gulp build (WIP) * Ne versionne pas les fichiers de type mp3 * Supprime un paramètre inutile
73 lines
2.2 KiB
JavaScript
73 lines
2.2 KiB
JavaScript
var gulp = require('gulp'),
|
|
uglify = require('gulp-uglify'),
|
|
cssnano = require('gulp-cssnano'),
|
|
del = require('del'),
|
|
syncy = require('syncy'),
|
|
runSequence = require('run-sequence'),
|
|
RevAll = require('gulp-rev-all'),
|
|
revReplace = require('gulp-rev-replace');
|
|
|
|
gulp.task("rev-all", function(){
|
|
var revAll = new RevAll({
|
|
dontGlobal: [/^\/favicon.ico$/g, /^\/sounds\/(.+)\.mp3/g],
|
|
dontRenameFile: [/^\/index\.html/g, /^\/robots\.txt/g, /^\/img\/ks\.jpg/g]
|
|
});
|
|
|
|
return gulp.src(['dist/**'])
|
|
.pipe(revAll.revision())
|
|
.pipe(gulp.dest('dist'))
|
|
.pipe(revAll.manifestFile())
|
|
.pipe(gulp.dest('dist'));
|
|
});
|
|
|
|
gulp.task("scripts-min", function(){
|
|
return gulp.src(['dist/js/app/**/*.js'])
|
|
.pipe(uglify({
|
|
mangle: { except: ['$', 'require'] }
|
|
}))
|
|
.pipe(gulp.dest('dist/js/app'));
|
|
});
|
|
|
|
gulp.task("styles-min", function(){
|
|
return gulp.src(['dist/css/**/*.css'])
|
|
.pipe(cssnano())
|
|
.pipe(gulp.dest('dist/css'));
|
|
});
|
|
|
|
gulp.task("scripts-rev-replace", function(){
|
|
var manifest = gulp.src('dist/rev-manifest.json'),
|
|
replaceStr = function(str) {
|
|
str = str.replace(/[\/]?js\/app\//g, "");
|
|
if( str.match(/\.js$/) || str.match(/\.hbs$/) ) {
|
|
return '"'+( str.match(/\.hbs$/) ? 'hbs!' : '' )+str.slice(0, str.lastIndexOf('.'))+'"';
|
|
}
|
|
return str;
|
|
};
|
|
|
|
return gulp.src(['dist/js/app/**/*.js'])
|
|
.pipe(revReplace({
|
|
manifest: manifest,
|
|
modifyUnreved: replaceStr,
|
|
modifyReved: replaceStr
|
|
}))
|
|
.pipe(gulp.dest('dist/js/app'));
|
|
});
|
|
|
|
gulp.task('clean', function() {
|
|
return del(['dist']);
|
|
});
|
|
|
|
gulp.task('sync', function() {
|
|
syncy(['.htaccess', './css/**', './favicons/**', './img/**', './js/**', 'index.html', 'robots.txt', './sounds/**'], 'dist', {
|
|
updateAndDelete: true,
|
|
}).on('error', console.error).end();
|
|
});
|
|
|
|
gulp.task("init", function(){
|
|
return runSequence('clean', 'sync');
|
|
});
|
|
|
|
gulp.task("build", function(){
|
|
return runSequence('rev-all', 'scripts-rev-replace', 'scripts-min', 'styles-min');
|
|
});
|