From cc63e98a8e3772132161ba135d588a4d063cf611 Mon Sep 17 00:00:00 2001 From: Jeff Williams Date: Tue, 4 Jul 2017 18:07:31 -0700 Subject: [PATCH] parse export extensions --- lib/jsdoc/src/astbuilder.js | 1 + lib/jsdoc/src/syntax.js | 2 ++ lib/jsdoc/src/walker.js | 8 ++++++++ 3 files changed, 11 insertions(+) diff --git a/lib/jsdoc/src/astbuilder.js b/lib/jsdoc/src/astbuilder.js index ab627b2d..f2d34426 100644 --- a/lib/jsdoc/src/astbuilder.js +++ b/lib/jsdoc/src/astbuilder.js @@ -13,6 +13,7 @@ var parserOptions = exports.parserOptions = { 'decorators2', 'doExpressions', 'estree', + 'exportExtensions', 'jsx', 'objectRestSpread' ] diff --git a/lib/jsdoc/src/syntax.js b/lib/jsdoc/src/syntax.js index c2908230..56a15839 100644 --- a/lib/jsdoc/src/syntax.js +++ b/lib/jsdoc/src/syntax.js @@ -31,7 +31,9 @@ exports.Syntax = { ExperimentalSpreadProperty: 'ExperimentalSpreadProperty', ExportAllDeclaration: 'ExportAllDeclaration', ExportDefaultDeclaration: 'ExportDefaultDeclaration', + ExportDefaultSpecifier: 'ExportDefaultSpecifier', ExportNamedDeclaration: 'ExportNamedDeclaration', + ExportNamespaceSpecifier: 'ExportNamespaceSpecifier', ExportSpecifier: 'ExportSpecifier', ExpressionStatement: 'ExpressionStatement', File: 'File', diff --git a/lib/jsdoc/src/walker.js b/lib/jsdoc/src/walker.js index 65642f01..b4c7b689 100644 --- a/lib/jsdoc/src/walker.js +++ b/lib/jsdoc/src/walker.js @@ -213,6 +213,10 @@ walkers[Syntax.ExportDefaultDeclaration] = function(node, parent, state, cb) { } }; +walkers[Syntax.ExportDefaultSpecifier] = function(node, parent, state, cb) { + cb(node.exported, node, state); +}; + walkers[Syntax.ExportNamedDeclaration] = function(node, parent, state, cb) { var i; var l; @@ -230,6 +234,10 @@ walkers[Syntax.ExportNamedDeclaration] = function(node, parent, state, cb) { } }; +walkers[Syntax.ExportNamespaceSpecifier] = function(node, parent, state, cb) { + cb(node.exported, node, state); +}; + walkers[Syntax.ExportSpecifier] = function(node, parent, state, cb) { if (node.exported) { cb(node.exported, node, state);