build(aio): improve accuracy of code auto-linking (#22494)

The new version of `dgeni-packages/typescript` no longer strips
out "namespaces" from types, which was part of the problem of
not autolinking correctly to `HttpEventType.Response`.

Another part of the problem was that we did not include `.`
characters when matching potential code blocks for auto-linking,
which precluded properties of enums from being linked.

Finally, members we not being given a `path` property, which is
needed to effectively autolink to them. This is now set in
the `simplifyMemberAnchors` processor.

Closes #21375

PR Close #22494
This commit is contained in:
Pete Bacon Darwin
2018-02-28 14:52:53 +00:00
committed by Alex Eagle
parent 855e3a65db
commit 27962f8949
7 changed files with 96 additions and 11 deletions

View File

@ -5,15 +5,21 @@
*/
module.exports = function simplifyMemberAnchors() {
return {
$runAfter: ['extra-docs-added'],
$runBefore: ['computing-paths'],
$runAfter: ['paths-computed'],
$runBefore: ['rendering-docs'],
$process: function(docs) {
return docs.forEach(doc => {
if (doc.members) {
doc.members.forEach(member => member.anchor = computeAnchor(member));
doc.members.forEach(member => {
member.anchor = computeAnchor(member);
member.path = doc.path + '#' + member.anchor;
});
}
if (doc.statics) {
doc.statics.forEach(member => member.anchor = computeAnchor(member));
doc.statics.forEach(member => {
member.anchor = computeAnchor(member);
member.path = doc.path + '#' + member.anchor;
});
}
});
}