Page MenuHomePhabricator

Add a JsDoc 3 annotations and docs pipeline to TMH
Closed, ResolvedPublic

Description

Setup the TMH project to produce JSDoc documentation and add additional annotations to the various JS classes where required.

Event Timeline

JSDoc is terrible (especially wrt to name spacing and linking to external code)

I might look into how it does with some other templates that are well regarded like:
https://github.com/clenemt/docdash
https://github.com/contentful/contentful-sdk-jsdoc

Change 928988 had a related patch set uploaded (by TheDJ; author: TheDJ):

[mediawiki/extensions/TimedMediaHandler@master] Attempt at JSDoc for TMH modules

https://gerrit.wikimedia.org/r/928988

Change 928988 merged by jenkins-bot:

[mediawiki/extensions/TimedMediaHandler@master] JSDoc for TMH modules

https://gerrit.wikimedia.org/r/928988

Change 931319 had a related patch set uploaded (by TheDJ; author: TheDJ):

[integration/config@master] Publish JS documentation for TimedMediaHandler

https://gerrit.wikimedia.org/r/931319

Change 931320 had a related patch set uploaded (by TheDJ; author: TheDJ):

[integration/docroot@master] Add TMH to docroot

https://gerrit.wikimedia.org/r/931320

Change 931319 merged by jenkins-bot:

[integration/config@master] Publish JS documentation for TimedMediaHandler

https://gerrit.wikimedia.org/r/931319

I have picked up the last merged change which was https://gerrit.wikimedia.org/r/c/mediawiki/extensions/TimedMediaHandler/+/871908 then manually triggered a postmerge build using:

ssh contint.wikimedia.org \
   zuul enqueue --trigger gerrit --pipeline postmerge --project mediawiki/extensions/TimedMediaHandler --change 871908,3

The build failed at https://integration.wikimedia.org/ci/job/mwext-node16-docs-docker-publish/2303/console

00:01:23.857 + npm run-script doc
00:01:24.134 
00:01:24.134 > doc
00:01:24.134 > jsdoc -c jsdoc.json
00:01:24.134 
00:01:26.470 WARNING: Unknown link Object.<string, Array.<SourceObject>> in Global
00:01:26.471 WARNING: Unknown link Object.<string, Array.<SourceObject>> in Global
00:01:26.471 WARNING: Unknown link Object.<string, Array.<SourceObject>> in Global
00:01:26.881 Build step 'Execute shell' marked build as failure

Warnings fail the jsdoc process ? That doesnt seem right…. well have to look into that i guess

Maybe because of:

jsdoc.json
{
  "opts": {
    "pedantic": true,
    ...
}

From https://jsdoc.app/about-commandline.html

--pedantic
Treat errors as fatal errors, and treat warnings as errors. Defaults to false.

Which looks a good practice :]

Change 931320 merged by jenkins-bot:

[integration/docroot@master] Add TimedMediaHandler to docroot

https://gerrit.wikimedia.org/r/931320

Mentioned in SAL (#wikimedia-operations) [2023-06-21T06:40:28Z] <hashar@deploy1002> Started deploy [integration/docroot@51d2552]: Add TimedMediaHandler to docroot - T338458

Mentioned in SAL (#wikimedia-operations) [2023-06-21T06:40:39Z] <hashar@deploy1002> Finished deploy [integration/docroot@51d2552]: Add TimedMediaHandler to docroot - T338458 (duration: 00m 11s)

Change 931864 had a related patch set uploaded (by Hashar; author: Hashar):

[mediawiki/extensions/TimedMediaHandler@master] Build: fix jsdoc warning

https://gerrit.wikimedia.org/r/931864

Change 932415 had a related patch set uploaded (by TheDJ; author: TheDJ):

[mediawiki/extensions/TimedMediaHandler@master] Unbreak TMH video initialization

https://gerrit.wikimedia.org/r/932415

Change 932422 had a related patch set uploaded (by TheDJ; author: TheDJ):

[mediawiki/extensions/TimedMediaHandler@master] Unset pedantic JSDoc for now

https://gerrit.wikimedia.org/r/932422

Change 932422 merged by jenkins-bot:

[mediawiki/extensions/TimedMediaHandler@master] Unset pedantic JSDoc for now

https://gerrit.wikimedia.org/r/932422

Change 932415 merged by jenkins-bot:

[mediawiki/extensions/TimedMediaHandler@master] Unbreak TMH video initialization

https://gerrit.wikimedia.org/r/932415

Change 931864 merged by jenkins-bot:

[mediawiki/extensions/TimedMediaHandler@master] Build: fix jsdoc warning

https://gerrit.wikimedia.org/r/931864

Change 932281 had a related patch set uploaded (by Hashar; author: TheDJ):

[mediawiki/extensions/TimedMediaHandler@master] Re-enable jsdoc pedantic

https://gerrit.wikimedia.org/r/932281

Change 932281 merged by jenkins-bot:

[mediawiki/extensions/TimedMediaHandler@master] Re-enable jsdoc pedantic

https://gerrit.wikimedia.org/r/932281