1
0
mirror of https://github.com/2ec0b4/kaamelott-soundboard.git synced 2025-12-08 23:53:24 +00:00

Amélioration des tâches Gulp (#3)

* 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
This commit is contained in:
Antoine
2016-06-16 14:04:48 +02:00
committed by GitHub
parent 23c5ae7343
commit 56ab369699
8 changed files with 44 additions and 81 deletions

View File

@@ -4,15 +4,20 @@ var gulp = require('gulp'),
del = require('del'),
syncy = require('syncy'),
runSequence = require('run-sequence'),
rev = require('gulp-rev'),
RevAll = require('gulp-rev-all'),
revReplace = require('gulp-rev-replace');
gulp.task("scripts-rev", function(){
return gulp.src(['js/app/**/*.js'])
.pipe(rev())
.pipe(gulp.dest('dist/js/app'))
.pipe(rev.manifest())
.pipe(gulp.dest('dist/js/app'));
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(){
@@ -23,90 +28,45 @@ gulp.task("scripts-min", function(){
.pipe(gulp.dest('dist/js/app'));
});
gulp.task("styles-rev", function(){
return gulp.src(['css/**/*.css'])
.pipe(rev())
.pipe(gulp.dest('dist/css'))
.pipe(rev.manifest())
.pipe(gulp.dest('dist/css'));
});
gulp.task("styles-min", function(){
return gulp.src(['dist/css/**/*.css'])
.pipe(cssnano())
.pipe(gulp.dest('dist/css'));
});
gulp.task("config-rev", function(){
return gulp.src(['sounds/sounds.json'])
.pipe(rev())
.pipe(gulp.dest('dist/sounds'))
.pipe(rev.manifest())
.pipe(gulp.dest('dist/sounds'));
});
gulp.task("scripts-rev-replace", function(){
var manifest = gulp.src('dist/js/app/rev-manifest.json');
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: function(str) {
return '"'+str.slice(0, str.lastIndexOf('.'))+'"';
},
modifyReved: function(str) {
return '"'+str.slice(0, str.lastIndexOf('.'))+'"';
}
}))
.pipe(gulp.dest('dist/js/app'));
});
gulp.task("index-rev-replace", function(){
var manifest = gulp.src('dist/js/app/rev-manifest.json');
return gulp.src(['dist/index.html'])
.pipe(revReplace({
manifest: manifest,
modifyUnreved: function(str) {
return '"/js/app/'+str.slice(0, str.lastIndexOf('.'))+'"';
},
modifyReved: function(str) {
return '"/js/app/'+str.slice(0, str.lastIndexOf('.'))+'"';
}
}))
.pipe(gulp.dest('dist'));
});
gulp.task("styles-rev-replace", function(){
var manifest = gulp.src('dist/css/rev-manifest.json');
return gulp.src(['dist/index.html'])
.pipe(revReplace({
manifest: manifest
}))
.pipe(gulp.dest('dist'));
});
gulp.task("config-rev-replace", function(){
var manifest = gulp.src('dist/sounds/rev-manifest.json');
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/js', 'dist/css', 'dist/index.html', 'dist/sounds/sounds*.json', '!dist/empty']);
return del(['dist']);
});
gulp.task('sync', function() {
syncy(['.htaccess', './favicons/**', './img/**', './js/app/templates/**', 'index.html', './node_modules/**', 'robots.txt', './sounds/**', '!./sounds/sounds.json'], 'dist', {
syncy(['.htaccess', './css/**', './favicons/**', './img/**', './js/**', 'index.html', 'robots.txt', './sounds/**'], 'dist', {
updateAndDelete: true,
}).on('error', console.error).end();
});
gulp.task("build", function(){
return runSequence('clean', 'sync', 'scripts-rev', 'styles-rev', 'config-rev', 'scripts-rev-replace', 'styles-rev-replace', 'config-rev-replace', 'index-rev-replace', 'scripts-min', 'styles-min');
gulp.task("init", function(){
return runSequence('clean', 'sync');
});
gulp.task("build", function(){
return runSequence('rev-all', 'scripts-rev-replace', 'scripts-min', 'styles-min');
});