/
githubmr
/
facebook-react-native
Обзор
Документация
Войти
/
githubmr
/
facebook-react-native
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
main
packages/react-native/Libraries/Core/ReactNativeVersionCheck.js
50 строк
2 KB
Iwo Plaza
Migrate files in Libraries/Core to export syntax (#48889)
24 янв 2025, 16:43
24 янв 2025, 16:43
e5818d9
Код
Авторство
О чём код?
/** * Copyright (c) Meta Platforms, Inc. and affiliates. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. * * @flow strict * @format */ import Platform from '../Utilities/Platform'; const ReactNativeVersion = require('./ReactNativeVersion'); /** * Checks that the version of this React Native JS is compatible with the native * code, throwing an error if it isn't. * * The existence of this module is part of the public interface of React Native * even though it is used only internally within React Native. React Native * implementations for other platforms (ex: Windows) may override this module * and rely on its existence as a separate module. */ export function checkVersions(): void { const nativeVersion = Platform.constants.reactNativeVersion; if ( ReactNativeVersion.version.major !== nativeVersion.major || ReactNativeVersion.version.minor !== nativeVersion.minor ) { console.error( `React Native version mismatch.\n\nJavaScript version: ${_formatVersion( (ReactNativeVersion.version: $FlowFixMe), )}\n` + `Native version: ${_formatVersion(nativeVersion)}\n\n` + 'Make sure that you have rebuilt the native code. If the problem ' + 'persists try clearing the Watchman and packager caches with ' + '`watchman watch-del-all && npx react-native start --reset-cache`.', ); } } function _formatVersion( version: (typeof Platform)['constants']['reactNativeVersion'], ): string { return ( `${version.major}.${version.minor}.${version.patch}` + // eslint-disable-next-line eqeqeq (version.prerelease != undefined ? `-${version.prerelease}` : '') ); }