Skip to content

Commit

Permalink
Fix email labels with final digits
Browse files Browse the repository at this point in the history
Related to micromark/micromark-extension-gfm-autolink-literal#7.
Related to remarkjs/remark#862.
Closes GH-5.

Co-authored-by: Rich Trott <rtrott@gmail.com>
  • Loading branch information
wooorm and Trott committed Sep 24, 2021
1 parent e38f737 commit 7555d45
Show file tree
Hide file tree
Showing 3 changed files with 122 additions and 2 deletions.
8 changes: 6 additions & 2 deletions index.js
Original file line number Diff line number Diff line change
Expand Up @@ -153,8 +153,12 @@ function findUrl(_, protocol, domain, path, match) {
* @param {RegExpMatchObject} match
*/
function findEmail(_, atext, label, match) {
// Not an expected previous character.
if (!previous(match, true) || /[_-]$/.test(label)) {
if (
// Not an expected previous character.
!previous(match, true) ||
// Label ends in not allowed character.
/[_-\d]$/.test(label)
) {
return false
}

Expand Down
39 changes: 39 additions & 0 deletions test/email-tld-digits.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
<p>a@0.0</p>
<p><a href="mailto:a@0.b">a@0.b</a></p>
<p>a@a.29</p>
<p><a href="mailto:a@a.b">a@a.b</a></p>
<p><a href="mailto:a@0.0.c">a@0.0.c</a></p>
<p>react@0.11.1</p>
<p>react@0.12.0-rc1</p>
<p>react@0.14.0-alpha1</p>
<p>react@16.7.0-alpha.2</p>
<p>react@0.0.0-experimental-aae83a4b9</p>
<p>[ react@0.11.1</p>
<p>[ react@0.12.0-rc1</p>
<p>[ react@0.14.0-alpha1</p>
<p>[ react@16.7.0-alpha.2</p>
<p>[ react@0.0.0-experimental-aae83a4b9</p>
<hr>
<p>react@a</p>
<p>react@1</p>
<p><a href="mailto:react@1.a">react@1.a</a></p>
<p>react@1.1</p>
<p><a href="mailto:react@1.a-b">react@1.a-b</a></p>
<p><a href="mailto:react@1.a1b">react@1.a1b</a></p>
<p><a href="mailto:react@1.1-b">react@1.1-b</a></p>
<p><a href="mailto:react@1.1-alpha">react@1.1-alpha</a></p>
<p>react@1.1-alpha1</p>
<p><a href="mailto:react@1.1-a">react@1.1-a</a></p>
<p>react@1.a-1</p>
<hr>
<p>[ react@a</p>
<p>[ react@1</p>
<p>[ <a href="mailto:react@1.a">react@1.a</a></p>
<p>[ react@1.1</p>
<p>[ <a href="mailto:react@1.a-b">react@1.a-b</a></p>
<p>[ <a href="mailto:react@1.a1b">react@1.a1b</a></p>
<p>[ <a href="mailto:react@1.1-b">react@1.1-b</a></p>
<p>[ <a href="mailto:react@1.1-alpha">react@1.1-alpha</a></p>
<p>[ react@1.1-alpha1</p>
<p>[ <a href="mailto:react@1.1-a">react@1.1-a</a></p>
<p>[ react@1.a-1</p>
77 changes: 77 additions & 0 deletions test/email-tld-digits.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,77 @@
a@0.0

a@0.b

a@a.29

a@a.b

a@0.0.c

react@0.11.1

react@0.12.0-rc1

react@0.14.0-alpha1

react@16.7.0-alpha.2

react@0.0.0-experimental-aae83a4b9

[ react@0.11.1

[ react@0.12.0-rc1

[ react@0.14.0-alpha1

[ react@16.7.0-alpha.2

[ react@0.0.0-experimental-aae83a4b9

---

react@a

react@1

react@1.a

react@1.1

react@1.a-b

react@1.a1b

react@1.1-b

react@1.1-alpha

react@1.1-alpha1

react@1.1-a

react@1.a-1

---

[ react@a

[ react@1

[ react@1.a

[ react@1.1

[ react@1.a-b

[ react@1.a1b

[ react@1.1-b

[ react@1.1-alpha

[ react@1.1-alpha1

[ react@1.1-a

[ react@1.a-1

0 comments on commit 7555d45

Please sign in to comment.