Skip to content

Commit e71cea1

Browse files
committed
fix: update lint rule to handle main JSDoc module comments with module tag
--- type: pre_commit_static_analysis_report description: Results of running static analysis checks when committing changes. report: - task: lint_filenames status: passed - task: lint_editorconfig status: passed - task: lint_markdown status: na - task: lint_package_json status: na - task: lint_repl_help status: na - task: lint_javascript_src status: passed - task: lint_javascript_cli status: na - task: lint_javascript_examples status: na - task: lint_javascript_tests status: na - task: lint_javascript_benchmarks status: na - task: lint_python status: na - task: lint_r status: na - task: lint_c_src status: na - task: lint_c_examples status: na - task: lint_c_benchmarks status: na - task: lint_c_tests_fixtures status: na - task: lint_shell status: na - task: lint_typescript_declarations status: na - task: lint_typescript_tests status: na - task: lint_license_headers status: passed ---
1 parent 126b871 commit e71cea1

File tree

1 file changed

+10
-1
lines changed
  • lib/node_modules/@stdlib/_tools/eslint/rules/jsdoc-doctest/lib

1 file changed

+10
-1
lines changed

lib/node_modules/@stdlib/_tools/eslint/rules/jsdoc-doctest/lib/main.js

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,7 @@ var windowShim = require( './window.js' );
4848
var debug = logger( 'jsdoc-doctest' );
4949
var RE_ANNOTATION = /(?:\n|^)(?:var|let|const)? ?([a-zA-Z0-9._]+) ?=?[^;]*;\n\/\/ ?(returns|([A-Za-z][A-Za-z_0-9]*)? ?=>|throws) {0,1}([\s\S]*?)(\n|$)/g;
5050
var RE_CONSOLE = /console\.(?:dir|error|log)/;
51+
var RE_MODULE_TAG = /\* @module[^\n]*\n/g;
5152
var NODE_SHEBANG = /#!\/usr\/bin\/env node/;
5253
var DOPTS = {
5354
'sloppy': true,
@@ -220,6 +221,7 @@ function main( context ) {
220221
* @param {ASTNode} node - node to examine
221222
*/
222223
function validate( node ) {
224+
var wrapped;
223225
var jsdoc;
224226
var ast;
225227

@@ -229,7 +231,14 @@ function main( context ) {
229231
}
230232
jsdoc = findJSDoc( source, node );
231233
if ( isObject( jsdoc ) ) {
232-
ast = parseJSDoc( jsdoc.value, DOPTS );
234+
if ( contains( jsdoc.value, '@module' ) ) {
235+
// Wrap with /** */ and strip @module tag for proper parsing with `doctrine`:
236+
wrapped = '/**' + jsdoc.value + '*/';
237+
wrapped = replace( wrapped, RE_MODULE_TAG, '' );
238+
ast = parseJSDoc( wrapped, DOPTS );
239+
} else {
240+
ast = parseJSDoc( jsdoc.value, DOPTS );
241+
}
233242
processTags( jsdoc, ast.tags );
234243
}
235244
}

0 commit comments

Comments
 (0)