-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathgulpfile.js
More file actions
73 lines (72 loc) · 2.15 KB
/
gulpfile.js
File metadata and controls
73 lines (72 loc) · 2.15 KB
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
var gulp = require('gulp'),
merge = require('merge-stream'),
uglify = require('gulp-uglify'),
rename = require('gulp-rename'),
notify = require('gulp-notify'),
copy = require('gulp-copy'),
zip = require('gulp-zip'),
sync = require('gulp-config-sync'),
less = require('gulp-less'),
del = require('del'),
insert = require('gulp-insert')
;
var zipName = 'rally-ext.zip';
var syncOptions = {
src: 'manifest.json',
fields: [
'version',
'description'
],
space: ' ',
};
gulp.task('sync-package-files', function() {
return gulp.src(['bower.json', 'package.json'])
.pipe(sync(syncOptions))
.pipe(gulp.dest('.'))
})
gulp.task('clean',function(cb) {
del(['build',zipName], cb);
})
gulp.task('copy-non-minified', ['clean'], function() {
return gulp.src(['manifest.json','icons/*',"src/shared/*.js"])
.pipe(copy('build'));
})
gulp.task('build-injection', ['clean'], function() {
var js = gulp.src('src/injection/*.js')
.pipe(uglify())
.pipe(gulp.dest('build/src/injection'));
var css = gulp.src(['src/injection/*.css'])
.pipe(copy('build'));
return merge(js,css);
});
gulp.task('build-options', ['clean'], function() {
var js = gulp.src('src/options/*.js')
.pipe(uglify())
.pipe(gulp.dest('build/src/options'));
var html = gulp.src('src/options/options.html')
.pipe(copy('build'));
var merged = merge(js,html);
var css = gulp.src('src/options/*.less')
.pipe(less( { paths: ['.'] }))
.pipe(gulp.dest('build/src/options'));
merged.add(css);
return merged;
});
gulp.task('watch-less', function () {
gulp.watch('src/**/*.less', ['less-dev']);
});
gulp.task('less-dev', function () {
var header = "/* This file is build with less. Don't modify it, changes will be overriden.\n"
+ "Instead modify the matching .less file. */\n";
return gulp.src('src/**/*.less')
.pipe(less( { paths: ['.'] }))
.pipe(insert.prepend(header))
.pipe(gulp.dest('src'));
});
gulp.task('zip', ['build'], function() {
return gulp.src('build/**')
.pipe(zip(zipName))
.pipe(gulp.dest('.'));
})
gulp.task('build', ['build-injection','build-options','copy-non-minified']);
gulp.task('default',['build']);