Skip to content

refactor: JSDoc- align files with openui5 - #1673

Merged
d3xter666 merged 9 commits into
mainfrom
transfer-jsdoc-changes
Oct 21, 2026
Merged

d3xter666 merged 9 commits into
mainfrom
transfer-jsdoc-changes

Conversation

@d3xter666

Copy link
Copy Markdown
Member

JIRA: CPOUI5FOUNDATION-1046

@d3xter666
d3xter666 requested a review from a team October 21, 2026 12:18

@codeworrior codeworrior left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I would prefer if we transfer the changes one by one to keep their semantic separation.

@codeworrior

Copy link
Copy Markdown
Member

I can do that if you want.

@d3xter666
d3xter666 force-pushed the transfer-jsdoc-changes branch from 9542c99 to ad9d033 Compare October 21, 2026 13:24
Change-Id: Ic5ea014fe02aeebd1928caceb0a34497756c22e8
Ported from SAP/openui5 commit: UI5/openui5@bb1f028
JSDoc's own type parser (jsdoc.tag.type.parse) is also used to split
the name portion of a parameter into name and default value. The RegEx
used for that purpose is missing the multiline (/m) flag and therefore
does not accept line feeds within the default value.

As this is encapsulated in a closure within the type parser, it can only
be fixed via a post-processing step.

Change-Id: I4acb08ae88cbc2255033fcfc13e4d7d66c9fcadc
Ported from SAP/openui5 commit: UI5/openui5@0958790
A parameter of a managed event (an event with metadata in a subclass of
ManagedObject) can be flagged as optional by appending a question mark
("?") to its name.

Example:
  metadata {
    events: {
      change: {
        value: "any",      // mandatory
        "oldValue?": "any" // optional
      }
    }
  }

The generated documentation for the managed event reflects the optional
state of a param.

Change-Id: If0781a73a8160710b1be09e444c46feb6d3230c6
Ported from SAP/openui5 commit: UI5/openui5@03dcf95
When a class documentation contains a module override, then the
generated method documentation should use the same override.

This prevents misleading module information in the api.json.

Change-Id: Ic194de0ad717518e22d3313c5d5bb4f39934d046
Ported from SAP/openui5 commit: UI5/openui5@07a0689
@codeworrior
codeworrior force-pushed the transfer-jsdoc-changes branch from ad9d033 to 6384a38 Compare October 21, 2026 14:13
…ecated info

Add support for {@SInCE}, {@ui5-experimental-since} and {@deprecated} inline tags inside @PARAM and @Property (typedef) descriptions.
The JSDoc plugin parses these inline tags and stores the metadata on the doclet's params/properties arrays.
The publish template forwards the data for typedef properties. The transformApiJson processor
formats deprecatedText and experimentalText fields. The SubApiDetail view renders MessageStrips
for parameters and typedef fields based on these formatted fields.

JIRA: BGSOFUIPIRIN-7056
Change-Id: I90ecb699b2065c004af8662d21f6ffa1a570bd44
Ported from SAP/openui5 commit: UI5/openui5@e892fb4
… in API documentation

Background:
The @SInCE information for typedef and enum properties was displayed twice in the API reference.
The transformApiJson process appended the @SInCE value to the property description in italics
(the original mechanism, added before a dedicated since field existed in api.json).
Meanwhile the api.json now also exposes a dedicated "since" attribute, which the SubApiDetail
view renders as its own "Since" ObjectStatus below the visibility information. As a result the
same version appeared both italicized in the description and as the dedicated status.

Additionally, when a parameter typed as a typedef was expanded inline, the imperatively built
sub-rows did not render the @SInCE information at all, although the data was available on the property.

Solution:
- transformApiJson no longer appends @SInCE to the description for typedef/enum properties
  (both the top-level properties loop and the nested buildPropertiesModel builder).
  The dedicated "Since" ObjectStatus is now the single source of truth. Constructor/method/event
  parameters, control-metadata properties, aggregations and associations are left unchanged,
  as their tables have no dedicated Since status.
- _addTypedefSubRows now renders a "Since" ObjectStatus for expanded typedef properties, matching the dedicated typedef Fields table.

JIRA: BGSOFUIPIRIN-7093
Change-Id: I6f24918111c9268a8ae19e30ed4cd9460b06ace7
Ported from SAP/openui5 commit: UI5/openui5@e5e3f87
Change-Id: Id89f58c5bfbb33dd3bca35fe71c89c90be93e3a1
Ported from SAP/openui5 commit: UI5/openui5@9d84b53
 - report use of deprecated @experimental tag only for non-deprecated
   APIs
 - reduce log level for message reg. automatically added @Lends tag
 - add more native ES and Web APIs that are meanwhile referenced in
   our JSDoc
 - fix some typos in runtime sources, add missing JSDoc

Change-Id: I4db700a7157ce5c108855b1480ebd3cde6c02907
Ported from SAP/openui5 commit: UI5/openui5@f0c50cf
JSON.parse over an empty string throws an exceptiom without providing meaningful context over
the failure. Improve error messages, so that it's clear where the exception originates from.

JIRA: CPOUI5FOUNDATION-1046
Change-Id: I8a79c382810f7660fd39c1a230274b59cf94f3db
Ported from SAP/openui5 commit: UI5/openui5@dbecbea
@d3xter666
d3xter666 force-pushed the transfer-jsdoc-changes branch from 6384a38 to 664e906 Compare October 21, 2026 14:29
@d3xter666
d3xter666 requested a review from a team October 21, 2026 14:31
@matz3

matz3 commented Oct 21, 2026

Copy link
Copy Markdown
Member

Is the placement of the "dash" character in the PR title intentional? (refactor: JSDoc- align files with openui5)

@d3xter666
d3xter666 merged commit 97e5ac7 into main Oct 21, 2026
77 checks passed
@d3xter666
d3xter666 deleted the transfer-jsdoc-changes branch October 21, 2026 15:02
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants