UNPKG

@atlaskit/editor-core

Version:

A package contains Atlassian editor core functionality

27 lines (26 loc) 1.5 kB
/* eslint-disable require-unicode-regexp */ import { expValEquals } from '@atlaskit/tmp-editor-statsig/exp-val-equals'; export var isOutdatedBrowser = function isOutdatedBrowser(userAgent) { // Take browsers in both Desktop and Mobile (includes Chrome, Firefox, Edge and Safari) within last 2 years var chrome = /Chrome\//.test(userAgent) && !/OPR\//.test(userAgent); var chromeVersion = chrome ? parseInt((userAgent.match(/Chrome\/(\d+)/) || [])[1], 10) : 0; if (expValEquals('platform_editor_outdated_browser_update', 'isEnabled', true) ? chromeVersion >= 123 : chromeVersion >= 84) { return false; } var gecko = /gecko\/\d/i.test(userAgent); var geckoVersion = gecko ? parseInt((userAgent.match(/Firefox\/(\d+)/) || [])[1], 10) : 0; if (expValEquals('platform_editor_outdated_browser_update', 'isEnabled', true) ? geckoVersion >= 124 : geckoVersion >= 84) { return false; } var edge = /Edge\/(\d+)/.exec(userAgent); var edgeVersion = edge ? +edge[1] : 0; if (expValEquals('platform_editor_outdated_browser_update', 'isEnabled', true) ? edgeVersion >= 123 : edgeVersion >= 84) { return false; } var safari = !chrome && !gecko && /Version\/([0-9\._]+).*Safari/.test(userAgent); var safariVersion = safari ? parseInt((userAgent.match(/Version\/([0-9\._]+).*Safari/) || [])[1], 10) : 0; if (expValEquals('platform_editor_outdated_browser_update', 'isEnabled', true) ? safariVersion >= 17 : safariVersion >= 12) { return false; } return true; };