diff --git a/package-lock.json b/package-lock.json index d34f90faa8..a93c9aa721 100644 --- a/package-lock.json +++ b/package-lock.json @@ -5300,6 +5300,11 @@ } } }, + "dompurify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/dompurify/-/dompurify-2.3.0.tgz", + "integrity": "sha512-VV5C6Kr53YVHGOBKO/F86OYX6/iLTw2yVSI721gKetxpHCK/V5TaLEf9ODjRgl1KLSWRMY6cUhAbv/c+IUnwQw==" + }, "domutils": { "version": "1.7.0", "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.7.0.tgz", @@ -8354,6 +8359,11 @@ "integrity": "sha512-1RUZVgQlpJSPWYbFSpmudq5nHY1doEIv89gBtF0s4gW1GF2XorxcA/70M5vq7rLv0a6mhOUccRsqkwhwLCIQ2Q==", "dev": true }, + "marked": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/marked/-/marked-2.1.3.tgz", + "integrity": "sha512-/Q+7MGzaETqifOMWYEA7HVMaZb4XbcRfaOzcSsHZEith83KGlvaSG33u0SKu89Mj5h+T8V2hM+8O45Qc5XTgwA==" + }, "marks-pane": { "version": "1.0.9", "resolved": "https://registry.npmjs.org/marks-pane/-/marks-pane-1.0.9.tgz", diff --git a/package.json b/package.json index 46cd2106ec..5cecedfd76 100644 --- a/package.json +++ b/package.json @@ -69,6 +69,7 @@ "classnames": "^2.3.1", "core-js": "^3.16.4", "date-fns": "^2.23.0", + "dompurify": "^2.3.0", "epubjs": "^0.3.85", "fast-text-encoding": "^1.0.3", "flv.js": "^1.6.1", @@ -81,6 +82,7 @@ "libarchive.js": "^1.3.0", "libass-wasm": "git+https://github.com/jellyfin/JavascriptSubtitlesOctopus.git#4.0.0-jf-smarttv", "lodash-es": "^4.17.21", + "marked": "^2.1.3", "material-design-icons-iconfont": "^6.1.0", "native-promise-only": "^0.8.0-a", "page": "^1.11.6", diff --git a/src/controllers/dashboard/plugins/add/index.js b/src/controllers/dashboard/plugins/add/index.js index 2608ff7bf5..4c80b73ae8 100644 --- a/src/controllers/dashboard/plugins/add/index.js +++ b/src/controllers/dashboard/plugins/add/index.js @@ -1,4 +1,6 @@ import 'jquery'; +import marked from 'marked'; +import { sanitize } from 'dompurify'; import loading from '../../../../components/loading/loading'; import globalize from '../../../../scripts/globalize'; import '../../../../elements/emby-button/emby-button'; @@ -13,7 +15,7 @@ function populateHistory(packageInfo, page) { for (let i = 0; i < length; i++) { const version = packageInfo.versions[i]; html += '