-
Notifications
You must be signed in to change notification settings - Fork 1
/
index.js
55 lines (44 loc) · 1.66 KB
/
index.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
var gulp = require('gulp')
, del = require('del')
, zip = require('gulp-zip')
, minimist = require('minimist')
, path = require('path')
, jeditor = require("gulp-json-editor")
, concat = require('gulp-concat');
var knownOptions = {
string: 'packageName',
string: 'packagePath',
default: {packageName: "Package.zip", packagePath: path.join(__dirname, '_package')}
}
var options = minimist(process.argv.slice(3), knownOptions);
var configAmbient = function(json) {
if (!!options.stg) { return json.stg; }
if (!!options.prod) { return json.prod; }
if (!!options.local) { return json.local; }
return json.dev;
}
gulp.task('ambient', function() {
return gulp.src('app.ambients.json')
.pipe(jeditor(configAmbient))
.pipe(concat('app.config.json'))
.pipe(gulp.dest('./'));
});
gulp.task('clean', function(cb) {
return del(['build'], cb);
});
gulp.task('resources', function() {
return gulp.src(['public/dist/**/*']).pipe(gulp.dest('build/dist'));
});
gulp.task('services', function() {
return gulp.src(['services/**/*','!**/*.ts', '!**/*.ts~']).pipe(gulp.dest('build/services'));
});
gulp.task('server', ['services','resources'], function() {
return gulp.src(['server.js','package.json','Web.config','app.config.json']).pipe(gulp.dest('build'));
});
gulp.task('zip', ['server'], function() {
return gulp.src(['build/**/*','!build/**/*.map',,'!build/**/*.gz']).pipe(zip(options.packageName)).pipe(gulp.dest(options.packagePath));
});
gulp.task('zip:dev', ['server'], function() {
return gulp.src(['build/**/*']).pipe(zip(options.packageName)).pipe(gulp.dest(options.packagePath));
});
module.exports = gulp;