UNPKG

@atlaskit/adf-schema

Version:

Shared package that contains the ADF-schema (json) and ProseMirror node/mark specs

28 lines (26 loc) 1.79 kB
/** * This file has been partially duplicated in packages/linking-platform/linking-common/src/url.ts * Any changes made here should be mirrored there. * Ticket for dedeplication: https://product-fabric.atlassian.net/browse/EDM-7138 * Ticket for fixing linkification of filename-like urls: https://product-fabric.atlassian.net/browse/EDM-7190 */ var whitelistedURLPatterns = [/^http[s\u017F]?:\/\//im, /^ftp[s\u017F]?:\/\//im, /^gopher:\/\//im, /^integrity:\/\//im, /^file:\/\//im, /^[s\u017F]mb:\/\//im, /^dynamic[s\u017F]nav:\/\//im, /^jamf[s\u017F]elf[s\u017F]ervice:\/\//im, /^\//im, /^mailto:/im, /^[s\u017F][k\u212A]ype:/im, /^callto:/im, /^facetime:/im, /^git:/im, /^irc6?:/im, /^new[s\u017F]:/im, /^nntp:/im, /^feed:/im, /^cv[s\u017F]:/im, /^[s\u017F]vn:/im, /^mvn:/im, /^[s\u017F][s\u017F]h:/im, /^[s\u017F]cp:\/\//im, /^[s\u017F]ftp:\/\//im, /^itm[s\u017F]:/im, // This is not a valid notes link, but we support this pattern for backwards compatibility /^note[s\u017F]:/im, /^note[s\u017F]:\/\//im, /^hipchat:\/\//im, // This is not a valid sourcetree link, but we support this pattern for backwards compatibility /^[s\u017F]ourcetree:/im, /^[s\u017F]ourcetree:\/\//im, /^urn:/im, /^tel:/im, /^xmpp:/im, /^telnet:/im, /^vnc:/im, /^rdp:/im, /^what[s\u017F]app:/im, /^[s\u017F]lac[k\u212A]:/im, /^[s\u017F]ip[s\u017F]?:/im, /^magnet:/im, /^#/im]; /** * Please notify the Editor Mobile team (Slack: #help-mobilekit) if the logic for this changes. */ export var isSafeUrl = function isSafeUrl(url) { var urlTrimmed = url === null || url === void 0 ? void 0 : url.trim(); if (urlTrimmed === undefined) { return true; } if (urlTrimmed.length === 0) { return true; } return whitelistedURLPatterns.some(function (p) { return p.test(urlTrimmed); }); };