diff --git a/packages/core/RNSentryCocoaTester/Podfile b/packages/core/RNSentryCocoaTester/Podfile index 42d4dfaf7..e7fb60372 100644 --- a/packages/core/RNSentryCocoaTester/Podfile +++ b/packages/core/RNSentryCocoaTester/Podfile @@ -8,4 +8,29 @@ target 'RNSentryCocoaTesterTests' do ) pod 'RNSentry', :path => '../RNSentry.podspec' pod 'OCMock', '3.9.1' + + post_install do |installer| + set_react_native_path(installer) + end +end + +def extract_projects(installer) + return installer.aggregate_targets + .map{ |t| t.user_project } + .uniq{ |p| p.path } + .push(installer.pods_project) +end + +def set_react_native_path(installer) + # https://github.com/facebook/react-native/blob/9cc6f007ba1cf112466ccf685c0ef918bba69dd7/packages/react-native/scripts/react_native_pods.rb#L378 + Pod::UI.puts("Setting REACT_NATIVE_PATH build settings") + + projects = extract_projects(installer) + + projects.each do |project| + project.build_configurations.each do |config| + config.build_settings["REACT_NATIVE_PATH"] = '${PODS_ROOT}/../../node_modules/react-native' + end + project.save() + end end diff --git a/packages/core/RNSentryCocoaTester/RNSentryCocoaTester.xcodeproj/project.pbxproj b/packages/core/RNSentryCocoaTester/RNSentryCocoaTester.xcodeproj/project.pbxproj index 839420845..b1cc2aa6f 100644 --- a/packages/core/RNSentryCocoaTester/RNSentryCocoaTester.xcodeproj/project.pbxproj +++ b/packages/core/RNSentryCocoaTester/RNSentryCocoaTester.xcodeproj/project.pbxproj @@ -7,7 +7,6 @@ objects = { /* Begin PBXBuildFile section */ - 330F308C2C0F3840002A0D4E /* RNSentryBreadcrumbTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 330F308B2C0F3840002A0D4E /* RNSentryBreadcrumbTests.m */; }; 336084392C32E382008CC412 /* RNSentryReplayBreadcrumbConverterTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 336084382C32E382008CC412 /* RNSentryReplayBreadcrumbConverterTests.swift */; }; 33958C692BFCF12600AD1FB6 /* RNSentryOnDrawReporterTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 33958C682BFCF12600AD1FB6 /* RNSentryOnDrawReporterTests.m */; }; 33AFDFED2B8D14B300AAB120 /* RNSentryFramesTrackerListenerTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 33AFDFEC2B8D14B300AAB120 /* RNSentryFramesTrackerListenerTests.m */; }; @@ -19,7 +18,6 @@ /* Begin PBXFileReference section */ 1482D5685A340AB93348A43D /* Pods-RNSentryCocoaTesterTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RNSentryCocoaTesterTests.release.xcconfig"; path = "Target Support Files/Pods-RNSentryCocoaTesterTests/Pods-RNSentryCocoaTesterTests.release.xcconfig"; sourceTree = ""; }; 330F308D2C0F385A002A0D4E /* RNSentryBreadcrumb.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = RNSentryBreadcrumb.h; path = ../ios/RNSentryBreadcrumb.h; sourceTree = ""; }; - 336084372C32E382008CC412 /* RNSentryCocoaTesterTests-Bridging-Header.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "RNSentryCocoaTesterTests-Bridging-Header.h"; sourceTree = ""; }; 336084382C32E382008CC412 /* RNSentryReplayBreadcrumbConverterTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = RNSentryReplayBreadcrumbConverterTests.swift; sourceTree = ""; }; 3360843A2C32E3A8008CC412 /* RNSentryReplayBreadcrumbConverter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = RNSentryReplayBreadcrumbConverter.h; path = ../ios/RNSentryReplayBreadcrumbConverter.h; sourceTree = ""; }; 3360843C2C340C76008CC412 /* RNSentryBreadcrumbTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RNSentryBreadcrumbTests.swift; sourceTree = ""; }; @@ -89,7 +87,6 @@ 33AFDFF22B8D15F600AAB120 /* RNSentryDependencyContainerTests.h */, 33958C682BFCF12600AD1FB6 /* RNSentryOnDrawReporterTests.m */, 3360843C2C340C76008CC412 /* RNSentryBreadcrumbTests.swift */, - 3360843B2C340C75008CC412 /* RNSentryCocoaTesterTests-Bridging-Header.h */, ); path = RNSentryCocoaTesterTests; sourceTree = ""; @@ -219,7 +216,6 @@ 336084392C32E382008CC412 /* RNSentryReplayBreadcrumbConverterTests.swift in Sources */, 33F58AD02977037D008F60EA /* RNSentryTests.mm in Sources */, 33958C692BFCF12600AD1FB6 /* RNSentryOnDrawReporterTests.m in Sources */, - 3360843D2C340C76008CC412 /* RNSentryBreadcrumbTests.swift in Sources */, 33AFDFED2B8D14B300AAB120 /* RNSentryFramesTrackerListenerTests.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; @@ -282,6 +278,7 @@ MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; MTL_FAST_MATH = YES; ONLY_ACTIVE_ARCH = YES; + REACT_NATIVE_PATH = "${PODS_ROOT}/../../node_modules/react-native"; SDKROOT = iphoneos; }; name = Debug; @@ -334,6 +331,7 @@ IPHONEOS_DEPLOYMENT_TARGET = 12.4; MTL_ENABLE_DEBUG_INFO = NO; MTL_FAST_MATH = YES; + REACT_NATIVE_PATH = "${PODS_ROOT}/../../node_modules/react-native"; SDKROOT = iphoneos; VALIDATE_PRODUCT = YES; }; @@ -394,6 +392,7 @@ MARKETING_VERSION = 1.0; PRODUCT_BUNDLE_IDENTIFIER = io.sentry.RNSentryCocoaTesterTests; PRODUCT_NAME = "$(TARGET_NAME)"; + REACT_NATIVE_PATH = "${PODS_ROOT}/../../node_modules/react-native"; SUPPORTED_PLATFORMS = "iphoneos iphonesimulator"; SUPPORTS_MACCATALYST = NO; SUPPORTS_MAC_DESIGNED_FOR_IPHONE_IPAD = NO; @@ -460,6 +459,7 @@ MARKETING_VERSION = 1.0; PRODUCT_BUNDLE_IDENTIFIER = io.sentry.RNSentryCocoaTesterTests; PRODUCT_NAME = "$(TARGET_NAME)"; + REACT_NATIVE_PATH = "${PODS_ROOT}/../../node_modules/react-native"; SUPPORTED_PLATFORMS = "iphoneos iphonesimulator"; SUPPORTS_MACCATALYST = NO; SUPPORTS_MAC_DESIGNED_FOR_IPHONE_IPAD = NO; diff --git a/packages/core/babel.config.js b/packages/core/babel.config.js index f842b77fc..30d7f3421 100644 --- a/packages/core/babel.config.js +++ b/packages/core/babel.config.js @@ -1,3 +1,4 @@ module.exports = { - presets: ['module:metro-react-native-babel-preset'], + presets: ['module:@react-native/babel-preset'], }; + diff --git a/packages/core/package.json b/packages/core/package.json index ea3fc02f8..2110f2845 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -77,11 +77,12 @@ "@babel/core": "^7.23.5", "@expo/metro-config": "0.17.5", "@mswjs/interceptors": "^0.25.15", + "@react-native/babel-preset": "0.75.4", "@sentry-internal/eslint-config-sdk": "8.34.0", "@sentry-internal/eslint-plugin-sdk": "8.34.0", "@sentry-internal/typescript": "8.34.0", "@sentry/wizard": "3.16.3", - "@testing-library/react-native": "^12.6.1", + "@testing-library/react-native": "^12.7.2", "@types/jest": "^29.5.3", "@types/node": "^20.9.3", "@types/react": "^18.2.64", @@ -105,9 +106,9 @@ "madge": "^6.1.0", "metro": "0.80.10", "prettier": "^2.0.5", - "react": "18.2.0", - "react-native": "0.73.9", - "react-test-renderer": "^18.2.0", + "react": "18.3.1", + "react-native": "0.75.4", + "react-test-renderer": "^18.3.1", "rimraf": "^4.1.1", "ts-jest": "^29.1.1", "typescript": "4.9.5", diff --git a/packages/core/src/js/vendor/react-native/index.ts b/packages/core/src/js/vendor/react-native/index.ts index d685c3a4c..491a6f1f5 100644 --- a/packages/core/src/js/vendor/react-native/index.ts +++ b/packages/core/src/js/vendor/react-native/index.ts @@ -79,6 +79,6 @@ export type ReactNativeVersion = { major: number; minor: number; patch: number; - prerelease?: number | null | undefined; + prerelease?: string | null | undefined; }; }; diff --git a/yarn.lock b/yarn.lock index 0d68bbf80..1e8e28037 100644 --- a/yarn.lock +++ b/yarn.lock @@ -6756,6 +6756,7 @@ __metadata: "@babel/core": ^7.23.5 "@expo/metro-config": 0.17.5 "@mswjs/interceptors": ^0.25.15 + "@react-native/babel-preset": 0.75.4 "@sentry-internal/eslint-config-sdk": 8.34.0 "@sentry-internal/eslint-plugin-sdk": 8.34.0 "@sentry-internal/typescript": 8.34.0 @@ -6767,7 +6768,7 @@ __metadata: "@sentry/types": 8.34.0 "@sentry/utils": 8.34.0 "@sentry/wizard": 3.16.3 - "@testing-library/react-native": ^12.6.1 + "@testing-library/react-native": ^12.7.2 "@types/jest": ^29.5.3 "@types/node": ^20.9.3 "@types/react": ^18.2.64 @@ -6791,9 +6792,9 @@ __metadata: madge: ^6.1.0 metro: 0.80.10 prettier: ^2.0.5 - react: 18.2.0 - react-native: 0.73.9 - react-test-renderer: ^18.2.0 + react: 18.3.1 + react-native: 0.75.4 + react-test-renderer: ^18.3.1 rimraf: ^4.1.1 ts-jest: ^29.1.1 typescript: 4.9.5 @@ -7074,9 +7075,9 @@ __metadata: languageName: node linkType: hard -"@testing-library/react-native@npm:^12.6.1": - version: 12.6.1 - resolution: "@testing-library/react-native@npm:12.6.1" +"@testing-library/react-native@npm:^12.7.2": + version: 12.7.2 + resolution: "@testing-library/react-native@npm:12.7.2" dependencies: jest-matcher-utils: ^29.7.0 pretty-format: ^29.7.0 @@ -7089,7 +7090,7 @@ __metadata: peerDependenciesMeta: jest: optional: true - checksum: 8966e074e10fc73cafea7630d4f6af35bc0bb42f1f79cc84d2c4336136b50c5c00546216219aea170481c6a3916e82a5dd17dfd5e0109483b52e7438a506bbeb + checksum: 7e3d8ab7d549823fcf438c17353e6c40386da88bbb1edfbd0747282a28c673597be27fdc2fa1f3a7d8786b77c72bb2e37f67ad2c9134225e9b68db97838f77e2 languageName: node linkType: hard @@ -23295,7 +23296,7 @@ __metadata: languageName: node linkType: hard -"react-test-renderer@npm:18.3.1, react-test-renderer@npm:^18.2.0": +"react-test-renderer@npm:18.3.1, react-test-renderer@npm:^18.3.1": version: 18.3.1 resolution: "react-test-renderer@npm:18.3.1" dependencies: