Javascript 如何从gulp esdoc内部触发错误?
我正在使用gulp esdoc生成我的文档(它已经运行了) 今天我添加了一个git预提交钩子,它可以启动多个gulp任务,并在其中一个任务返回错误时防止任何提交 我可以处理大多数任务,但对于gulp esdoc,我不知道如何返回这样的错误以防止提交 我通过以下方式配置了我的esdoc:Javascript 如何从gulp esdoc内部触发错误?,javascript,git,documentation,gulp,Javascript,Git,Documentation,Gulp,我正在使用gulp esdoc生成我的文档(它已经运行了) 今天我添加了一个git预提交钩子,它可以启动多个gulp任务,并在其中一个任务返回错误时防止任何提交 我可以处理大多数任务,但对于gulp esdoc,我不知道如何返回这样的错误以防止提交 我通过以下方式配置了我的esdoc: gulp.task('documentation', function() { gulp.src("./client/") .pipe(esdoc({ destination: "./do
gulp.task('documentation', function() {
gulp.src("./client/")
.pipe(esdoc({
destination: "./docs",
"title": "SOMETHING",
index: "./README.md",
"plugins": [{
"name": "./README/docplugins/on-complete.js"
}]
}));
});
如您所见,我正在使用一个esdoc插件在生成文档后编写一些代码,以下是该插件的代码:
var colors = require('colors'),
gutil = require('gulp-util');
exports.onComplete = function(ev) {
var output = require('../../docs/coverage.json');
var expectedCoverage = 100; // todo : get from option instead
var percentCovered = (output.actualCount / output.expectCount) * 100;
if (percentCovered < expectedCoverage) {
console.log('Code coverage is not sufficient (expected ' + expectedCoverage + '%, received only ' + percentCovered + '%) !!! Write some documentation or get out !'.red);
// return false; // todo
} else {
console.log('Code coverage is complete, well done :)'.green);
// return true;
}
};
“lint”部分起作用,如果代码中有错误,它将阻止提交。但是使用gulp-esdoc的“文档”代码没有返回任何错误,因此提交完成了:(我不知道如何返回错误并防止git提交
我之所以需要这样做,是因为我希望加入我团队的初级开发人员被迫记录他们的代码:p
感谢您的帮助!一个选项是抛出:
这将导致gulp进程以非零的退出代码退出。但是,它将在STDERR
上留下一个相当难看的堆栈跟踪(尤其是因为gulp esdoc
从插件中检索错误)
然后,另一个选项是使用特定的退出代码显式退出流程:
process.exit(1);
Node.js中的对象是一个全局对象,可以从任何地方访问,而无需require()
it
throw new gutil.PluginError('esdoc', 'Something broke');
process.exit(1);