Commit Graph

38536 Commits

Author SHA1 Message Date
Pieter De Baets 1b994732e4 Fix pointer event dispatch to nested text nodes
Summary:
Noticed that we weren't receiving pointer events for nested Text spans when the new pointer events implementation was enabled.

Changelog: [Internal]

Reviewed By: lunaleaps

Differential Revision: D41496672

fbshipit-source-id: 9d0ed83d1bb5f42211ec655328035651f25fa471
2022-11-29 07:00:13 -08:00
Pieter De Baets 9c88dad7a2 Remove references to deleted experiments
Summary:
These experiments have been removed already, but we still have references to them in C++.

Changelog: [Internal]

Reviewed By: mdvacca

Differential Revision: D41549465

fbshipit-source-id: 1158fb391b4279ef4eb6ad7123cb8113d7ecccef
2022-11-29 05:22:13 -08:00
Zihan Chen (MSFT) 8a38e03e0f Fix codegen to add T of Promise<T> in CodegenSchema.js (#35345)
Summary:
`Promise<T>` is used very often in turbo module as function return types. So `T` is a critical thing for type safety. To enable future generator to produce more specific type for `Promise`, `T` is added to the schema.

## Changelog

[General] [Changed] - Fix codegen to add `T` of `Promise<T>` in CodegenSchema.js

Pull Request resolved: https://github.com/facebook/react-native/pull/35345

Test Plan: `yarn jest react-native-codegen` passed

Reviewed By: lunaleaps

Differential Revision: D41304647

Pulled By: cipolleschi

fbshipit-source-id: 6cdd2357b83d4d8007c881a7090cbb8969f3ae9d
2022-11-29 03:37:59 -08:00
Nicola Corti f0972cb101 RNGP - Various improvements needed for 3rd party libs (#35496)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/35496

This commit includes a series of fixes needed for better integration with libraries for 0.71:
- I've added an `android/README.md` file as some libraries were failing the build if the folder was missing
- RNGP now applies dep substitution on app and all the libraries project
- RNGP now adds repositories on app and all the libraries project
- I've removed the maven local repo to the `/android` folder as now is empty
- I've fixed the path for the JSC repo for Windows users
- I've added a bit of backward compat by re-adding an empty `project.react.ext` block that libraries might read from.
- I've removed `codegenDir` from the `GenerateCodegenArtifactsTask` which was unused.

Changelog:
[Internal] [Changed] - RNGP - Various improvements needed for 3rd party libs

Reviewed By: cipolleschi

Differential Revision: D41549489

fbshipit-source-id: 2252da0180ac24fd3fe5a55300527da6781f0f8c
2022-11-29 02:56:35 -08:00
Luna Wei 8b00b4f286 Text measurement, Math.ceil calculatedWidth
Summary: Changelog: [Internal] - Fix incorrect text container measurement for Android 11+

Reviewed By: mdvacca

Differential Revision: D41559873

fbshipit-source-id: 76c200693cd10b9b7fe883dd81b0c3c1dbdecf27
2022-11-28 15:57:37 -08:00
Ali Akbar Azizi 6c33fd1c48 Fix virtual list type (#35434)
Summary:
Add missing props to virtual list

## Changelog

<!-- Help reviewers and the release process by writing your own changelog entry. For an example, see:
https://reactnative.dev/contributing/changelogs-in-pull-requests
-->

[General] [Fixed] - Virtual list props

Pull Request resolved: https://github.com/facebook/react-native/pull/35434

Test Plan:
relative pull request in DefinitelyTyped
https://github.com/DefinitelyTyped/DefinitelyTyped/pull/63323

Reviewed By: javache

Differential Revision: D41553396

Pulled By: NickGerleman

fbshipit-source-id: d51a93410ece9ad5f0bb61e2ee51076973e80c8c
2022-11-28 12:14:21 -08:00
Luna Wei 4e668167f9 PointerEvents: Delete unused method
Summary: Changelog: [Internal] - Clean up unused function for PointerEvents

Reviewed By: vincentriemer, mdvacca

Differential Revision: D41089897

fbshipit-source-id: 8c44b88d919f771fdafb2402ec71366dad6c6ed6
2022-11-28 11:01:32 -08:00
Luna Wei 75a8847a42 Fix detection supportsHover
Summary: Changelog: [Internal] - Internal usage broke existing behavior, reverting to check if a flag is set.

Reviewed By: javache

Differential Revision: D41502122

fbshipit-source-id: 296bb1578cd63f935e4111bfec8d58f965149640
2022-11-28 10:28:13 -08:00
shivenmian b7a85b59b5 chore: renamed react-native-codegen to @react-native/codegen (#34804)
Summary:
Renamed react-native-codegen package to react-native/codegen and updated references, without changing the folder name; part of RFC480 (https://github.com/facebook/react-native/issues/34692). Follow-up from https://github.com/facebook/react-native/pull/34578

## Changelog

[General] [Changed] - Renamed react-native-codegen package to react-native/codegen and updated references

<!-- Help reviewers and the release process by writing your own changelog entry. For an example, see:
https://reactnative.dev/contributing/changelogs-in-pull-requests
-->

Pull Request resolved: https://github.com/facebook/react-native/pull/34804

Reviewed By: cortinico

Differential Revision: D39883584

Pulled By: hoxyq

fbshipit-source-id: 0ef384b75c6edd248b31e37b8f05f64b4d39ca6f
2022-11-28 08:28:51 -08:00
Vojtech Novak e325c9505a chore: RCTConvert - allocate array with capacity (#35490)
Summary:
this is a trivial change that allocates the NSMutableArray with the correct capacity before it is filled

## Changelog

<!-- Help reviewers and the release process by writing your own changelog entry. For an example, see:
https://reactnative.dev/contributing/changelogs-in-pull-requests
-->

[Internal] [Changed] - RCTConvertVecToArray - allocate array with capacity

Pull Request resolved: https://github.com/facebook/react-native/pull/35490

Test Plan: tested locally: the code builds and runs as expected

Reviewed By: cipolleschi

Differential Revision: D41548050

Pulled By: GijsWeterings

fbshipit-source-id: a5b947331d6c5fffcfecc7c20c827f42442b1ab8
2022-11-28 07:29:04 -08:00
Moti Zilberman 6c6dbf63de Add @flow and @format to NativeComponentRegistryUnstable
Summary:
Changelog: [Internal]

`NativeComponentRegistryUnstable.js` has Flow syntax but no `flow` directive. It seems to typecheck fine so I'm adding the directive here. (Plus `format` for good measure.)

Reviewed By: huntie

Differential Revision: D41547266

fbshipit-source-id: 1b6a03c705add91843633166a245d0447a21af6d
2022-11-28 07:17:33 -08:00
Marco Fiorito 22576fa615 refactor(rn tester app): change appearence example to hooks (#35114)
Summary:
This pull request migrates the appearance example to using React Hooks.

## Changelog
[General] [Changed] - RNTester: Migrate Appearence to hooks

Pull Request resolved: https://github.com/facebook/react-native/pull/35114

Test Plan: The animation works exactly as it did as when it was a class component

Reviewed By: cortinico

Differential Revision: D41531005

Pulled By: cipolleschi

fbshipit-source-id: a864766a3bb58a7f0c2b9c4ed8f731ee84713b26
2022-11-28 04:42:51 -08:00
Vojtech Novak 90871861ce fix: codegen crash when parsing TS interfaces (#35492)
Summary:
when I'm defining a turbomodule spec, I tried to extract a common parameter into an interface.

The error I get is this:

```
[Codegen] >>>>> Processing RNSimpleToastSpec

[Codegen] Done.
/Users/vojta/_dev/_own/simple-toast/example/node_modules/react-native-codegen/lib/parsers/typescript/utils.js:111
        throw error;
        ^

TypeError: Cannot read properties of undefined (reading 'length')
    at isModuleInterface (/Users/vojta/_dev/_own/simple-toast/example/node_modules/react-native-codegen/lib/parsers/typescript/modules/index.js:695:18)
    at Array.filter (<anonymous>)
    at buildModuleSchema (/Users/vojta/_dev/_own/simple-toast/example/node_modules/react-native-codegen/lib/parsers/typescript/modules/index.js:709:44)
    at /Users/vojta/_dev/_own/simple-toast/example/node_modules/react-native-codegen/lib/parsers/typescript/index.js:158:9
    at guard (/Users/vojta/_dev/_own/simple-toast/example/node_modules/react-native-codegen/lib/parsers/typescript/utils.js:108:14)
    at buildSchema (/Users/vojta/_dev/_own/simple-toast/example/node_modules/react-native-codegen/lib/parsers/typescript/index.js:157:22)
    at Object.parseFile (/Users/vojta/_dev/_own/simple-toast/example/node_modules/react-native-codegen/lib/parsers/typescript/index.js:185:10)
```

After the fix I get this:

```
[Codegen] >>>>> Processing RNSimpleToastSpec

[Codegen] Done.
/Users/vojta/_dev/_own/simple-toast/example/node_modules/react-native-codegen/lib/parsers/typescript/utils.js:111
        throw error;
        ^

Invariant Violation: GenericTypeAnnotation 'Styles' must resolve to a TSTypeAliasDeclaration. Instead, it resolved to a 'TSInterfaceDeclaration'
```

Then I know that I should not be using an `interface` but a `type`

## Changelog

[Internal] [Fixed] - TS codegen crash when parsing interfaces

Pull Request resolved: https://github.com/facebook/react-native/pull/35492

Test Plan:
tested locally

let me know if you want an automated test

Reviewed By: cortinico

Differential Revision: D41548015

Pulled By: cipolleschi

fbshipit-source-id: 9acf02dffbb084831690f665357fb80225cbce0d
2022-11-28 04:19:47 -08:00
Nicola Corti cf4269ab33 Expose jscruntime to be consumed via Prefab
Summary:
This is the last library that we should expose via Prefab.
Thanks to cipolleschi 's work here moving the file to `/ReactCommon/jsc` folder
we can easily expose it to be consumed by third parties.

Changelog:
[Internal] [Changed] - Expose `jscruntime` to be consumed via Prefab

Reviewed By: cipolleschi

Differential Revision: D41534564

fbshipit-source-id: fb4b2d801def8caf71638dcb74eb87f8230984d4
2022-11-28 04:13:55 -08:00
Riccardo Cipolleschi f3bf4d02ab Move JSCRuntime into its own folder (#35482)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/35482

This change moves the JSCRuntime.h/cpp into a `jsc` folder.

This change is required for several reasons:
1. on iOS, the new `jsi`, `jsidynamic` and `jsc` setup is breaking the `use_frameworks!` with  `:linkage => :static` option with the old architecture. So it is a regression.
2. JSCRuntime is required by some libraries and needs to be exposed as a prefab and the current setup makes it hard to achieve.

allow-large-files

## Changelog:
[General][Changed] - Move JSCRuntime into a separate pod/prefab

Reviewed By: cortinico

Differential Revision: D41533778

fbshipit-source-id: 642240c93a6c124280430d4f196049cb67cb130b
2022-11-28 04:13:55 -08:00
Riccardo Cipolleschi 7329e4052d Store and Extract Xcodeproj in Sandcastle
Summary:
Normally, when we work with RNTester, we have to install the pods with the `pod install` command. The `pod install` commands has some side effects on the Xcode.project: for example, it installs some build script phases.

In Sandcastle, we do not run that command to avoid network requests and to improve test reliability and reproducibility. This implies that, when we run the sandcastle jobs and/or we update the offline mirrors, we also have to upload the Xcode project associated with the specific JS engine.

This Diff operates in two steps:

 1. when updating the offline mirrors, it creates a tarball with the Xcodeproj and stores it in the proper offline mirror folder.
 2. when testing, it replaces the current project with the one stored in the offline mirrors before extracting the pods.

allow-large-files

## Changelog
[Internal] - Keep a copy of the Xcodeproj in the offline mirrors

Reviewed By: cortinico

Differential Revision: D41541712

fbshipit-source-id: e6d9633f9245631ab56c8b9689707b537c30075c
2022-11-28 04:13:55 -08:00
Nicola Corti 10a8f186eb Bump Gradle to 7.6 (#35481)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/35481

The next stable of Gradle just landed. I'm bumping it then.

Changelog:
[Android] [Changed] - Bump Gradle to 7.6

allow-large-files

Reviewed By: cipolleschi

Differential Revision: D41533430

fbshipit-source-id: 56f8ec3c491991730612aad100f6781fd67f260e
2022-11-28 02:14:35 -08:00
Christoph Purrer 022e22cbd4 Replace folly::Optional with std::optional (#35436)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/35436

Using std::optional as react-native has been using C++17 for quite some time

changelog: [Internal]

Reviewed By: cortinico

Differential Revision: D41415031

fbshipit-source-id: d786647f64b4f90cf75409109830ae0885460c17
2022-11-28 02:08:12 -08:00
Moti Zilberman 6e9d3bf7b1 Revert D39268818: chore: rename polyfills to js-polyfills (umbrella 480)
Differential Revision:
D39268818 (https://github.com/facebook/react-native/commit/ca1ae5c44ffa0b1a149e69e47b7f51cb6a914734)

Original commit changeset: c87807460f27

Original Phabricator Diff: D39268818 (https://github.com/facebook/react-native/commit/ca1ae5c44ffa0b1a149e69e47b7f51cb6a914734)

fbshipit-source-id: 30fd72c56f530ed16b61094a53678daf0142f040
2022-11-26 10:28:56 -08:00
Thibault Malbranche ca1ae5c44f chore: rename polyfills to js-polyfills (umbrella 480) (#34574)
Summary:
## Changelog

<!-- Help reviewers and the release process by writing your own changelog entry. For an example, see:
https://reactnative.dev/contributing/changelogs-in-pull-requests
-->

[General] [Changed] - Rename polyfills to js-polyfills as part of https://github.com/react-native-community/discussions-and-proposals/pull/480

Pull Request resolved: https://github.com/facebook/react-native/pull/34574

Reviewed By: cipolleschi

Differential Revision: D39268818

Pulled By: hoxyq

fbshipit-source-id: c87807460f27fc83667d18c350a4a847459f056e
2022-11-25 15:57:13 -08:00
Riccardo Cipolleschi a67286913c Fix version validation for nightlies
Summary:
The nightly version is bumped after the check is performed, therefore it fails.

With this diff, we become slightly more accepting with nightlies, allowing both `0.0.0` and `0.0.0-xxxx` as valid version for nightlies.

## Changelog
[JS][Fixed] - Accept 0.0.0 with and without prelrelease for nightlies' versions

Reviewed By: cortinico

Differential Revision: D41534995

fbshipit-source-id: 2d0417441ca7d3d3f7660c9317133ac3c6de2eb9
2022-11-25 13:46:45 -08:00
Riccardo 8b8f4f3efd Bypass tag check in dry run (#35428) (#35470)
Summary:
When dry-run in stable branch, the tag already exists. We are bypassing the tag-existence check when in a dry-run to have the CI pass

## Changelog

[General] [Fixed] - Bypass tag version check when dry-run

Pull Request resolved: https://github.com/facebook/react-native/pull/35470

Test Plan:
CircleCI
It worked for RC1 and RC2

Reviewed By: cortinico

Differential Revision: D41529648

Pulled By: cipolleschi

fbshipit-source-id: d4d7f5534f86c2cf10b05e0d4cab950e4902d8df
2022-11-25 10:53:14 -08:00
Ruslan Lesiutin 6f11b10a88 refactor(react-native-gradle-plugin): rename react-native-gradle-plugin to @react-native/gradle-plugin (#35480)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/35480

Changelog:
[General][Changed] - rename react-native-gradle-plugin to react-native/gradle-plugin

Reviewed By: cipolleschi

Differential Revision: D41532746

fbshipit-source-id: 67b936a211ec8b91a2a96ca22145cbea94ba3e8c
2022-11-25 10:29:36 -08:00
Steve Shreeve f5e5274e6a Allow react-native and expo to build when using GNU coreutils (#35382)
Summary:
See the issue at https://github.com/facebook/react-native/issues/32432#issuecomment-1242234121

This fixes a bizarre issue when using the GNU coreutils tools. There are very minor differences in the standard command-line tools on macOS and the GNU coreutils. The `cp` command has slightly different semantics across these operating systems, so this commit normalizes those differences and allows GNU coreutils to be used or the system native version of `cp`.

Fixes #32432

## Changelog

[General] [Fixed] - Allow GNU coreutils to be used to build projects

Pull Request resolved: https://github.com/facebook/react-native/pull/35382

Test Plan: This change allows the use of the system or GNU coreutils verson of `cp`.

Reviewed By: cipolleschi

Differential Revision: D41532472

Pulled By: cortinico

fbshipit-source-id: f0fe5274d3828bf6099deceee797a82a6adfdcab
2022-11-25 08:42:05 -08:00
Nicola Corti 50fbb27bd9 Move expo samples to a service account.
Summary:
This is a nit. Just moving this expo sample to a service account
which is co-owned by Meta and Expo.

Changelog:
[Internal] [Changed] - Move expo samples to a service account.

Reviewed By: cipolleschi

Differential Revision: D41533073

fbshipit-source-id: 4745bb35160c401ebb9ce03325bda64726f122dc
2022-11-25 08:40:46 -08:00
Lorenzo Sciandra b4fd178c96 fix(dependencies): move mockfs to the right package.json (#35476)
Summary:
While working on 0.71 we noticed that we were hitting a "mock-fs not found" issue on CI, caused by the fact that the dependency was set in the wrong spot.

This PR backports to main the fix: https://github.com/facebook/react-native/commit/05646f8f38b65abb9487a348d0ba7e02a35751d9 & https://github.com/facebook/react-native/commit/ceaebc69759e59bfc465722924fee98f2deac825

This is related to the black magics of repo-config, and the fact that devDeps from repo-config don't get propagated back to the root package.json when on stable branch. Because of that, this commit doesn't NOT have a yarn.lock entry (the dep is there in main).

I'm confused as to how that dep ended in the devDeps of repo config, it seems something went wrong in migrating some commits from GH to monorepo and back?
check out:
* https://github.com/facebook/react-native/pull/34580
* https://github.com/facebook/react-native/commit/f0ffd2291c850682e293d9a9ca3dbe7f46bf2e25

## Changelog

<!-- Help reviewers and the release process by writing your own changelog entry. For an example, see:
https://reactnative.dev/contributing/changelogs-in-pull-requests
-->

[Internal] [Changed] - move mockfs to the right package.json

Pull Request resolved: https://github.com/facebook/react-native/pull/35476

Test Plan: N/A, change is transparent

Reviewed By: cortinico, cipolleschi, dmytrorykun

Differential Revision: D41530265

Pulled By: jacdebug

fbshipit-source-id: ec7a6426d9a2a766a98a3cccc339ca7ca090c3a0
2022-11-25 08:10:19 -08:00
Nicola Corti e6c0ac0517 Fix compilation warnings for MapBuffer
Summary:
We have two warnings on MapBuffer which I'd like to resolve as they show up on console every time.
1. We're using a deprecated method receiveCommand, which is actually legit but was missing a propagation of the warning. I'm adding it.
2. We had a null check that that was always not null. That is enforced by the Kotlin type system. I've checked the code and
we're actually always returning non-nulls there or raising exceptions instead.

Changelog:
[Internal] [Changed] - Fix compilation warnings for MapBuffer

Reviewed By: javache

Differential Revision: D41522129

fbshipit-source-id: c2dbb660f95a2ff7dac6e4fcdf476e4058cf730e
2022-11-25 08:01:18 -08:00
LeoTM f75b92a12b Bump node version from 16 to 18 (#35443)
Summary:
Node 18: https://nodejs.org/de/blog/announcements/v18-release-announce/

Node 16 EOL: 2023-09-11
https://nodejs.org/en/blog/announcements/nodejs16-eol/

Node 18 EOL: 2025-04-30

Follow-up
- https://github.com/facebook/react-native/pull/34171
- https://github.com/facebook/react-native/pull/32980

Ref
- https://github.com/react-native-community/docker-android/pull/187

cc ramonmedel cortinico gengjiawen

## Changelog

<!-- Help reviewers and the release process by writing your own changelog entry. For an example, see:
https://reactnative.dev/contributing/changelogs-in-pull-requests
-->

[JavaScript] [Changed] - Bump node version from 16 to 18

Pull Request resolved: https://github.com/facebook/react-native/pull/35443

Test Plan: Everything builds and runs as expected

Reviewed By: cipolleschi

Differential Revision: D41531161

Pulled By: cortinico

fbshipit-source-id: 305888f55ed179f75bef34548aebf22fc2951308
2022-11-25 06:44:21 -08:00
Adam Foxman 5aead70e80 eslint config & plugin packages - prep for monorepo RFC (#34581)
Summary:
The [monorepo RFC](https://github.com/react-native-community/discussions-and-proposals/pull/480) calls for renaming:

* `react-native-community/eslint-config` -> `react-native/eslint-config`
* `react-native-community/eslint-plugin` -> `react-native/eslint-plugin`

It also calls for the versions to be aligned with the rest of main -- currently `0.72.0`.

## Changelog

<!-- Help reviewers and the release process by writing your own changelog entry. For an example, see:
https://reactnative.dev/contributing/changelogs-in-pull-requests
-->

[General][Changed] - Renamed `react-native-community/eslint-config` to `react-native/eslint-config` v0.72.0 to align with other packages
[General][Changed] - Renamed `react-native-community/eslint-plugin` to `react-native/eslint-plugin` v0.72.0 to align with other packages

Pull Request resolved: https://github.com/facebook/react-native/pull/34581

Test Plan:
First test is to run `yarn lint`, and verify that output matches before and after this change.

Second test is to change the ESLint config to use the "old" packages (under `react-native-commnuity`) and run `yarn lint` to make sure that they work as expected. This is what customers will experience, until they manually move to the new ESLint packages.

Reviewed By: cortinico

Differential Revision: D41520500

Pulled By: hoxyq

fbshipit-source-id: a61e5ae15d5aaf11f0143a3b0257a60a03b1550b
2022-11-25 05:44:17 -08:00
Riccardo Cipolleschi 319631f003 fix: update CircleCI config to use the RN version in tarball caching (#35471)
Summary:
This PR updates the Cache strategy for the tarballs to include the React Native version we are building. In this way, when we publish a new Release/RC we are sure that we are going to rebuild a nmew
tarball. This should fix caching problems like:

- we have misconfigured the build script for the Hermes tarball, we then fix it, but we distribute the wrong cached artifacts
- the cached artifact has the wrong version

## Changelog

[Internal] - Fixed Hermes Tarball Cache Logic

Pull Request resolved: https://github.com/facebook/react-native/pull/35471

Test Plan:
1. CircleCI
The real way to check this is in the next RC cycle or in the next nightly.

Reviewed By: cortinico

Differential Revision: D41530651

Pulled By: cipolleschi

fbshipit-source-id: 45e8fd3b62c8e108d393d9463ff6762dfc6d3ec8
2022-11-25 05:14:42 -08:00
Riccardo Cipolleschi 67d02640ba Use the right logic to decide when we build Hermes from source (#35469)
Summary:
This PR backports the changes in 0.71 to apply the same logic to decide when we have to build Hermes from source in both the `hermes-engine.podspec`
and in the `react_native_pods.rb` script.

## Changelog

[iOS] [Fixed] - Use the right logic to decide when we have to build from source

Pull Request resolved: https://github.com/facebook/react-native/pull/35469

Test Plan: Working on RC2

Reviewed By: cortinico

Differential Revision: D41529539

Pulled By: cipolleschi

fbshipit-source-id: 879522c2187df28f40f6bc699057e9ecfb7e25fb
2022-11-25 05:12:39 -08:00
Nicola Corti 2d1d61a38c Move on-issue-labeled to use actions/github-script@v6 (#35474)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/35474

This cleans up our `on-issue-labeled` workflow and makes sure we use only github-scripts. So we don't need to checkout the code & run an external action.

Changelog:
[Internal] [Changed] - Move on-issue-labeled to use actions/github-script@v6

Reviewed By: cipolleschi

Differential Revision: D41522650

fbshipit-source-id: c93d10eddf5be2ca9f779389e8059633291c0138
2022-11-25 04:01:31 -08:00
Lorenzo Sciandra c4959b9806 fix(e2e script): backport from 71 fixes to the E2E script (#35477)
Summary:
Because the /scripts folder for some reason is not typechecked at all, some changes broke the script and went undetected until we tried running it. This is a backport of those fixes:
* https://github.com/facebook/react-native/commit/67c373ff3a4ab0dfaaa752f08f6cc22657d4dadc
* https://github.com/facebook/react-native/commit/6107793fda11a85297b3a3e2b8f259930d6c0f41
* https://github.com/facebook/react-native/commit/6107793fda11a85297b3a3e2b8f259930d6c0f41

Also, it's backporting an improvement to the e2e local script clean to remove the hermes-engine pod cache which has been proven annoyingly in the way while testing:
* https://github.com/facebook/react-native/commit/9979e38c7093ba78db5d5b4b11456c78592ea8c5

## Changelog

[Internal] [Fixed] - Fix e2e script not working and augment clean script

Pull Request resolved: https://github.com/facebook/react-native/pull/35477

Test Plan: Works on 0.71 ;)

Reviewed By: dmytrorykun

Differential Revision: D41530272

Pulled By: jacdebug

fbshipit-source-id: d45650d919ad5ef08438b307f122817d72771f46
2022-11-25 03:26:20 -08:00
Ruslan Lesiutin e680018109 fix(ci/template): fixed unresolved variable in script
Summary:
Changelog:
[Internal] [Changed] - fixed unresolved variable in template initialization script

Reviewed By: cipolleschi

Differential Revision: D41527165

fbshipit-source-id: acdd8d4cf9fb6153022b0395d3715ca9ca6363c9
2022-11-25 01:07:42 -08:00
Petr Bela 1f8c0c8860 remove return type from constructor (#35466)
Summary:
I'm getting `node_modules/react-native/Libraries/Events/EventPolyfill.js: Unexpected token, expected "{"` when building an app. Looking at the source code, it seems odd there'd be a return type defined for a constructor. Unless I'm missing something (I don't use flow), I think it should be removed?

## Changelog

[Internal] [Fixed] - Remove return type from constructor

Pull Request resolved: https://github.com/facebook/react-native/pull/35466

Test Plan: N/A

Reviewed By: jacdebug

Differential Revision: D41527010

Pulled By: yungsters

fbshipit-source-id: 9f4faf1305ebe1915f5bcf07fc86b7437aed0c97
2022-11-24 18:26:36 -08:00
Ruslan Lesiutin 6a45f2ce79 refactor(circleci/template): publish all packages to Verdaccio before template initialization (#35459)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/35459

Changelog:
[Internal] [Changed] - now bootstrapping Verdaccio before template app initialization, this is required because react-native migh depend on some package which version is not yet published to npm

Reviewed By: cipolleschi

Differential Revision: D41521496

fbshipit-source-id: 6183ab02c697d9d08e9dca5b323bd7a11a749c3a
2022-11-24 13:56:09 -08:00
Nicola Corti 50c6ee40ea Build RNTester Release inside buildAll (#35464)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/35464

This extends the buildAll task to build both RNTester Debug and Release
We can finally do this now as debug and release are fully isolated
and don't clash on each other.

Changelog:
[Internal] [Changed] - Build RNTester Release inside buildAll

Reviewed By: cipolleschi

Differential Revision: D41521995

fbshipit-source-id: 37ec5e3b55080372f01f2736c1bb020b3776b193
2022-11-24 11:22:54 -08:00
Dmitry Rykun a5c77115ae Build hermesc in Xcode run script phase
Summary:
Build hermesc in Xcode run script phase, so it ends up inside `Pods/hermes-engine/buld_host_hermesc`. All the the housekeeping is now done by CocoaPods and Xcode, and we can get rid of all the setup/cleanup code.

Changelog:
[iOS][Changed] - Build hermesc in Xcode run script phase.

Reviewed By: cipolleschi

Differential Revision: D41521987

fbshipit-source-id: 336854fa23582255cba6d161acf2cc791cac9d00
2022-11-24 10:22:40 -08:00
Nicola Corti 09843a0094 Store RN Tester and Template APKs for Android on CI (#35463)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/35463

This will allow us to easily retrieve debug/release APK for
both RN-Tester and the Template jobs for every run of the CI.

Changelog:
[Internal] [Changed] - Store RN Tester and Template APKs for Android on CI

Reviewed By: cipolleschi

Differential Revision: D41521977

fbshipit-source-id: e2ed60921fd005425d3915323b18dde2851e7fc2
2022-11-24 10:21:57 -08:00
Nicola Corti 0c6a4f8c59 Remove AVD code from Android CI
Summary:
We don't really run AVD (Emulators on CI) so those steps
are entirely unnecessary and skipped every time. I'm removing them.

Changelog:
[Internal] [Changed] - Remove AVD code from Android CI

Reviewed By: cipolleschi

Differential Revision: D41521976

fbshipit-source-id: 2737ef0dfc84198ab9b837819c16ae46280ba43f
2022-11-24 10:21:57 -08:00
Cedric van Putten 4a4cceef25 Fix hardcoded path to codegen cli for monorepos (#35430)
Summary:
Fixes https://github.com/facebook/react-native/issues/35429

This fix is fairly straightforward. Instead of hardcoding two separate paths for this repo or a simple user's project, we ask Node to resolve `react-native-codegen`.

Because `react-native-codegen` is moved [into the `/packages/*` folder](https://github.com/facebook/react-native/blob/main/package.json#L104), it's part of a workspace in this repository. That means that this fix works not only for monorepos in general but also resolves the right path within the react native repository.

You can test this out yourself when running this command in either the root, or any other workspace in this repository:
```bash
node --print "require('path').dirname(require.resolve('react-native-codegen/package.json'))"
```

I've tested this on Node 16 and 18, and seems to work nicely. Note that you _**have to specify `react-native-codegen/package.json`**_. That's because the `react-native-codegen` package itself is technically invalid; it's missing an entry point within the package (no `main`). When running `node --print "require.resolve('react-native-codegen')"` Node can't resolve the main entry point, and will fail during this process.

## Changelog

<!-- Help reviewers and the release process by writing your own changelog entry. For an example, see:
https://reactnative.dev/contributing/changelogs-in-pull-requests
-->

[iOS] [Fixed] - Fix incorrect codegen CLI paths in monorepo projects

Pull Request resolved: https://github.com/facebook/react-native/pull/35430

Test Plan: See PR https://github.com/facebook/react-native/issues/35429

Reviewed By: cortinico

Differential Revision: D41475878

Pulled By: cipolleschi

fbshipit-source-id: f0c362b64cf9c3543a3a031d7eaf302c1314e3f0
2022-11-24 10:15:43 -08:00
Nicola Corti 4c5eb8dd2a Bump AGP to 7.4.x (#35456)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/35456

Fixes #35439

There is a bug in AGP 7.3.x which is causing assets to don't be copied properly inside the
final artifact: issuetracker.google.com/issues/237421684
As AGP 7.4.x is really close to release (is in Beta5, should be released stable in the next weeks)
we should be fine by bumping to beta5.

This also requires a bump of RNGP

Changelog:
[Android] [Changed] - Bump AGP to 7.4.x

allow-large-files

Reviewed By: cipolleschi

Differential Revision: D41519549

fbshipit-source-id: 60d568a3e49798a23f1d7bf4839ab58bd5549aba
2022-11-24 09:18:36 -08:00
Nicola Corti 92be0e3fde Allow reactnativejni to be consumed via prefab (#35461)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/35461

This is another library which is adding prefab support as it's needed by
Expo libraries and Reanimated.

Changelog:
[Internal] [Changed] - Allow `reactnativejni` to be consumed via prefab

Reviewed By: cipolleschi

Differential Revision: D41520801

fbshipit-source-id: 91142a5b5051cfba478d93a2475a178eed6fbb29
2022-11-24 08:45:15 -08:00
Nicola Corti 332822150a Add missing headers to react_nativemodule_core prefab module (#35460)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/35460

Reanimated reported that `react_nativemodule_core` was missing some headers.
Specifically the one from ReactAndroid::react_debug, ReactAndroid::react_render_core, ReactAndroid::glog,
and ReactAndroid::react_render_debug.

I'm adding them here so they get included in the shipped headers for `react_nativemodule_core`

Changelog:
[Internal] [Changed] - Add missing headers to `react_nativemodule_core` prefab module

Reviewed By: cipolleschi

Differential Revision: D41520751

fbshipit-source-id: 4627a2d0f880d4bb3ff2f0e43cd735cf9a3f2f9a
2022-11-24 08:45:15 -08:00
Nicola Corti 055d09cb76 Add prefab for _uimanager _scheduler and _mounting (#35458)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/35458

We're adding prefab support for those modules as they're needed by Reanimated
and we're exposing headers for them as well.

Changelog:
[Internal] [Changed] - Add prefab for _uimanager _scheduler and _mounting

Reviewed By: cipolleschi

Differential Revision: D41520606

fbshipit-source-id: 76f3c81705e99057b92cd9b86d0601a2b1410f95
2022-11-24 08:45:15 -08:00
Nicola Corti b70707b96d Expose hermes-executor to be consumed via prefab (#35457)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/35457

This exposes `hermes-executor` to be consumed via prefab so that
libraries can depend on it and use its symbols if needed (Expo and Reanimated need it).

Changelog:
[Internal] [Changed] - Expose `hermes-executor` to be consumed via prefab

Reviewed By: cipolleschi

Differential Revision: D41520019

fbshipit-source-id: d590a043ea89fdd8ff41b0ed20900c9cf381a1e4
2022-11-24 08:45:15 -08:00
Nicola Corti fe2716b8ae Consolidate hermes-executor-debug and -release inside a single target (#35454)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/35454

Historically, we used to have hermes-executor debug and release as separate dynamic libraries.
This makes it impossible to prefab this library, so I have to reconcile it into a single library.

This will also help keep the setup consistent with the internal (BUCK) where we have a single target.

Changelog:
[Internal] [Changed] - Consolidate hermes-executor-debug and -release inside a single target

Reviewed By: cipolleschi

Differential Revision: D41519119

fbshipit-source-id: d9ddc30b72164daa29c735836ea433fd4d917fc8
2022-11-24 08:45:15 -08:00
Dmitry Rykun af6c9e2183 Do not add "Copy Hermes Framework" script phase to hermes-engine target
Summary:
This script phase is added to the main target of the user project.
Adding it to the hermes-engine target is redundant and does nothing useful.

Changelog:
[iOS][Changed] - Do not add "Copy Hermes Framework" script phase to hermes-engine target.

Reviewed By: cipolleschi

Differential Revision: D41521276

fbshipit-source-id: a024fa33f7ec1605d1d6021f436d3d397871a50c
2022-11-24 08:43:21 -08:00
Lorenzo Blasa db3ac93001 Bump Flipper to 0.174.0 (#35445)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/35445

As Flipper version is a bit old, let's bump it to the latest stable: 0.174.0.

This is a follow-up from D33583090 (https://github.com/facebook/react-native/commit/50057158ca32842d70160541e3cb5d4bd512f8f5).

At the time, it wasn't possible to update to the latest stable Flipper as crashes were observed due to NDK mismatch.

Changelog:
[Android] [Changed] - Bump Flipper to 0.174.0

Reviewed By: cortinico

Differential Revision: D41492705

fbshipit-source-id: 9ec205bb0b8e4ddcb56355a194cae0a64f3345d6
2022-11-24 07:46:00 -08:00
Nicola Corti 25c97bbb22 RNGP - Correctly Support Gradle Configuration Cache (#35455)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/35455

This little change allows to support Gradle Configuration cache in user projects:
https://docs.gradle.org/current/userguide/configuration_cache.html

It allows to save several seconds on the build time.
We'll keep it disabled for now, but Gradle plans to enable it by default for everyone
in the future, so this changes makes us ready for it.

Changelog:
[Internal] [Changed] - RNGP - Correctly Support Gradle Configuration Cache

Reviewed By: cipolleschi

Differential Revision: D41519506

fbshipit-source-id: 6252546e811deb0777c0aab5332291368be7fa8f
2022-11-24 07:45:17 -08:00