safe-mdx 1.3.3 → 1.3.7

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.
@@ -1 +1 @@
1
- {"version":3,"file":"safe-mdx.d.ts","sourceRoot":"","sources":["../src/safe-mdx.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"safe-mdx.d.ts","sourceRoot":"","sources":["../src/safe-mdx.tsx"],"names":[],"mappings":"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"}
package/dist/safe-mdx.js CHANGED
@@ -85,7 +85,7 @@ export class MdastToJsx {
85
85
  }
86
86
  mapMdastChildren(node) {
87
87
  const res = node.children
88
- ?.flatMap((child) => this.mdastTransformer(child))
88
+ ?.flatMap((child) => this.mdastTransformer(child, node.type))
89
89
  .filter(Boolean);
90
90
  if (Array.isArray(res)) {
91
91
  if (!res.length) {
@@ -161,7 +161,7 @@ export class MdastToJsx {
161
161
  return this.createElement(Component, this.addLineNumberToProps(attrs, node), this.mapJsxChildren(node));
162
162
  }
163
163
  default: {
164
- return this.mdastTransformer(node);
164
+ return this.mdastTransformer(node, 'mdxJsxElement');
165
165
  }
166
166
  }
167
167
  }
@@ -391,19 +391,19 @@ export class MdastToJsx {
391
391
  return attrsList;
392
392
  }
393
393
  run() {
394
- const res = this.mdastTransformer(this.mdast);
394
+ const res = this.mdastTransformer(this.mdast, 'root');
395
395
  if (Array.isArray(res) && res.length === 1) {
396
396
  return res[0];
397
397
  }
398
398
  return res;
399
399
  }
400
- mdastTransformer(node) {
400
+ mdastTransformer(node, parentType) {
401
401
  if (!node) {
402
402
  return [];
403
403
  }
404
404
  // Check for custom transformer first, giving it higher priority
405
405
  if (this.renderNode) {
406
- const customResult = this.renderNode(node, this.mdastTransformer.bind(this));
406
+ const customResult = this.renderNode(node, (n) => this.mdastTransformer(n, node.type));
407
407
  if (customResult !== undefined) {
408
408
  return customResult;
409
409
  }
@@ -615,9 +615,10 @@ export class MdastToJsx {
615
615
  if (!text) {
616
616
  return [];
617
617
  }
618
- // Parse HTML to MDX AST using the new approach
618
+ // Parse HTML to MDX AST using the new approach - always returns an array
619
619
  const mdxAst = htmlToMdxAst({
620
620
  html: text,
621
+ parentType: parentType || 'root',
621
622
  convertTagName: ({ tagName }) => {
622
623
  const lowerTag = tagName.toLowerCase();
623
624
  // Only keep valid HTML elements
@@ -629,12 +630,7 @@ export class MdastToJsx {
629
630
  }
630
631
  });
631
632
  // Process the MDX AST nodes
632
- if (Array.isArray(mdxAst)) {
633
- return mdxAst.map(child => this.mdastTransformer(child));
634
- }
635
- else {
636
- return this.mdastTransformer(mdxAst);
637
- }
633
+ return mdxAst.map(child => this.mdastTransformer(child, parentType));
638
634
  }
639
635
  case 'imageReference': {
640
636
  return [];
@@ -1 +1 @@
1
- {"version":3,"file":"safe-mdx.js","sourceRoot":"","sources":["../src/safe-mdx.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"safe-mdx.js","sourceRoot":"","sources":["../src/safe-mdx.tsx"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "safe-mdx",
3
- "version": "1.3.3",
3
+ "version": "1.3.7",
4
4
  "private": false,
5
5
  "description": "Render MDX in React without eval",
6
6
  "repository": "https://github.com/holocron-hq/safe-mdx",
@@ -48,6 +48,7 @@
48
48
  "remark-mdx": "^3.0.0",
49
49
  "style-to-object": "^1.0.8",
50
50
  "unified": "^11.0.5",
51
+ "unist": "^0.0.1",
51
52
  "unist-util-visit": "^5.0.0",
52
53
  "unist-util-visit-parents": "^6.0.1"
53
54
  },
@@ -124,7 +124,7 @@ describe('parseHtmlToMdxAst', () => {
124
124
  "children": [
125
125
  {
126
126
  "type": "text",
127
- "value": "Hello ",
127
+ "value": "Hello",
128
128
  },
129
129
  {
130
130
  "attributes": [],
@@ -202,7 +202,7 @@ describe('parseHtmlToMdxAst', () => {
202
202
  [
203
203
  {
204
204
  "type": "text",
205
- "value": "Some text ",
205
+ "value": "Some text",
206
206
  },
207
207
  {
208
208
  "attributes": [],
@@ -217,7 +217,7 @@ describe('parseHtmlToMdxAst', () => {
217
217
  },
218
218
  {
219
219
  "type": "text",
220
- "value": " more text",
220
+ "value": "more text",
221
221
  },
222
222
  ]
223
223
  `)
@@ -362,4 +362,394 @@ describe('parseHtmlToMdxAst with markdown processor', () => {
362
362
  }
363
363
  `)
364
364
  })
365
+
366
+ test('normalize plugin without parentType does not apply', () => {
367
+ // Without parentType, normalization should not happen
368
+ const withoutParent = htmlToMdxAst({
369
+ html: '<span>Text</span>'
370
+ })
371
+ // Without normalization, elements remain as initially created (text elements)
372
+ expect(withoutParent).toHaveLength(1)
373
+ expect(withoutParent[0]).toMatchObject({
374
+ type: 'mdxJsxTextElement',
375
+ name: 'span'
376
+ })
377
+ })
378
+
379
+ test('handles indented HTML without preserving indentation', () => {
380
+ const indentedHtml = `
381
+ <columns>
382
+ <column>
383
+ <page url="https://notion.so/page1">Page 1</page>
384
+ Some text
385
+ </column>
386
+ <column>
387
+ <callout icon="💡" color="yellow_bg">
388
+ Important callout
389
+ </callout>
390
+ </column>
391
+ </columns>`
392
+
393
+ const result = parseHtmlToMdxAst({ html: indentedHtml })
394
+ expect(result).toMatchInlineSnapshot(`
395
+ [
396
+ {
397
+ "attributes": [],
398
+ "children": [
399
+ {
400
+ "attributes": [],
401
+ "children": [
402
+ {
403
+ "attributes": [
404
+ {
405
+ "name": "url",
406
+ "type": "mdxJsxAttribute",
407
+ "value": "https://notion.so/page1",
408
+ },
409
+ ],
410
+ "children": [
411
+ {
412
+ "type": "text",
413
+ "value": "Page 1",
414
+ },
415
+ ],
416
+ "name": "page",
417
+ "type": "mdxJsxTextElement",
418
+ },
419
+ {
420
+ "type": "text",
421
+ "value": "Some text",
422
+ },
423
+ ],
424
+ "name": "column",
425
+ "type": "mdxJsxTextElement",
426
+ },
427
+ {
428
+ "attributes": [],
429
+ "children": [
430
+ {
431
+ "attributes": [
432
+ {
433
+ "name": "icon",
434
+ "type": "mdxJsxAttribute",
435
+ "value": "💡",
436
+ },
437
+ {
438
+ "name": "color",
439
+ "type": "mdxJsxAttribute",
440
+ "value": "yellow_bg",
441
+ },
442
+ ],
443
+ "children": [
444
+ {
445
+ "type": "text",
446
+ "value": "Important callout",
447
+ },
448
+ ],
449
+ "name": "callout",
450
+ "type": "mdxJsxTextElement",
451
+ },
452
+ ],
453
+ "name": "column",
454
+ "type": "mdxJsxTextElement",
455
+ },
456
+ ],
457
+ "name": "columns",
458
+ "type": "mdxJsxTextElement",
459
+ },
460
+ ]
461
+ `)
462
+ })
463
+
464
+ test('handles indented HTML with textToMdast', () => {
465
+ const indentedHtml = `
466
+ <div>
467
+ **Bold text** and
468
+ some regular text
469
+ </div>`
470
+
471
+ const receivedTexts: string[] = []
472
+ const textToMdast = ({ text }: { text: string }) => {
473
+ receivedTexts.push(text)
474
+ return [{ type: 'text', value: text } as RootContent]
475
+ }
476
+
477
+ const result = parseHtmlToMdxAst({
478
+ html: indentedHtml,
479
+ textToMdast
480
+ })
481
+
482
+ expect(result).toMatchInlineSnapshot(`
483
+ [
484
+ {
485
+ "attributes": [],
486
+ "children": [
487
+ {
488
+ "type": "text",
489
+ "value": "**Bold text** and
490
+ some regular text",
491
+ },
492
+ ],
493
+ "name": "div",
494
+ "type": "mdxJsxTextElement",
495
+ },
496
+ ]
497
+ `)
498
+
499
+ expect(receivedTexts).toMatchInlineSnapshot(`
500
+ [
501
+ "**Bold text** and
502
+ some regular text",
503
+ ]
504
+ `)
505
+ })
506
+
507
+ test('handles multi-line indented text content', () => {
508
+ const htmlWithMultiLineText = `
509
+ <div>
510
+ This is a multi-line string
511
+ that has indentation on each line
512
+ and should be properly de-indented
513
+
514
+ Even with blank lines in between
515
+ it should maintain the structure
516
+ </div>`
517
+
518
+ const receivedTexts: string[] = []
519
+ const textToMdast = ({ text }: { text: string }) => {
520
+ receivedTexts.push(text)
521
+ return [{ type: 'text', value: text } as RootContent]
522
+ }
523
+
524
+ const result = parseHtmlToMdxAst({
525
+ html: htmlWithMultiLineText,
526
+ textToMdast
527
+ })
528
+
529
+ expect(result).toMatchInlineSnapshot(`
530
+ [
531
+ {
532
+ "attributes": [],
533
+ "children": [
534
+ {
535
+ "type": "text",
536
+ "value": "This is a multi-line string
537
+ that has indentation on each line
538
+ and should be properly de-indented
539
+
540
+ Even with blank lines in between
541
+ it should maintain the structure",
542
+ },
543
+ ],
544
+ "name": "div",
545
+ "type": "mdxJsxTextElement",
546
+ },
547
+ ]
548
+ `)
549
+
550
+ expect(receivedTexts).toMatchInlineSnapshot(`
551
+ [
552
+ "This is a multi-line string
553
+ that has indentation on each line
554
+ and should be properly de-indented
555
+
556
+ Even with blank lines in between
557
+ it should maintain the structure",
558
+ ]
559
+ `)
560
+ })
561
+
562
+ test('handles multi-line text with markdown', () => {
563
+ const htmlWithMultiLineText = `
564
+ <article>
565
+ # Heading
566
+
567
+ This is a paragraph with **bold** text
568
+ that spans multiple lines and has
569
+ markdown formatting.
570
+
571
+ - List item 1
572
+ - List item 2
573
+ </article>`
574
+
575
+ const receivedTexts: string[] = []
576
+ const textToMdast = ({ text }: { text: string }) => {
577
+ receivedTexts.push(text)
578
+ return [{ type: 'text', value: text } as RootContent]
579
+ }
580
+
581
+ const result = parseHtmlToMdxAst({
582
+ html: htmlWithMultiLineText,
583
+ textToMdast
584
+ })
585
+
586
+ expect(result).toMatchInlineSnapshot(`
587
+ [
588
+ {
589
+ "attributes": [],
590
+ "children": [
591
+ {
592
+ "type": "text",
593
+ "value": "# Heading
594
+
595
+ This is a paragraph with **bold** text
596
+ that spans multiple lines and has
597
+ markdown formatting.
598
+
599
+ - List item 1
600
+ - List item 2",
601
+ },
602
+ ],
603
+ "name": "article",
604
+ "type": "mdxJsxTextElement",
605
+ },
606
+ ]
607
+ `)
608
+
609
+ expect(receivedTexts).toMatchInlineSnapshot(`
610
+ [
611
+ "# Heading
612
+
613
+ This is a paragraph with **bold** text
614
+ that spans multiple lines and has
615
+ markdown formatting.
616
+
617
+ - List item 1
618
+ - List item 2",
619
+ ]
620
+ `)
621
+ })
622
+
623
+ test('preserves relative indentation when deindenting', () => {
624
+ const htmlWithRelativeIndent = `
625
+ <pre>
626
+ function example() {
627
+ if (true) {
628
+ console.log('nested');
629
+ }
630
+ }
631
+ </pre>`
632
+
633
+ const receivedTexts: string[] = []
634
+ const textToMdast = ({ text }: { text: string }) => {
635
+ receivedTexts.push(text)
636
+ return [{ type: 'text', value: text } as RootContent]
637
+ }
638
+
639
+ const result = parseHtmlToMdxAst({
640
+ html: htmlWithRelativeIndent,
641
+ textToMdast
642
+ })
643
+
644
+ expect(result).toMatchInlineSnapshot(`
645
+ [
646
+ {
647
+ "attributes": [],
648
+ "children": [
649
+ {
650
+ "type": "text",
651
+ "value": "function example() {
652
+ if (true) {
653
+ console.log('nested');
654
+ }
655
+ }",
656
+ },
657
+ ],
658
+ "name": "pre",
659
+ "type": "mdxJsxTextElement",
660
+ },
661
+ ]
662
+ `)
663
+
664
+ expect(receivedTexts).toMatchInlineSnapshot(`
665
+ [
666
+ "function example() {
667
+ if (true) {
668
+ console.log('nested');
669
+ }
670
+ }",
671
+ ]
672
+ `)
673
+ })
674
+
675
+ test('applies normalize plugin with parentType', () => {
676
+ // Test with a block element inside a paragraph (phrasing context)
677
+ const blockInParagraph = htmlToMdxAst({
678
+ html: '<div>Block in paragraph</div>',
679
+ parentType: 'paragraph'
680
+ })
681
+ // Even though div is a block element, it should remain mdxJsxFlowElement
682
+ // because block-level tags have priority
683
+ expect(blockInParagraph).toHaveLength(1)
684
+ expect(blockInParagraph[0]).toMatchObject({
685
+ type: 'mdxJsxFlowElement',
686
+ name: 'div'
687
+ })
688
+
689
+ // Test with inline element in paragraph (should be text element)
690
+ const inlineInParagraph = htmlToMdxAst({
691
+ html: '<span>Inline in paragraph</span>',
692
+ parentType: 'paragraph'
693
+ })
694
+ expect(inlineInParagraph).toHaveLength(1)
695
+ expect(inlineInParagraph[0]).toMatchObject({
696
+ type: 'mdxJsxTextElement',
697
+ name: 'span'
698
+ })
699
+
700
+ // Test with inline element in root (should be flow element)
701
+ const inlineInRoot = htmlToMdxAst({
702
+ html: '<span>Inline in root</span>',
703
+ parentType: 'root'
704
+ })
705
+ expect(inlineInRoot).toHaveLength(1)
706
+ expect(inlineInRoot[0]).toMatchObject({
707
+ type: 'mdxJsxFlowElement',
708
+ name: 'span'
709
+ })
710
+
711
+ // Test with multiple elements
712
+ const multipleElements = htmlToMdxAst({
713
+ html: '<span>First</span><div>Second</div>',
714
+ parentType: 'paragraph'
715
+ })
716
+ expect(multipleElements).toHaveLength(2)
717
+ expect(multipleElements[0]).toMatchObject({
718
+ type: 'mdxJsxTextElement',
719
+ name: 'span'
720
+ })
721
+ expect(multipleElements[1]).toMatchObject({
722
+ type: 'mdxJsxFlowElement', // div is block-level
723
+ name: 'div'
724
+ })
725
+
726
+ // Test with nested elements - the normalize plugin should handle nested context correctly
727
+ const nestedElements = htmlToMdxAst({
728
+ html: '<div><span>Nested span</span><p><em>Emphasis</em></p></div>',
729
+ parentType: 'root'
730
+ })
731
+
732
+ // The plugin normalizes based on the entire tree structure
733
+ expect(nestedElements).toHaveLength(1)
734
+ expect(nestedElements[0]).toMatchObject({
735
+ type: 'mdxJsxFlowElement',
736
+ name: 'div',
737
+ children: expect.arrayContaining([
738
+ expect.objectContaining({
739
+ type: 'mdxJsxFlowElement', // span in div (flow container) becomes flow
740
+ name: 'span'
741
+ }),
742
+ expect.objectContaining({
743
+ type: 'mdxJsxFlowElement',
744
+ name: 'p',
745
+ children: expect.arrayContaining([
746
+ expect.objectContaining({
747
+ type: 'mdxJsxTextElement', // em in paragraph (phrasing container) becomes text
748
+ name: 'em'
749
+ })
750
+ ])
751
+ })
752
+ ])
753
+ })
754
+ })
365
755
  })