diff --git a/gulpfile.js b/gulpfile.js index 700d6fc..eeeefcf 100644 --- a/gulpfile.js +++ b/gulpfile.js @@ -11,31 +11,28 @@ var uglify = require('gulp-uglify'); // ---------------------------------- var config = { - sassPattern: 'app/assets/sass/**/*.scss', - sassSrc: 'app/assets/sass/application.scss', - 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' + sass: { + pattern: 'app/assets/sass/**/*.scss', + src: 'app/assets/sass/application.scss', + opt: { + includePaths: [ 'node_modules/bootstrap-sass/assets/stylesheets' ] + }, + outputDir: 'public/css', + outputName: 'application' + }, + js: { + src: [ + 'node_modules/jquery/dist/jquery.js', + // Bootstrap + 'node_modules/bootstrap-sass/assets/javascripts/bootstrap.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' + ], + outputDir: 'public/js' + } }; // ---------------------------------- @@ -43,22 +40,22 @@ var config = { // ---------------------------------- gulp.task('build-css', function () { - return gulp.src(config.sassSrc) - .pipe(sass()) + return gulp.src(config.sass.src) + .pipe(sass(config.sass.opt)) .pipe(cssminify()) - .pipe(rename({ basename: 'application', suffix: '.min'})) - .pipe(gulp.dest(config.cssOutputDir)) + .pipe(rename({ basename: config.sass.outputName, suffix: '.min'})) + .pipe(gulp.dest(config.sass.outputDir)) }); gulp.task('watch-sass', function() { - gulp.watch(config.sassPattern, ['build-css']); + gulp.watch(config.sass.pattern, ['build-css']); }); gulp.task('build-js', function () { - return gulp.src(config.jsSrc) + return gulp.src(config.js.src) .pipe(uglify()) .pipe(concat('application.min.js')) - .pipe(gulp.dest(config.jsOutputDir)); + .pipe(gulp.dest(config.js.outputDir)); }); gulp.task('build-assets', ['build-css', 'build-js']);