question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

API Contract Tags

See original GitHub issue

As I’ve review the TypeDoc and AEDoc supported tags, there emerged a special type of tag. These modifier tags override the TypeScript definition for external documentation purposes.

@readonly (supported by AEDoc) @private, @protected, and @public (supported by TypeDoc, AEDoc has a different @public)

Should this pattern be expanded or discouraged? In what cases does it make sense to have documentation deviate from implementation?

Issue Analytics

  • State:open
  • Created 5 years ago
  • Comments:12

github_iconTop GitHub Comments

2reactions
petebacondarwincommented, Aug 29, 2018

@pgonzal - sorry I’m a bit late to this party. @aciccarello is spot on. We use dgeni to do our documentation generation, which by itself does very little.

The bulk of the processing is in dgeni-packages which includes a jsdoc package and also typescript package. The former parses out jsdoc tags (which are completely configurable on a project by project basis) and the latter parses TS source code and infers lots of properties that would otherwise need jsdoc tags.

On top of that we have project specific configuration in the angular project at https://github.com/angular/angular/tree/master/aio/tools/transforms.

The list of tags linked to above is the “standard” ones that that the jsdoc package supports but for our purposes we add in a bunch of extra ones via https://github.com/angular/angular/tree/master/aio/tools/transforms/angular-api-package/tag-defs and https://github.com/angular/angular/tree/master/aio/tools/transforms/content-package/tag-defs. Some of which might be out of date and unused 😱.

As @aciccarello points out, this is not the whole story because we can then modify docs before they are rendered by processors, which is what is happening in the computeStability processor for the stability flags.

Happy to provide more detail of all of this if it is helpful to anyone.

Read more comments on GitHub >

github_iconTop Results From Across the Web

Grouping Operations With Tags - Swagger
You can assign a list of tags to each API operation. Tagged operations may be handled differently by tools and libraries. For example,...
Read more >
API Contract Tags · Issue #11 · microsoft/tsdoc - GitHub
Standardizing the release tags (or "API Contract" tags?) makes sense. The Angular team uses @experimental and @stable tags.
Read more >
TagProduct - List By Tags - REST API (Azure API Management)
Learn more about API Management service - Lists a collection of products associated with tags. ... API contract properties for the Tag Resources....
Read more >
Tags API - GitLab Docs
Get a list of repository tags from a project, sorted by update date and time in descending order. This endpoint can be accessed...
Read more >
Organizing My APIs Using OpenAPI Tags - API Evangelist
Too help me organize my world, I have a centralized tagging vocabulary that I use ... allowing you to add tags for an...
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found