wix / react-native-navigation

A complete native navigation solution for React Native
https://wix.github.io/react-native-navigation/
MIT License
13.01k stars 2.68k forks source link

React Native 0.73 `npx rnn-link` doesn't work #7821

Open retyui opened 7 months ago

retyui commented 7 months ago

What happened?

starting from rn73 *.java files was convened to *.kt so auto-linking doesn't work properly

npx rnn-link

/tmp/Rn73/node_modules/react-native-navigation/autolink/postlink/path.js:10
exports.rootGradle = mainApplicationJava.replace(/android\/app\/.*\.java/, 'android/build.gradle');
                                         ^

TypeError: Cannot read properties of undefined (reading 'replace')
    at Object.<anonymous> (/Users/davydnarbutovich/tmp/Rn73/node_modules/react-native-navigation/autolink/postlink/path.js:10:42)
    at Module._compile (node:internal/modules/cjs/loader:1256:14)
    at Module._extensions..js (node:internal/modules/cjs/loader:1310:10)
    at Module.load (node:internal/modules/cjs/loader:1119:32)
    at Module._load (node:internal/modules/cjs/loader:960:12)
    at Module.require (node:internal/modules/cjs/loader:1143:19)
    at require (node:internal/modules/cjs/helpers:119:18)
    at Object.<anonymous> (/Users/davydnarbutovich/tmp/Rn73/node_modules/react-native-navigation/autolink/postlink/applicationLinker.js:2:12)
    at Module._compile (node:internal/modules/cjs/loader:1256:14)
    at Module._extensions..js (node:internal/modules/cjs/loader:1310:10)

What was the expected behaviour?

no js error, *.kt files supported out of the box

Was it tested on latest react-native-navigation?

Help us reproduce this issue!

No response

In what environment did this happen?

React Native Navigation version: 7.37.2 React Native version: 0.73 Has Fabric (React Native's new rendering system) enabled: (yes/no) Node version: 18 Device model: Android version:

jtich commented 7 months ago

+1

JailsonSmidi commented 7 months ago

Mesmo problema

HaNguyenRN commented 6 months ago

+1

jtich commented 6 months ago

The issue is that the following line in path.js assumes that mainApplication has the java extension, however it's now a kotlin file, which is why mainApplicationJava is undefined.

I was able to get around this issue by changing this line...

var mainApplicationJava = glob.sync('**/MainApplication.java', ignoreFolders)[0];

to the following:

var mainApplicationJava = glob.sync('**/MainApplication.{java,kt}', ignoreFolders)[0];

This way the glob.sync func matches both file extensions.

elmalakomar commented 6 months ago

+1

ArianHamdi commented 6 months ago

Same here

harunisik commented 6 months ago

+1

pramahaditamaputra commented 5 months ago

is this issue has been solved ?

stephanepericat commented 5 months ago

i still have this issue as well

d4vidi commented 5 months ago

All, please track https://github.com/wix/react-native-navigation/issues/7834 for the official RN73 support 🙏🏻