This repository has been archived by the owner on May 9, 2021. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 4
/
Copy pathgulpfile.js
100 lines (89 loc) · 3.09 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
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
const fs = require('fs');
const gulp = require('gulp');
const rollup = require('rollup');
const rollupUglify = require('rollup-plugin-uglify');
const rollupFilesize = require('rollup-plugin-filesize');
const gulpReplace = require('gulp-replace');
const gulpClean = require('gulp-clean');
const exec = require('child_process').exec;
const program = require('commander');
// Set base dir path;
const basedir = './dist/';
program
.option('-m, --m [value]')
.option('-w, --w [value]')
.parse(process.argv);
gulp.task('default', () => {
new Promise(function(resolve, reject) {
fs.readFile(basedir + program.m, 'utf8', (err, data) => {
gulp.src([basedir + program.w])
.pipe(gulpReplace('// [ REPLACEMENT_PLACEHOLDER ]', data))
// To fix for node context start
.pipe(gulpReplace(/require\("fs"\)/g, 'null'))
.pipe(gulpReplace(/require\("path"\)/g, 'null'))
// To fix for node context end
.pipe(gulp.dest('./dist/'))
.on('end', resolve);
});
}).then(() => {
return (async () => {
const bundle = await rollup.rollup({
entry: basedir + program.w,
plugins: [
rollupUglify(),
rollupFilesize()
]
});
await bundle.write({
format: 'umd',
moduleName: 'Eufa',
dest: './dist/eufa-umd.min.js',
sourceMap: true
});
})();
}).then(() => {
// Clear files
gulp.src([basedir + program.w], {read: false})
.pipe(gulpClean());
});
});
gulp.task('reset', () => {
return gulp
.src('test/node_modules/eufa', {read: false})
.pipe(gulpClean({force: true}));
});
gulp.task('test', ['reset'], () => {
return Promise.all([
new Promise(function(resolve, reject) {
gulp.src('package.json')
.pipe(gulp.dest('test/node_modules/eufa/'))
.on('end', resolve);
}),
new Promise(function(resolve, reject) {
gulp.src('dist/eufa-umd.min.js')
.pipe(gulp.dest('test/node_modules/eufa/dist'))
.on('end', resolve);
}),
new Promise(function(resolve, reject) {
gulp.src('dist/eufa-module.wasm')
.pipe(gulp.dest('test/static'))
.on('end', resolve);
}),
new Promise(function(resolve, reject) {
gulp.src('dist/eufa-asyn-worker.js')
.pipe(gulp.dest('test/static'))
.on('end', resolve);
}),
// Moving models.
new Promise(function(resolve, reject) {
gulp.src('src/dlib/model/mnist_network.mnist.dlib')
.pipe(gulp.dest('test/static'))
.on('end', resolve);
})
]).then(() => {
exec('cd test && npm run dev', function (err, stdout, stderr) {
console.log(stdout);
console.error(stderr);
}).stdout.pipe(process.stdout);
});
});