documentationjs / documentation

:book: documentation for modern JavaScript
http://documentation.js.org/
Other
5.78k stars 482 forks source link

yargs issue with docuemntation version 14.0.3 #1641

Closed akash-nx closed 1 week ago

akash-nx commented 1 week ago

I have package.json with following entries:

"documentation": "^14.0.3",
"yargs": "^17.5.1"

when I run npm run documentation, I get below error:

[INFO] import yargs from 'yargs';
[INFO]        ^^^^^
[INFO] 
[INFO] SyntaxError: Unexpected identifier
[INFO]     at new Script (vm.js:80:7)
[INFO]     at createScript (vm.js:274:10)
[INFO]     at Object.runInThisContext (vm.js:326:10)
[INFO]     at Module._compile (internal/modules/cjs/loader.js:664:28)
[INFO]     at Object.Module._extensions..js (internal/modules/cjs/loader.js:712:10)
[INFO]     at Module.load (internal/modules/cjs/loader.js:600:32)
[INFO]     at tryModuleLoad (internal/modules/cjs/loader.js:539:12)
[INFO]     at Function.Module._load (internal/modules/cjs/loader.js:531:3)
[INFO]     at Function.Module.runMain (internal/modules/cjs/loader.js:754:12)
[INFO]     at startup (internal/bootstrap/node.js:283:19)
[INFO] npm ERR! code ELIFECYCLE
[INFO] npm ERR! errno 1

If I use older version (13.2.5), documentation works. The reason behind version upgrade is - when docstring are generated for method, it doesnt parse '&' for body param. Example: For below docstring:

@param { Required<Pick<Model1, 'name'>> & Partial<Model1> } body specification expectation is to see below format in documentation:

body(Required<Pick<Model1, 'name'>> & Partial<Model1>) specification

but I can see: body(any) specification

tmcw commented 1 week ago

What Node version are you using?

akash-nx commented 1 week ago

@tmcw I am using v10.24.1

tmcw commented 1 week ago

That's the cause - see the release notes of v14: https://github.com/documentationjs/documentation/blob/master/CHANGELOG.md#1400-alpha0-2022-08-05 - the minimum supported Node version is 14. There was probably a warning message when you ran npm install about this. v10 is ~3 years old and is no longer a maintenance version of Node.

akash-nx commented 1 week ago

@tmcw I have updated node to latest version (v20.15.0) and still seeing same issue with documentation documentation@14.0.3