-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathgulpfile.js
53 lines (50 loc) · 1.27 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
var gulp = require('gulp');
var plumber = require('gulp-plumber');
var browserify = require('browserify');
var source = require('vinyl-source-stream');
var tsify = require('tsify');
var clean = require('gulp-clean')
var uglify = require('gulp-uglify');
var sourcemaps = require('gulp-sourcemaps');
var buffer = require('vinyl-buffer');
function build()
{
//TODO pump
//TODO typescript error report
return browserify({
basedir: '.',
debug: true,
entries: ['src/main.ts'],
standalone: "LiveDom",
// insertGlobalVars: {"LiveDom": function() { return {foo: 123}; }},
cache: {},
packageCache: {}
}).
plugin(tsify).
// transform('babelify', {
// presets: ['es2015'],
// extensions: ['.ts']
// }).
bundle().
on('error', function (error)
{
console.error(error.toString());
// this.end();
this.emit('end');
}).
pipe(plumber()).
pipe(source('livedom.js')).
pipe(buffer()).
pipe(sourcemaps.init({
loadMaps: true
})).
pipe(uglify()).
pipe(sourcemaps.write('./')).
pipe(gulp.dest('dist'));
}
function watch()
{
gulp.watch('src/**/*.ts', { ignoreInitial: false, delay: 1000 }, build);
}
exports.build = build;
exports.watch = watch