forked from angular/angular-seed
-
Notifications
You must be signed in to change notification settings - Fork 5
/
Copy pathgulpfile.js
114 lines (95 loc) · 2.68 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
101
102
103
104
105
106
107
108
109
110
111
112
113
114
var gulp = require('gulp')
, mainBowerFiles = require('main-bower-files')
, inject = require('gulp-inject')
, source = require('vinyl-source-stream')
, debug = require('gulp-debug')
, series = require('stream-series')
, karma = require('karma')
, protractor = require('gulp-angular-protractor')
, less = require('gulp-less')
, path = require('path')
, jsonfile = require('jsonfile')
, jshint = require('gulp-jshint')
;
var production = process.env.NODE_ENV === 'production';
var package = jsonfile.readFileSync('./package.json');
var bowerrc = jsonfile.readFileSync('./.bowerrc');
console.log(package.name);
console.log(bowerrc);
gulp.task("protractor", function () {
gulp.src(['./app/tests/*.js'])
.pipe(protractor({
'configFile': 'test/protractor.conf.js',
'autoStartStopServer': true,
'debug': true
}))
.on('error', function (e) {
throw e;
})
});
gulp.task('karma', function (done) {
karma.server.start({
configFile: __dirname + '/test/karma.conf.js',
singleRun: true
}, function (code) {
process.exit(code);
});
});
gulp.task('less', function () {
return gulp.src('./less/**/*.less')
.pipe(less({paths: [path.join(__dirname, 'less', 'includes')]}))
.pipe(gulp.dest('./app/css'));
});
function extracted2() {
var lessRegEx = /^.+(?:(?!mock).)*$/;
var asdf = mainBowerFiles({
filter: function (e) {
return e.indexOf('mock') === -1;
}
, debugging: true
, overrides: {}
});
return asdf;
}
gulp.task("inject", function () {
var asdf = extracted2();
var bowerFiles = gulp.src(asdf, {read: false});
var appFilesGlobs = ['./app/js/**/*.js'
, './app/features/**/*.js'
, './app/css/*.css'
, '!**/*_test.js'
];
var appFiles = gulp.src(appFilesGlobs, {read: false});
return gulp.src('./app/index.html')
.pipe(inject(series(bowerFiles, appFiles), {relative: true}))
.pipe(gulp.dest('./app'));
});
gulp.task('assemble',
//['less', 'inject'],
function () {
gulp.src(['./app/index.html'
, './app/images/**'
, './app/css/**'
, './app/js/**'
, './app/partials/**'
, './app/features/**/*.js'
, '!./app/features/**/*_test.js'
, './app/features/**/*.html'
], {base: './app'})
.pipe(gulp.dest('./dist'));
gulp.src(extracted2(), {base: './app'})
.pipe(gulp.dest('./dist'));
});
gulp.task('lint', function () {
gulp.src(['./app/js/**/*.js', './app/features/**/*.js'])
.pipe(debug())
.pipe(jshint())
// You can look into pretty reporters as well, but that's another story
.pipe(jshint.reporter('default'))
//.pipe(jshint.reporter('fail'))
;
});
gulp.task('default', [
'assemble'
]
);