You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
@@ -44,9 +44,9 @@ This command adds the latest version of every dependency. The versions may need
44
44
45
45
2. Add a TypeScript config file. Create a `tsconfig.json` in the root of your project:
46
46
47
-
```json
47
+
```json title="tsconfig.json"
48
48
{
49
-
"extends": "@tsconfig/react-native/tsconfig.json"
49
+
"extends": "@react-native/typescript-config"
50
50
}
51
51
```
52
52
@@ -86,19 +86,16 @@ Out of the box, TypeScript sources are transformed by [Babel][babel] during bund
86
86
You can provide an interface for a React Component's [Props](props) and [State](state) via `React.Component<Props, State>` which will provide type-checking and editor auto-completing when working with that component in JSX.
Also in Metro 0.82, we’re promoting `package.json``exports` and `imports` field resolution to stable. `exports` resolution was [introduced in React Native 0.72](/blog/2023/06/21/package-exports-support), and `imports` support was added in a community contribution - both will now be enabled by default for all the projects on React Native 0.79.
32
+
Also in Metro 0.82, we’re promoting `package.json``"exports"` and `"imports"` field resolution to stable. `"exports"` resolution was [introduced in React Native 0.72](/blog/2023/06/21/package-exports-support), and `"imports"` support was added in a community contribution - both will now be enabled by default for all the projects on React Native 0.79.
33
33
34
34
This improves compatibility with modern npm dependencies, and opens up new, standards-compliant ways to organise your projects.
35
35
36
+
:::warning Breaking change
37
+
38
+
While we've been testing `package.json``"exports"` in the community for a while, this switchover can be a breaking change for certain packages and project setups.
39
+
40
+
In particular, we're aware of user reported incompatibilities for some popular packages including Firebase and AWS Amplify, and are working to get these fixed at source.
41
+
42
+
If you're encountering issues:
43
+
44
+
- Please update to the Metro [0.81.5 hotfix](https://github.com/facebook/metro/releases/tag/v0.81.5), or set [`resolver.unstable_enablePackageExports = false`](https://metrobundler.dev/docs/configuration/#unstable_enablepackageexports-experimental) to opt out.
45
+
- See [expo/expo#36551](https://github.com/expo/expo/discussions/36551) for affected packages and future updates.
46
+
47
+
:::
48
+
36
49
### JSC moving to Community Package
37
50
38
51
As part of our effort to reduce the API surface of React Native, we're in the process of moving the JavaScriptCore (JSC) engine to a community-maintained package: `@react-native-community/javascriptcore`
@@ -150,7 +163,7 @@ This change has a subtle impact on existing imports:
@@ -44,9 +44,9 @@ This command adds the latest version of every dependency. The versions may need
44
44
45
45
2. Add a TypeScript config file. Create a `tsconfig.json` in the root of your project:
46
46
47
-
```json
47
+
```json title="tsconfig.json"
48
48
{
49
-
"extends": "@tsconfig/react-native/tsconfig.json"
49
+
"extends": "@react-native/typescript-config"
50
50
}
51
51
```
52
52
@@ -86,19 +86,16 @@ Out of the box, TypeScript sources are transformed by [Babel][babel] during bund
86
86
You can provide an interface for a React Component's [Props](props) and [State](state) via `React.Component<Props, State>` which will provide type-checking and editor auto-completing when working with that component in JSX.
0 commit comments