From aebd5f9af6ef8f46ceadf8a831a491ac96312bf2 Mon Sep 17 00:00:00 2001 From: Sonu Kapoor Date: Tue, 14 Apr 2020 07:44:14 -0400 Subject: [PATCH] build(docs-infra): Ensures that only member docs are linked (#36316) This commit ensures that `member` docs are only linked if the linking text contains `.`. PR Close #36316 --- .../post-processors/auto-link-code.js | 6 ++++++ .../post-processors/auto-link-code.spec.js | 10 ++++++++++ 2 files changed, 16 insertions(+) diff --git a/aio/tools/transforms/angular-base-package/post-processors/auto-link-code.js b/aio/tools/transforms/angular-base-package/post-processors/auto-link-code.js index 383fa2704d..f84481bace 100644 --- a/aio/tools/transforms/angular-base-package/post-processors/auto-link-code.js +++ b/aio/tools/transforms/angular-base-package/post-processors/auto-link-code.js @@ -90,6 +90,12 @@ module.exports = function autoLinkCode(getDocFromAlias) { } var doc = docs[0]; + + const isInvalidDoc = doc.docType === 'member' && !keyword.includes('.'); + if (isInvalidDoc) { + return false; + } + if (doc.path === '') { var message = ` autoLinkCode: Doc path is empty for "${doc.id}" - link will not be generated for "${keyword}". diff --git a/aio/tools/transforms/angular-base-package/post-processors/auto-link-code.spec.js b/aio/tools/transforms/angular-base-package/post-processors/auto-link-code.spec.js index 676cfa2c71..98c4e596f4 100644 --- a/aio/tools/transforms/angular-base-package/post-processors/auto-link-code.spec.js +++ b/aio/tools/transforms/angular-base-package/post-processors/auto-link-code.spec.js @@ -135,6 +135,16 @@ describe('autoLinkCode post-processor', () => { expect(doc.renderedContent).toEqual('MyClass'); }); + it('should ignore documents when the `docType` is set to `member` and the keyword doesn\'t include `.`', + () => { + aliasMap.addDoc({docType: 'class', id: 'MyClass', aliases: ['MyClass'], path: 'a/b/myclass'}); + aliasMap.addDoc( + {docType: 'member', id: 'MyEnum', aliases: ['MyEnum'], path: 'a/b/c'}); + const doc = {docType: 'test-doc', renderedContent: 'MyClass'}; + processor.$process([doc]); + expect(doc.renderedContent).toEqual('MyClass'); + }); + it('should insert anchors for individual text nodes within a code block', () => { aliasMap.addDoc({docType: 'class', id: 'MyClass', aliases: ['MyClass'], path: 'a/b/myclass'}); const doc = {