From 100c0528f3222f2f778af0eac73fdf5c9d0add54 Mon Sep 17 00:00:00 2001 From: Ramanpreet Nara Date: Thu, 15 Oct 2020 22:50:19 -0700 Subject: [PATCH] Update component generators to follow new ComponentSchema Summary: NOTE: Flow and Jest won't pass on this diff. Sandcastle, should, however, be green on D24236405 (i.e: the tip of this stack). ## Changes Previously, the "Module" schema could either contain a `components` property, or a `nativeModules` property. The existence of the `components` property was used to determine (1) if the generators would run and (2) filter schemas on which the generators would run. Now, we simply check whether the type of the "Module" schema is `Component`. Changelog: [Internal] (Note: this ignores all push blocking failures!) Reviewed By: PeteTheHeat Differential Revision: D24236508 fbshipit-source-id: 68cb3f25178b6757c9a4aee767bb6173db4932a6 --- .../components/GenerateComponentDescriptorH.js | 7 ++++++- .../generators/components/GenerateComponentHObjCpp.js | 7 ++++++- .../generators/components/GenerateEventEmitterCpp.js | 7 ++++++- .../generators/components/GenerateEventEmitterH.js | 7 ++++++- .../src/generators/components/GeneratePropsCpp.js | 7 ++++++- .../src/generators/components/GeneratePropsH.js | 7 ++++++- .../components/GeneratePropsJavaDelegate.js | 7 ++++++- .../components/GeneratePropsJavaInterface.js | 8 +++++++- .../generators/components/GenerateShadowNodeCpp.js | 7 ++++++- .../src/generators/components/GenerateShadowNodeH.js | 7 ++++++- .../src/generators/components/GenerateTests.js | 7 ++++++- .../src/generators/components/GenerateViewConfigJs.js | 11 ++++++----- 12 files changed, 73 insertions(+), 16 deletions(-) diff --git a/packages/react-native-codegen/src/generators/components/GenerateComponentDescriptorH.js b/packages/react-native-codegen/src/generators/components/GenerateComponentDescriptorH.js index 93a94ca5a8..067d4cc563 100644 --- a/packages/react-native-codegen/src/generators/components/GenerateComponentDescriptorH.js +++ b/packages/react-native-codegen/src/generators/components/GenerateComponentDescriptorH.js @@ -53,7 +53,12 @@ module.exports = { const componentDescriptors = Object.keys(schema.modules) .map(moduleName => { - const components = schema.modules[moduleName].components; + const module = schema.modules[moduleName]; + if (module.type !== 'Component') { + return; + } + + const {components} = module; // No components in this module if (components == null) { return null; diff --git a/packages/react-native-codegen/src/generators/components/GenerateComponentHObjCpp.js b/packages/react-native-codegen/src/generators/components/GenerateComponentHObjCpp.js index 9d5a5011a1..4918c93c8b 100644 --- a/packages/react-native-codegen/src/generators/components/GenerateComponentHObjCpp.js +++ b/packages/react-native-codegen/src/generators/components/GenerateComponentHObjCpp.js @@ -330,7 +330,12 @@ module.exports = { const componentContent = Object.keys(schema.modules) .map(moduleName => { - const components = schema.modules[moduleName].components; + const module = schema.modules[moduleName]; + if (module.type !== 'Component') { + return; + } + + const {components} = module; // No components in this module if (components == null) { return null; diff --git a/packages/react-native-codegen/src/generators/components/GenerateEventEmitterCpp.js b/packages/react-native-codegen/src/generators/components/GenerateEventEmitterCpp.js index 6ae392d20a..001b018075 100644 --- a/packages/react-native-codegen/src/generators/components/GenerateEventEmitterCpp.js +++ b/packages/react-native-codegen/src/generators/components/GenerateEventEmitterCpp.js @@ -171,7 +171,12 @@ module.exports = { ): FilesOutput { const moduleComponents: ComponentCollection = Object.keys(schema.modules) .map(moduleName => { - const components = schema.modules[moduleName].components; + const module = schema.modules[moduleName]; + if (module.type !== 'Component') { + return; + } + + const {components} = module; // No components in this module if (components == null) { return null; diff --git a/packages/react-native-codegen/src/generators/components/GenerateEventEmitterH.js b/packages/react-native-codegen/src/generators/components/GenerateEventEmitterH.js index 7081a912e8..f9e16ec09d 100644 --- a/packages/react-native-codegen/src/generators/components/GenerateEventEmitterH.js +++ b/packages/react-native-codegen/src/generators/components/GenerateEventEmitterH.js @@ -239,7 +239,12 @@ module.exports = { ): FilesOutput { const moduleComponents: ComponentCollection = Object.keys(schema.modules) .map(moduleName => { - const components = schema.modules[moduleName].components; + const module = schema.modules[moduleName]; + if (module.type !== 'Component') { + return; + } + + const {components} = module; // No components in this module if (components == null) { return null; diff --git a/packages/react-native-codegen/src/generators/components/GeneratePropsCpp.js b/packages/react-native-codegen/src/generators/components/GeneratePropsCpp.js index 0afb7d1161..e638d229c8 100644 --- a/packages/react-native-codegen/src/generators/components/GeneratePropsCpp.js +++ b/packages/react-native-codegen/src/generators/components/GeneratePropsCpp.js @@ -94,7 +94,12 @@ module.exports = { const componentProps = Object.keys(schema.modules) .map(moduleName => { - const components = schema.modules[moduleName].components; + const module = schema.modules[moduleName]; + if (module.type !== 'Component') { + return; + } + + const {components} = module; // No components in this module if (components == null) { return null; diff --git a/packages/react-native-codegen/src/generators/components/GeneratePropsH.js b/packages/react-native-codegen/src/generators/components/GeneratePropsH.js index 85020bac0c..e334bc8726 100644 --- a/packages/react-native-codegen/src/generators/components/GeneratePropsH.js +++ b/packages/react-native-codegen/src/generators/components/GeneratePropsH.js @@ -763,7 +763,12 @@ module.exports = { const componentClasses = Object.keys(schema.modules) .map(moduleName => { - const components = schema.modules[moduleName].components; + const module = schema.modules[moduleName]; + if (module.type !== 'Component') { + return; + } + + const {components} = module; // No components in this module if (components == null) { return null; diff --git a/packages/react-native-codegen/src/generators/components/GeneratePropsJavaDelegate.js b/packages/react-native-codegen/src/generators/components/GeneratePropsJavaDelegate.js index dd0258a488..6563298c61 100644 --- a/packages/react-native-codegen/src/generators/components/GeneratePropsJavaDelegate.js +++ b/packages/react-native-codegen/src/generators/components/GeneratePropsJavaDelegate.js @@ -266,7 +266,12 @@ module.exports = { ): FilesOutput { const files = new Map(); Object.keys(schema.modules).forEach(moduleName => { - const components = schema.modules[moduleName].components; + const module = schema.modules[moduleName]; + if (module.type !== 'Component') { + return; + } + + const {components} = module; // No components in this module if (components == null) { return; diff --git a/packages/react-native-codegen/src/generators/components/GeneratePropsJavaInterface.js b/packages/react-native-codegen/src/generators/components/GeneratePropsJavaInterface.js index af41763c82..bcef775374 100644 --- a/packages/react-native-codegen/src/generators/components/GeneratePropsJavaInterface.js +++ b/packages/react-native-codegen/src/generators/components/GeneratePropsJavaInterface.js @@ -212,7 +212,13 @@ module.exports = { ): FilesOutput { const files = new Map(); Object.keys(schema.modules).forEach(moduleName => { - const components = schema.modules[moduleName].components; + const module = schema.modules[moduleName]; + if (module.type !== 'Component') { + return; + } + + const {components} = module; + // No components in this module if (components == null) { return; diff --git a/packages/react-native-codegen/src/generators/components/GenerateShadowNodeCpp.js b/packages/react-native-codegen/src/generators/components/GenerateShadowNodeCpp.js index e499bdcea4..ee19968af3 100644 --- a/packages/react-native-codegen/src/generators/components/GenerateShadowNodeCpp.js +++ b/packages/react-native-codegen/src/generators/components/GenerateShadowNodeCpp.js @@ -50,7 +50,12 @@ module.exports = { const componentNames = Object.keys(schema.modules) .map(moduleName => { - const components = schema.modules[moduleName].components; + const module = schema.modules[moduleName]; + if (module.type !== 'Component') { + return; + } + + const {components} = module; // No components in this module if (components == null) { return null; diff --git a/packages/react-native-codegen/src/generators/components/GenerateShadowNodeH.js b/packages/react-native-codegen/src/generators/components/GenerateShadowNodeH.js index f5c5a8cf7b..262a04210a 100644 --- a/packages/react-native-codegen/src/generators/components/GenerateShadowNodeH.js +++ b/packages/react-native-codegen/src/generators/components/GenerateShadowNodeH.js @@ -62,7 +62,12 @@ module.exports = { const moduleResults = Object.keys(schema.modules) .map(moduleName => { - const components = schema.modules[moduleName].components; + const module = schema.modules[moduleName]; + if (module.type !== 'Component') { + return; + } + + const {components} = module; // No components in this module if (components == null) { return null; diff --git a/packages/react-native-codegen/src/generators/components/GenerateTests.js b/packages/react-native-codegen/src/generators/components/GenerateTests.js index 5d7a5af846..5ffdf8995d 100644 --- a/packages/react-native-codegen/src/generators/components/GenerateTests.js +++ b/packages/react-native-codegen/src/generators/components/GenerateTests.js @@ -150,7 +150,12 @@ module.exports = { const componentTests = Object.keys(schema.modules) .map(moduleName => { - const components = schema.modules[moduleName].components; + const module = schema.modules[moduleName]; + if (module.type !== 'Component') { + return; + } + + const {components} = module; if (components == null) { return null; } diff --git a/packages/react-native-codegen/src/generators/components/GenerateViewConfigJs.js b/packages/react-native-codegen/src/generators/components/GenerateViewConfigJs.js index e7c0946d25..63f6dc7892 100644 --- a/packages/react-native-codegen/src/generators/components/GenerateViewConfigJs.js +++ b/packages/react-native-codegen/src/generators/components/GenerateViewConfigJs.js @@ -337,14 +337,15 @@ module.exports = { const moduleResults = Object.keys(schema.modules) .map(moduleName => { - const components = schema.modules[moduleName].components; - // No components in this module - if (components == null) { - return null; + const module = schema.modules[moduleName]; + if (module.type !== 'Component') { + return; } + const {components} = module; + return Object.keys(components) - .map(componentName => { + .map((componentName: string) => { const component = components[componentName]; const paperComponentName = component.paperComponentName