Recommendation from the wroclove.rb 2019 outdated-browser-detection lightning talk: use Browserslist on the front end and its Ruby port on the back end for JavaScript-disabled fallbacks, but keep one shared browsers JSON config. In monorepos just share the file directly; when repositories are split, have the back end fetch the config from the front end via an HTTP request and cache the response.