From 35556dba600fbb28e0f41340a74b6c4a59bc6018 Mon Sep 17 00:00:00 2001 From: Tarun Chauhan Date: Fri, 7 Oct 2022 09:20:48 -0700 Subject: [PATCH] Extract modules/schema.js from flow and TS folders to a shared file (#34879) Summary: This PR reduces code duplication by ```extracting the modules/schema.js from the flow and typescript folders in a shared parsers-commons.js file. Then, have the two parsers use the same wrapModuleSchema function for modules``` as part of https://github.com/facebook/react-native/issues/34872 ## Changelog [Internal] [Changed] - Extracts the modules/schema.js from the flow and typescript folders in a shared file. Pull Request resolved: https://github.com/facebook/react-native/pull/34879 Test Plan: run ```yarn jest react-native-codegen``` image Reviewed By: robhogan Differential Revision: D40143266 Pulled By: robhogan fbshipit-source-id: 417a5456c8099ad2761617e2be7cf8306c7d9ec4 --- .../src/parsers/flow/index.js | 2 +- .../modules/schema.js => parsers-commons.js} | 2 +- .../src/parsers/typescript/index.js | 2 +- .../src/parsers/typescript/modules/schema.js | 28 ------------------- 4 files changed, 3 insertions(+), 31 deletions(-) rename packages/react-native-codegen/src/parsers/{flow/modules/schema.js => parsers-commons.js} (85%) delete mode 100644 packages/react-native-codegen/src/parsers/typescript/modules/schema.js diff --git a/packages/react-native-codegen/src/parsers/flow/index.js b/packages/react-native-codegen/src/parsers/flow/index.js index 441ec3a581..506340e5b0 100644 --- a/packages/react-native-codegen/src/parsers/flow/index.js +++ b/packages/react-native-codegen/src/parsers/flow/index.js @@ -18,7 +18,7 @@ const {extractNativeModuleName} = require('../utils.js'); const {buildComponentSchema} = require('./components'); const {wrapComponentSchema} = require('./components/schema'); const {buildModuleSchema} = require('./modules'); -const {wrapModuleSchema} = require('./modules/schema'); +const {wrapModuleSchema} = require('../parsers-commons'); const { createParserErrorCapturer, visit, diff --git a/packages/react-native-codegen/src/parsers/flow/modules/schema.js b/packages/react-native-codegen/src/parsers/parsers-commons.js similarity index 85% rename from packages/react-native-codegen/src/parsers/flow/modules/schema.js rename to packages/react-native-codegen/src/parsers/parsers-commons.js index 4e3fda6bea..3e856f4dd7 100644 --- a/packages/react-native-codegen/src/parsers/flow/modules/schema.js +++ b/packages/react-native-codegen/src/parsers/parsers-commons.js @@ -10,7 +10,7 @@ 'use strict'; -import type {SchemaType, NativeModuleSchema} from '../../../CodegenSchema.js'; +import type {SchemaType, NativeModuleSchema} from '../CodegenSchema.js'; function wrapModuleSchema( nativeModuleSchema: NativeModuleSchema, diff --git a/packages/react-native-codegen/src/parsers/typescript/index.js b/packages/react-native-codegen/src/parsers/typescript/index.js index 4b585fb623..cdd3b0ab66 100644 --- a/packages/react-native-codegen/src/parsers/typescript/index.js +++ b/packages/react-native-codegen/src/parsers/typescript/index.js @@ -17,7 +17,7 @@ const {extractNativeModuleName} = require('../utils.js'); const {buildComponentSchema} = require('./components'); const {wrapComponentSchema} = require('./components/schema'); const {buildModuleSchema} = require('./modules'); -const {wrapModuleSchema} = require('./modules/schema'); +const {wrapModuleSchema} = require('../parsers-commons'); const { createParserErrorCapturer, diff --git a/packages/react-native-codegen/src/parsers/typescript/modules/schema.js b/packages/react-native-codegen/src/parsers/typescript/modules/schema.js deleted file mode 100644 index 4e3fda6bea..0000000000 --- a/packages/react-native-codegen/src/parsers/typescript/modules/schema.js +++ /dev/null @@ -1,28 +0,0 @@ -/** - * 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 - * @flow strict - */ - -'use strict'; - -import type {SchemaType, NativeModuleSchema} from '../../../CodegenSchema.js'; - -function wrapModuleSchema( - nativeModuleSchema: NativeModuleSchema, - hasteModuleName: string, -): SchemaType { - return { - modules: { - [hasteModuleName]: nativeModuleSchema, - }, - }; -} - -module.exports = { - wrapModuleSchema, -};