-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathgulpfile.js
More file actions
69 lines (61 loc) · 1.99 KB
/
gulpfile.js
File metadata and controls
69 lines (61 loc) · 1.99 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
// DONT TOUCH
// DONT TOUCH // DONT TOUCH // DONT TOUCH
// DONT TOUCH // DONT TOUCH // DONT TOUCH
// DONT TOUCH // DONT TOUCH // DONT TOUCH
// DONT TOUCH // DONT TOUCH // DONT TOUCH
// DONT TOUCH // DONT TOUCH // DONT TOUCH
// DONT TOUCH
// DONT TOUCH // DONT TOUCH // DONT TOUCH
// Seriously don't touch this file you'll lose a lot of points
/* eslint-disable */
const argv = require('minimist')(process.argv.slice(2))
const gulp = require('gulp')
const sass = require('gulp-sass')
const uglify = require('gulp-uglify')
const rename = require('gulp-rename')
const streamify = require('gulp-streamify')
const source = require('vinyl-source-stream')
const budo = require('budo')
const browserify = require('browserify')
const resetCSS = require('node-reset-scss').includePath
const babelify = require('babelify').configure({
presets: ['es2015']
})
const entry = './src/index.js'
const outfile = 'bundle.js'
//our CSS pre-processor
gulp.task('sass', function() {
gulp.src('./src/sass/main.scss')
.pipe(sass({
outputStyle: argv.production ? 'compressed' : undefined,
includePaths: [ resetCSS ]
}).on('error', sass.logError))
.pipe(gulp.dest('./app'))
})
//the development task
gulp.task('watch', ['sass'], function(cb) {
//watch SASS
gulp.watch('src/sass/*.scss', ['sass'])
//dev server
budo(entry, {
serve: 'bundle.js', // end point for our <script> tag
stream: process.stdout, // pretty-print requests
live: true, // live reload & CSS injection
dir: 'app', // directory to serve
open: argv.open, // whether to open the browser
browserify: {
transform: babelify //browserify transforms
}
}).on('exit', cb)
})
//the distribution bundle task
gulp.task('bundle', ['sass'], function() {
var bundler = browserify(entry, { transform: babelify })
.bundle()
return bundler
.pipe(source('index.js'))
.pipe(streamify(uglify()))
.pipe(rename(outfile))
.pipe(gulp.dest('./app'))
})
/* eslint-enable */