gulpTasks-typedoc.js 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. // Import Dependencies.
  2. var gulp = require("gulp");
  3. var typedoc = require("gulp-typedoc");
  4. // Import Tools.
  5. var validateTypedoc = require("../helpers/gulp-validateTypedoc");
  6. // Read the full config.
  7. var config = require("../../Config/config.json");
  8. /**
  9. * Generate the TypeDoc JSON output in order to create code metadata.
  10. */
  11. gulp.task("typedoc-generate", function() {
  12. return gulp
  13. .src(config.build.typedocGenerationFiles)
  14. .pipe(typedoc({
  15. // TypeScript options (see typescript docs)
  16. mode: "modules",
  17. module: "commonjs",
  18. target: "es5",
  19. includeDeclarations: true,
  20. // Output options (see typedoc docs)
  21. json: config.build.typedocJSON,
  22. // TypeDoc options (see typedoc docs)
  23. ignoreCompilerErrors: true,
  24. readme: "none",
  25. excludeExternals: true,
  26. excludePrivate: true,
  27. excludeProtected: true,
  28. entryPoint: config.build.typedocEntryPoint
  29. }));
  30. });
  31. /**
  32. * Validate the TypeDoc JSON output against the current baselin to ensure our code is correctly documented.
  33. * (in the newly introduced areas)
  34. */
  35. gulp.task("typedoc-validate", function() {
  36. return gulp.src(config.build.typedocJSON)
  37. .pipe(validateTypedoc(config.build.typedocValidationBaseline, "BABYLON", true, false));
  38. });
  39. /**
  40. * Generate the validation reference to ensure our code is correctly documented.
  41. */
  42. gulp.task("typedoc-generateValidationBaseline", function() {
  43. return gulp.src(config.build.typedocJSON)
  44. .pipe(validateTypedoc(config.build.typedocValidationBaseline, "BABYLON", true, true));
  45. });
  46. /**
  47. * Validate the code comments and style case convention through typedoc and
  48. * generate the new baseline.
  49. */
  50. gulp.task("typedoc-all", gulp.series("typedoc-generate", "typedoc-validate", "typedoc-generateValidationBaseline"));