Commit Graph

1298 Commits

Author SHA1 Message Date
Rob Hogan 7853b06929 Update Metro to ^0.80.0 - don't pin to exact version (#41219)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/41219

Bump to the latest Metro release. This includes minor breaking changes to Metro subpackages that should *not* be visible to RN users.

Metro release notes: https://github.com/facebook/metro/releases/tag/v0.80.0

## Moving to unpinned versioning
Metro is a multi-package project, and not pinning to an exact version means multiple versions of `metro*` packages may appear in an RN project.

This isn't unusual in the NPM ecosystem and *shouldn't* be a problem, but historically has caused issues (eg https://github.com/facebook/react-native/issues/34714, https://github.com/facebook/metro/issues/1017). The root cause of all of these issues, as far as we know, was fixed in https://github.com/facebook/metro/commit/6d46078e74ae9a43aa90bed46dbd6610e2696cd0, a bug where Node hierarchical resolution was effectively sidestepped via a relative worker path, resulting in a mismatch between transformer and host process.

In addition, the fact that `react-refresh`, `metro-react-native-babel-transformer` and `metro-react-native-babel-preset` are now fully moved into the `react-native/` scope and versioned with React Native means there are no circular dependencies between React Native and Metro, explicit or implicit, and we're much more clearly decoupled.

So, we're moving to caret versioning to allow React Native users to pick up Metro fixes and features without requiring React Native releases and user upgrades.

Changelog:
[General][Changed] - Update Metro to ^v0.80.0, stop pinning to an exact version

Reviewed By: GijsWeterings

Differential Revision: D50731999

fbshipit-source-id: 57b07bf73c0b31f392c4d36376ca48b48a8bd598
2023-10-27 10:42:46 -07:00
Sam Zhou 615057c239 Deploy 0.219.4 to xplat (#41173)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/41173

Changelog: [Internal]

Reviewed By: gkz

Differential Revision: D50589991

fbshipit-source-id: c221988e75fccccabec8ee69f6941bb83e42a052
2023-10-24 08:32:35 -07:00
Sam Zhou 6e42c98aa3 Deploy 0.219.2 to xplat (#41069)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/41069

Changelog: [Internal]

Reviewed By: panagosg7

Differential Revision: D50438577

fbshipit-source-id: 429050072e48b081b8449468b6878190108f23b9
2023-10-18 19:33:04 -07:00
Pieter Vanderwerff 03594c219d Update xplat and arvr to 0.17.0 (#41067)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/41067

Bump `hermes-parser` packages to the latest released version.

Changelog: https://github.com/facebook/hermes/blob/main/tools/hermes-parser/js/CHANGELOG.md

Notable changes:
- Added parsing support for `as` expressions as well as `renders*` and renders?`.
- Updated internal prettier version to `3.0.3`.

Changelog: [Internal]

Reviewed By: SamChou19815

Differential Revision: D50395762

fbshipit-source-id: 8a9131ea1b0683e79c7bc74b4df9deafac7450f9
2023-10-18 14:21:40 -07:00
Alex Taylor (alta) 191c3deae2 Deploy 0.219.0 to xplat (#41066)
Summary:
X-link: https://github.com/facebook/metro/pull/1119

X-link: https://github.com/facebook/relay/pull/4490

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

X-link: https://github.com/facebook/hermes/pull/1163

Changelog: [Internal]

Reviewed By: SamChou19815

Differential Revision: D50413448

fbshipit-source-id: f77f8a1907e9a2589993cdc0f9b2838c6d0355a5
2023-10-18 13:43:26 -07:00
Alex Hunt f40bb9331c Bump package versions for next major (#39764)
Summary:
#publish-packages-to-npm

Bump all package versions to `0.74.0` (next major release) for `main`, following instructions at https://reactnative.dev/contributing/release-branch-cut-and-rc0#12-bump-minor-version-of-all-monorepo-packages-in-main.

```sh
yarn bump-all-updated-packages --release-branch-cutoff
```

Changelog: [Internal]

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

Test Plan: —

Reviewed By: robhogan

Differential Revision: D49871039

Pulled By: huntie

fbshipit-source-id: f4df6efeae4d8a9209e7aae7b9e6fea3d15793b5
2023-10-11 08:36:23 -07:00
Marc Rousavy 5de0ddae30 chore: Upgrade ESLint for eslint-config-react-native (#39654)
Summary:
When upgrading ESLint to latest, the RN plugin fails to run because of a deprecated API:

```
Error: Parsing error: DeprecationError: 'originalKeywordKind' has been deprecated since v5.0.0 and can no longer be used. Use 'identifierToKeywordKind(identifier)' instead.
```

## Changelog:

- [GENERAL] [FIXED] Updated ESLint version to fix `originalKeywordKind` deprecation error

<!-- Help reviewers and the release process by writing your own changelog entry.

Pick one each for the category and type tags:

[ANDROID|GENERAL|IOS|INTERNAL] [BREAKING|ADDED|CHANGED|DEPRECATED|REMOVED|FIXED|SECURITY] - Message

For more details, see:
https://reactnative.dev/contributing/changelogs-in-pull-requests

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

Test Plan: Run CI and Lint

Reviewed By: NickGerleman

Differential Revision: D49634978

Pulled By: robhogan

fbshipit-source-id: f65f0d56053acf1c877fe0f368a7f4e13c8c57d1
2023-10-09 10:19:37 -07:00
Pieter Vanderwerff 2268756fa4 Deploy 0.218.0 to xplat (#39837)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/39837

Changelog: [Internal]

Reviewed By: alexmckenley

Differential Revision: D49965791

fbshipit-source-id: 40c661e81e69add96831405e75aea02fb768f2e6
2023-10-05 17:44:21 -07:00
Pieter Vanderwerff 48c542449c Upgrade xplat/js + arvr/js to hermes-parser 0.16.0 (again) (#39819)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/39819

Bump `hermes-parser` packages to the latest released version.

Changelog: https://github.com/facebook/hermes/blob/main/tools/hermes-parser/js/CHANGELOG.md

Notable changes:
- Upgraded to the lastest version of emscripten for the parser.
- The babel interop logic now more closely matches babel's AST.
  - The biggest change is we now add the `extra.raw` properties to literal nodes, which results in Babel more closely outputting literal sources. e.g. previously the following would happen `1.0` -> `1`, `'foo'` -> `"foo"` and `1n` -> `1` but now the raw source value is preserved.
- Upgraded `prettier-plugin-hermes-parser` to use the latest prettier formatting logic, which causes some minor formatting changes.
- `hermes-parser` no longer fails when the `component` name is used within a function type, e.g. `type Foo = (component: string) => void`.

Changelog: [Internal]

Reviewed By: SamChou19815

Differential Revision: D49935231

fbshipit-source-id: a905838396fdd7281442c211970e0caa773a1256
2023-10-05 11:19:05 -07:00
Hakeem King 7a320f1a9d Revert D49838842: Upgrade xplat/js + arvr/js to hermes-parser 0.16.0
Differential Revision:
D49838842

Original commit changeset: ebfd2f89852d

Original Phabricator Diff: D49838842

fbshipit-source-id: 3a4ecd10c4ed4f425dde7d70f43dc89fc1a7549f
2023-10-04 14:42:50 -07:00
Pieter Vanderwerff 4416de35f7 Upgrade xplat/js + arvr/js to hermes-parser 0.16.0 (#39791)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/39791

Bump `hermes-parser` packages to the latest released version.

Changelog: https://github.com/facebook/hermes/blob/main/tools/hermes-parser/js/CHANGELOG.md

Notable changes:
- Upgraded to the lastest version of emscripten for the parser.
- The babel interop logic now more closely matches babel's AST.
  - The biggest change is we now add the `extra.raw` properties to literal nodes, which results in Babel more closely outputting literal sources. e.g. previously the following would happen `1.0` -> `1`, `'foo'` -> `"foo"` and `1n` -> `1` but now the raw source value is preserved.
- Upgraded `prettier-plugin-hermes-parser` to use the latest prettier formatting logic, which causes some minor formatting changes.
- `hermes-parser` no longer fails when the `component` name is used within a function type, e.g. `type Foo = (component: string) => void`.

Changelog: [Internal]

Reviewed By: SamChou19815

Differential Revision: D49838842

fbshipit-source-id: ebfd2f89852d1bd3b1671ce77f58240d7e17cfbb
2023-10-04 11:14:59 -07:00
Sam Zhou d95433f824 Deploy 0.217.2 to xplat (#39716)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/39716

Changelog: [Internal]

Reviewed By: samwgoldman

Differential Revision: D49786290

fbshipit-source-id: c29e57d133134c538fd96384e0e19a6d73c525f6
2023-10-01 10:53:18 -07:00
Pieter Vanderwerff 29f62a41b4 Deploy 0.217.0 to fbsource (#39610)
Summary: Pull Request resolved: https://github.com/facebook/react-native/pull/39610

Reviewed By: SamChou19815

Differential Revision: D49522399

fbshipit-source-id: 98dc8ce53a4dea2b68909fda5f92251c6cc91717
2023-09-22 17:29:26 -07:00
Arushi Kesarwani 982f6f99d4 Upgrade Metro to 0.79.1 in RN (#39273)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/39273

Upgrade Metro dependencies to 0.79.1 in `react-native`

This includes Metro breaking changes for disabling global package resolution by default and adds features like: Haste packages, enable resolution through symlinks and passing custom customTransformOptions and customResolverOptions to bundle_build_started log event so as to refine the bundling message. It also fixes arbitrary transformation of Babel plugins during registration in `metro-babel-register` and fixes "unexpected null" crash when handling a batch of file changes and symlinks with indirections.

**Full Metro Changelog:** https://github.com/facebook/metro/releases/tag/v0.79.1
https://github.com/facebook/metro/releases/tag/v0.79.0

Changelog:
[General][Changed] Upgraded Metro to 0.79.1

Reviewed By: motiz88, mdvacca

Differential Revision: D48922815

fbshipit-source-id: 37aea6194fe587e0d094c96ceec1122c588f0fbb
2023-09-19 21:42:33 -07:00
Sam Zhou d31d16b19c Deploy 0.216.1 to xplat (#39343)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/39343

Changelog: [Internal]

Reviewed By: cortinico

Differential Revision: D49082963

fbshipit-source-id: a2ad631fa1efcc83eecb1a47bd24cbbd96a3f08f
2023-09-08 10:53:35 -07:00
Pieter Vanderwerff 2608a37564 Deploy 0.216.0 to xplat (#39319)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/39319

Changelog: [Internal]

Reviewed By: SamChou19815

Differential Revision: D49031141

fbshipit-source-id: 926f471d0843484466918f28dd0369d38db333a7
2023-09-07 09:00:56 -07:00
Moti Zilberman b27607f853 Add debugger-frontend package and manual build script (#39161)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/39161

Changelog: [Internal]

Creates a new stub package named `react-native/debugger-frontend`, which will contain a minimal build of the Chrome DevTools frontend adapted for React Native. Initially, the compiled frontend assets will be checked into the React Native repo, but we intend to replace this with a fully automated build in CI at a later date.

Reviewed By: huntie

Differential Revision: D48680624

fbshipit-source-id: a24c8b019881187963d0be88e773bc0a97a2437d
2023-08-31 08:34:33 -07:00
Sam Zhou 246b5cf414 Remove CI check jobs on .flowconfig.android in react-native (#39158)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/39158

.flowconfig.android is the same as .flowconfig now. The check is meaningless. This diff removes it and the flowconfig.

Changelog: [Internal]

Reviewed By: yungsters

Differential Revision: D48629137

fbshipit-source-id: bc1bee9426eed7bc41dc7a1efe75333e1191e066
2023-08-26 10:00:22 -07:00
Sam Zhou 06d472c05f Deploy 0.215.1 to xplat (#39133)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/39133

Changelog: [Internal]

Reviewed By: samwgoldman

Differential Revision: D48615176

fbshipit-source-id: 6fe1d27eff1fb29b63bf982cf8ed6eabc000f3a2
2023-08-23 14:10:27 -07:00
Sam Zhou ffcbff8374 Deploy 0.215.0 to xplat (#39098)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/39098

Changelog: [Internal]

Reviewed By: pieterv

Differential Revision: D48535689

fbshipit-source-id: 67ab2ea08a6ae7530fe25c14021dfc1b952a3db6
2023-08-21 17:08:00 -07:00
Rob Hogan 3c323382fe Update Jest to ^29.6.3 (#39096)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/39096

## React Native

Changelog:
[General][Changed]: Bump Jest version in the new project template from `^29.2.1` to `^29.6.3`

## Metro

[Internal]

Reviewed By: motiz88

Differential Revision: D48519694

fbshipit-source-id: 201f76402ac72da1f5c297a29a1212b167d1b7e4
2023-08-21 16:33:35 -07:00
Tim Yung ffc9ff066a RN: Enforce Manifest Constraints w/ ESLint (#39064)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/39064

Creates a new lint rule that enforces the following constraints:

- `react-native/monorepo` cannot have `dependencies`.
- `react-native` cannot have `devDependencies`.

This also includes a lengthy comment in the rule definition explaining why these constraints exist, so that future contributors can make an informed decision when reconsidering these constraints.

Changelog:
[Internal]

Reviewed By: NickGerleman

Differential Revision: D48448633

fbshipit-source-id: 26b0d74b9120ddfd2a6a72bb91f86a98c8d679ef
2023-08-18 07:48:56 -07:00
Tim Yung e637a3385b JS: Upgrade to v8-compile-cache@^2.4.0 & eslint@^8.23.1 (#39012)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/39012

Upgrades many of our projects to `v8-compile-cache@^2.4.0`, which includes [zertosh/v8-compile-cache#45](https://github.com/zertosh/v8-compile-cache/pull/45). This fixes a very opaque segmentation fault when `v8-compile-cache` is used on Apple Silicon with mixed architecture modes.

This also upgrades our projects to `eslint@^2.3.1`, which no longer has the dependency on an outdated version of `v8-compile-cache`.

Changelog:
[Internal]

Reviewed By: zertosh, NickGerleman

Differential Revision: D48336030

fbshipit-source-id: afa73d1f00bff826a8b76fa09949b9d35a97905b
2023-08-15 15:49:33 -07:00
Alex Hunt fdcb94ad13 Upgrade CLI and Metro, update status check refs (#38988)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/38988

- Upgrade to RN CLI `12.0.0-alpha.9`, including Metro bump to `0.78.0`.
- Update test scripts, since this CLI release made a breaking change to the `/status` response.

Changelog: [Internal]

Reviewed By: cortinico

Differential Revision: D48311214

fbshipit-source-id: bb0be3c32edb629355b9fbbd754b28f9878f47ef
2023-08-15 02:33:22 -07:00
Alex Hunt a978d343a6 Add auto-generation of TypeScript definitions on build (#38990)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/38990

This PR adds auto-generation of Typescript definitions from Flow source code for packages using the shared monorepo build setup (https://github.com/facebook/react-native/pull/38718).

Today, these are the following Node.js packages:

- `packages/community-cli-plugin`
- `packages/dev-middleware` (⬅️ `emitTypeScriptDefs` enabled)

This also improves emitted Flow definitions (`.js.flow`), by using [`flow-api-translator`](https://www.npmjs.com/package/flow-api-translator) to strip implementations.

**All changes**

- Include `flow-api-translator` and configure this to emit type definitions as part of `yarn build`.
    - Add translation from Flow source to TypeScript definitions (`.d.ts`) adjacent to each built file.
    - Improve emitted Flow definitions (`.js.flow`), by using `flow-api-translator` to strip implementations (previously, source files were copied). The Flow and TS defs now mirror each other.
-  Add `emitFlowDefs` and `emitTypeScriptDefs` options to build config to configure the above.
- Integrate TypeScript compiler to perform program validation on emitted `.d.ts` files.
     - This is based on this guide: https://github.com/microsoft/TypeScript-wiki/blob/main/Using-the-Compiler-API.md#a-minimal-compiler.
- Throw an exception on the `rewritePackageExports` step if a package does not define an `"exports"` field.
- Add minimal `flow-typed` definitions for `typescript` 😄.

**Notes on [`flow-api-translator`](https://www.npmjs.com/package/flow-api-translator)**

This project is experimental but is in a more mature state than when we evaluated it earlier in 2023.
- It's now possible to run this tool on our new Node.js packages, since they are exclusively authored using `import`/`export` syntax (a requirement of the tool).
- As a safety net, we run the TypeScript compiler against the generated program, which will fail the build.

Changelog: [Internal]

Reviewed By: robhogan

Differential Revision: D48312463

fbshipit-source-id: 817edb35f911f52fa987946f2d8fc1a319078c9d
2023-08-14 12:12:10 -07:00
David Vacca 161d645e16 Sort scripts in package.json (#38861)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/38861

I'm just sorting the scripts in package.json to make it easier to consume

changelog: [internal] internal

Reviewed By: cortinico, NickGerleman

Differential Revision: D48161535

fbshipit-source-id: 473af009b05fe8bf264975245f508926f8f8dae3
2023-08-09 11:56:44 -07:00
David Vacca ba16de1f5e Simplify testing RN Android in OSS (#38862)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/38862

Simplify testing RN Android in OSS

changelog: [internal] internal

Reviewed By: cortinico, NickGerleman

Differential Revision: D48161533

fbshipit-source-id: 0ded18d8a6149d2e36c327edc436d35ec35184d2
2023-08-09 11:56:44 -07:00
David Vacca 0f244a627a Simplify building RN Android in OSS (#38863)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/38863

I created a simple way to build RN Android using yarn:

changelog: [internal] internal

Reviewed By: cortinico, NickGerleman

Differential Revision: D48160016

fbshipit-source-id: 5157f0e717f48b32f2a6db0680c02975d9bd7a43
2023-08-09 11:56:44 -07:00
Lorenzo Sciandra c956a1bd6c chore(releases): improve bump oss script to allow less human errors (#38666)
Summary:
One of the limitations of the existing flow for the release crew is that they need to manually remember to publish all the other packages in the monorepo ahead of a new patch release - this PR modifies the logic for the bump-oss-version script (and makes it available via yarn) so that it will not run if:
* there are git changes lying around
* if some of the packages need a new release

it required a bit of refactoring to extract some portions of the logic from the bump-all-package-versions script, but I think the end result is pretty decent.

## Changelog:

<!-- Help reviewers and the release process by writing your own changelog entry.

Pick one each for the category and type tags:

For more details, see:
https://reactnative.dev/contributing/changelogs-in-pull-requests
-->

[INTERNAL] [CHANGED] - improve bump oss script to allow less human errors

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

Test Plan:
* checkout this branch
* comment L54 of bump-oss-version.js (to remove the check on the branch name)
* run `yarn bump-all-updated-packages`, verify that it works and that it detects that some packages have unreleased code
* run `yarn bump-oss-version -t asd -v asd` (the "fake" parameters are needed to pass the yargs check), verify that it will throw an error because it finds a package that has unreleased code

Reviewed By: mdvacca

Differential Revision: D48156963

Pulled By: cortinico

fbshipit-source-id: 2473ad5a84578c5236c905fd9aa9a88113fe8d22
2023-08-09 00:46:14 -07:00
Moti Zilberman 408dd81fb6 Remove unused inlineRequires params from BabelTransformer API (#38771)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/38771

Changelog: [Internal]

Metro has been passing `inlineRequires: false` to Babel transformers for the last 5 years (D9636747), as the inline requires transform had been hoisted into the transform worker. Here we clean up the unused code paths in React Native's implementations of the Metro Babel transformer API, and the unused properties in the API itself.

Reviewed By: GijsWeterings

Differential Revision: D48034441

fbshipit-source-id: d24a793962942a3c87461ffbade847ea749dac95
2023-08-07 09:17:43 -07:00
Pieter Vanderwerff 66990248a7 Deploy 0.214.0 to xplat (#38802)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/38802

Changelog: [Internal]

Reviewed By: SamChou19815

Differential Revision: D48075406

fbshipit-source-id: 1fa5c717c593ded754948ba073d9312bc9a3d2ee
2023-08-04 13:54:15 -07:00
Alex Hunt cd8f5d176a Add shared monorepo build setup (#38718)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/38718

> NOTE: Replaces https://github.com/facebook/react-native/pull/38240

## Context

RFC: Decoupling Flipper from React Native core: https://github.com/react-native-community/discussions-and-proposals/pull/641

## Changes

To support incoming new React Native packages around debugging (including migrating over [`react-native-community/cli-plugin-metro`](https://github.com/react-native-community/cli/tree/main/packages/cli-plugin-metro)) — which target Node.js and require a build step, this PR adds a minimal shared build setup across the `react-native` monorepo.

The setup is closely inspired/based on the build scripts in Jest, Metro, and React Native CLI — and is a simple set of script wrappers around Babel. These are available as build commands at the root of the repo:

- `yarn build` — Builds all configured packages. Functionally, this:
  - Outputs a `dist/` directory with built files.
  - Rewrites package.json `"exports"` to update every `./src/*` reference to `./dist/*` (source of truth).
- `scripts/build/babel-register.js` — Allows running all Node.js entry points from source, similar to the current setup in [facebook/metro](https://github.com/facebook/metro). (Example entry point file in this PR: `packages/dev-middleware/src/index.js`)

Build configuration (i.e. Babel config) is shared as a set standard across the monorepo, and **packages are opted-in to requiring a build**, configured in `scripts/build.config.js`.

```
const buildConfig /*: BuildConfig */ = {
  // The packages to include for build and their build options
  packages: {
    'dev-middleware': {target: 'node'},
  },
};
```

For now, there is a single `target: 'node'` option — this is necessary as `react-native`, unlike the above other projects, is a repository with packages targeting several runtimes. We may, in future, introduce a build step for other, non-Node, packages — which may be useful for things such as auto-generated TypeScript definitions.

 {F1043312771}

**Differences from the Metro setup**

- References (and compiles out) repo-local `scripts/build/babel-register.js` — removing need for an npm-published dependency.

## Current integration points

- **CircleCI** — `yarn build` is added to the `build_npm_package` and `find_and_publish_bumped_packages` jobs.

**New Node.js package(s) are not load bearing quite yet**: There are not yet any built packages added to the dependencies of `packages/react-native/`, so this will be further tested in a later PR (and is actively being done in an internal commit stack).

### Alternative designs

**Per-package config file**

Replace `scripts/build/config.js` with a package-defined key in in `package.json`, similar to Jest's [`publishConfig`](https://github.com/jestjs/jest/blob/1f019afdcdfc54a6664908bb45f343db4e3d0848/packages/jest-cli/package.json#L87C3-L89C4).

```
"buildConfig": {
  "type": "node"
},
```

This would be the only customisation required, with a single Babel config still standardised. Another option this might receive in future is `enableTypeScriptCodgeen`.

**Rollup**

More sophisticated build tool for Node.js, used by the React codebase (albeit within a custom script setup as well).

**Lerna and Nx**

- Most sophisticated setup enabling caching and optimised cloud runs.
- Probably the most likely thing we'll move towards at a later stage.

Changelog: [Internal]

Reviewed By: NickGerleman

Differential Revision: D47760330

fbshipit-source-id: 38ec94708ce3d9946a197d80885781e9707c5841
2023-08-03 04:42:30 -07:00
Nicola Corti 704efe590c Remove test_android_docker_image
Summary:
This job is now unnecessary and we can safely remove it as its work is effectively already
executed by the `test_android` job and is causing us just to spent more CI credits.

Changelog:
[Internal] [Changed] - Remove test_android_docker_image

Reviewed By: cipolleschi

Differential Revision: D47716008

fbshipit-source-id: 68ff2b28da8cfb69e013476f84e903cf3001d5d3
2023-08-02 03:44:50 -07:00
Dmitry Rykun d380bb8473 Move react-native-babel-transformer and react-native-babel-preset from Metro to React Native repo (#38228)
Summary:
X-link: https://github.com/facebook/metro/pull/1024

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

Changelog: [General][Changed] - Move react-native-babel-transformer and react-native-babel-preset from Metro to React Native repo.

Metro Changelog:  **[Breaking]** - Remove `metro-react-native-babel-transformer` and `metro-react-native-babel-preset`, to be published as `react-native/metro-babel-transformer` and `react-native/babel-preset` instead.

This diff does the following:
- Move `metro/packages/metro-react-native-babel-preset` to `react-native/packages/react-native-babel-preset`.
- Rename `metro-react-native-babel-preset` package to `react-native/babel-preset`.
- Move `metro/packages/metro-react-native-babel-transformer` to `react-native/packages/react-native-babel-transformer`.
- Rename `metro-react-native-babel-transformer` package to `react-native/metro-babel-transformer`.
- Upadate dependencies.

Reviewed By: robhogan

Differential Revision: D46977466

fbshipit-source-id: 32478f63a0442b61a1804f12ef814c8b29d7f8bb
2023-07-27 11:48:16 -07:00
Pieter Vanderwerff 928eca82ea Update to 0.15.0 across fbsource (#38627)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/38627

Upgrade hermes parser packages to the latest released versions.

Changelog is here: https://github.com/facebook/hermes/blob/main/tools/hermes-parser/js/CHANGELOG.md

Changelog: [Internal]

Reviewed By: SamChou19815

Differential Revision: D47763733

fbshipit-source-id: 773da536034a57b540649a91507b4bf278d7e815
2023-07-25 16:01:48 -07:00
szymonrybczak 28deaa3a71 Bump NDK to 25 (#37974)
Summary:
Bumps NDK to current LTS Release.

## Changelog:

[Android] [Changed] - Bump NDK to 25

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

Test Plan: CI Green 

Reviewed By: christophpurrer

Differential Revision: D47754763

Pulled By: cortinico

fbshipit-source-id: 24fbca503b3814c28a05aada5223c741e14bda28
2023-07-25 09:57:30 -07:00
Sam Zhou e64756ae5b Deploy 0.213.1 to xplat (#38605)
Summary:
X-link: https://github.com/facebook/relay/pull/4391

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

Changelog: [Internal]

Reviewed By: samwgoldman

Differential Revision: D47744471

fbshipit-source-id: 8e2e2e55610020cc6b85cd73d0221bf23c4b7c3b
2023-07-24 20:15:05 -07:00
Tim Yung a7805bb20e RN: Upgrade to hermes-parser@0.14.0 (#38554)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/38554

@public
Upgrades React Native, Relay, and Metro to use `hermes-parser@0.14.0`.

This also changes the repository's Jest configuration to now use `hermes-parser`.

Changelog:
[Internal]

Reviewed By: SamChou19815

Differential Revision: D47522140

fbshipit-source-id: 207ccd0c4e4489d486731d0c847d8089abc1cc72
2023-07-24 11:30:39 -07:00
Sam Zhou fc8ad8c659 Deploy 0.213.0 to xplat
Summary: Changelog: [Internal]

Reviewed By: pieterv

Differential Revision: D47685569

fbshipit-source-id: 2563ee5268b8225c22fec4c2611d2616a6023712
2023-07-21 17:54:49 -07:00
Lorenzo Sciandra 8f4542d65c fix: remove old command for align packages versions (#38548)
Summary:
While working on a couple things, me Riccardo and Nicola noticed that in main for some reason the old `align-package-versions` command in the root package.json was still there in main branch.

This was "merged into" `bump-all-updated-packages` by hoxyq all the way back in March; here's the commit for 0.72 branch -> https://github.com/facebook/react-native/commit/a469927c16e175b637b2eaf9a84af94f2e8cb519

We are not sure why, but for some reason the same commit in main was borked in some way, and didn't actually remove the command: PR (https://github.com/facebook/react-native/pull/36568) and commit (https://github.com/facebook/react-native/commit/04df252aa7bff34a02b24f8381b3f2f1dd122c2f)

So this commit just takes care of that.

## Changelog:

<!-- Help reviewers and the release process by writing your own changelog entry.

Pick one each for the category and type tags:

[ANDROID|GENERAL|IOS|INTERNAL] [BREAKING|ADDED|CHANGED|DEPRECATED|REMOVED|FIXED|SECURITY] - Message

For more details, see:
https://reactnative.dev/contributing/changelogs-in-pull-requests
-->

[INTERNAL] [REMOVED] - remove old command for align packages versions

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

Test Plan: N/A - it's a removal

Reviewed By: cipolleschi

Differential Revision: D47669016

Pulled By: cortinico

fbshipit-source-id: aa651b69433171219dbc235d947ceed4f88b602a
2023-07-21 09:17:58 -07:00
George Zahariev ed07a1156c Deploy 0.212.0 to xplat (#38308)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/38308

Changelog: [Internal]

Reviewed By: SamChou19815

Differential Revision: D47388614

fbshipit-source-id: 93d7ca2edc711b4ef43a51520ff4a80ad24bd69d
2023-07-12 22:37:31 -07:00
Sam Zhou ee425cca0d Deploy 0.211.0 to xplat (#38168)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/38168

Changelog: [Internal]

Reviewed By: gkz

Differential Revision: D47202522

fbshipit-source-id: a3c9fddfcdf917bb88006832cc597b31ed4a76d4
2023-07-03 20:26:57 -07:00
Panagiotis Vekris 5fd32d71e9 Upgrade hermes-* packages in xplat and arvr to 0.14.0 (#38133)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/38133

Upgrade hermes parser packages to the latest released versions.

Changelog is here: https://github.com/facebook/hermes/blob/main/tools/hermes-parser/js/CHANGELOG.md

Changelog: [Internal]

Reviewed By: mroch

Differential Revision: D47133130

fbshipit-source-id: e1022f491feb08273fd340eb1fce7256d3a2f191
2023-06-30 11:10:35 -07:00
Panagiotis Vekris b9cf5a1c49 Deploy 0.210.1 to xplat and set type_guards=true (#38098)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/38098

Changelog: [Internal]

Reviewed By: SamChou19815

Differential Revision: D47065254

fbshipit-source-id: 77c4694d8e1b31ef4dbd60cbf30d8fa1267a2819
2023-06-27 15:33:10 -07:00
Jordan Brown 37460b06a4 Deploy 0.210.0 to xplat (#38097)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/38097

Changelog: [Internal]

Reviewed By: mroch

Differential Revision: D47056034

fbshipit-source-id: 3a5f387722b637ad56a7871008bd9afecb0c52c8
2023-06-27 09:14:20 -07:00
Sam Zhou d0bbf7bd13 Upgrade hermes-* packages in xplat and arvr to version 0.13.0 (#38083)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/38083

Upgrade hermes parser packages to the latest released versions.

Changelog is here: https://github.com/facebook/hermes/blob/main/tools/hermes-parser/js/CHANGELOG.md
Main differences are improved parser support for new Flow features.

Changelog: [Internal]

Reviewed By: pieterv

Differential Revision: D47038363

fbshipit-source-id: 6b264e6a92f17d8107e035d657f4d8c6f02dceb7
2023-06-26 19:31:04 -07:00
Nicola Corti 9f7dddf1ac AGP to 8.0.2 (#37019)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/37019

This bumps the version of AGP to the latest stable.
There was a breaking change in how buildConfig are built which I had to handle.
This also requires a bump of RNGP to work correctly.
Moreover, we now required Java 17 to build Android apps (as that's a AGP requirement).

Changelog:
[Android] [Changed] - Java to 17 and AGP to 8.0.2

Reviewed By: cipolleschi

Differential Revision: D45178748

fbshipit-source-id: 0f302e1f2f2ee56bd3566202fbb5ef67c9b220db
2023-06-20 08:00:05 -07:00
Sam Zhou aaa15ed09b Deploy 0.209.0 to xplat (#37921)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/37921

Changelog: [Internal]

Reviewed By: pieterv

Differential Revision: D46773358

fbshipit-source-id: a7ef8a44c4a55a8ad5be2bc637267c518895c1c3
2023-06-15 13:08:46 -07:00
Pieter Vanderwerff dc2037c0f1 Switch xplat prettier config to hermes plugin (#37915)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/37915

Enable the `prettier-plugin-hermes-parser` in xplat. This plugin enables the use of `hermes-parser` which is significantly faster than the current flow parser prettier bundles (improves formatting time by ~50%) and also brings support for the latest Prettier 3.0.0 printing logic for JS. This upgrade is required in order to enable upcoming Flow features that add new syntax.

Changelog: [Internal]

Reviewed By: SamChou19815

Differential Revision: D46748891

fbshipit-source-id: 3775ef9afa7c04e565fa4fcf8ca5b410f49d35a1
2023-06-15 08:23:06 -07:00
Sam Goldman 1807ba6f31 Deploy Flow v0.208.1 to fbsource (#37892)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/37892

Changelog: [Internal]

Reviewed By: SamChou19815

Differential Revision: D46734451

fbshipit-source-id: 7c50c95782bc34e7f43f916fbba75fb0e5f2d09d
2023-06-14 17:00:12 -07:00