浏览代码

Add jsodc config with plugin for jsdoc bug with `export default class` documentation.

Maciej Gołaszewski 9 年之前
父节点
当前提交
7d395eb11b
共有 3 个文件被更改,包括 26 次插入3 次删除
  1. 2 2
      conf.json
  2. 24 0
      dev/jsdoc/plugins/export-es6-class.js
  3. 0 1
      package.json

+ 2 - 2
conf.json

@@ -1,13 +1,13 @@
 {
 	"opts": {
-		"template": "./node_modules/jaguarjs-jsdoc",
 		"encoding": "utf8",
 		"destination": "out/jsdoc",
 		"recurse": true,
 		"access": "all"
 	},
 	"plugins": [
-		"plugins/markdown"
+		"plugins/markdown",
+		"dev/jsdoc/plugins/export-es6-class"
 	],
 	"source": {
 		"include": [

+ 24 - 0
dev/jsdoc/plugins/export-es6-class.js

@@ -0,0 +1,24 @@
+/* jshint node: true, esnext: true */
+
+module.exports = {
+	handlers: {
+		/**
+		 * @see http://usejsdoc.org/about-plugins.html#event-beforeparse
+		 * @see https://github.com/jsdoc3/jsdoc/issues/1137
+		 * @param evt
+		 */
+		beforeParse: function( evt ) {
+			'use strict';
+
+			let className;
+			let foundClassName = /export default class ([A-Za-z]+)/.exec( evt.source );
+
+			if ( foundClassName ) {
+				className = foundClassName[ 1 ];
+				evt.source =
+					evt.source.replace( 'export default class', 'class' ) +
+					'\nexport default ' + className + ';\n';
+			}
+		}
+	}
+};

+ 0 - 1
package.json

@@ -40,7 +40,6 @@
     "guppy-pre-commit": "^0.3.0",
     "inquirer": "^0.11.0",
     "istanbul": "^0.4.1",
-    "jaguarjs-jsdoc": "0.0.1",
     "jsdoc": "^3.4.0",
     "jshint": "^2.9.1",
     "jshint-reporter-jscs": "^0.1.0",