From 52850baca443657b379b550e78c4a9766b3fe6b6 Mon Sep 17 00:00:00 2001 From: David Sanders Date: Fri, 31 Oct 2025 13:44:26 -0700 Subject: [PATCH] fix: skip npmjs.com links --- bin/lint-markdown-links.ts | 6 ++++++ tests/fixtures/skipped-external-link.md | 1 + tests/lint-roller-markdown-links.spec.ts | 12 ++++++++++++ 3 files changed, 19 insertions(+) create mode 100644 tests/fixtures/skipped-external-link.md diff --git a/bin/lint-markdown-links.ts b/bin/lint-markdown-links.ts index 362789e..ec5ad51 100644 --- a/bin/lint-markdown-links.ts +++ b/bin/lint-markdown-links.ts @@ -34,6 +34,12 @@ const diagnosticOptions: DiagnosticOptions = { }; async function fetchExternalLink(link: string, checkRedirects = false) { + const url = new URL(link); + if (url.hostname.endsWith('.npmjs.com')) { + console.log('Skipping npmjs.com link check', link); + return true; + } + try { const response = await fetch(link, { headers: { diff --git a/tests/fixtures/skipped-external-link.md b/tests/fixtures/skipped-external-link.md new file mode 100644 index 0000000..f003356 --- /dev/null +++ b/tests/fixtures/skipped-external-link.md @@ -0,0 +1 @@ +This is a skipped [external link](https://www.npmjs.com/support) diff --git a/tests/lint-roller-markdown-links.spec.ts b/tests/lint-roller-markdown-links.spec.ts index 10be822..4335a45 100644 --- a/tests/lint-roller-markdown-links.spec.ts +++ b/tests/lint-roller-markdown-links.spec.ts @@ -156,6 +156,18 @@ describe('lint-roller-markdown-links', () => { expect(status).toEqual(0); }); + it('should skip npmjs.com links', () => { + const { status, stdout } = runLintMarkdownLinks( + '--root', + FIXTURES_DIR, + 'skipped-external-link.md', + '--fetch-external-links', + ); + + expect(status).toEqual(0); + expect(stdout).toContain('Skipping'); + }); + it('should disallow absolute links by default', () => { const { status, stdout } = runLintMarkdownLinks( '--root',