65 lines
2 KiB
JavaScript
65 lines
2 KiB
JavaScript
|
|
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']);
|