Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
grunt.registerMultiTask('apidoc', 'Create REST-API-Documentation with apidoc', function() {
var config = this.data;
var options = config.options || {};
grunt.log.subhead('grunt-apidoc');
// options
options.src = config.src || config.i || options.i;
options.dest = config.dest || config.o || options.o;
options.template = config.template || config.t || options.t;
// execute
var result = apidoc.createDoc(options);
if (result === false) {
grunt.log.error('grunt-apidoc error: Execution terminated (set \'options: { debug: true }\' in Gruntfile.js for details.');
return false;
}
else {
grunt.log.ok('grunt-apidoc finished.');
return true;
}
});
// us with a directory and he wants to include the entire directory.
f.walkSync(base, (dirPath, dirs, files) => {
// Iterate over every file and if it's not in the included list, it should be
// excluded.
files.forEach(file => {
const relPath = path.relative(base, path.join(dirPath, file));
if (include.indexOf(relPath) === -1) {
exclude.push(relPath);
}
});
});
}
// Generate the documentation
const isGenerated = apidoc.createDoc({
src: base,
dest: tempPath,
includeFilters: include.length > 0 ? include : undefined,
excludeFilters: exclude.length > 0 ? exclude : undefined,
// Set the options provided by the devleoper
template: options.template,
debug: options.debug === true,
silent: options.silent === true,
markdown: options.markdown !== false,
marked: options.marked,
config: options.config
});
if (!isGenerated) {
// Throw an error if it failed to generate
export default function (src, opt) {
const options = {
src: src || 'lib/',
dest: opt.dest || 'docs/',
includeFilters: opt.includeFilters || ['.*\\.js$'],
silent: opt.silent || true,
};
const created = apidoc.createDoc(options);
if (created) {
return;
}
throw new Error(`Docs Error! ${opt.src} does not exist.`);
}
var _opt = objectAssign({
dest: opt.dest || opt.o || 'doc/',
config: opt.config || opt.c || opt.src,
src: opt.src || opt.i
},
opt);
if(_opt.template || _opt.t){
_opt.template = _opt.template || _opt.t;
}
if(_opt.src){
var chunk = apidoc.createDoc(_opt);
if(typeof chunk === 'object') {
log(pname+' '+ colors.green('Apidoc created... [ '+ colors.cyan(JSON.parse(chunk.project).name) +' ] '));
done();
} else if(chunk === true){
log(pname+' '+colors.green('Apidoc created... '));
done();
}else{
done(new PluginError(pname, 'Execution terminated (set \" debug: true \" in gulpfile.js for details. '))
}
}else{
done(new PluginError(pname, 'Folder specified'));
}
}