-
Notifications
You must be signed in to change notification settings - Fork 6
Expand file tree
/
Copy pathgulpfile.js
More file actions
70 lines (61 loc) · 1.92 KB
/
gulpfile.js
File metadata and controls
70 lines (61 loc) · 1.92 KB
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
'use strict';
var gulp = require('gulp');
var gutil = require('gulp-util');
var browserify = require('gulp-browserify');
var uglify = require('gulp-uglify');
var gulpif = require('gulp-if');
var sass = require('gulp-sass');
var server = require('./server');
var bourbon = require('node-bourbon').includePaths;
var watch = require('gulp-watch');
gutil.log('Environment', gutil.colors.blue(gulp.env.production ? 'Production' : 'Development'));
gulp.task('scripts', function() {
return gulp.src('./src/js/app.js', {read: false})
.pipe(browserify({
insertGlobals : false,
transform: ['reactify'],
extensions: ['.jsx'],
debug: !gulp.env.production
}))
.pipe(gulpif(gulp.env.production, uglify({
mangle: {
except: ['require', 'export', '$super']
}
})))
.pipe(gulp.dest('./dist/js'));
});
gulp.task('styles', function () {
return gulp.src('./src/scss/main.scss')
.pipe(sass({
outputStyle: gulp.env.production ? 'compressed' : 'expanded',
includePaths: ['./src/scss'].concat(bourbon),
errLogToConsole: gulp.env.watch
}))
.pipe(gulp.dest('./dist/css'));
});
gulp.task('watch-sass', function () {
return gulp.src('./src/scss/**/*.scss')
.pipe(watch())
.pipe(sass({
outputStyle: gulp.env.production ? 'compressed' : 'expanded',
includePaths: ['./src/scss'].concat(bourbon),
errLogToConsole: gulp.env.watch
}))
.pipe(gulp.dest('./dist/css'));
});
gulp.task('default', function() {
gulp.env.watch = true;
var servers = server(8080, 35729);
// Watch files and run tasks if they change
gulp.watch('./src/js/**', function(evt) {
gulp.run('scripts', function () {
servers.lr.changed({body: {files: [evt.path]}});
});
});
gulp.watch('src/scss/**', function(evt) {
gulp.run('styles', function () {
servers.lr.changed({body: {files: [evt.path]}});
});
});
});
gulp.task('build', ['styles', 'scripts']);