UNPKG

@atlaskit/editor-common

Version:

A package that contains common classes and components for editor and renderer

44 lines (41 loc) 1.62 kB
export var isOutdatedBrowser = function isOutdatedBrowser(userAgent) { // Take browsers in both Desktop and Mobile (includes Chrome, Firefox, Edge and Safari) within last 2 years // Ignored via go/ees005 // eslint-disable-next-line require-unicode-regexp // Ignored via go/ees005 // eslint-disable-next-line require-unicode-regexp var chrome = /Chrome\//.test(userAgent) && !/OPR\//.test(userAgent); // Ignored via go/ees005 // eslint-disable-next-line require-unicode-regexp var chromeVersion = chrome ? parseInt((userAgent.match(/Chrome\/(\d+)/) || [])[1], 10) : 0; if (chromeVersion >= 84) { return false; } // Ignored via go/ees005 // eslint-disable-next-line require-unicode-regexp var gecko = /gecko\/\d/i.test(userAgent); // Ignored via go/ees005 // eslint-disable-next-line require-unicode-regexp var geckoVersion = gecko ? parseInt((userAgent.match(/Firefox\/(\d+)/) || [])[1], 10) : 0; if (geckoVersion >= 84) { return false; } // Ignored via go/ees005 // eslint-disable-next-line require-unicode-regexp var edge = /Edge\/(\d+)/.exec(userAgent); var edgeVersion = edge ? +edge[1] : 0; if (edgeVersion >= 84) { return false; } // Ignored via go/ees005 // eslint-disable-next-line require-unicode-regexp var safari = !chrome && !gecko && /Version\/([0-9\._]+).*Safari/.test(userAgent); var safariVersion = safari ? // Ignored via go/ees005 // eslint-disable-next-line require-unicode-regexp parseInt((userAgent.match(/Version\/([0-9\._]+).*Safari/) || [])[1], 10) : 0; if (safariVersion >= 12) { return false; } return true; };