-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathgulpfile.js
More file actions
103 lines (93 loc) · 3 KB
/
gulpfile.js
File metadata and controls
103 lines (93 loc) · 3 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
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
var gulp = require('gulp');
// var exit = require('gulp-exit');
var chalk = require('chalk');
var bower;
// var jshint;
// var mocha;
var sass;
var compileIndex;
var zip;
// var concat;
gulp.task('bower-install', function () {
if (!bower) {
bower = require('gulp-bower');
}
return bower();
});
// gulp.task('lint', function () {
// if (!jshint) {
// jshint = require('gulp-jshint');
// }
// return gulp.src('*.js')
// .pipe(jshint())
// .pipe(jshint.reporter('default'));
// });
// gulp.task('test', function () {
// if (!mocha) {
// mocha = require('gulp-mocha');
// }
// return gulp.src(['modules/test/*',
// 'modules/pages/resources/scripts/shared/test/*',
// 'modules/pages/resources/scripts/landing/test/*',
// 'modules/pages/resources/scripts/locations/test/*',
// 'modules/pages/resources/scripts/menu/test/*'
// ], {read: false})
// .pipe(mocha({
// growl: true,
// useColors: true
// }))
// .pipe(exit());
// });
gulp.task('sass', function () {
if (!sass) {
sass = require('gulp-sass');
}
return gulp.src('style.scss')
.pipe(sass().on('error', function (err) {
var msg = '';
var lines = err.messageFormatted.split('\n');
for (var i = 0; i < lines.length; i++) {
if (i > 0) {
msg += chalk.red(lines[i]);
} else {
msg += lines[i];
}
if (i + 1 < lines.length) {
msg += '\n';
}
}
console.log(msg);
}))
.pipe(gulp.dest('build/intermediate'));
});
gulp.task('copy-resources', function () {
return gulp.src('resources/**/*')
.pipe(gulp.dest('build/final'));
});
gulp.task('compile-index', function () {
if (!compileIndex) {
compileIndex = require('./modules/compile-index');
}
return gulp.src(['layout.html', 'build/intermediate/style.css', 'script.js'])
.pipe(compileIndex('index.js'))
.pipe(gulp.dest('build/final'));
});
gulp.task('zip', function () {
if (!zip) {
zip = require('gulp-zip');
}
return gulp.src('build/final/**/*')
.pipe(zip('forecast.widget.zip'))
.pipe(gulp.dest('build'));
});
gulp.task('install-widget', function () {
return gulp.src('build/final/**/*')
.pipe(gulp.dest('/Users/Josh/Library/Application Support/Übersicht/widgets/forecast.widget'));
});
gulp.task('watch', function () {
gulp.watch('style.scss', ['sass', 'compile-index', 'install-widget']);
gulp.watch('script.js', ['compile-index', 'install-widget']);
gulp.watch('index.html', ['compile-index', 'install-widget']);
});
gulp.task('default', ['watch', 'sass', 'copy-resources', 'compile-index', 'install-widget']);
gulp.task('build', ['sass', 'copy-resources', 'compile-index', 'zip']);