/
githubmirror
/
react-native
Обзор
Документация
Войти
/
githubmirror
/
react-native
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
main
packages/eslint-plugin-specs/__tests__/react-native-modules-test.js
60 строк
1 KB
pipopotamasu
Add support for Flat Config (eslint v9) (#54297)
13 ноя 2025, 21:47
13 ноя 2025, 21:47
1859245
Код
Авторство
О чём код?
/** * 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. * * @format * @noflow */ 'use strict'; const rule = require('../react-native-modules'); const ESLintTester = require('./eslint-tester.js'); const NATIVE_MODULES_DIR = __dirname; const eslintTester = new ESLintTester(); const VALID_SPECS = [ { code: ` import {TurboModuleRegistry, type TurboModule} from 'react-native'; import type {UnsafeObject} from 'react-native/Libraries/Types/CodegenTypes'; export interface Spec extends TurboModule { func1(a: string): UnsafeObject, } export default TurboModuleRegistry.get<Spec>('XYZ'); `, filename: `${NATIVE_MODULES_DIR}/NativeXYZ.js`, }, ]; const INVALID_SPECS = [ // Untyped NativeModule require { code: ` import {TurboModuleRegistry, type TurboModule} from 'react-native'; export interface Spec extends TurboModule { func1(a: string): {||}, } export default TurboModuleRegistry.get<Spec>('XYZ'); `, filename: `${NATIVE_MODULES_DIR}/XYZ.js`, errors: [ { message: rule.meta.messages.misnamedHasteModule.replace( '{{hasteModuleName}}', 'XYZ', ), }, ], }, ]; eslintTester.run('../react-native-modules', rule, { valid: VALID_SPECS, invalid: INVALID_SPECS, });