documentationjs / documentationjs/documentation
empty @inner tag (in wrong place?) crashes very ugly
- Vorherrschende Sprache
- JavaScript
- Sterne
- 5.8k
- Forks
- 481
- PR-Merge-Kennzahlen
- Keine gemergten PRs in 30 T.
Beschreibung
I developed an AMD module that uses an internal function. I thought it would be nice to tag the documentation of that function with the @inner tag (though it might not be entirely valid). That crashes documentationjs without clean error. Adding some text on the same line after @inner removes the crash.
Code sample:
```
define([], function() {
DoSomething();
/**
* My Object of Documentation Desire
* @exports myObject
*/
var myObject = {};
return myObject;
/**
* DoSomething - Might do something
*
* @return {boolean} Did we really do anything?
* @inner
*/
function DoSomething() {
return false;
}
});
```
Error Message:
```
documentation build src/documentationbug.js -f html -o docs2/
/usr/local/lib/node_modules/documentation/lib/commands/build.js:66
throw err;
^
TypeError: Cannot convert undefined or null to object
at hasOwnProperty (native)
at /usr/local/lib/node_modules/documentation/lib/hierarchy.js:68:27
at Array.forEach (native)
at module.exports (/usr/local/lib/node_modules/documentation/lib/hierarchy.js:38:12)
at buildSync (/usr/local/lib/node_modules/documentation/index.js:221:5)
at /usr/local/lib/node_modules/documentation/index.js:147:16
at /usr/local/lib/node_modules/documentation/lib/input/dependency.js:63:5
at ConcatStream. (/usr/local/lib/node_modules/documentation/node_modules/concat-stream/index.js:36:43)
at emitNone (events.js:72:20)
at ConcatStream.emit (events.js:166:7)
```
Beitragsleitfaden
Rechercherichtung
Reproduziere den Fehler mit dem bereitgestellten Dokumentations-Build-Befehl und dem AMD-Beispiel. Beginne mit der Untersuchung von lib/hierarchy.js um Zeile 68 und verfolge anschließend, wie build.js dorthin gelangt; vergleiche die Behandlung des leeren @inner-Tags mit einem Tag, das Text enthält. Als erledigt gilt die Aufgabe, wenn das Beispiel nicht mehr mit einem unbehandelten TypeError abstürzt und das resultierende Verhalten durch einen passenden Test abgedeckt ist.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- javascript
- Bereich
- documentation, tooling
- Issue-Typ
- Bug
- Schwierigkeit
- 3/5
- Geschätzter Aufwand
- 1-2 Tage
- Aktivitätsstatus
- Veraltet
- Klarheit
- Größtenteils klar
- Anfängerfreundlichkeit
- 35/100