@mintlify/scraping 4.0.1120 → 4.0.1121

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.
@@ -82,20 +82,95 @@ const personHtml = page(
82
82
  </section>`
83
83
  );
84
84
 
85
+ const greetingFailedHtml = page(
86
+ 'GreetingFailedException',
87
+ `<div class="header">
88
+ <h1 title="Class GreetingFailedException" class="title">Class GreetingFailedException</h1>
89
+ </div>
90
+ <section class="class-description" id="class-description">
91
+ <div class="type-signature"><span class="modifiers">public class </span><span class="element-name type-name-label">GreetingFailedException</span><span class="extends-implements">extends RuntimeException</span></div>
92
+ <div class="block">Thrown when a greeting cannot be built.</div>
93
+ </section>`
94
+ );
95
+
96
+ const tabbedSummary = page(
97
+ 'com.example',
98
+ `<h1>Package com.example</h1>
99
+ <div id="class-summary">
100
+ <div class="table-tabs" role="tablist"><button id="class-summary-tab0" class="active-table-tab">All Classes and Interfaces</button><button id="class-summary-tab1" class="table-tab">Interfaces</button><button id="class-summary-tab2" class="table-tab">Classes</button><button id="class-summary-tab5" class="table-tab">Exceptions</button></div>
101
+ <div class="summary-table two-column-summary">
102
+ <div class="table-header col-first">Class</div>
103
+ <div class="table-header col-last">Description</div>
104
+ <div class="col-first even-row-color class-summary class-summary-tab2"><a href="Greeter.html" title="class in com.example">Greeter</a></div>
105
+ <div class="col-last even-row-color class-summary class-summary-tab2"><div class="block">Greets a <a href="Person.html">Person</a>.</div></div>
106
+ <div class="col-first odd-row-color class-summary class-summary-tab5"><a href="GreetingFailedException.html" title="class in com.example">GreetingFailedException</a></div>
107
+ <div class="col-last odd-row-color class-summary class-summary-tab5"><div class="block">Thrown by <a href="Greeter.html">Greeter</a>.</div></div>
108
+ <div class="col-first even-row-color class-summary class-summary-tab1"><a href="Person.html" title="interface in com.example">Person</a></div>
109
+ <div class="col-last even-row-color class-summary class-summary-tab1"><div class="block">A person.</div></div>
110
+ </div>
111
+ </div>`
112
+ );
113
+
114
+ const legacySummary = page(
115
+ 'com.example',
116
+ `<h1 class="title">Package com.example</h1>
117
+ <div class="contentContainer">
118
+ <table class="typeSummary">
119
+ <caption><span>Interface Summary</span><span class="tabEnd">&nbsp;</span></caption>
120
+ <tr><th class="colFirst" scope="col">Interface</th><th class="colLast" scope="col">Description</th></tr>
121
+ <tbody>
122
+ <tr class="altColor"><td class="colFirst"><a href="../../com/example/Person.html" title="interface in com.example">Person</a></td><td class="colLast"><div class="block">A person.</div></td></tr>
123
+ </tbody>
124
+ </table>
125
+ <table class="typeSummary">
126
+ <caption><span>Class Summary</span><span class="tabEnd">&nbsp;</span></caption>
127
+ <tr><th class="colFirst" scope="col">Class</th><th class="colLast" scope="col">Description</th></tr>
128
+ <tbody>
129
+ <tr class="altColor"><td class="colFirst"><a href="../../com/example/Greeter.html" title="class in com.example">Greeter</a></td><td class="colLast"><div class="block">Greets a <a href="../../com/example/Person.html">Person</a>.</div></td></tr>
130
+ </tbody>
131
+ </table>
132
+ <table class="typeSummary">
133
+ <caption><span>Exception Summary</span><span class="tabEnd">&nbsp;</span></caption>
134
+ <tr><th class="colFirst" scope="col">Exception</th><th class="colLast" scope="col">Description</th></tr>
135
+ <tbody>
136
+ <tr class="altColor"><td class="colFirst"><a href="../../com/example/GreetingFailedException.html" title="class in com.example">GreetingFailedException</a></td><td class="colLast"><div class="block">Thrown by <a href="../../com/example/Greeter.html">Greeter</a>.</div></td></tr>
137
+ </tbody>
138
+ </table>
139
+ </div>`
140
+ );
141
+
142
+ async function writePackage(summary: string | undefined, extraTypes = true): Promise<string> {
143
+ const root = await fse.mkdtemp(path.join(os.tmpdir(), 'javadoc-test-'));
144
+ await fse.writeFile(path.join(root, 'element-list'), 'com.example\n');
145
+ const pkgDir = path.join(root, 'com', 'example');
146
+ await fse.mkdirp(pkgDir);
147
+ await fse.writeFile(path.join(pkgDir, 'Greeter.html'), greeterHtml);
148
+ if (extraTypes) {
149
+ await fse.writeFile(path.join(pkgDir, 'Person.html'), personHtml);
150
+ await fse.writeFile(path.join(pkgDir, 'GreetingFailedException.html'), greetingFailedHtml);
151
+ }
152
+ if (summary !== undefined) {
153
+ await fse.writeFile(path.join(pkgDir, 'package-summary.html'), summary);
154
+ }
155
+ return root;
156
+ }
157
+
158
+ const nestedGroups = [
159
+ {
160
+ group: 'com.example',
161
+ pages: [
162
+ { group: 'Interfaces', pages: ['com-example/Person'] },
163
+ { group: 'Classes', pages: ['com-example/Greeter'] },
164
+ { group: 'Exceptions', pages: ['com-example/GreetingFailedException'] },
165
+ ],
166
+ },
167
+ ];
168
+
85
169
  let dir: string;
86
170
  let ref: SdkReference;
87
171
 
88
172
  beforeAll(async () => {
89
- dir = await fse.mkdtemp(path.join(os.tmpdir(), 'javadoc-test-'));
90
- await fse.writeFile(path.join(dir, 'element-list'), 'com.example\n');
91
- const pkgDir = path.join(dir, 'com', 'example');
92
- await fse.mkdirp(pkgDir);
93
- await fse.writeFile(path.join(pkgDir, 'Greeter.html'), greeterHtml);
94
- await fse.writeFile(path.join(pkgDir, 'Person.html'), personHtml);
95
- await fse.writeFile(
96
- path.join(pkgDir, 'package-summary.html'),
97
- page('com.example', '<h1>Package com.example</h1>')
98
- );
173
+ dir = await writePackage(tabbedSummary);
99
174
  ref = await convertJavadoc(dir);
100
175
  });
101
176
 
@@ -107,14 +182,51 @@ describe('convertJavadoc', () => {
107
182
  it('emits one page per type with package-based slugs', () => {
108
183
  expect(ref.pages.map((p) => p.slug).sort()).toEqual([
109
184
  'com-example/Greeter',
185
+ 'com-example/GreetingFailedException',
110
186
  'com-example/Person',
111
187
  ]);
112
188
  });
113
189
 
114
- it('groups types by package', () => {
115
- expect(ref.groups).toEqual([
116
- { group: 'com.example', pages: ['com-example/Greeter', 'com-example/Person'] },
190
+ it('nests each package by kind in javadoc order from the tabbed package summary', () => {
191
+ expect(ref.groups).toEqual(nestedGroups);
192
+ });
193
+
194
+ it('reads kinds from a legacy caption-style package summary', async () => {
195
+ const root = await writePackage(legacySummary);
196
+ const legacy = await convertJavadoc(root);
197
+ expect(legacy.groups).toEqual(nestedGroups);
198
+ expect(legacy.pages.find((p) => p.slug === 'com-example/GreetingFailedException')?.tag).toBe(
199
+ 'EXCEPTION'
200
+ );
201
+ await fse.rm(root, { recursive: true, force: true });
202
+ });
203
+
204
+ it('keeps a package flat when it only has one kind', async () => {
205
+ const root = await writePackage(tabbedSummary, false);
206
+ const single = await convertJavadoc(root);
207
+ expect(single.groups).toEqual([{ group: 'com.example', pages: ['com-example/Greeter'] }]);
208
+ await fse.rm(root, { recursive: true, force: true });
209
+ });
210
+
211
+ it('falls back to page headings when the package summary is missing', async () => {
212
+ const root = await writePackage(undefined);
213
+ const fallback = await convertJavadoc(root);
214
+ expect(fallback.groups).toEqual([
215
+ {
216
+ group: 'com.example',
217
+ pages: [
218
+ { group: 'Interfaces', pages: ['com-example/Person'] },
219
+ {
220
+ group: 'Classes',
221
+ pages: ['com-example/Greeter', 'com-example/GreetingFailedException'],
222
+ },
223
+ ],
224
+ },
117
225
  ]);
226
+ expect(fallback.pages.find((p) => p.slug === 'com-example/GreetingFailedException')?.tag).toBe(
227
+ 'CLASS'
228
+ );
229
+ await fse.rm(root, { recursive: true, force: true });
118
230
  });
119
231
 
120
232
  it('extracts title, tag, and first-sentence description', () => {
@@ -124,6 +236,8 @@ describe('convertJavadoc', () => {
124
236
  expect(greeter?.description).toBe('Greets people politely.');
125
237
  const person = ref.pages.find((p) => p.slug === 'com-example/Person');
126
238
  expect(person?.tag).toBe('INTERFACE');
239
+ const failed = ref.pages.find((p) => p.slug === 'com-example/GreetingFailedException');
240
+ expect(failed?.tag).toBe('EXCEPTION');
127
241
  });
128
242
 
129
243
  it('keeps method detail sections and rewrites type links', () => {
@@ -3,6 +3,15 @@ import path from 'node:path';
3
3
  import { htmlToHast } from '../../pipeline/root.js';
4
4
  import { removeHastComments } from '../../utils/hastComments.js';
5
5
  import { hastToMdx } from '../convert.js';
6
+ const KINDS = [
7
+ { kind: 'interface', group: 'Interfaces', tag: 'INTERFACE' },
8
+ { kind: 'class', group: 'Classes', tag: 'CLASS' },
9
+ { kind: 'enum', group: 'Enums', tag: 'ENUM' },
10
+ { kind: 'record', group: 'Records', tag: 'RECORD' },
11
+ { kind: 'exception', group: 'Exceptions', tag: 'EXCEPTION' },
12
+ { kind: 'error', group: 'Errors', tag: 'ERROR' },
13
+ { kind: 'annotation', group: 'Annotations', tag: 'ANNOTATION' },
14
+ ];
6
15
  const TYPE_NAME_PATTERN = /^[A-Za-z_$][\w$]*(\.[A-Za-z_$][\w$]*)*$/;
7
16
  const DROPPED_CLASSES = new Set([
8
17
  'summary',
@@ -17,25 +26,116 @@ export async function convertJavadoc(sourcePath) {
17
26
  throw new Error(`No javadoc types found in ${sourcePath}`);
18
27
  }
19
28
  const slugByFile = new Map(types.map((type) => [type.file, type.slug]));
29
+ const kindsByPackage = new Map();
20
30
  const pages = [];
21
31
  const byPackage = new Map();
22
32
  for (const type of types) {
23
33
  const html = await fse.readFile(path.join(sourcePath, type.file), 'utf8');
24
- pages.push(renderPage(type, html, slugByFile));
34
+ let packageKinds = kindsByPackage.get(type.pkg);
35
+ if (!packageKinds) {
36
+ packageKinds = await readPackageKinds(sourcePath, type.pkg);
37
+ kindsByPackage.set(type.pkg, packageKinds);
38
+ }
39
+ const page = renderPage(type, html, slugByFile, packageKinds.get(type.name));
40
+ type.kind = page.kind;
41
+ pages.push(page);
25
42
  const siblings = byPackage.get(type.pkg) ?? [];
26
43
  siblings.push(type);
27
44
  byPackage.set(type.pkg, siblings);
28
45
  }
29
46
  const groups = [...byPackage.entries()]
30
47
  .sort(([left], [right]) => left.localeCompare(right))
31
- .map(([pkg, members]) => ({
32
- group: pkg,
33
- pages: members
34
- .sort((left, right) => left.name.localeCompare(right.name))
35
- .map((member) => member.slug),
36
- }));
48
+ .map(([pkg, members]) => ({ group: pkg, pages: packageEntries(members) }));
37
49
  return { pages, groups };
38
50
  }
51
+ function packageEntries(members) {
52
+ const sorted = [...members].sort((left, right) => left.name.localeCompare(right.name));
53
+ const buckets = KINDS.map((entry) => ({
54
+ group: entry.group,
55
+ pages: sorted.filter((member) => member.kind === entry.kind).map((member) => member.slug),
56
+ })).filter((bucket) => bucket.pages.length > 0);
57
+ if (buckets.length <= 1)
58
+ return sorted.map((member) => member.slug);
59
+ return buckets;
60
+ }
61
+ async function readPackageKinds(root, pkg) {
62
+ const summaryPath = path.join(root, ...pkg.split('.'), 'package-summary.html');
63
+ if (!(await fse.pathExists(summaryPath)))
64
+ return new Map();
65
+ const hast = htmlToHast(await fse.readFile(summaryPath, 'utf8'));
66
+ const kinds = new Map();
67
+ const record = (container, kind) => {
68
+ const cells = hasClass(container, 'col-first') || hasClass(container, 'colFirst');
69
+ visitElements(container, (el) => {
70
+ if (!cells && !hasClass(el, 'col-first') && !hasClass(el, 'colFirst'))
71
+ return;
72
+ visitElements(el, (anchor) => recordAnchor(anchor, kind));
73
+ });
74
+ if (cells)
75
+ visitElements(container, (anchor) => recordAnchor(anchor, kind));
76
+ };
77
+ const recordAnchor = (el, kind) => {
78
+ if (el.tagName !== 'a' || typeof el.properties.href !== 'string')
79
+ return;
80
+ const href = el.properties.href.split(/[?#]/)[0] ?? '';
81
+ if (!href.endsWith('.html') || /^[a-z][a-z0-9+.-]*:/i.test(href))
82
+ return;
83
+ const name = path.posix.basename(href, '.html');
84
+ if (TYPE_NAME_PATTERN.test(name) && !kinds.has(name))
85
+ kinds.set(name, kind);
86
+ };
87
+ const kindByTab = new Map();
88
+ visitElements(hast, (el) => {
89
+ const id = el.properties?.id;
90
+ if (el.tagName !== 'button' || typeof id !== 'string' || !/^class-summary-tab\d+$/.test(id)) {
91
+ return;
92
+ }
93
+ const kind = kindFromLabel(textOf(el));
94
+ if (kind)
95
+ kindByTab.set(id, kind);
96
+ });
97
+ if (kindByTab.size > 0) {
98
+ visitElements(hast, (el) => {
99
+ const tab = elementClasses(el).find((name) => kindByTab.has(name));
100
+ if (tab)
101
+ record(el, kindByTab.get(tab));
102
+ });
103
+ return kinds;
104
+ }
105
+ visitElements(hast, (el) => {
106
+ if (el.tagName !== 'table')
107
+ return;
108
+ const caption = findElement(el, (child) => child.tagName === 'caption');
109
+ const kind = caption ? kindFromLabel(textOf(caption)) : undefined;
110
+ if (kind)
111
+ record(el, kind);
112
+ });
113
+ return kinds;
114
+ }
115
+ function kindFromLabel(label) {
116
+ const text = label
117
+ .replace(/\u00a0/g, ' ')
118
+ .replace(/\s+/g, ' ')
119
+ .trim()
120
+ .toLowerCase();
121
+ if (text.startsWith('all '))
122
+ return undefined;
123
+ if (text.startsWith('interface'))
124
+ return 'interface';
125
+ if (text.startsWith('class'))
126
+ return 'class';
127
+ if (text.startsWith('enum'))
128
+ return 'enum';
129
+ if (text.startsWith('record'))
130
+ return 'record';
131
+ if (text.startsWith('exception'))
132
+ return 'exception';
133
+ if (text.startsWith('error'))
134
+ return 'error';
135
+ if (text.startsWith('annotation'))
136
+ return 'annotation';
137
+ return undefined;
138
+ }
39
139
  async function discoverTypes(root) {
40
140
  const entries = (await typesFromSearchIndex(root)) ?? (await typesFromPackageDirs(root));
41
141
  const seen = new Set();
@@ -116,9 +216,10 @@ function makeType(pkg, name) {
116
216
  name,
117
217
  file: `${pkg.split('.').join('/')}/${name}.html`,
118
218
  slug: `${pkg.replace(/\./g, '-')}/${name}`,
219
+ kind: 'class',
119
220
  };
120
221
  }
121
- function renderPage(type, html, slugByFile) {
222
+ function renderPage(type, html, slugByFile, summaryKind) {
122
223
  const hast = htmlToHast(html);
123
224
  removeHastComments(hast);
124
225
  const main = findElement(hast, (el) => el.tagName === 'main') ??
@@ -129,7 +230,8 @@ function renderPage(type, html, slugByFile) {
129
230
  findElement(main, (el) => hasClass(el, 'description'));
130
231
  const details = findElement(main, (el) => hasClass(el, 'details'));
131
232
  const description = extractDescription(declaration);
132
- const tag = extractTag(main);
233
+ const kind = summaryKind ?? kindFromHeading(main);
234
+ const tag = KINDS.find((entry) => entry.kind === kind)?.tag ?? 'CLASS';
133
235
  const kept = [declaration, details].filter((node) => node !== undefined);
134
236
  const anchors = collectDetailAnchors(kept);
135
237
  const resolveHref = makeHrefResolver(type, slugByFile, anchors);
@@ -147,7 +249,7 @@ function renderPage(type, html, slugByFile) {
147
249
  .split(`\`\`\`\n${signature}\n\`\`\``)
