我正在使用gulp-esdoc來生成我的文檔(它已經工作)。如何從gulp-esdoc中觸發錯誤?
今天我添加了一個git pre-commit hook,它啓動了多個gulp任務,並在任何一個任務返回錯誤時阻止任何提交。
我爲大部分任務工作,但對於gulp-esdoc,我不知道如何返回這樣的錯誤以防止提交。
我配置我esdoc這樣:
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;
}
};
這裏的主要目標是返回一個錯誤,如果我的代碼文檔沒有100%覆蓋(代碼邏輯正在工作,如果在我的JS代碼中缺少評論,我會用「待辦事項」 。
最後,這裏是我的(簡化)git的鉤(在我gulpfile):
gulp.task('pre-commit', function() {
gulp.start('lint');
gulp.start('documentation');
});
的「絨毛」的部分作品,它防止提交如果我在我的代碼中的錯誤。但'文檔'代碼,使用gulp-esdoc,不會返回任何錯誤,所以提交完成:(我不知道該怎麼做才能返回錯誤並阻止git提交。要做到這一點,因爲我想要的初級開發人員加入我的團隊被迫描述他們的代碼:p!
感謝您的幫助