Skip to content

Commit 7d4a788

Browse files
committed
chore: replace ansi-to-react to anser and update dompurify
1 parent f5b6e3f commit 7d4a788

File tree

6 files changed

+39
-67
lines changed

6 files changed

+39
-67
lines changed

katex/package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -83,8 +83,8 @@
8383
"react-dom": ">=16.9.0"
8484
},
8585
"dependencies": {
86-
"ansi-to-react": "^6.1.6",
87-
"dompurify": "^3.0.9",
86+
"anser": "^2.1.1",
87+
"dompurify": "^3.1.6",
8888
"react-markdown": "^9.0.1",
8989
"react-syntax-highlighter": "^15.5.0",
9090
"rehype-katex": "^7.0.0",

katex/yarn.lock

Lines changed: 8 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -3892,10 +3892,10 @@ amdefine@>=0.0.4:
38923892
resolved "https://registry.yarnpkg.com/amdefine/-/amdefine-1.0.1.tgz#4a5282ac164729e93619bcfd3ad151f817ce91f5"
38933893
integrity sha512-S2Hw0TtNkMJhIabBwIojKL9YHO5T0n5eNqWJ7Lrlel/zDbftQpxpapi8tZs3X1HWa+u+QeydGmzzNU0m09+Rcg==
38943894

3895-
anser@^1.4.1:
3896-
version "1.4.10"
3897-
resolved "https://registry.yarnpkg.com/anser/-/anser-1.4.10.tgz#befa3eddf282684bd03b63dcda3927aef8c2e35b"
3898-
integrity sha512-hCv9AqTQ8ycjpSd3upOJd7vFwW1JaoYQ7tpham03GJ1ca8/65rqn0RpaWpItOAd6ylW9wAw6luXYPJIyPFVOww==
3895+
anser@^2.1.1:
3896+
version "2.1.1"
3897+
resolved "https://registry.yarnpkg.com/anser/-/anser-2.1.1.tgz#8afae28d345424c82de89cc0e4d1348eb0c5af7c"
3898+
integrity sha512-nqLm4HxOTpeLOxcmB3QWmV5TcDFhW9y/fyQ+hivtDFcK4OQ+pQ5fzPnXHM1Mfcm0VkLtvVi1TCPr++Qy0Q/3EQ==
38993899

39003900
ansi-colors@^4.1.1:
39013901
version "4.1.1"
@@ -3941,14 +3941,6 @@ ansi-styles@^6.1.0:
39413941
resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-6.2.1.tgz#0e62320cf99c21afff3b3012192546aacbfb05c5"
39423942
integrity sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==
39433943

3944-
ansi-to-react@^6.1.6:
3945-
version "6.1.6"
3946-
resolved "https://registry.yarnpkg.com/ansi-to-react/-/ansi-to-react-6.1.6.tgz#d6fe15ecd4351df626a08121b1646adfe6c02ccb"
3947-
integrity sha512-+HWn72GKydtupxX9TORBedqOMsJRiKTqaLUKW8txSBZw9iBpzPKLI8KOu4WzwD4R7hSv1zEspobY6LwlWvwZ6Q==
3948-
dependencies:
3949-
anser "^1.4.1"
3950-
escape-carriage "^1.3.0"
3951-
39523944
anymatch@^2.0.0:
39533945
version "2.0.0"
39543946
resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-2.0.0.tgz#bcb24b4f37934d9aa7ac17b4adaf89e7c76ef2eb"
@@ -5179,10 +5171,10 @@ domhandler@^4.0.0, domhandler@^4.2.0, domhandler@^4.3.1:
51795171
dependencies:
51805172
domelementtype "^2.2.0"
51815173

5182-
dompurify@^3.0.9:
5183-
version "3.0.9"
5184-
resolved "https://registry.yarnpkg.com/dompurify/-/dompurify-3.0.9.tgz#b3f362f24b99f53498c75d43ecbd784b0b3ad65e"
5185-
integrity sha512-uyb4NDIvQ3hRn6NiC+SIFaP4mJ/MdXlvtunaqK9Bn6dD3RuB/1S/gasEjDHD8eiaqdSael2vBv+hOs7Y+jhYOQ==
5174+
dompurify@^3.1.6:
5175+
version "3.1.6"
5176+
resolved "https://registry.yarnpkg.com/dompurify/-/dompurify-3.1.6.tgz#43c714a94c6a7b8801850f82e756685300a027e2"
5177+
integrity sha512-cTOAhc36AalkjtBpfG6O8JimdTMWNXjiePT2xQH/ppBGi/4uIpmj8eKyIkMJErXWARyINV/sB38yf8JCLF5pbQ==
51865178

51875179
domutils@^2.5.2, domutils@^2.8.0:
51885180
version "2.8.0"
@@ -5420,11 +5412,6 @@ escalade@^3.1.1:
54205412
resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40"
54215413
integrity sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==
54225414

5423-
escape-carriage@^1.3.0:
5424-
version "1.3.0"
5425-
resolved "https://registry.yarnpkg.com/escape-carriage/-/escape-carriage-1.3.0.tgz#71006b2d4da8cb6828686addafcb094239c742f3"
5426-
integrity sha512-ATWi5MD8QlAGQOeMgI8zTp671BG8aKvAC0M7yenlxU4CRLGO/sKthxVUyjiOFKjHdIo+6dZZUNFgHFeVEaKfGQ==
5427-
54285415
escape-html@~1.0.3:
54295416
version "1.0.3"
54305417
resolved "https://registry.yarnpkg.com/escape-html/-/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988"

package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -97,8 +97,8 @@
9797
"react-dom": ">=16.9.0"
9898
},
9999
"dependencies": {
100-
"ansi-to-react": "^6.1.6",
101-
"dompurify": "^3.0.9",
100+
"anser": "^2.1.1",
101+
"dompurify": "^3.1.6",
102102
"react-markdown": "^9.0.1",
103103
"react-syntax-highlighter": "^15.5.0",
104104
"rehype-mathjax": "^6.0.0",

src/components/Cell.tsx

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import React from 'react';
2-
import Ansi from 'ansi-to-react';
2+
import Anser from "anser";
33
import { Prism } from 'react-syntax-highlighter';
44

55
import * as PrismStyles from 'react-syntax-highlighter/dist/esm/styles/prism';
@@ -154,8 +154,17 @@ export const Cell: React.FC<CellProps> = ({ cell, seq }) => {
154154
}
155155
if (output.traceback) {
156156
return (
157-
<div className="output_subarea output_error">
158-
<Ansi>{stringify(output.traceback)}</Ansi>
157+
<div
158+
className="output_subarea output_error"
159+
dangerouslySetInnerHTML={{
160+
__html: htmlFilter(
161+
Anser.ansiToHtml(
162+
Anser.escapeForHtml(
163+
stringify(output.traceback)
164+
),
165+
),
166+
),
167+
}}>
159168
</div>
160169
);
161170
}

src/styles/base.less

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,9 @@
2929
div.inner_cell {
3030
width: 100%;
3131
}
32+
div.output_error {
33+
white-space: pre;
34+
}
3235
div.output_subarea {
3336
&.output_error {
3437
background-color: rgba(255, 0, 0, 0.25);

yarn.lock

Lines changed: 12 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -5076,10 +5076,10 @@ amdefine@>=0.0.4:
50765076
resolved "https://registry.yarnpkg.com/amdefine/-/amdefine-1.0.1.tgz#4a5282ac164729e93619bcfd3ad151f817ce91f5"
50775077
integrity sha512-S2Hw0TtNkMJhIabBwIojKL9YHO5T0n5eNqWJ7Lrlel/zDbftQpxpapi8tZs3X1HWa+u+QeydGmzzNU0m09+Rcg==
50785078

5079-
anser@^1.4.1:
5080-
version "1.4.10"
5081-
resolved "https://registry.yarnpkg.com/anser/-/anser-1.4.10.tgz#befa3eddf282684bd03b63dcda3927aef8c2e35b"
5082-
integrity sha512-hCv9AqTQ8ycjpSd3upOJd7vFwW1JaoYQ7tpham03GJ1ca8/65rqn0RpaWpItOAd6ylW9wAw6luXYPJIyPFVOww==
5079+
anser@^2.1.1:
5080+
version "2.1.1"
5081+
resolved "https://registry.yarnpkg.com/anser/-/anser-2.1.1.tgz#8afae28d345424c82de89cc0e4d1348eb0c5af7c"
5082+
integrity sha512-nqLm4HxOTpeLOxcmB3QWmV5TcDFhW9y/fyQ+hivtDFcK4OQ+pQ5fzPnXHM1Mfcm0VkLtvVi1TCPr++Qy0Q/3EQ==
50835083

50845084
ansi-align@^3.0.0:
50855085
version "3.0.0"
@@ -5159,14 +5159,6 @@ ansi-to-html@^0.6.11:
51595159
dependencies:
51605160
entities "^2.0.0"
51615161

5162-
ansi-to-react@^6.1.6:
5163-
version "6.1.6"
5164-
resolved "https://registry.yarnpkg.com/ansi-to-react/-/ansi-to-react-6.1.6.tgz#d6fe15ecd4351df626a08121b1646adfe6c02ccb"
5165-
integrity sha512-+HWn72GKydtupxX9TORBedqOMsJRiKTqaLUKW8txSBZw9iBpzPKLI8KOu4WzwD4R7hSv1zEspobY6LwlWvwZ6Q==
5166-
dependencies:
5167-
anser "^1.4.1"
5168-
escape-carriage "^1.3.0"
5169-
51705162
anymatch@^2.0.0:
51715163
version "2.0.0"
51725164
resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-2.0.0.tgz#bcb24b4f37934d9aa7ac17b4adaf89e7c76ef2eb"
@@ -7252,10 +7244,10 @@ domhandler@^4.0.0, domhandler@^4.2.0, domhandler@^4.3.1:
72527244
dependencies:
72537245
domelementtype "^2.2.0"
72547246

7255-
dompurify@^3.0.9:
7256-
version "3.0.9"
7257-
resolved "https://registry.yarnpkg.com/dompurify/-/dompurify-3.0.9.tgz#b3f362f24b99f53498c75d43ecbd784b0b3ad65e"
7258-
integrity sha512-uyb4NDIvQ3hRn6NiC+SIFaP4mJ/MdXlvtunaqK9Bn6dD3RuB/1S/gasEjDHD8eiaqdSael2vBv+hOs7Y+jhYOQ==
7247+
dompurify@^3.1.6:
7248+
version "3.1.6"
7249+
resolved "https://registry.yarnpkg.com/dompurify/-/dompurify-3.1.6.tgz#43c714a94c6a7b8801850f82e756685300a027e2"
7250+
integrity sha512-cTOAhc36AalkjtBpfG6O8JimdTMWNXjiePT2xQH/ppBGi/4uIpmj8eKyIkMJErXWARyINV/sB38yf8JCLF5pbQ==
72597251

72607252
domutils@^1.5.1, domutils@^1.7.0:
72617253
version "1.7.0"
@@ -7649,11 +7641,6 @@ escalade@^3.0.2, escalade@^3.1.1:
76497641
resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40"
76507642
integrity sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==
76517643

7652-
escape-carriage@^1.3.0:
7653-
version "1.3.0"
7654-
resolved "https://registry.yarnpkg.com/escape-carriage/-/escape-carriage-1.3.0.tgz#71006b2d4da8cb6828686addafcb094239c742f3"
7655-
integrity sha512-ATWi5MD8QlAGQOeMgI8zTp671BG8aKvAC0M7yenlxU4CRLGO/sKthxVUyjiOFKjHdIo+6dZZUNFgHFeVEaKfGQ==
7656-
76577644
escape-html@~1.0.3:
76587645
version "1.0.3"
76597646
resolved "https://registry.yarnpkg.com/escape-html/-/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988"
@@ -14296,7 +14283,8 @@ stringify-entities@^4.0.0:
1429614283
character-entities-html4 "^2.0.0"
1429714284
character-entities-legacy "^3.0.0"
1429814285

14299-
"strip-ansi-cjs@npm:strip-ansi@^6.0.1":
14286+
"strip-ansi-cjs@npm:strip-ansi@^6.0.1", strip-ansi@^6.0.1:
14287+
name strip-ansi-cjs
1430014288
version "6.0.1"
1430114289
resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9"
1430214290
integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==
@@ -14331,13 +14319,6 @@ strip-ansi@^5.1.0:
1433114319
dependencies:
1433214320
ansi-regex "^4.1.0"
1433314321

14334-
strip-ansi@^6.0.1:
14335-
version "6.0.1"
14336-
resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9"
14337-
integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==
14338-
dependencies:
14339-
ansi-regex "^5.0.1"
14340-
1434114322
strip-ansi@^7.0.1, strip-ansi@^7.1.0:
1434214323
version "7.1.0"
1434314324
resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-7.1.0.tgz#d5b6568ca689d8561370b0707685d22434faff45"
@@ -15666,16 +15647,8 @@ worker-rpc@^0.1.0:
1566615647
dependencies:
1566715648
microevent.ts "~0.1.1"
1566815649

15669-
"wrap-ansi-cjs@npm:wrap-ansi@^7.0.0":
15670-
version "7.0.0"
15671-
resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43"
15672-
integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==
15673-
dependencies:
15674-
ansi-styles "^4.0.0"
15675-
string-width "^4.1.0"
15676-
strip-ansi "^6.0.0"
15677-
15678-
wrap-ansi@^7.0.0:
15650+
"wrap-ansi-cjs@npm:wrap-ansi@^7.0.0", wrap-ansi@^7.0.0:
15651+
name wrap-ansi-cjs
1567915652
version "7.0.0"
1568015653
resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43"
1568115654
integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==

0 commit comments

Comments
 (0)