Skip to content

Commit e585c75

Browse files
loicbourgoisetimberg
authored andcommitted
Log gulp error to Chart.js (#5143)
* Log errors and skip for buildTask * Write gulp error to Chart.js + Add intentional error to core to check if travis fails * Remove unused require * Remove error + Proper require fs * Fix newline * Refactor * Put back browser errors * Use options * Fix intentional error * Use yargs + Refactor * remove space * Fefactor * Use booleans
1 parent 37ec838 commit e585c75

File tree

1 file changed

+29
-1
lines changed

1 file changed

+29
-1
lines changed

gulpfile.js

Lines changed: 29 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,10 +17,17 @@ var browserify = require('browserify');
1717
var source = require('vinyl-source-stream');
1818
var merge = require('merge-stream');
1919
var collapse = require('bundle-collapser/plugin');
20-
var argv = require('yargs').argv
20+
var yargs = require('yargs');
2121
var path = require('path');
22+
var fs = require('fs');
2223
var package = require('./package.json');
2324

25+
var argv = yargs
26+
.option('force-output', {default: false})
27+
.option('silent-errors', {default: false})
28+
.option('verbose', {default: false})
29+
.argv
30+
2431
var srcDir = './src/';
2532
var outDir = './dist/';
2633

@@ -34,6 +41,10 @@ var header = "/*!\n" +
3441
" * https://github.com/chartjs/Chart.js/blob/master/LICENSE.md\n" +
3542
" */\n";
3643

44+
if (argv.verbose) {
45+
util.log("Gulp running with options: " + JSON.stringify(argv, null, 2));
46+
}
47+
3748
gulp.task('bower', bowerTask);
3849
gulp.task('build', buildTask);
3950
gulp.task('package', packageTask);
@@ -79,9 +90,25 @@ function bowerTask() {
7990

8091
function buildTask() {
8192

93+
var errorHandler = function (err) {
94+
if(argv.forceOutput) {
95+
var browserError = 'console.error("Gulp: ' + err.toString() + '")';
96+
['Chart', 'Chart.min', 'Chart.bundle', 'Chart.bundle.min'].forEach(function(fileName) {
97+
fs.writeFileSync(outDir+fileName+'.js', browserError);
98+
});
99+
}
100+
if(argv.silentErrors) {
101+
util.log(util.colors.red('[Error]'), err.toString());
102+
this.emit('end');
103+
} else {
104+
throw err;
105+
}
106+
}
107+
82108
var bundled = browserify('./src/chart.js', { standalone: 'Chart' })
83109
.plugin(collapse)
84110
.bundle()
111+
.on('error', errorHandler)
85112
.pipe(source('Chart.bundle.js'))
86113
.pipe(insert.prepend(header))
87114
.pipe(streamify(replace('{{ version }}', package.version)))
@@ -96,6 +123,7 @@ function buildTask() {
96123
.ignore('moment')
97124
.plugin(collapse)
98125
.bundle()
126+
.on('error', errorHandler)
99127
.pipe(source('Chart.js'))
100128
.pipe(insert.prepend(header))
101129
.pipe(streamify(replace('{{ version }}', package.version)))

0 commit comments

Comments
 (0)