-
Notifications
You must be signed in to change notification settings - Fork 2
/
deploy.js
58 lines (50 loc) · 1.37 KB
/
deploy.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
var gulp = require('gulp');
var glob = require('glob');
var fse = require('fs-extra');
var fs = require('fs');
var runSequence = require('run-sequence');
var _dirs = gulp.pkg.directories;
var dirs = gulp.pkg.demo.directories;
/**
* Copy all files from dist to the deploy directory
*/
gulp.task('demo-deploy-copy', function() {
fse.copySync(dirs.build,dirs.deploy);
});
gulp.task('demo-deploy-filter', function(done) {
var patterns = [
dirs.deploy+"/app/**/*.js",
dirs.deploy+"/app/**/*.map"
];
removeAll(patterns,{
ignore:[dirs.deploy+"/app/aurelia.js",dirs.deploy+"/app/app-bundle.js"]
},done);
});
/**
* Build all files for production then copy to the deploy directory
*/
gulp.task('demo-deploy', function(done) {
return runSequence('demo-build-prod','demo-deploy-copy','demo-unbundle',done);
});
function removeAll(patterns,options,done){
var promises = patterns.map(function(pattern){
return new Promise(function(resolve,reject){
return glob(pattern, options, function (er, files){
if(er) {
console.error(er);
reject(er)
}
for(var i2 = 0, l2 = files.length; i2 < l2; i2++){
var file = files[i2];
if(fs.existsSync(file)) {
fs.unlinkSync(file);
}
}
resolve();
});
})
});
Promise.all(promises).then(function(){
done();
});
}