mirror of
https://github.com/2ec0b4/kaamelott-soundboard.git
synced 2025-12-08 15:43:24 +00:00
Gulp build (#2)
* Build tests ave Gulp * Autres build tests ave Gulp * WIP * Créé une tâche gulp build * Ajoute la racine à certaines URL * Améliore la tâche gulp build * Ne minifie pas les scripts, cela cause des problèmes de chargement de fichiers
This commit is contained in:
110
gulpfile.js
Normal file
110
gulpfile.js
Normal file
@@ -0,0 +1,110 @@
|
||||
var gulp = require('gulp'),
|
||||
uglify = require('gulp-uglify'),
|
||||
cssnano = require('gulp-cssnano'),
|
||||
del = require('del'),
|
||||
syncy = require('syncy'),
|
||||
runSequence = require('run-sequence'),
|
||||
rev = require('gulp-rev'),
|
||||
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("scripts-min", function(){
|
||||
return gulp.src(['dist/js/app/**/*.js'])
|
||||
.pipe(uglify())
|
||||
.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');
|
||||
|
||||
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
|
||||
}))
|
||||
.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']);
|
||||
});
|
||||
|
||||
gulp.task('sync', function() {
|
||||
syncy(['.htaccess', './favicons/**', './img/**', './js/app/templates/**', 'index.html', './node_modules/**', 'robots.txt', './sounds/**', '!./sounds/sounds.json'], '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');
|
||||
});
|
||||
Reference in New Issue
Block a user