/
gulpfile.js
77 lines (64 loc) · 1.97 KB
/
gulpfile.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
'use strict';
var gulp = require('gulp');
var rename = require('gulp-rename');
var sass = require('gulp-sass');
var concat = require('gulp-concat');
var autoprefixer = require('gulp-autoprefixer');
var imagemin = require('gulp-imagemin');
var uglify = require('gulp-uglify');
var del = require('del');
const ASSETS_PATH = "./resources/assets/";
const PUBLIC_PATH = "./public/";
var paths = {
dev_styles: ASSETS_PATH + "sass/app.scss",
dev_scripts: [ASSETS_PATH + "js/modernizr.js", ASSETS_PATH + "js/app.js"],
pub_styles: PUBLIC_PATH + "css",
pub_scripts: PUBLIC_PATH + "js"
};
/**
* Cleans the build system by erasing public stylesheets and javascript files
*
* Make sure to run this command before deployment and build anew to make sure everything is running smoothly
*
*/
gulp.task('clean', function () {
return del([paths.pub_styles, paths.pub_scripts]);
});
/**
* Builds the application's stylesheet files
*
* Compiles sass files, enables autoprefixing, renames them, and places them in the public directory
*/
gulp.task('styles', function () {
gulp.src(paths.dev_styles)
.pipe(sass().on('error', sass.logError))
.pipe(autoprefixer('last 2 version'))
.pipe(rename('app.css'))
.pipe(gulp.dest(paths.pub_styles));
});
/**
* Builds the application's javascript files
*
*/
gulp.task('scripts', function () {
gulp.src(paths.dev_scripts)
.pipe(concat('app.js'))
.pipe(gulp.dest(paths.pub_scripts));
});
/**
* Build the application's image files
*
* Compresses, optimizes, and places images in the public directory
*/
gulp.task('images-opt', function () {
return gulp.src('resources/assets/images/*.*')
.pipe(imagemin({
progressive: true,
optimizationLevel: 5
}))
.pipe(gulp.dest(paths.public_dir + 'images'));
});
gulp.task('watch', function () {
gulp.watch(ASSETS_PATH + "sass/**/*.scss", ['styles']);
gulp.watch(ASSETS_PATH + "js/*.js", ['scripts']);
});