From 890a6bce6b0f3fad2a8c7647040151a4c119044d Mon Sep 17 00:00:00 2001 From: Iwo Plaza Date: Wed, 29 Jan 2025 06:40:02 -0800 Subject: [PATCH] Migrate files in Libraries/PermissionsAndroid and Libraries/PushNotificationIOS to use export syntax Summary: ## Motivation Modernising the RN codebase to allow for modern Flow tooling to process it. ## This diff - Migrates files in `Libraries/PermissionsAndroid/*.js` and `Libraries/PushNotificationIOS/*.js` to use the `export` syntax. - Updates deep-imports of these files to use `.default` - Updates jest mocks - Updates the current iteration of API snapshots (intended). Changelog: [General][Breaking] - Deep imports to modules inside `Libraries/PermissionsAndroid` and `Libraries/PushNotificationIOS` with `require` syntax has to be appended with '.default'. Differential Revision: D68832494 --- .../Libraries/PermissionsAndroid/PermissionsAndroid.js | 2 +- .../Libraries/PushNotificationIOS/PushNotificationIOS.js | 2 +- .../__tests__/__snapshots__/public-api-test.js.snap | 4 ++-- packages/react-native/index.js | 5 +++-- 4 files changed, 7 insertions(+), 6 deletions(-) diff --git a/packages/react-native/Libraries/PermissionsAndroid/PermissionsAndroid.js b/packages/react-native/Libraries/PermissionsAndroid/PermissionsAndroid.js index 8f157585ded0d3..8bfc024e42509d 100644 --- a/packages/react-native/Libraries/PermissionsAndroid/PermissionsAndroid.js +++ b/packages/react-native/Libraries/PermissionsAndroid/PermissionsAndroid.js @@ -296,4 +296,4 @@ class PermissionsAndroid { const PermissionsAndroidInstance: PermissionsAndroid = new PermissionsAndroid(); -module.exports = PermissionsAndroidInstance; +export default PermissionsAndroidInstance; diff --git a/packages/react-native/Libraries/PushNotificationIOS/PushNotificationIOS.js b/packages/react-native/Libraries/PushNotificationIOS/PushNotificationIOS.js index 9453c82b9ab8be..1069653e8a9d68 100644 --- a/packages/react-native/Libraries/PushNotificationIOS/PushNotificationIOS.js +++ b/packages/react-native/Libraries/PushNotificationIOS/PushNotificationIOS.js @@ -566,4 +566,4 @@ class PushNotificationIOS { } } -module.exports = PushNotificationIOS; +export default PushNotificationIOS; diff --git a/packages/react-native/Libraries/__tests__/__snapshots__/public-api-test.js.snap b/packages/react-native/Libraries/__tests__/__snapshots__/public-api-test.js.snap index 831996bcd259f9..07c6b3e6ee4336 100644 --- a/packages/react-native/Libraries/__tests__/__snapshots__/public-api-test.js.snap +++ b/packages/react-native/Libraries/__tests__/__snapshots__/public-api-test.js.snap @@ -7062,7 +7062,7 @@ declare class PermissionsAndroid { ): Promise<{ [permission: PermissionType]: PermissionStatus, ... }>; } declare const PermissionsAndroidInstance: PermissionsAndroid; -declare module.exports: PermissionsAndroidInstance; +declare export default typeof PermissionsAndroidInstance; " `; @@ -7309,7 +7309,7 @@ declare class PushNotificationIOS { getData(): ?Object; getThreadID(): ?string; } -declare module.exports: PushNotificationIOS; +declare export default typeof PushNotificationIOS; " `; diff --git a/packages/react-native/index.js b/packages/react-native/index.js index 75f84a11d66ed2..a6ae36e2f11881 100644 --- a/packages/react-native/index.js +++ b/packages/react-native/index.js @@ -300,7 +300,7 @@ module.exports = { return require('./Libraries/Interaction/PanResponder').default; }, get PermissionsAndroid(): PermissionsAndroid { - return require('./Libraries/PermissionsAndroid/PermissionsAndroid'); + return require('./Libraries/PermissionsAndroid/PermissionsAndroid').default; }, get PixelRatio(): PixelRatio { return require('./Libraries/Utilities/PixelRatio').default; @@ -312,7 +312,8 @@ module.exports = { "It can now be installed and imported from '@react-native-community/push-notification-ios' instead of 'react-native'. " + 'See https://github.com/react-native-push-notification/ios', ); - return require('./Libraries/PushNotificationIOS/PushNotificationIOS'); + return require('./Libraries/PushNotificationIOS/PushNotificationIOS') + .default; }, get Settings(): Settings { return require('./Libraries/Settings/Settings').default;