doc-freshness-checker 2.1.0 → 2.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -3,7 +3,7 @@
3
3
  [![npm version](https://img.shields.io/npm/v/doc-freshness-checker.svg)](https://www.npmjs.com/package/doc-freshness-checker)
4
4
  [![npm downloads](https://img.shields.io/npm/dm/doc-freshness-checker.svg)](https://www.npmjs.com/package/doc-freshness-checker)
5
5
  [![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](https://opensource.org/licenses/MIT)
6
- [![Node.js](https://img.shields.io/badge/node-%3E%3D24-brightgreen.svg)](https://nodejs.org/)
6
+ [![Node.js](https://img.shields.io/badge/node-%3E%3D24.16.0-brightgreen.svg)](https://nodejs.org/)
7
7
  [![CI](https://github.com/cosmocoder/doc-freshness-checker/actions/workflows/release.yml/badge.svg)](https://github.com/cosmocoder/doc-freshness-checker/actions/workflows/release.yml)
8
8
 
9
9
  Validate documentation against your codebase to catch stale references before they create confusion or slow onboarding. `doc-freshness-checker` scans your docs, extracts references to files, URLs, versions, symbols, dependencies, and directory trees, then validates each one against source code and manifests.
@@ -46,7 +46,7 @@ Validate documentation against your codebase to catch stale references before th
46
46
 
47
47
  ## Prerequisites
48
48
 
49
- - **Node.js** >= 24
49
+ - **Node.js** >= 24.16.0
50
50
  - **npm** >= 11
51
51
 
52
52
  ## Installation
@@ -294,6 +294,20 @@ export default defineConfig({
294
294
  });
295
295
  ```
296
296
 
297
+ The following accepted configuration options do not affect validation or reporting and are planned for removal in v3.0.0.
298
+ They remain part of the incremental configuration fingerprint, so changing one forces the next incremental run to perform
299
+ a full validation:
300
+
301
+ | Option | Current behavior / migration |
302
+ | ---------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
303
+ | `rules.version.allowMinorDrift` | Version validation compares major versions only. |
304
+ | `outputDir` | Use `outputPath` with the JSON, Markdown, or Enhanced reporter. Console output remains on stdout. |
305
+ | `ignorePatterns` | `include` and `exclude` select documentation files. Rule-level `illustrativePatterns` can suppress illustrative `file-path`, `directory-structure`, and `code-snippet` references; there is no general semantic reference-ignore replacement. |
306
+ | `git`, `git.enabled`, `git.trackChanges`, `git.changeWindow` | Git availability is auto-detected during graph processing, and Enhanced reports use a fixed seven-day change window. |
307
+ | `vectorSearch.indexCodeComments`, `vectorSearch.indexDocstrings` | Enabled vector search follows its built-in indexing behavior. |
308
+
309
+ The exported `GitConfig` type is deprecated with the `git` property.
310
+
297
311
  <details>
298
312
  <summary>Full configuration example</summary>
299
313
 
package/dist/cli.d.ts CHANGED
@@ -26,7 +26,6 @@ export declare function createProgram(): Command;
26
26
  export declare function parseCliOptions(argv: string[]): CLIOptions;
27
27
  export declare function applyCliOverrides(config: DocFreshnessConfig, options: CLIOptions): void;
28
28
  export declare function runCli(options: CLIOptions, deps?: CliDeps): Promise<number>;
29
- export declare function main(argv?: string[], deps?: CliDeps): Promise<number>;
30
29
  export declare function runAsCli(argv?: string[], deps?: CliDeps): Promise<void>;
31
30
  export declare function isDirectCliInvocation(argv?: string[]): boolean;
32
31
  export {};
package/dist/cli.js CHANGED
@@ -114,12 +114,6 @@ export async function runCli(options, deps = defaultDeps) {
114
114
  return 1;
115
115
  }
116
116
  }
117
- export async function main(argv = process.argv, deps = defaultDeps) {
118
- const options = parseCliOptions(argv);
119
- return runCli(options, deps);
120
- }
121
- // This wrapper keeps the process-exit side effect out of `main` so tests can
122
- // verify CLI behavior without terminating the Vitest process.
123
117
  export async function runAsCli(argv = process.argv, deps = defaultDeps) {
124
118
  const options = parseCliOptions(argv);
125
119
  const exitCode = await runCli(options, deps);
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
package/dist/cli.test.js CHANGED
@@ -2,7 +2,7 @@ import { mkdtemp, symlink, rm } from 'fs/promises';
2
2
  import { tmpdir } from 'os';
3
3
  import path from 'path';
4
4
  import { fileURLToPath } from 'url';
5
- import { applyCliOverrides, createProgram, isDirectCliInvocation, main, parseCliOptions, runAsCli, runCli, } from './cli.js';
5
+ import { applyCliOverrides, createProgram, isDirectCliInvocation, parseCliOptions, runAsCli, runCli } from './cli.js';
6
6
  import { BUILT_IN_RULE_TYPES, DEFAULT_CONFIG } from './config/defaults.js';
7
7
  import { run } from './runner.js';
8
8
  afterEach(() => {
@@ -235,34 +235,6 @@ describe('runCli', () => {
235
235
  expect(logErrorMock).toHaveBeenCalledWith('Error:', 'urlValidation.concurrency must be a positive integer');
236
236
  });
237
237
  });
238
- describe('main', () => {
239
- it('preserves the configured reporter when the CLI flag is absent', async () => {
240
- const runMock = vi.fn().mockResolvedValue(makeResults(0));
241
- const deps = {
242
- loadConfig: vi.fn().mockResolvedValue({ ...makeConfig(), reporters: ['json'] }),
243
- run: runMock,
244
- logError: vi.fn(),
245
- };
246
- const exitCode = await main(['node', 'doc-freshness', '--config', 'doc-freshness.config.ts'], deps);
247
- expect(exitCode).toBe(0);
248
- expect(runMock).toHaveBeenCalledTimes(1);
249
- expect(runMock).toHaveBeenCalledWith(expect.objectContaining({ reporters: ['json'] }));
250
- });
251
- it('parses argv and applies options before running', async () => {
252
- const runMock = vi.fn().mockResolvedValue(makeResults(0));
253
- const deps = {
254
- loadConfig: vi.fn().mockResolvedValue(makeConfig()),
255
- run: runMock,
256
- logError: vi.fn(),
257
- };
258
- const exitCode = await main(['node', 'doc-freshness', '--reporter', 'json', '--no-cache'], deps);
259
- expect(exitCode).toBe(0);
260
- expect(runMock).toHaveBeenCalledWith(expect.objectContaining({
261
- reporters: ['json'],
262
- cache: { enabled: false },
263
- }));
264
- });
265
- });
266
238
  describe('runAsCli', () => {
267
239
  it('calls process.exit when CLI run fails', async () => {
268
240
  const exitSpy = vi.spyOn(process, 'exit').mockImplementation((() => undefined));
@@ -1 +1 @@
1
- {"version":3,"file":"cli.test.js","sourceRoot":"","sources":["../src/cli.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.test.js","sourceRoot":"","sources":["../src/cli.test.ts"],"names":[],"mappings":"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"}
@@ -58,6 +58,7 @@ export const DEFAULT_CONFIG = {
58
58
  version: {
59
59
  enabled: true,
60
60
  severity: 'warning',
61
+ // Deprecated: ignored by validation; changing this value invalidates incremental reuse.
61
62
  allowMinorDrift: true,
62
63
  },
63
64
  'directory-structure': {
@@ -90,8 +91,10 @@ export const DEFAULT_CONFIG = {
90
91
  // Reporter configuration
91
92
  reporters: ['console'],
92
93
  // Output directory for reports
94
+ // Deprecated: ignored by reporting; changing this value invalidates incremental reuse.
93
95
  outputDir: '.doc-freshness-reports',
94
96
  // Ignore patterns (regex strings)
97
+ // Deprecated: ignored by reference filtering; changing this value invalidates incremental reuse.
95
98
  ignorePatterns: [],
96
99
  // Custom extractors (advanced)
97
100
  customExtractors: [],
@@ -104,10 +107,11 @@ export const DEFAULT_CONFIG = {
104
107
  cacheMaxAge: 24 * 60 * 60 * 1000, // 24 hours for non-git repos
105
108
  },
106
109
  // Git integration settings
110
+ // Deprecated: ignored by Git behavior; changing these values invalidates incremental reuse.
107
111
  git: {
108
- enabled: true, // Auto-detected
109
- trackChanges: true, // Enable incremental checking
110
- changeWindow: 7, // Days to look back for changes
112
+ enabled: true,
113
+ trackChanges: true,
114
+ changeWindow: 7,
111
115
  },
112
116
  // Freshness scoring settings
113
117
  freshnessScoring: {
@@ -129,7 +133,9 @@ export const DEFAULT_CONFIG = {
129
133
  vectorSearch: {
130
134
  enabled: false, // Disabled by default
131
135
  similarityThreshold: 0.3, // Lower = stricter matching
136
+ // Deprecated: ignored by vector indexing; changing this value invalidates incremental reuse.
132
137
  indexCodeComments: true,
138
+ // Deprecated: ignored by vector indexing; changing this value invalidates incremental reuse.
133
139
  indexDocstrings: true,
134
140
  },
135
141
  // Cache settings
@@ -1 +1 @@
1
- {"version":3,"file":"defaults.js","sourceRoot":"","sources":["../../src/config/defaults.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"defaults.js","sourceRoot":"","sources":["../../src/config/defaults.ts"],"names":[],"mappings":"AAgBA,MAAM,CAAC,MAAM,mBAAmB,GAAG;IACjC,WAAW;IACX,cAAc;IACd,SAAS;IACT,qBAAqB;IACrB,cAAc;IACd,cAAc;IACd,YAAY;CACJ,CAAC;AAIX;;GAEG;AACH,MAAM,CAAC,MAAM,cAAc,GAAkB;IAC3C,iEAAiE;IACjE,OAAO,EAAE,OAAO,CAAC,GAAG,EAAE;IAEtB,+BAA+B;IAC/B,OAAO,EAAE,CAAC,cAAc,EAAE,WAAW,CAAC;IAEtC,mBAAmB;IACnB,OAAO,EAAE,CAAC,oBAAoB,EAAE,cAAc,EAAE,YAAY,EAAE,aAAa,CAAC;IAE5E,yDAAyD;IACzD,iCAAiC;IACjC,aAAa,EAAE,IAAI;IAEnB,mDAAmD;IACnD,iCAAiC;IACjC,cAAc,EAAE,IAAI;IAEpB,0BAA0B;IAC1B,aAAa,EAAE;QACb,OAAO,EAAE,IAAI;QACb,OAAO,EAAE,KAAK;QACd,WAAW,EAAE,CAAC;QACd,WAAW,EAAE,CAAC,WAAW,EAAE,WAAW,EAAE,aAAa,CAAC;QACtD,YAAY,EAAE,IAAI;KACnB;IAED,iCAAiC;IACjC,KAAK,EAAE;QACL,WAAW,EAAE;YACX,OAAO,EAAE,IAAI;YACb,QAAQ,EAAE,OAAO;YACjB,sEAAsE;YACtE,oBAAoB,EAAE;gBACpB,oEAAoE;gBACpE,wEAAwE;gBACxE,+BAA+B;gBAC/B,6CAA6C;gBAC7C,0DAA0D;gBAC1D,SAAS;gBACT,aAAa;gBACb,gDAAgD;gBAChD,8BAA8B;gBAC9B,YAAY,EAAE,wBAAwB;aACvC;YACD,gBAAgB,EAAE,IAAI;SACvB;QACD,cAAc,EAAE;YACd,OAAO,EAAE,IAAI;YACb,QAAQ,EAAE,SAAS;SACpB;QACD,OAAO,EAAE;YACP,OAAO,EAAE,IAAI;YACb,QAAQ,EAAE,SAAS;YACnB,wFAAwF;YACxF,eAAe,EAAE,IAAI;SACtB;QACD,qBAAqB,EAAE;YACrB,OAAO,EAAE,IAAI;YACb,QAAQ,EAAE,SAAS;YACnB,yEAAyE;YACzE,oBAAoB,EAAE;gBACpB,oEAAoE;gBACpE,wEAAwE;gBACxE,+BAA+B;gBAC/B,6CAA6C;gBAC7C,oEAAoE;gBACpE,4BAA4B;aAC7B;YACD,gBAAgB,EAAE,IAAI;SACvB;QACD,cAAc,EAAE;YACd,OAAO,EAAE,IAAI;YACb,QAAQ,EAAE,SAAS;SACpB;QACD,cAAc,EAAE;YACd,OAAO,EAAE,IAAI;YACb,QAAQ,EAAE,SAAS;SACpB;QACD,UAAU,EAAE;YACV,OAAO,EAAE,IAAI;YACb,QAAQ,EAAE,MAAM;SACjB;KACF;IAED,yBAAyB;IACzB,SAAS,EAAE,CAAC,SAAS,CAAC;IAEtB,+BAA+B;IAC/B,uFAAuF;IACvF,SAAS,EAAE,wBAAwB;IAEnC,kCAAkC;IAClC,iGAAiG;IACjG,cAAc,EAAE,EAAE;IAElB,+BAA+B;IAC/B,gBAAgB,EAAE,EAAE;IAEpB,+BAA+B;IAC/B,gBAAgB,EAAE,EAAE;IAEpB,6BAA6B;IAC7B,KAAK,EAAE;QACL,OAAO,EAAE,IAAI;QACb,QAAQ,EAAE,sBAAsB;QAChC,WAAW,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,EAAE,6BAA6B;KAChE;IAED,2BAA2B;IAC3B,4FAA4F;IAC5F,GAAG,EAAE;QACH,OAAO,EAAE,IAAI;QACb,YAAY,EAAE,IAAI;QAClB,YAAY,EAAE,CAAC;KAChB;IAED,6BAA6B;IAC7B,gBAAgB,EAAE;QAChB,OAAO,EAAE,KAAK;QACd,OAAO,EAAE;YACP,iBAAiB,EAAE,GAAG;YACtB,YAAY,EAAE,GAAG;YACjB,mBAAmB,EAAE,IAAI;YACzB,cAAc,EAAE,IAAI;SACrB;QACD,UAAU,EAAE;YACV,MAAM,EAAE,EAAE;YACV,MAAM,EAAE,EAAE;YACV,MAAM,EAAE,EAAE;YACV,MAAM,EAAE,EAAE;SACX;KACF;IAED,gEAAgE;IAChE,YAAY,EAAE;QACZ,OAAO,EAAE,KAAK,EAAE,sBAAsB;QACtC,mBAAmB,EAAE,GAAG,EAAE,4BAA4B;QACtD,6FAA6F;QAC7F,iBAAiB,EAAE,IAAI;QACvB,6FAA6F;QAC7F,eAAe,EAAE,IAAI;KACtB;IAED,iBAAiB;IACjB,KAAK,EAAE;QACL,OAAO,EAAE,IAAI;QACb,GAAG,EAAE,sBAAsB;QAC3B,MAAM,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI;KAC5B;IAED,kDAAkD;IAClD,WAAW,EAAE;QACX,OAAO,EAAE,KAAK;KACf;IAED,kBAAkB;IAClB,OAAO,EAAE,KAAK;CACf,CAAC"}
@@ -1,6 +1,6 @@
1
1
  import fs from 'fs';
2
2
  import path from 'path';
3
- import { glob } from 'glob';
3
+ import { glob } from 'node:fs/promises';
4
4
  /**
5
5
  * Parses documentation files and extracts references for validation
6
6
  */
@@ -21,13 +21,17 @@ export class DocumentParser {
21
21
  * Scan all documentation files matching the configured patterns
22
22
  */
23
23
  async scanDocuments() {
24
- const files = await glob(this.config.include || [], {
25
- ignore: this.config.exclude,
26
- cwd: this.config.rootDir,
27
- absolute: true,
28
- });
24
+ const rootDir = this.config.rootDir || process.cwd();
25
+ // @types/node 24 omits followSymlinks, so keep this object inferred until its declarations catch up.
26
+ const globOptions = {
27
+ exclude: this.config.exclude,
28
+ followSymlinks: true,
29
+ cwd: rootDir,
30
+ };
31
+ const files = glob(this.config.include || [], globOptions);
29
32
  const documents = [];
30
- for (const filePath of files) {
33
+ for await (const file of files) {
34
+ const filePath = path.resolve(rootDir, file);
31
35
  let content;
32
36
  try {
33
37
  content = await fs.promises.readFile(filePath, 'utf-8');
@@ -47,7 +51,7 @@ export class DocumentParser {
47
51
  }
48
52
  throw error;
49
53
  }
50
- const relativePath = path.relative(this.config.rootDir || process.cwd(), filePath);
54
+ const relativePath = path.relative(rootDir, filePath);
51
55
  const format = this.detectFormat(filePath);
52
56
  const doc = {
53
57
  path: relativePath,
@@ -1 +1 @@
1
- {"version":3,"file":"documentParser.js","sourceRoot":"","sources":["../../src/parsers/documentParser.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"documentParser.js","sourceRoot":"","sources":["../../src/parsers/documentParser.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  import fs from 'fs';
2
+ import os from 'os';
2
3
  import path from 'path';
3
4
  import { DocumentParser } from './documentParser.js';
4
5
  import { BaseExtractor } from './extractors/baseExtractor.js';
@@ -69,6 +70,45 @@ describe('DocumentParser', () => {
69
70
  expect(docs[0].format).toBe('markdown');
70
71
  expect(docs[0].content).toContain('Hello');
71
72
  });
73
+ it('uses a custom root and excludes matching files', async () => {
74
+ const rootDir = await fs.promises.mkdtemp(path.join(os.tmpdir(), 'doc-freshness-parser-'));
75
+ const includedPath = path.join(rootDir, 'docs', 'included.md');
76
+ const excludedPath = path.join(rootDir, 'docs', 'excluded', 'draft.md');
77
+ try {
78
+ await fs.promises.mkdir(path.dirname(excludedPath), { recursive: true });
79
+ await fs.promises.writeFile(includedPath, '# Included');
80
+ await fs.promises.writeFile(excludedPath, '# Excluded');
81
+ const parser = new DocumentParser({
82
+ rootDir,
83
+ include: ['docs/**/*.md'],
84
+ exclude: ['docs/excluded/**'],
85
+ });
86
+ const docs = await parser.scanDocuments();
87
+ expect(docs).toHaveLength(1);
88
+ expect(docs[0].path).toBe(path.join('docs', 'included.md'));
89
+ expect(docs[0].absolutePath).toBe(includedPath);
90
+ }
91
+ finally {
92
+ await fs.promises.rm(rootDir, { recursive: true, force: true });
93
+ }
94
+ });
95
+ it('scans documents through symlinked directories', async () => {
96
+ const rootDir = await fs.promises.mkdtemp(path.join(os.tmpdir(), 'doc-freshness-parser-symlink-'));
97
+ const targetDir = path.join(rootDir, 'api-docs');
98
+ const linkedDir = path.join(rootDir, 'docs', 'api');
99
+ const documentPath = path.join(targetDir, 'api.md');
100
+ try {
101
+ await fs.promises.mkdir(path.dirname(linkedDir), { recursive: true });
102
+ await fs.promises.mkdir(targetDir);
103
+ await fs.promises.writeFile(documentPath, '# API');
104
+ await fs.promises.symlink(targetDir, linkedDir, 'dir');
105
+ const docs = await new DocumentParser({ rootDir, include: ['docs/**/*.md'] }).scanDocuments();
106
+ expect(docs.map((doc) => doc.path)).toEqual([path.join('docs', 'api', 'api.md')]);
107
+ }
108
+ finally {
109
+ await fs.promises.rm(rootDir, { recursive: true, force: true });
110
+ }
111
+ });
72
112
  it('applies registered extractors to matching documents', async () => {
73
113
  const mdFile = await writeDoc('extract-doc.md', '# Test\n\nContent');
74
114
  const parser = createParser([path.relative(process.cwd(), mdFile)]);
@@ -1 +1 @@
1
- {"version":3,"file":"documentParser.test.js","sourceRoot":"","sources":["../../src/parsers/documentParser.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"documentParser.test.js","sourceRoot":"","sources":["../../src/parsers/documentParser.test.ts"],"names":[],"mappings":"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"}
@@ -18,21 +18,33 @@ describe('ExternalUrlExtractor', () => {
18
18
  expect(refs[0].value).toBe('https://example.com');
19
19
  expect(refs[1].value).toBe('http://test.org/path');
20
20
  });
21
- it('strips trailing punctuation', () => {
22
- const doc = makeDoc('See https://example.com. Also https://test.org,');
23
- const refs = extractor.extract(doc);
24
- expect(refs[0].value).toBe('https://example.com');
25
- expect(refs[1].value).toBe('https://test.org');
26
- });
27
- it('preserves balanced parentheses in Wikipedia-style URLs', () => {
28
- const doc = makeDoc('See https://en.wikipedia.org/wiki/Example_(disambiguation)');
29
- const refs = extractor.extract(doc);
30
- expect(refs[0].value).toBe('https://en.wikipedia.org/wiki/Example_(disambiguation)');
31
- });
32
- it('strips unbalanced trailing parenthesis', () => {
33
- const doc = makeDoc('(visit https://example.com)');
34
- const refs = extractor.extract(doc);
35
- expect(refs[0].value).toBe('https://example.com');
21
+ it.each([
22
+ ['strips trailing punctuation', 'See https://example.com. Also https://test.org,', ['https://example.com', 'https://test.org']],
23
+ [
24
+ 'preserves balanced parentheses in Wikipedia-style URLs',
25
+ 'See https://en.wikipedia.org/wiki/Example_(disambiguation)',
26
+ ['https://en.wikipedia.org/wiki/Example_(disambiguation)'],
27
+ ],
28
+ ['strips unbalanced trailing parenthesis', '(visit https://example.com)', ['https://example.com']],
29
+ ['strips multiple trailing punctuation characters', 'See https://example.com/path...', ['https://example.com/path']],
30
+ [
31
+ 'handles URL ending with semicolon and colon',
32
+ 'Visit https://example.com/page; and https://example.com/other:',
33
+ ['https://example.com/page', 'https://example.com/other'],
34
+ ],
35
+ ['handles multiple unbalanced trailing parens', '(see (https://example.com))', ['https://example.com']],
36
+ ['preserves URL with balanced nested parens', 'https://en.wikipedia.org/wiki/A_(B_(C))', ['https://en.wikipedia.org/wiki/A_(B_(C))']],
37
+ ['strips trailing bracket characters', '[https://example.com/page]', ['https://example.com/page']],
38
+ ['strips trailing brace characters', 'https://example.com/page}', ['https://example.com/page']],
39
+ ['strips trailing single and double quotes', "see 'https://example.com/page'", ['https://example.com/page']],
40
+ [
41
+ 'strips trailing exclamation and question marks',
42
+ 'Visit https://example.com/page! or https://example.com/other?',
43
+ ['https://example.com/page', 'https://example.com/other'],
44
+ ],
45
+ ])('%s', (_name, content, expected) => {
46
+ const refs = extractor.extract(makeDoc(content));
47
+ expect(refs.map((ref) => ref.value)).toEqual(expected);
36
48
  });
37
49
  it('sets correct line numbers', () => {
38
50
  const doc = makeDoc('line1\nhttps://example.com\nline3');
@@ -44,42 +56,5 @@ describe('ExternalUrlExtractor', () => {
44
56
  const refs = extractor.extract(doc);
45
57
  expect(refs[0].value).toBe('https://example.com/page?foo=bar&baz=1#section');
46
58
  });
47
- it('strips multiple trailing punctuation characters', () => {
48
- const doc = makeDoc('See https://example.com/path...');
49
- const refs = extractor.extract(doc);
50
- expect(refs[0].value).toBe('https://example.com/path');
51
- });
52
- it('handles URL ending with semicolon and colon', () => {
53
- const doc = makeDoc('Visit https://example.com/page; and https://example.com/other:');
54
- const refs = extractor.extract(doc);
55
- expect(refs[0].value).toBe('https://example.com/page');
56
- expect(refs[1].value).toBe('https://example.com/other');
57
- });
58
- it('handles multiple unbalanced trailing parens', () => {
59
- const doc = makeDoc('(see (https://example.com))');
60
- const refs = extractor.extract(doc);
61
- expect(refs[0].value).toBe('https://example.com');
62
- });
63
- it('preserves URL with balanced nested parens', () => {
64
- const doc = makeDoc('https://en.wikipedia.org/wiki/A_(B_(C))');
65
- const refs = extractor.extract(doc);
66
- expect(refs[0].value).toBe('https://en.wikipedia.org/wiki/A_(B_(C))');
67
- });
68
- it('strips trailing bracket characters', () => {
69
- const doc = makeDoc('[https://example.com/page]');
70
- const refs = extractor.extract(doc);
71
- expect(refs[0].value).toBe('https://example.com/page');
72
- });
73
- it('strips trailing single and double quotes', () => {
74
- const doc = makeDoc("see 'https://example.com/page'");
75
- const refs = extractor.extract(doc);
76
- expect(refs[0].value).toBe('https://example.com/page');
77
- });
78
- it('strips trailing exclamation and question marks', () => {
79
- const doc = makeDoc('Visit https://example.com/page! or https://example.com/other?');
80
- const refs = extractor.extract(doc);
81
- expect(refs[0].value).toBe('https://example.com/page');
82
- expect(refs[1].value).toBe('https://example.com/other');
83
- });
84
59
  });
85
60
  //# sourceMappingURL=externalUrlExtractor.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"externalUrlExtractor.test.js","sourceRoot":"","sources":["../../../src/parsers/extractors/externalUrlExtractor.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"externalUrlExtractor.test.js","sourceRoot":"","sources":["../../../src/parsers/extractors/externalUrlExtractor.test.ts"],"names":[],"mappings":"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"}