148
250
  .join(`\`\`\`java\n${signature}\n\`\`\``);
149
251
  }
150
- return { slug: type.slug, title: type.name, description, tag, content };
252
+ return { slug: type.slug, title: type.name, description, tag, content, kind };
151
253
  }
152
254
  function makeHrefResolver(type, slugByFile, anchors) {
153
255
  const pkgDir = type.pkg.split('.').join('/');
@@ -254,16 +356,18 @@ function codifySignatures(node) {
254
356
  });
255
357
  return signatures;
256
358
  }
257
- function extractTag(scope) {
359
+ function kindFromHeading(scope) {
258
360
  const heading = findElement(scope, (el) => el.tagName === 'h1');
259
361
  const title = heading ? textOf(heading).trim() : '';
260
362
  if (title.startsWith('Annotation'))
261
- return 'ANNOTATION';
363
+ return 'annotation';
262
364
  if (title.startsWith('Enum'))
263
- return 'ENUM';
365
+ return 'enum';
264
366
  if (title.startsWith('Interface'))
265
- return 'INTERFACE';
266
- return 'CLASS';
367
+ return 'interface';
368
+ if (title.startsWith('Record'))
369
+ return 'record';
370
+ return 'class';
267
371
  }
268
372
  function extractDescription(declaration) {
269
373
  if (!declaration)
@@ -1 +1 @@
1
- {"version":3,"file":"javadoc.js","sourceRoot":"","sources":["../../../src/sdk/converters/javadoc.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"javadoc.js","sourceRoot":"","sources":["../../../src/sdk/converters/javadoc.ts"],"names":[],"mappings":"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"}