File tree Expand file tree Collapse file tree 3 files changed +28
-5
lines changed Expand file tree Collapse file tree 3 files changed +28
-5
lines changed Original file line number Diff line number Diff line change @@ -243,7 +243,7 @@ function quux() {
243243/**
244244 * @typedef {string} module:abc /def
245245 */
246- // Settings: {"jsdoc":{"mode":"permissive "}}
246+ // Settings: {"jsdoc":{"mode":"typescript "}}
247247// Message: Syntax error in name: module:abc/def
248248
249249/**
@@ -983,5 +983,10 @@ class Test {
983983 */
984984 method() { return this ; }
985985}
986+
987+ /**
988+ * @typedef {Object} module:src /core/Player~mediaFormat
989+ */
990+ // Settings: {"jsdoc":{"mode":"jsdoc"}}
986991````
987992
Original file line number Diff line number Diff line change @@ -101,12 +101,12 @@ const tryParsePathIgnoreError = (path, mode) => {
101101
102102/**
103103 * @param {string } name
104- * @param {import('jsdoc-type-pratt-parser').ParseMode|"permissive" } mode
104+ * @param {import('jsdoc-type-pratt-parser').ParseMode } mode
105105 * @returns {boolean }
106106 */
107107const tryParseNameIgnoreError = ( name , mode ) => {
108108 try {
109- parseName ( name , mode === 'permissive' ? 'jsdoc' : mode ) ;
109+ parseName ( name , mode ) ;
110110
111111 return true ;
112112 } catch {
@@ -396,8 +396,14 @@ export default iterateJsdoc(({
396396
397397 const hasNamePosition = utils . tagMightHaveName ( tag . tag ) &&
398398 Boolean ( tag . name ) ;
399- if ( hasNamePosition && ! tryParseNameIgnoreError ( tag . name , mode ) ) {
399+ if (
400+ hasNamePosition &&
401+ mode === 'typescript' &&
402+ ! tryParseNameIgnoreError ( tag . name , mode )
403+ ) {
400404 report ( `Syntax error in name: ${ tag . name } ` , null , tag ) ;
405+ } else if ( hasNamePosition && mode !== 'typescript' ) {
406+ validNamepathParsing ( tag . name , tag . tag ) ;
401407 }
402408
403409 for ( const inlineTag of tag . inlineTags ) {
Original file line number Diff line number Diff line change @@ -264,7 +264,7 @@ export default /** @type {import('../index.js').TestCases} */ ({
264264 ] ,
265265 settings : {
266266 jsdoc : {
267- mode : 'permissive ' ,
267+ mode : 'typescript ' ,
268268 } ,
269269 } ,
270270 } ,
@@ -2018,5 +2018,17 @@ export default /** @type {import('../index.js').TestCases} */ ({
20182018 }
20192019 ` ,
20202020 } ,
2021+ {
2022+ code : `
2023+ /**
2024+ * @typedef {Object} module:src/core/Player~mediaFormat
2025+ */
2026+ ` ,
2027+ settings : {
2028+ jsdoc : {
2029+ mode : 'jsdoc' ,
2030+ } ,
2031+ } ,
2032+ } ,
20212033 ] ,
20222034} ) ;
You can’t perform that action at this time.
0 commit comments