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 93a94ca5a85..067d4cc563e 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 9d5a5011a17..4918c93c8b2 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 6ae392d20af..001b0180754 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 7081a912e88..f9e16ec09d7 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 0afb7d11613..e638d229c8b 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 85020bac0ce..e334bc87269 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 dd0258a488a..6563298c614 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 af41763c82c..bcef7753742 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 e499bdcea45..ee19968af3f 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 f5c5a8cf7b5..262a04210a9 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 5d7a5af846a..5ffdf8995d6 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 e7c0946d253..63f6dc7892c 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