Summary: We're going to be incrementally adding these view configs and enforcing that they're up to date in react-native-sanity-test so we need to limit them to what's supported (which is just Slider for now)
Reviewed By: TheSavior
Differential Revision: D15321950
fbshipit-source-id: 22b014db1d9b58553237f571b438c82948f19634
Summary:
In order to generate the view configs, we need to know the name of the component used in:
```
ReactNativeViewConfigRegistry.register(
'RCTNativeComponent', // <------- this name
() => BooleanPropNativeComponentViewConfig,
);
```
For this, we'll use `component.name` in the schema (see fixture updates). Doing this would break the native code we generate though, since that code has the RCT stripped.
So this diff adds support to mirror the native stripping of 'RCT' for generated native code
Reviewed By: TheSavior
Differential Revision: D15320422
fbshipit-source-id: be1ab9964078df2c7bc6e41462776f00b94b104f
Summary: This diff adds a line to the codegen'd view configs which will check that all of the properties in the native view config are also in the JS view config we generate (note that the JS view config may have more properties than one native platform because it includes a union of both platforms)
Reviewed By: TheSavior
Differential Revision: D15278478
fbshipit-source-id: 0fef20c12265b952c69aca4e4c070a7d036db05a
Summary: This diff inserts the differs for color/image/point inline into the generated viewconfigs
Reviewed By: TheSavior
Differential Revision: D15258752
fbshipit-source-id: 0e93dc6abc186851b411dfd6864d5b4ca005885b
Summary:
This diff adds a new `js1` script `js1 build viewconfigs` which will generate the view configs for generated components in xplat/js
Note that the view configs are not currently valid so I'm not checking them in or adding them to a test, that work will follow
Reviewed By: TheSavior
Differential Revision: D15239656
fbshipit-source-id: d15776f36a7d7684f50beafd783bccb02352afc0
Summary: This diff adds support for kebab-case enum properties by transforming them to KebabCase in cpp
Reviewed By: mdvacca
Differential Revision: D15218781
fbshipit-source-id: 0ec6d28f3ca0e5b8187fc7026e12a8d76be73a7c
Summary:
This diff adds generated c++ tests for all generated components
There is a test for every prop based on type, and in the case of enums every allowed value
Reviewed By: shergin
Differential Revision: D15147126
fbshipit-source-id: b4f88d2dab825e41754a880081d86b3cd12274ee
Summary:
To ensure greater type safety, we want to generate some cpp tests for the fromRawValue conversions
This diff adds support to generate Tests.cpp along with the `buck test` targets itegrated into the rn_codegen rule automatically. The tests just `assert(true, true)` as a starting point
Reviewed By: fkgozali
Differential Revision: D14739493
fbshipit-source-id: fc9dea64ea31e6af7d997aebc54cfd459d48bf4f
Summary: Adds support for the native type Point to the rn codegen
Reviewed By: TheSavior
Differential Revision: D14462164
fbshipit-source-id: 942b5697d616c6aa6289d01bb56382fd7adac203
Summary: Change the codegen `srcs` to match any `**/*Schema.js`
Reviewed By: TheSavior
Differential Revision: D14401232
fbshipit-source-id: 61e60b1c9ca2f33efacc5caa1903b02a93cc644e
Summary:
This was an idea to check by Joshua Gross
Changelog:
[General][Internal] Codegen: Adding test for negative zero floats
Reviewed By: JoshuaGross
Differential Revision: D14378418
fbshipit-source-id: 4d18eea18143c501d3f2e7ba334f35ec1dd140e6
Summary: We need this in the Props.h files
Reviewed By: TheSavior
Differential Revision: D14307476
fbshipit-source-id: 34a86ced30e04bfb6d7f85dc292e43d2a1a0ac3e
Summary: In some cases the implementation for native modules are more advanced and we cannot currently generate some of the files. We've decided in these cases to only generate the props + events for now, so this flag `interfaceOnly` will only generate those files 👍
Reviewed By: TheSavior
Differential Revision: D14295980
fbshipit-source-id: 1790825143206a84469015e08958bf6f00ffde52
Summary: Re-enables the disabled codegens on android by renaming the test fixtures to something shorter
Reviewed By: TheSavior
Differential Revision: D14258414
fbshipit-source-id: 912c12df039930ec492b5bafc69bc298f913bdcc
Summary: It was weird that the default values for enums did not match the casing for the enum options
Reviewed By: TheSavior
Differential Revision: D14258101
fbshipit-source-id: f601e50390a6c67f20e7a18aa94b377597a831cc
Summary: Use the new copyright header format used elsewhere in the React Native repository.
Reviewed By: shergin
Differential Revision: D14091706
fbshipit-source-id: b27b8e6bcdf2f3d9402886dbc6b68c305150b7d5
Summary:
Turn off translations in fbandroid to mitigate the parse time regression. Translate the remaining `xplat//` to `fbsource//xplat/` to do so
run_all_tests
Reviewed By: scottrice
Differential Revision: D14041085
fbshipit-source-id: 9d3bc493c6662c03c4028aaebfbec58d145e8c6b
Summary:
Updates the combine-js-to-schema to expose a cli and combine all passed files into a single schema output
Note: as far as I could tell, there isn't a way for buck to pass a glob of directories, so instead of accepting a dir and crawling it, this update accepts a list of files and combines them. Which makes sense, since buck is good at crawling already
Reviewed By: TheSavior
Differential Revision: D14007193
fbshipit-source-id: dbc209bb8d1cadd381269e9f70dc71a90f77878e
Summary: This is the first step in organizing React Native slightly differently. This doesn't set up a "monorepo" structure for the GitHub repo yet, it merely moves a few files around and I slightly updated the package.json file for the codegen project.
Reviewed By: rickhanlonii, TheSavior
Differential Revision: D13974180
fbshipit-source-id: f53375f3b6618ef12658064cb1fc690ef1f95299