@nanocollective/get-md 1.0.1 → 1.0.3
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 +25 -3
- package/dist/cli.js +2 -2
- package/dist/cli.js.map +1 -1
- package/dist/extractors/metadata-extractor.js +1 -1
- package/dist/extractors/metadata-extractor.js.map +1 -1
- package/dist/extractors/metadata-extractor.spec.d.ts +2 -0
- package/dist/extractors/metadata-extractor.spec.d.ts.map +1 -0
- package/dist/extractors/metadata-extractor.spec.js +486 -0
- package/dist/extractors/metadata-extractor.spec.js.map +1 -0
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -2
- package/dist/index.js.map +1 -1
- package/dist/index.spec.d.ts +2 -0
- package/dist/index.spec.d.ts.map +1 -0
- package/dist/index.spec.js +518 -0
- package/dist/index.spec.js.map +1 -0
- package/dist/optimizers/html-cleaner.js +1 -1
- package/dist/optimizers/html-cleaner.js.map +1 -1
- package/dist/optimizers/html-cleaner.spec.d.ts +2 -0
- package/dist/optimizers/html-cleaner.spec.d.ts.map +1 -0
- package/dist/optimizers/html-cleaner.spec.js +351 -0
- package/dist/optimizers/html-cleaner.spec.js.map +1 -0
- package/dist/optimizers/llm-formatter.js +2 -2
- package/dist/optimizers/llm-formatter.js.map +1 -1
- package/dist/optimizers/llm-formatter.spec.d.ts +2 -0
- package/dist/optimizers/llm-formatter.spec.d.ts.map +1 -0
- package/dist/optimizers/llm-formatter.spec.js +276 -0
- package/dist/optimizers/llm-formatter.spec.js.map +1 -0
- package/dist/optimizers/structure-enhancer.js +3 -3
- package/dist/optimizers/structure-enhancer.js.map +1 -1
- package/dist/optimizers/structure-enhancer.spec.d.ts +2 -0
- package/dist/optimizers/structure-enhancer.spec.d.ts.map +1 -0
- package/dist/optimizers/structure-enhancer.spec.js +331 -0
- package/dist/optimizers/structure-enhancer.spec.js.map +1 -0
- package/dist/parsers/markdown-parser.d.ts +1 -1
- package/dist/parsers/markdown-parser.d.ts.map +1 -1
- package/dist/parsers/markdown-parser.js +58 -37
- package/dist/parsers/markdown-parser.js.map +1 -1
- package/dist/parsers/markdown-parser.spec.js +106 -98
- package/dist/parsers/markdown-parser.spec.js.map +1 -1
- package/dist/utils/url-fetcher.d.ts.map +1 -1
- package/dist/utils/url-fetcher.js +1 -1
- package/dist/utils/url-fetcher.js.map +1 -1
- package/dist/utils/url-fetcher.spec.d.ts +2 -0
- package/dist/utils/url-fetcher.spec.d.ts.map +1 -0
- package/dist/utils/url-fetcher.spec.js +206 -0
- package/dist/utils/url-fetcher.spec.js.map +1 -0
- package/dist/utils/validators.js +1 -1
- package/dist/utils/validators.js.map +1 -1
- package/dist/utils/validators.spec.d.ts +2 -0
- package/dist/utils/validators.spec.d.ts.map +1 -0
- package/dist/utils/validators.spec.js +290 -0
- package/dist/utils/validators.spec.js.map +1 -0
- package/package.json +8 -14
|
@@ -200,21 +200,21 @@ const LONG_HTML = `
|
|
|
200
200
|
</html>
|
|
201
201
|
`;
|
|
202
202
|
// Basic conversion tests
|
|
203
|
-
test("MarkdownParser: converts simple HTML to markdown", (t) => {
|
|
203
|
+
test("MarkdownParser: converts simple HTML to markdown", async (t) => {
|
|
204
204
|
const parser = new MarkdownParser();
|
|
205
|
-
const result = parser.convert(SIMPLE_HTML);
|
|
205
|
+
const result = await parser.convert(SIMPLE_HTML);
|
|
206
206
|
t.true(result.markdown.includes("# Hello World"));
|
|
207
207
|
t.true(result.markdown.includes("This is a test paragraph"));
|
|
208
208
|
});
|
|
209
|
-
test("MarkdownParser: returns metadata in result", (t) => {
|
|
209
|
+
test("MarkdownParser: returns metadata in result", async (t) => {
|
|
210
210
|
const parser = new MarkdownParser();
|
|
211
|
-
const result = parser.convert(SIMPLE_HTML);
|
|
211
|
+
const result = await parser.convert(SIMPLE_HTML);
|
|
212
212
|
t.truthy(result.metadata);
|
|
213
213
|
t.is(typeof result.metadata, "object");
|
|
214
214
|
});
|
|
215
|
-
test("MarkdownParser: returns stats in result", (t) => {
|
|
215
|
+
test("MarkdownParser: returns stats in result", async (t) => {
|
|
216
216
|
const parser = new MarkdownParser();
|
|
217
|
-
const result = parser.convert(SIMPLE_HTML);
|
|
217
|
+
const result = await parser.convert(SIMPLE_HTML);
|
|
218
218
|
t.truthy(result.stats);
|
|
219
219
|
t.is(typeof result.stats.inputLength, "number");
|
|
220
220
|
t.is(typeof result.stats.outputLength, "number");
|
|
@@ -224,9 +224,9 @@ test("MarkdownParser: returns stats in result", (t) => {
|
|
|
224
224
|
t.is(typeof result.stats.linkCount, "number");
|
|
225
225
|
});
|
|
226
226
|
// Code block tests
|
|
227
|
-
test("MarkdownParser: converts code blocks with language detection", (t) => {
|
|
227
|
+
test("MarkdownParser: converts code blocks with language detection", async (t) => {
|
|
228
228
|
const parser = new MarkdownParser();
|
|
229
|
-
const result = parser.convert(HTML_WITH_CODE);
|
|
229
|
+
const result = await parser.convert(HTML_WITH_CODE);
|
|
230
230
|
// Code blocks may have extra newlines due to post-processing
|
|
231
231
|
t.true(result.markdown.includes("```javascript") ||
|
|
232
232
|
result.markdown.includes("```\n\nconst x = 42;"));
|
|
@@ -235,79 +235,81 @@ test("MarkdownParser: converts code blocks with language detection", (t) => {
|
|
|
235
235
|
result.markdown.includes('print("hello")'));
|
|
236
236
|
t.true(result.markdown.includes('print("hello")'));
|
|
237
237
|
});
|
|
238
|
-
test("MarkdownParser: handles code blocks without language", (t) => {
|
|
238
|
+
test("MarkdownParser: handles code blocks without language", async (t) => {
|
|
239
239
|
const parser = new MarkdownParser();
|
|
240
|
-
const result = parser.convert(HTML_WITH_CODE);
|
|
240
|
+
const result = await parser.convert(HTML_WITH_CODE);
|
|
241
241
|
t.true(result.markdown.includes("plain code"));
|
|
242
242
|
t.true(result.markdown.includes("```"));
|
|
243
243
|
});
|
|
244
|
-
test("MarkdownParser: extracts clean code from GitHub data attributes", (t) => {
|
|
244
|
+
test("MarkdownParser: extracts clean code from GitHub data attributes", async (t) => {
|
|
245
245
|
const parser = new MarkdownParser();
|
|
246
|
-
const result = parser.convert(HTML_WITH_GITHUB_CODE);
|
|
246
|
+
const result = await parser.convert(HTML_WITH_GITHUB_CODE);
|
|
247
247
|
// Should use clean code from data attribute, not HTML-escaped version
|
|
248
248
|
// Note: The actual implementation correctly extracts clean code
|
|
249
249
|
t.true(result.markdown.includes("const clean"));
|
|
250
250
|
t.true(result.markdown.includes("true"));
|
|
251
251
|
});
|
|
252
|
-
test("MarkdownParser: wraps bare pre tags in code elements", (t) => {
|
|
252
|
+
test("MarkdownParser: wraps bare pre tags in code elements", async (t) => {
|
|
253
253
|
const parser = new MarkdownParser();
|
|
254
|
-
const result = parser.convert(HTML_WITH_BARE_PRE);
|
|
254
|
+
const result = await parser.convert(HTML_WITH_BARE_PRE);
|
|
255
255
|
t.true(result.markdown.includes("```"));
|
|
256
256
|
t.true(result.markdown.includes("function test()"));
|
|
257
257
|
});
|
|
258
258
|
// Image tests
|
|
259
|
-
test("MarkdownParser: converts images with alt text", (t) => {
|
|
259
|
+
test("MarkdownParser: converts images with alt text", async (t) => {
|
|
260
260
|
const parser = new MarkdownParser();
|
|
261
|
-
const result = parser.convert(HTML_WITH_IMAGES);
|
|
261
|
+
const result = await parser.convert(HTML_WITH_IMAGES);
|
|
262
262
|
// Images may have leading slash if baseUrl processing adds it
|
|
263
263
|
t.true(result.markdown.includes("![Test image]") &&
|
|
264
264
|
result.markdown.includes("test.jpg"));
|
|
265
265
|
});
|
|
266
|
-
test("MarkdownParser: includes image title when present", (t) => {
|
|
266
|
+
test("MarkdownParser: includes image title when present", async (t) => {
|
|
267
267
|
const parser = new MarkdownParser();
|
|
268
|
-
const result = parser.convert(HTML_WITH_IMAGES);
|
|
268
|
+
const result = await parser.convert(HTML_WITH_IMAGES);
|
|
269
269
|
t.true(result.markdown.includes('"Test title"'));
|
|
270
270
|
});
|
|
271
|
-
test("MarkdownParser: handles lazy-loaded images with data-src", (t) => {
|
|
271
|
+
test("MarkdownParser: handles lazy-loaded images with data-src", async (t) => {
|
|
272
272
|
const parser = new MarkdownParser();
|
|
273
|
-
const result = parser.convert(HTML_WITH_IMAGES);
|
|
273
|
+
const result = await parser.convert(HTML_WITH_IMAGES);
|
|
274
274
|
// Lazy loaded images should be extracted (might use data-src or fallback to src)
|
|
275
275
|
t.true(result.markdown.includes("real.jpg") ||
|
|
276
276
|
result.markdown.includes("lazy.jpg"));
|
|
277
277
|
});
|
|
278
|
-
test("MarkdownParser: removes images when includeImages is false", (t) => {
|
|
278
|
+
test("MarkdownParser: removes images when includeImages is false", async (t) => {
|
|
279
279
|
const parser = new MarkdownParser();
|
|
280
|
-
const result = parser.convert(HTML_WITH_IMAGES, {
|
|
280
|
+
const result = await parser.convert(HTML_WITH_IMAGES, {
|
|
281
|
+
includeImages: false,
|
|
282
|
+
});
|
|
281
283
|
t.false(result.markdown.includes("!["));
|
|
282
284
|
t.false(result.markdown.includes("test.jpg"));
|
|
283
285
|
t.is(result.stats.imageCount, 0);
|
|
284
286
|
});
|
|
285
287
|
// Link tests
|
|
286
|
-
test("MarkdownParser: converts links to markdown format", (t) => {
|
|
288
|
+
test("MarkdownParser: converts links to markdown format", async (t) => {
|
|
287
289
|
const parser = new MarkdownParser();
|
|
288
|
-
const result = parser.convert(HTML_WITH_LINKS);
|
|
290
|
+
const result = await parser.convert(HTML_WITH_LINKS);
|
|
289
291
|
// Links should be converted (may have trailing slash)
|
|
290
292
|
t.true(result.markdown.includes("[Example Link]") &&
|
|
291
293
|
result.markdown.includes("https://example.com"));
|
|
292
294
|
});
|
|
293
|
-
test("MarkdownParser: removes links but keeps text when includeLinks is false", (t) => {
|
|
295
|
+
test("MarkdownParser: removes links but keeps text when includeLinks is false", async (t) => {
|
|
294
296
|
const parser = new MarkdownParser();
|
|
295
|
-
const result = parser.convert(HTML_WITH_LINKS, { includeLinks: false });
|
|
297
|
+
const result = await parser.convert(HTML_WITH_LINKS, { includeLinks: false });
|
|
296
298
|
t.true(result.markdown.includes("Example Link"));
|
|
297
299
|
t.false(result.markdown.includes("[Example Link]"));
|
|
298
300
|
t.false(result.markdown.includes("](https://example.com)"));
|
|
299
301
|
t.is(result.stats.linkCount, 0);
|
|
300
302
|
});
|
|
301
303
|
// Table tests
|
|
302
|
-
test("MarkdownParser: converts tables to markdown format", (t) => {
|
|
304
|
+
test("MarkdownParser: converts tables to markdown format", async (t) => {
|
|
303
305
|
const parser = new MarkdownParser();
|
|
304
|
-
const result = parser.convert(HTML_WITH_TABLE);
|
|
306
|
+
const result = await parser.convert(HTML_WITH_TABLE);
|
|
305
307
|
t.true(result.markdown.includes("| Header 1 | Header 2 | Header 3 |"));
|
|
306
308
|
t.true(result.markdown.includes("| Cell 1 | Cell 2 | Cell 3 |"));
|
|
307
309
|
});
|
|
308
|
-
test("MarkdownParser: handles table alignment", (t) => {
|
|
310
|
+
test("MarkdownParser: handles table alignment", async (t) => {
|
|
309
311
|
const parser = new MarkdownParser();
|
|
310
|
-
const result = parser.convert(HTML_WITH_TABLE);
|
|
312
|
+
const result = await parser.convert(HTML_WITH_TABLE);
|
|
311
313
|
// Check for alignment markers (may vary based on processing)
|
|
312
314
|
const hasLeftAlign = result.markdown.includes("---");
|
|
313
315
|
const hasCenterAlign = result.markdown.includes(":---:") || result.markdown.includes(": ---:");
|
|
@@ -315,122 +317,128 @@ test("MarkdownParser: handles table alignment", (t) => {
|
|
|
315
317
|
// At least check that alignment row exists
|
|
316
318
|
t.true(hasLeftAlign || hasCenterAlign || hasRightAlign);
|
|
317
319
|
});
|
|
318
|
-
test("MarkdownParser: pads table rows to match header length", (t) => {
|
|
320
|
+
test("MarkdownParser: pads table rows to match header length", async (t) => {
|
|
319
321
|
const parser = new MarkdownParser();
|
|
320
|
-
const result = parser.convert(HTML_WITH_TABLE);
|
|
322
|
+
const result = await parser.convert(HTML_WITH_TABLE);
|
|
321
323
|
// Second row has only 2 cells, should be padded to 3
|
|
322
324
|
t.true(result.markdown.includes("| Cell 4 | Cell 5 | |"));
|
|
323
325
|
});
|
|
324
|
-
test("MarkdownParser: handles simple tables without thead", (t) => {
|
|
326
|
+
test("MarkdownParser: handles simple tables without thead", async (t) => {
|
|
325
327
|
const parser = new MarkdownParser();
|
|
326
|
-
const result = parser.convert(HTML_WITH_SIMPLE_TABLE);
|
|
328
|
+
const result = await parser.convert(HTML_WITH_SIMPLE_TABLE);
|
|
327
329
|
t.true(result.markdown.includes("| First | Second |"));
|
|
328
330
|
t.true(result.markdown.includes("| A | B |"));
|
|
329
331
|
});
|
|
330
|
-
test("MarkdownParser: removes tables when includeTables is false", (t) => {
|
|
332
|
+
test("MarkdownParser: removes tables when includeTables is false", async (t) => {
|
|
331
333
|
const parser = new MarkdownParser();
|
|
332
|
-
const result = parser.convert(HTML_WITH_TABLE, {
|
|
334
|
+
const result = await parser.convert(HTML_WITH_TABLE, {
|
|
335
|
+
includeTables: false,
|
|
336
|
+
});
|
|
333
337
|
t.false(result.markdown.includes("| Header 1"));
|
|
334
338
|
t.false(result.markdown.includes("| Cell 1"));
|
|
335
339
|
});
|
|
336
340
|
// Blockquote tests
|
|
337
|
-
test("MarkdownParser: converts blockquotes with proper formatting", (t) => {
|
|
341
|
+
test("MarkdownParser: converts blockquotes with proper formatting", async (t) => {
|
|
338
342
|
const parser = new MarkdownParser();
|
|
339
|
-
const result = parser.convert(HTML_WITH_BLOCKQUOTE);
|
|
343
|
+
const result = await parser.convert(HTML_WITH_BLOCKQUOTE);
|
|
340
344
|
// Blockquotes should have > markers (content may vary based on processing)
|
|
341
345
|
t.true(result.markdown.includes(">"));
|
|
342
346
|
t.true(result.markdown.includes("This is a quote") ||
|
|
343
347
|
result.markdown.includes("quote"));
|
|
344
348
|
});
|
|
345
349
|
// List tests
|
|
346
|
-
test("MarkdownParser: converts unordered lists", (t) => {
|
|
350
|
+
test("MarkdownParser: converts unordered lists", async (t) => {
|
|
347
351
|
const parser = new MarkdownParser();
|
|
348
|
-
const result = parser.convert(HTML_WITH_LISTS);
|
|
352
|
+
const result = await parser.convert(HTML_WITH_LISTS);
|
|
349
353
|
t.true(result.markdown.includes("- Item 1"));
|
|
350
354
|
t.true(result.markdown.includes("- Item 2"));
|
|
351
355
|
});
|
|
352
|
-
test("MarkdownParser: converts ordered lists", (t) => {
|
|
356
|
+
test("MarkdownParser: converts ordered lists", async (t) => {
|
|
353
357
|
const parser = new MarkdownParser();
|
|
354
|
-
const result = parser.convert(HTML_WITH_LISTS);
|
|
358
|
+
const result = await parser.convert(HTML_WITH_LISTS);
|
|
355
359
|
// Ordered lists should contain numbers and content
|
|
356
360
|
t.true(result.markdown.includes("First") && result.markdown.includes("Second"));
|
|
357
361
|
t.true(/\d+\.\s+/.test(result.markdown)); // Contains number followed by dot and space
|
|
358
362
|
});
|
|
359
363
|
// Metadata extraction tests
|
|
360
|
-
test("MarkdownParser: extracts metadata from HTML", (t) => {
|
|
364
|
+
test("MarkdownParser: extracts metadata from HTML", async (t) => {
|
|
361
365
|
const parser = new MarkdownParser();
|
|
362
|
-
const result = parser.convert(HTML_WITH_METADATA);
|
|
366
|
+
const result = await parser.convert(HTML_WITH_METADATA);
|
|
363
367
|
t.is(result.metadata.title, "Article Title");
|
|
364
368
|
t.is(result.metadata.author, "John Doe");
|
|
365
369
|
t.is(result.metadata.siteName, "Test Site");
|
|
366
370
|
});
|
|
367
|
-
test("MarkdownParser: includes metadata as frontmatter by default", (t) => {
|
|
371
|
+
test("MarkdownParser: includes metadata as frontmatter by default", async (t) => {
|
|
368
372
|
const parser = new MarkdownParser();
|
|
369
|
-
const result = parser.convert(HTML_WITH_METADATA);
|
|
373
|
+
const result = await parser.convert(HTML_WITH_METADATA);
|
|
370
374
|
t.true(result.markdown.startsWith("---"));
|
|
371
375
|
t.true(result.markdown.includes("title: Article Title"));
|
|
372
376
|
t.true(result.markdown.includes("---\n\n"));
|
|
373
377
|
});
|
|
374
|
-
test("MarkdownParser: excludes metadata when includeMeta is false", (t) => {
|
|
378
|
+
test("MarkdownParser: excludes metadata when includeMeta is false", async (t) => {
|
|
375
379
|
const parser = new MarkdownParser();
|
|
376
|
-
const result = parser.convert(HTML_WITH_METADATA, {
|
|
380
|
+
const result = await parser.convert(HTML_WITH_METADATA, {
|
|
381
|
+
includeMeta: false,
|
|
382
|
+
});
|
|
377
383
|
t.false(result.markdown.startsWith("---\ntitle:"));
|
|
378
384
|
});
|
|
379
|
-
test("MarkdownParser: calculates word count and reading time", (t) => {
|
|
385
|
+
test("MarkdownParser: calculates word count and reading time", async (t) => {
|
|
380
386
|
const parser = new MarkdownParser();
|
|
381
|
-
const result = parser.convert(SIMPLE_HTML);
|
|
387
|
+
const result = await parser.convert(SIMPLE_HTML);
|
|
382
388
|
t.is(typeof result.metadata.wordCount, "number");
|
|
383
389
|
t.true(result.metadata.wordCount > 0);
|
|
384
390
|
t.is(typeof result.metadata.readingTime, "number");
|
|
385
391
|
t.true(result.metadata.readingTime >= 1);
|
|
386
392
|
});
|
|
387
393
|
// Content extraction tests
|
|
388
|
-
test("MarkdownParser: extracts main content with Readability by default", (t) => {
|
|
394
|
+
test("MarkdownParser: extracts main content with Readability by default", async (t) => {
|
|
389
395
|
const parser = new MarkdownParser();
|
|
390
|
-
const result = parser.convert(HTML_WITH_NOISE);
|
|
396
|
+
const result = await parser.convert(HTML_WITH_NOISE);
|
|
391
397
|
t.true(result.markdown.includes("Main Content"));
|
|
392
398
|
t.is(result.stats.readabilitySuccess, true);
|
|
393
399
|
});
|
|
394
|
-
test("MarkdownParser: skips Readability when extractContent is false", (t) => {
|
|
400
|
+
test("MarkdownParser: skips Readability when extractContent is false", async (t) => {
|
|
395
401
|
const parser = new MarkdownParser();
|
|
396
|
-
const result = parser.convert(HTML_WITH_NOISE, {
|
|
402
|
+
const result = await parser.convert(HTML_WITH_NOISE, {
|
|
403
|
+
extractContent: false,
|
|
404
|
+
});
|
|
397
405
|
// Should include navigation and footer when not extracting
|
|
398
406
|
t.true(result.markdown.includes("Navigation") ||
|
|
399
407
|
result.markdown.includes("Footer"));
|
|
400
408
|
t.is(result.stats.readabilitySuccess, false);
|
|
401
409
|
});
|
|
402
|
-
test("MarkdownParser: handles Readability failure gracefully", (t) => {
|
|
410
|
+
test("MarkdownParser: handles Readability failure gracefully", async (t) => {
|
|
403
411
|
const parser = new MarkdownParser();
|
|
404
412
|
const tinyHtml = "<html><body><p>Too small.</p></body></html>";
|
|
405
|
-
const result = parser.convert(tinyHtml);
|
|
413
|
+
const result = await parser.convert(tinyHtml);
|
|
406
414
|
// Should still produce output even if Readability fails
|
|
407
415
|
t.truthy(result.markdown);
|
|
408
416
|
t.true(result.markdown.length > 0);
|
|
409
417
|
});
|
|
410
418
|
// Empty element removal tests
|
|
411
|
-
test("MarkdownParser: removes empty paragraphs and elements", (t) => {
|
|
419
|
+
test("MarkdownParser: removes empty paragraphs and elements", async (t) => {
|
|
412
420
|
const parser = new MarkdownParser();
|
|
413
|
-
const result = parser.convert(HTML_WITH_EMPTY_ELEMENTS);
|
|
421
|
+
const result = await parser.convert(HTML_WITH_EMPTY_ELEMENTS);
|
|
414
422
|
t.true(result.markdown.includes("Real content"));
|
|
415
423
|
t.true(result.markdown.includes("More content"));
|
|
416
424
|
// Should not have excessive blank lines from empty elements
|
|
417
425
|
t.false(result.markdown.includes("\n\n\n\n"));
|
|
418
426
|
});
|
|
419
427
|
// Post-processing tests
|
|
420
|
-
test("MarkdownParser: removes excessive blank lines", (t) => {
|
|
428
|
+
test("MarkdownParser: removes excessive blank lines", async (t) => {
|
|
421
429
|
const parser = new MarkdownParser();
|
|
422
430
|
const htmlWithBlanks = `<html><body>
|
|
423
431
|
<p>First</p>
|
|
424
432
|
<br><br><br>
|
|
425
433
|
<p>Second</p>
|
|
426
434
|
</body></html>`;
|
|
427
|
-
const result = parser.convert(htmlWithBlanks);
|
|
435
|
+
const result = await parser.convert(htmlWithBlanks);
|
|
428
436
|
// Should not have more than 2 consecutive newlines
|
|
429
437
|
t.false(result.markdown.includes("\n\n\n\n"));
|
|
430
438
|
});
|
|
431
|
-
test("MarkdownParser: ensures proper spacing around code blocks", (t) => {
|
|
439
|
+
test("MarkdownParser: ensures proper spacing around code blocks", async (t) => {
|
|
432
440
|
const parser = new MarkdownParser();
|
|
433
|
-
const result = parser.convert(HTML_WITH_CODE);
|
|
441
|
+
const result = await parser.convert(HTML_WITH_CODE);
|
|
434
442
|
// Code blocks should have blank lines before/after
|
|
435
443
|
const lines = result.markdown.split("\n");
|
|
436
444
|
const codeBlockStarts = lines
|
|
@@ -439,34 +447,34 @@ test("MarkdownParser: ensures proper spacing around code blocks", (t) => {
|
|
|
439
447
|
// At least one code block should exist
|
|
440
448
|
t.true(codeBlockStarts.length > 0);
|
|
441
449
|
});
|
|
442
|
-
test("MarkdownParser: ensures proper spacing around headings", (t) => {
|
|
450
|
+
test("MarkdownParser: ensures proper spacing around headings", async (t) => {
|
|
443
451
|
const parser = new MarkdownParser();
|
|
444
452
|
const htmlWithHeadings = `<html><body>
|
|
445
453
|
<p>Paragraph before</p>
|
|
446
454
|
<h2>Heading</h2>
|
|
447
455
|
<p>Paragraph after</p>
|
|
448
456
|
</body></html>`;
|
|
449
|
-
const result = parser.convert(htmlWithHeadings);
|
|
457
|
+
const result = await parser.convert(htmlWithHeadings);
|
|
450
458
|
// Heading should exist in the output
|
|
451
459
|
t.true(result.markdown.includes("Heading"));
|
|
452
460
|
t.true(result.markdown.includes("Paragraph before"));
|
|
453
461
|
t.true(result.markdown.includes("Paragraph after"));
|
|
454
462
|
});
|
|
455
463
|
// Options tests
|
|
456
|
-
test("MarkdownParser: respects maxLength option", (t) => {
|
|
464
|
+
test("MarkdownParser: respects maxLength option", async (t) => {
|
|
457
465
|
const parser = new MarkdownParser();
|
|
458
|
-
const result = parser.convert(LONG_HTML, { maxLength: 500 });
|
|
466
|
+
const result = await parser.convert(LONG_HTML, { maxLength: 500 });
|
|
459
467
|
t.true(result.markdown.length <= 550); // Some margin for truncation message
|
|
460
468
|
t.true(result.markdown.includes("[Content truncated]"));
|
|
461
469
|
});
|
|
462
|
-
test("MarkdownParser: resolves relative URLs with baseUrl", (t) => {
|
|
470
|
+
test("MarkdownParser: resolves relative URLs with baseUrl", async (t) => {
|
|
463
471
|
const parser = new MarkdownParser();
|
|
464
472
|
const html = '<html><body><a href="/page">Link</a></body></html>';
|
|
465
|
-
const result = parser.convert(html, { baseUrl: "https://example.com" });
|
|
473
|
+
const result = await parser.convert(html, { baseUrl: "https://example.com" });
|
|
466
474
|
t.true(result.markdown.includes("https://example.com/page") ||
|
|
467
475
|
result.markdown.includes("example.com/page"));
|
|
468
476
|
});
|
|
469
|
-
test("MarkdownParser: accepts custom rules", (t) => {
|
|
477
|
+
test("MarkdownParser: accepts custom rules", async (t) => {
|
|
470
478
|
const parser = new MarkdownParser();
|
|
471
479
|
const customRules = [
|
|
472
480
|
{
|
|
@@ -476,45 +484,45 @@ test("MarkdownParser: accepts custom rules", (t) => {
|
|
|
476
484
|
},
|
|
477
485
|
];
|
|
478
486
|
const html = "<html><body><strong>Bold</strong></body></html>";
|
|
479
|
-
const result = parser.convert(html, { customRules });
|
|
487
|
+
const result = await parser.convert(html, { customRules });
|
|
480
488
|
t.true(result.markdown.includes("CUSTOM:Bold"));
|
|
481
489
|
});
|
|
482
490
|
// Edge cases
|
|
483
|
-
test("MarkdownParser: handles empty HTML", (t) => {
|
|
491
|
+
test("MarkdownParser: handles empty HTML", async (t) => {
|
|
484
492
|
const parser = new MarkdownParser();
|
|
485
|
-
const result = parser.convert("");
|
|
493
|
+
const result = await parser.convert("");
|
|
486
494
|
t.truthy(result.markdown);
|
|
487
495
|
t.is(typeof result.markdown, "string");
|
|
488
496
|
});
|
|
489
|
-
test("MarkdownParser: handles HTML without body", (t) => {
|
|
497
|
+
test("MarkdownParser: handles HTML without body", async (t) => {
|
|
490
498
|
const parser = new MarkdownParser();
|
|
491
|
-
const result = parser.convert("<html><head><title>Test</title></head></html>");
|
|
499
|
+
const result = await parser.convert("<html><head><title>Test</title></head></html>");
|
|
492
500
|
t.truthy(result.markdown);
|
|
493
501
|
t.is(typeof result.markdown, "string");
|
|
494
502
|
});
|
|
495
|
-
test("MarkdownParser: handles malformed HTML gracefully", (t) => {
|
|
503
|
+
test("MarkdownParser: handles malformed HTML gracefully", async (t) => {
|
|
496
504
|
const parser = new MarkdownParser();
|
|
497
505
|
const malformed = "<html><body><p>Unclosed paragraph<div>Nested incorrectly</p></div>";
|
|
498
|
-
const result = parser.convert(malformed);
|
|
506
|
+
const result = await parser.convert(malformed);
|
|
499
507
|
t.truthy(result.markdown);
|
|
500
508
|
t.true(result.markdown.length > 0);
|
|
501
509
|
});
|
|
502
|
-
test("MarkdownParser: preserves special characters in text", (t) => {
|
|
510
|
+
test("MarkdownParser: preserves special characters in text", async (t) => {
|
|
503
511
|
const parser = new MarkdownParser();
|
|
504
512
|
const html = "<html><body><p>Price: $100 & €50</p></body></html>";
|
|
505
|
-
const result = parser.convert(html);
|
|
513
|
+
const result = await parser.convert(html);
|
|
506
514
|
t.true(result.markdown.includes("$100"));
|
|
507
515
|
t.true(result.markdown.includes("€50") || result.markdown.includes("&"));
|
|
508
516
|
});
|
|
509
|
-
test("MarkdownParser: handles nested formatting", (t) => {
|
|
517
|
+
test("MarkdownParser: handles nested formatting", async (t) => {
|
|
510
518
|
const parser = new MarkdownParser();
|
|
511
519
|
const html = "<html><body><p><strong>Bold <em>and italic</em></strong></p></body></html>";
|
|
512
|
-
const result = parser.convert(html);
|
|
520
|
+
const result = await parser.convert(html);
|
|
513
521
|
t.true(result.markdown.includes("**"));
|
|
514
522
|
t.true(result.markdown.includes("*"));
|
|
515
523
|
});
|
|
516
524
|
// Multiple option combinations
|
|
517
|
-
test("MarkdownParser: applies multiple options together", (t) => {
|
|
525
|
+
test("MarkdownParser: applies multiple options together", async (t) => {
|
|
518
526
|
const parser = new MarkdownParser();
|
|
519
527
|
const html = `
|
|
520
528
|
<html>
|
|
@@ -526,7 +534,7 @@ test("MarkdownParser: applies multiple options together", (t) => {
|
|
|
526
534
|
</body>
|
|
527
535
|
</html>
|
|
528
536
|
`;
|
|
529
|
-
const result = parser.convert(html, {
|
|
537
|
+
const result = await parser.convert(html, {
|
|
530
538
|
includeImages: false,
|
|
531
539
|
includeLinks: false,
|
|
532
540
|
includeTables: false,
|
|
@@ -539,20 +547,20 @@ test("MarkdownParser: applies multiple options together", (t) => {
|
|
|
539
547
|
t.true(result.markdown.includes("# Test"));
|
|
540
548
|
});
|
|
541
549
|
// Statistics validation
|
|
542
|
-
test("MarkdownParser: provides accurate input/output lengths", (t) => {
|
|
550
|
+
test("MarkdownParser: provides accurate input/output lengths", async (t) => {
|
|
543
551
|
const parser = new MarkdownParser();
|
|
544
|
-
const result = parser.convert(SIMPLE_HTML);
|
|
552
|
+
const result = await parser.convert(SIMPLE_HTML);
|
|
545
553
|
t.is(result.stats.inputLength, SIMPLE_HTML.length);
|
|
546
554
|
t.true(result.stats.outputLength > 0);
|
|
547
555
|
t.is(result.stats.outputLength, result.markdown.length);
|
|
548
556
|
});
|
|
549
|
-
test("MarkdownParser: measures processing time", (t) => {
|
|
557
|
+
test("MarkdownParser: measures processing time", async (t) => {
|
|
550
558
|
const parser = new MarkdownParser();
|
|
551
|
-
const result = parser.convert(SIMPLE_HTML);
|
|
559
|
+
const result = await parser.convert(SIMPLE_HTML);
|
|
552
560
|
t.true(result.stats.processingTime >= 0);
|
|
553
561
|
t.true(result.stats.processingTime < 10000); // Should be under 10 seconds
|
|
554
562
|
});
|
|
555
|
-
test("MarkdownParser: counts images and links correctly", (t) => {
|
|
563
|
+
test("MarkdownParser: counts images and links correctly", async (t) => {
|
|
556
564
|
const parser = new MarkdownParser();
|
|
557
565
|
const html = `
|
|
558
566
|
<html><body>
|
|
@@ -563,15 +571,15 @@ test("MarkdownParser: counts images and links correctly", (t) => {
|
|
|
563
571
|
<a href="/c">Link C</a>
|
|
564
572
|
</body></html>
|
|
565
573
|
`;
|
|
566
|
-
const result = parser.convert(html);
|
|
574
|
+
const result = await parser.convert(html);
|
|
567
575
|
t.is(result.stats.imageCount, 2);
|
|
568
576
|
t.is(result.stats.linkCount, 3);
|
|
569
577
|
});
|
|
570
578
|
// Markdown formatting consistency
|
|
571
|
-
test("MarkdownParser: uses consistent heading style", (t) => {
|
|
579
|
+
test("MarkdownParser: uses consistent heading style", async (t) => {
|
|
572
580
|
const parser = new MarkdownParser();
|
|
573
581
|
const html = "<html><body><h1>H1</h1><h2>H2</h2><h3>H3</h3></body></html>";
|
|
574
|
-
const result = parser.convert(html);
|
|
582
|
+
const result = await parser.convert(html);
|
|
575
583
|
// Headings should exist (checking content rather than exact formatting)
|
|
576
584
|
t.true(result.markdown.includes("H1"));
|
|
577
585
|
t.true(result.markdown.includes("H2"));
|
|
@@ -579,29 +587,29 @@ test("MarkdownParser: uses consistent heading style", (t) => {
|
|
|
579
587
|
// Should use # style headings
|
|
580
588
|
t.true(result.markdown.includes("#"));
|
|
581
589
|
});
|
|
582
|
-
test("MarkdownParser: uses consistent list markers", (t) => {
|
|
590
|
+
test("MarkdownParser: uses consistent list markers", async (t) => {
|
|
583
591
|
const parser = new MarkdownParser();
|
|
584
|
-
const result = parser.convert(HTML_WITH_LISTS);
|
|
592
|
+
const result = await parser.convert(HTML_WITH_LISTS);
|
|
585
593
|
// Should use - for unordered lists
|
|
586
594
|
t.true(result.markdown.includes("- Item"));
|
|
587
595
|
});
|
|
588
|
-
test("MarkdownParser: ends output with single newline", (t) => {
|
|
596
|
+
test("MarkdownParser: ends output with single newline", async (t) => {
|
|
589
597
|
const parser = new MarkdownParser();
|
|
590
|
-
const result = parser.convert(SIMPLE_HTML);
|
|
598
|
+
const result = await parser.convert(SIMPLE_HTML);
|
|
591
599
|
t.true(result.markdown.endsWith("\n"));
|
|
592
600
|
t.false(result.markdown.endsWith("\n\n"));
|
|
593
601
|
});
|
|
594
602
|
// YAML frontmatter formatting
|
|
595
|
-
test("MarkdownParser: formats frontmatter correctly", (t) => {
|
|
603
|
+
test("MarkdownParser: formats frontmatter correctly", async (t) => {
|
|
596
604
|
const parser = new MarkdownParser();
|
|
597
|
-
const result = parser.convert(HTML_WITH_METADATA);
|
|
605
|
+
const result = await parser.convert(HTML_WITH_METADATA);
|
|
598
606
|
const lines = result.markdown.split("\n");
|
|
599
607
|
t.is(lines[0], "---");
|
|
600
608
|
const closingIndex = lines.indexOf("---", 1);
|
|
601
609
|
t.true(closingIndex > 0);
|
|
602
610
|
t.is(lines[closingIndex + 1], "");
|
|
603
611
|
});
|
|
604
|
-
test("MarkdownParser: escapes special characters in frontmatter values", (t) => {
|
|
612
|
+
test("MarkdownParser: escapes special characters in frontmatter values", async (t) => {
|
|
605
613
|
const parser = new MarkdownParser();
|
|
606
614
|
const html = `
|
|
607
615
|
<html>
|
|
@@ -613,7 +621,7 @@ Line 2">
|
|
|
613
621
|
<body><h1>Content</h1></body>
|
|
614
622
|
</html>
|
|
615
623
|
`;
|
|
616
|
-
const result = parser.convert(html);
|
|
624
|
+
const result = await parser.convert(html);
|
|
617
625
|
// Values with colons or newlines should be quoted
|
|
618
626
|
if (result.markdown.includes("Title: With Colon")) {
|
|
619
627
|
t.true(result.markdown.includes('"Title: With Colon"'));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"markdown-parser.spec.js","sourceRoot":"","sources":["../../src/parsers/markdown-parser.spec.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"markdown-parser.spec.js","sourceRoot":"","sources":["../../src/parsers/markdown-parser.spec.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"url-fetcher.d.ts","sourceRoot":"","sources":["../../src/utils/url-fetcher.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"url-fetcher.d.ts","sourceRoot":"","sources":["../../src/utils/url-fetcher.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAEhD;;GAEG;AACH,wBAAsB,QAAQ,CAC5B,GAAG,EAAE,MAAM,EACX,OAAO,GAAE,YAAiB,GACzB,OAAO,CAAC,MAAM,CAAC,CAwCjB;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAOrD"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"url-fetcher.js","sourceRoot":"","sources":["../../src/utils/url-fetcher.ts"],"names":[],"mappings":"AAAA,2BAA2B;
|
|
1
|
+
{"version":3,"file":"url-fetcher.js","sourceRoot":"","sources":["../../src/utils/url-fetcher.ts"],"names":[],"mappings":"AAAA,2BAA2B;AAE3B,OAAO,EAAE,qBAAqB,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAGzE;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,QAAQ,CAC5B,GAAW,EACX,UAAwB,EAAE;IAE1B,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,qBAAqB,CAAC;IACzD,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,kBAAkB,CAAC;IAC1D,MAAM,eAAe,GAAG,OAAO,CAAC,eAAe,IAAI,IAAI,CAAC;IAExD,MAAM,OAAO,GAA2B;QACtC,YAAY,EAAE,SAAS;QACvB,MAAM,EAAE,iEAAiE;QACzE,iBAAiB,EAAE,gBAAgB;QACnC,iBAAiB,EAAE,mBAAmB;QACtC,GAAG,OAAO,CAAC,OAAO;KACnB,CAAC;IAEF,IAAI,CAAC;QACH,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;QACzC,MAAM,SAAS,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,EAAE,OAAO,CAAC,CAAC;QAEhE,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE;YAChC,OAAO;YACP,MAAM,EAAE,UAAU,CAAC,MAAM;YACzB,QAAQ,EAAE,eAAe,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ;SAChD,CAAC,CAAC;QAEH,YAAY,CAAC,SAAS,CAAC,CAAC;QAExB,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CAAC,QAAQ,QAAQ,CAAC,MAAM,KAAK,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAC;QACrE,CAAC;QAED,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;QACnC,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,KAAK,YAAY,KAAK,EAAE,CAAC;YAC3B,IAAI,KAAK,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;gBAChC,MAAM,IAAI,KAAK,CAAC,yBAAyB,OAAO,IAAI,CAAC,CAAC;YACxD,CAAC;YACD,MAAM,IAAI,KAAK,CAAC,wBAAwB,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;QAC3D,CAAC;QACD,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,UAAU,CAAC,SAAiB;IAC1C,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,SAAS,CAAC,CAAC;QAC/B,OAAO,GAAG,CAAC,QAAQ,KAAK,OAAO,IAAI,GAAG,CAAC,QAAQ,KAAK,QAAQ,CAAC;IAC/D,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"url-fetcher.spec.d.ts","sourceRoot":"","sources":["../../src/utils/url-fetcher.spec.ts"],"names":[],"mappings":""}
|