tasks.js 1.0 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. /**
  2. * @license Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved.
  3. * For licensing, see LICENSE.md.
  4. */
  5. 'use strict';
  6. const gulp = require( 'gulp' );
  7. const jsdoc = require( 'gulp-jsdoc3' );
  8. const path = require( 'path' );
  9. module.exports = ( config ) => {
  10. gulp.task( 'docs', [ 'build-esnext' ], function( cb ) {
  11. const esnextBuildPath = path.join( config.ROOT_DIR, config.BUILD_DIR, 'esnext' );
  12. const jsDocConfig = {
  13. opts: {
  14. encoding: 'utf8',
  15. destination: path.join( config.BUILD_DIR, 'docs' ),
  16. recurse: true,
  17. access: 'all'
  18. },
  19. plugins: [
  20. 'node_modules/jsdoc/plugins/markdown',
  21. 'dev/tasks/docs/plugins/comment-fixer'
  22. ]
  23. };
  24. const patterns = [
  25. 'README.md',
  26. // Add all js and jsdoc files, including tests (which can contain utils).
  27. path.join( esnextBuildPath, '**', '*.@(js|jsdoc)' ),
  28. // Filter out libs.
  29. '!' + path.join( esnextBuildPath, 'ckeditor5', '*', 'lib', '**', '*' )
  30. ];
  31. gulp.src( patterns, { read: false } )
  32. .pipe( jsdoc( jsDocConfig, cb ) );
  33. } );
  34. };