mirror of
https://github.com/fazo96/ipfs-boards
synced 2025-03-12 21:48:39 +01:00
improved build system
This commit is contained in:
parent
69f6f0ee2e
commit
93e9b1a294
58
gulpfile.js
58
gulpfile.js
@ -7,6 +7,7 @@ var uglify = require('gulp-uglify')
|
|||||||
var clean = require('gulp-clean')
|
var clean = require('gulp-clean')
|
||||||
var exorcist = require('exorcist')
|
var exorcist = require('exorcist')
|
||||||
var connect = require('gulp-connect')
|
var connect = require('gulp-connect')
|
||||||
|
var watchify = require('watchify')
|
||||||
|
|
||||||
var config = {
|
var config = {
|
||||||
files: {
|
files: {
|
||||||
@ -27,35 +28,50 @@ gulp.task('css',function(){
|
|||||||
})
|
})
|
||||||
|
|
||||||
gulp.task('html',function(){
|
gulp.task('html',function(){
|
||||||
gulp.src(config.files.html)
|
return gulp.src(config.files.html)
|
||||||
.pipe(gulp.dest(config.dest))
|
.pipe(gulp.dest(config.dest))
|
||||||
.pipe(connect.reload())
|
.pipe(connect.reload())
|
||||||
})
|
})
|
||||||
|
|
||||||
gulp.task('js',function(){
|
gulp.task('js',function(){
|
||||||
browserify(config.files.mainJs, { debug: true })
|
return applyBrowserify(getBrowserify())
|
||||||
.transform('babelify', {
|
|
||||||
global: true,
|
|
||||||
presets: [ 'es2015', 'react' ],
|
|
||||||
ignore: /buffer|EventEmitter/
|
|
||||||
})
|
|
||||||
.transform('eslintify')
|
|
||||||
.transform({ global: true },'uglifyify')
|
|
||||||
.bundle()
|
|
||||||
.pipe(exorcist(__dirname+'/webapp/dist/app.js.map'))
|
|
||||||
.on('error', console.error.bind(console))
|
|
||||||
.pipe(source('app.js')) // do this or browserify won't work
|
|
||||||
.pipe(buffer()) // do this or uglify won't work
|
|
||||||
//.pipe(uglify())
|
|
||||||
.pipe(gulp.dest(config.dest))
|
|
||||||
.pipe(connect.reload())
|
|
||||||
})
|
})
|
||||||
|
|
||||||
|
gulp.task('js-watch',function(){
|
||||||
|
var b = watchify(getBrowserify())
|
||||||
|
b.on('update', function(){
|
||||||
|
applyBrowserify(b)
|
||||||
|
})
|
||||||
|
return b
|
||||||
|
})
|
||||||
|
|
||||||
|
function getBrowserify(){
|
||||||
|
return browserify(config.files.mainJs, {
|
||||||
|
cache: {},
|
||||||
|
packageCache: {},
|
||||||
|
fullPaths: true,
|
||||||
|
debug: true })
|
||||||
|
.transform('babelify', {
|
||||||
|
global: true,
|
||||||
|
presets: [ 'es2015', 'react' ],
|
||||||
|
ignore: /buffer|EventEmitter/
|
||||||
|
})
|
||||||
|
.transform('eslintify')
|
||||||
|
.transform({ global: true },'uglifyify')
|
||||||
|
}
|
||||||
|
|
||||||
|
function applyBrowserify(b){
|
||||||
|
return b.bundle()
|
||||||
|
.pipe(exorcist(__dirname+'/webapp/dist/app.js.map'))
|
||||||
|
.on('error', console.error.bind(console))
|
||||||
|
.pipe(source('app.js'))
|
||||||
|
.pipe(buffer())
|
||||||
|
.pipe(gulp.dest(config.dest))
|
||||||
|
.pipe(connect.reload())
|
||||||
|
}
|
||||||
|
|
||||||
gulp.task('clean',function(){
|
gulp.task('clean',function(){
|
||||||
gulp.src(config.dest, { read: false })
|
return gulp.src(config.dest, { read: false }).pipe(clean())
|
||||||
.pipe(clean())
|
|
||||||
})
|
})
|
||||||
|
|
||||||
gulp.task('server',function(){
|
gulp.task('server',function(){
|
||||||
@ -67,8 +83,8 @@ gulp.task('server',function(){
|
|||||||
})
|
})
|
||||||
|
|
||||||
gulp.task('watch',function(){
|
gulp.task('watch',function(){
|
||||||
gulp.watch(config.files.js,['js'])
|
var jsfiles = config.files.jsLibs.concat(config.files.mainJs)
|
||||||
gulp.watch(config.files.jsLibs,['js'])
|
gulp.watch(jsfiles,['js-watch'])
|
||||||
gulp.watch(config.files.html,['html'])
|
gulp.watch(config.files.html,['html'])
|
||||||
gulp.watch(config.files.css,['css'])
|
gulp.watch(config.files.css,['css'])
|
||||||
})
|
})
|
||||||
|
@ -43,6 +43,7 @@
|
|||||||
"uglifyify": "^3.0.1",
|
"uglifyify": "^3.0.1",
|
||||||
"vinyl-buffer": "^1.0.0",
|
"vinyl-buffer": "^1.0.0",
|
||||||
"vinyl-source-stream": "^1.1.0",
|
"vinyl-source-stream": "^1.1.0",
|
||||||
|
"watchify": "^3.6.0",
|
||||||
"wolfy87-eventemitter": "^4.3.0"
|
"wolfy87-eventemitter": "^4.3.0"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user