@tinacms/mdx 2.2.2 → 2.2.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/dist/index.browser.js +7 -0
- package/dist/index.js +7 -0
- package/dist/sanitize-url.js +7 -0
- package/dist/sanitize-url.test.d.ts +1 -0
- package/package.json +1 -1
package/dist/index.browser.js
CHANGED
|
@@ -37180,6 +37180,9 @@ var fromMarkdown2 = (value, field) => {
|
|
|
37180
37180
|
};
|
|
37181
37181
|
|
|
37182
37182
|
// src/sanitize-url.ts
|
|
37183
|
+
var IGNORED_IN_SCHEME = /[\p{Cc}\p{Cf}]/gu;
|
|
37184
|
+
var SCHEME_PREFIX = /^[a-zA-Z][a-zA-Z0-9+.\-]*:/;
|
|
37185
|
+
var namesAScheme = (url) => SCHEME_PREFIX.test(url.replace(IGNORED_IN_SCHEME, "").trim());
|
|
37183
37186
|
var sanitizeUrl = (url) => {
|
|
37184
37187
|
const allowedSchemes = ["http", "https", "mailto", "tel", "xref"];
|
|
37185
37188
|
if (!url) return "";
|
|
@@ -37187,6 +37190,10 @@ var sanitizeUrl = (url) => {
|
|
|
37187
37190
|
try {
|
|
37188
37191
|
parsedUrl = new URL(url);
|
|
37189
37192
|
} catch (error) {
|
|
37193
|
+
if (namesAScheme(url)) {
|
|
37194
|
+
console.warn(`Invalid URL scheme detected ${url}`);
|
|
37195
|
+
return "";
|
|
37196
|
+
}
|
|
37190
37197
|
return url;
|
|
37191
37198
|
}
|
|
37192
37199
|
const scheme = parsedUrl.protocol.slice(0, -1);
|
package/dist/index.js
CHANGED
|
@@ -39046,6 +39046,9 @@ var fromMarkdown2 = (value, field) => {
|
|
|
39046
39046
|
};
|
|
39047
39047
|
|
|
39048
39048
|
// src/sanitize-url.ts
|
|
39049
|
+
var IGNORED_IN_SCHEME = /[\p{Cc}\p{Cf}]/gu;
|
|
39050
|
+
var SCHEME_PREFIX = /^[a-zA-Z][a-zA-Z0-9+.\-]*:/;
|
|
39051
|
+
var namesAScheme = (url) => SCHEME_PREFIX.test(url.replace(IGNORED_IN_SCHEME, "").trim());
|
|
39049
39052
|
var sanitizeUrl = (url) => {
|
|
39050
39053
|
const allowedSchemes = ["http", "https", "mailto", "tel", "xref"];
|
|
39051
39054
|
if (!url) return "";
|
|
@@ -39053,6 +39056,10 @@ var sanitizeUrl = (url) => {
|
|
|
39053
39056
|
try {
|
|
39054
39057
|
parsedUrl = new URL(url);
|
|
39055
39058
|
} catch (error) {
|
|
39059
|
+
if (namesAScheme(url)) {
|
|
39060
|
+
console.warn(`Invalid URL scheme detected ${url}`);
|
|
39061
|
+
return "";
|
|
39062
|
+
}
|
|
39056
39063
|
return url;
|
|
39057
39064
|
}
|
|
39058
39065
|
const scheme = parsedUrl.protocol.slice(0, -1);
|
package/dist/sanitize-url.js
CHANGED
|
@@ -1,3 +1,6 @@
|
|
|
1
|
+
const IGNORED_IN_SCHEME = /[\p{Cc}\p{Cf}]/gu;
|
|
2
|
+
const SCHEME_PREFIX = /^[a-zA-Z][a-zA-Z0-9+.\-]*:/;
|
|
3
|
+
const namesAScheme = (url) => SCHEME_PREFIX.test(url.replace(IGNORED_IN_SCHEME, "").trim());
|
|
1
4
|
const sanitizeUrl = (url) => {
|
|
2
5
|
const allowedSchemes = ["http", "https", "mailto", "tel", "xref"];
|
|
3
6
|
if (!url) return "";
|
|
@@ -5,6 +8,10 @@ const sanitizeUrl = (url) => {
|
|
|
5
8
|
try {
|
|
6
9
|
parsedUrl = new URL(url);
|
|
7
10
|
} catch (error) {
|
|
11
|
+
if (namesAScheme(url)) {
|
|
12
|
+
console.warn(`Invalid URL scheme detected ${url}`);
|
|
13
|
+
return "";
|
|
14
|
+
}
|
|
8
15
|
return url;
|
|
9
16
|
}
|
|
10
17
|
const scheme = parsedUrl.protocol.slice(0, -1);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|