build-tools: switch grunt for gulp.
This commit is contained in:
parent
e41c7f776a
commit
f40b498ffb
5 changed files with 3482 additions and 102 deletions
65
gulpfile.js
Normal file
65
gulpfile.js
Normal file
|
|
@ -0,0 +1,65 @@
|
|||
|
||||
var gulp = require('gulp');
|
||||
var rename = require('gulp-rename');
|
||||
var less = require('gulp-less');
|
||||
var cssminify = require('gulp-csso');
|
||||
var concat = require('gulp-concat');
|
||||
var uglify = require('gulp-uglify');
|
||||
|
||||
// ----------------------------------
|
||||
// Config
|
||||
// ----------------------------------
|
||||
|
||||
var config = {
|
||||
lessPattern: 'app/assets/less/**/*.less',
|
||||
lessSrc: 'app/assets/less/application.less',
|
||||
cssOutputDir: 'public/css',
|
||||
jsSrc: [
|
||||
'node_modules/jquery/dist/jquery.js',
|
||||
// Bootstrap
|
||||
'app/assets/js/bootstrap/tooltip.js',
|
||||
'app/assets/js/bootstrap/affix.js',
|
||||
'app/assets/js/bootstrap/alert.js',
|
||||
'app/assets/js/bootstrap/button.js',
|
||||
'app/assets/js/bootstrap/carousel.js',
|
||||
'app/assets/js/bootstrap/collapse.js',
|
||||
'app/assets/js/bootstrap/dropdown.js',
|
||||
'app/assets/js/bootstrap/modal.js',
|
||||
'app/assets/js/bootstrap/popover.js',
|
||||
'app/assets/js/bootstrap/scrollspy.js',
|
||||
'app/assets/js/bootstrap/tab.js',
|
||||
'app/assets/js/bootstrap/transition.js',
|
||||
// Font Awesome
|
||||
'app/assets/js/font-awesome/fa-regular.js',
|
||||
'app/assets/js/font-awesome/fa-solid.js',
|
||||
'app/assets/js/font-awesome/fa-brands.js',
|
||||
'app/assets/js/font-awesome/fontawesome.js'
|
||||
],
|
||||
jsOutputDir: 'public/js'
|
||||
};
|
||||
|
||||
// ----------------------------------
|
||||
// Tasks
|
||||
// ----------------------------------
|
||||
|
||||
gulp.task('build-css', function () {
|
||||
return gulp.src(config.lessSrc)
|
||||
.pipe(less())
|
||||
.pipe(cssminify())
|
||||
.pipe(rename({ basename: 'application', suffix: '.min'}))
|
||||
.pipe(gulp.dest(config.cssOutputDir))
|
||||
});
|
||||
|
||||
gulp.task('build-js', function () {
|
||||
return gulp.src(config.jsSrc)
|
||||
.pipe(uglify())
|
||||
.pipe(concat('application.min.js'))
|
||||
.pipe(gulp.dest(config.jsOutputDir));
|
||||
});
|
||||
|
||||
gulp.task('watch-less', function() {
|
||||
gulp.watch(config.lessPattern, ['build-css']);
|
||||
});
|
||||
|
||||
gulp.task('build-assets', ['build-css', 'build-js']);
|
||||
gulp.task('default', ['watch-less']);
|
||||
Reference in a new issue