From 2c342bc18b7868cc72a552b73034fb8c00873496 Mon Sep 17 00:00:00 2001 From: GitHub Date: Wed, 1 Oct 2025 07:30:39 +0000 Subject: [PATCH 1/2] chore: update scripts/update-javascript.sh to 10.17.0 --- CHANGELOG.md | 3 + dev-packages/e2e-tests/package.json | 2 +- packages/core/package.json | 14 +-- samples/react-native-macos/package.json | 4 +- samples/react-native/package.json | 4 +- yarn.lock | 144 ++++++++++++------------ 6 files changed, 87 insertions(+), 84 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 759f602ae2..b6c100d263 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -23,6 +23,9 @@ - Bump CLI from v2.55.0 to v2.56.0 ([#5223](https://github.com/getsentry/sentry-react-native/pull/5223)) - [changelog](https://github.com/getsentry/sentry-cli/blob/master/CHANGELOG.md#2560) - [diff](https://github.com/getsentry/sentry-cli/compare/2.55.0...2.56.0) +- Bump JavaScript SDK from v10.12.0 to v10.17.0 ([#5195](https://github.com/getsentry/sentry-react-native/pull/5195)) + - [changelog](https://github.com/getsentry/sentry-javascript/blob/develop/CHANGELOG.md#10170) + - [diff](https://github.com/getsentry/sentry-javascript/compare/10.12.0...10.17.0) ## 7.2.0 diff --git a/dev-packages/e2e-tests/package.json b/dev-packages/e2e-tests/package.json index 5b0d03b458..d90a54e2bf 100644 --- a/dev-packages/e2e-tests/package.json +++ b/dev-packages/e2e-tests/package.json @@ -13,7 +13,7 @@ "devDependencies": { "@babel/preset-env": "^7.25.3", "@babel/preset-typescript": "^7.18.6", - "@sentry/core": "10.12.0", + "@sentry/core": "10.17.0", "@sentry/react-native": "7.2.0", "@types/node": "^20.9.3", "@types/react": "^18.2.64", diff --git a/packages/core/package.json b/packages/core/package.json index 91bd20b48e..e69d336447 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -69,20 +69,20 @@ }, "dependencies": { "@sentry/babel-plugin-component-annotate": "4.3.0", - "@sentry/browser": "10.12.0", + "@sentry/browser": "10.17.0", "@sentry/cli": "2.56.0", - "@sentry/core": "10.12.0", - "@sentry/react": "10.12.0", - "@sentry/types": "10.12.0" + "@sentry/core": "10.17.0", + "@sentry/react": "10.17.0", + "@sentry/types": "10.17.0" }, "devDependencies": { "@babel/core": "^7.25.2", "@expo/metro-config": "~0.20.0", "@mswjs/interceptors": "^0.25.15", "@react-native/babel-preset": "0.77.1", - "@sentry-internal/eslint-config-sdk": "10.12.0", - "@sentry-internal/eslint-plugin-sdk": "10.12.0", - "@sentry-internal/typescript": "10.12.0", + "@sentry-internal/eslint-config-sdk": "10.17.0", + "@sentry-internal/eslint-plugin-sdk": "10.17.0", + "@sentry-internal/typescript": "10.17.0", "@sentry/wizard": "6.5.0", "@testing-library/react-native": "^12.7.2", "@types/jest": "^29.5.13", diff --git a/samples/react-native-macos/package.json b/samples/react-native-macos/package.json index ba9944633b..29b6d7cca9 100644 --- a/samples/react-native-macos/package.json +++ b/samples/react-native-macos/package.json @@ -16,8 +16,8 @@ "@react-navigation/bottom-tabs": "^6.5.12", "@react-navigation/native": "^6.1.9", "@react-navigation/stack": "^6.3.20", - "@sentry/core": "10.12.0", - "@sentry/react": "10.12.0", + "@sentry/core": "10.17.0", + "@sentry/react": "10.17.0", "@sentry/react-native": "7.2.0", "delay": "^6.0.0", "react": "18.2.0", diff --git a/samples/react-native/package.json b/samples/react-native/package.json index cd7523fa93..000f84d424 100644 --- a/samples/react-native/package.json +++ b/samples/react-native/package.json @@ -29,8 +29,8 @@ "@react-navigation/native-stack": "^7.3.24", "@react-navigation/stack": "^7.4.5", "@reduxjs/toolkit": "^2.8.2", - "@sentry/core": "10.12.0", - "@sentry/react": "^10.2.0", + "@sentry/core": "10.17.0", + "@sentry/react": "10.17.0", "@sentry/react-native": "7.2.0", "@shopify/flash-list": "^2.0.2", "delay": "^6.0.0", diff --git a/yarn.lock b/yarn.lock index f1e6a7fb87..8234bb5563 100644 --- a/yarn.lock +++ b/yarn.lock @@ -9490,21 +9490,21 @@ __metadata: languageName: node linkType: hard -"@sentry-internal/browser-utils@npm:10.12.0": - version: 10.12.0 - resolution: "@sentry-internal/browser-utils@npm:10.12.0" +"@sentry-internal/browser-utils@npm:10.17.0": + version: 10.17.0 + resolution: "@sentry-internal/browser-utils@npm:10.17.0" dependencies: - "@sentry/core": 10.12.0 - checksum: 70f9bf1f249fea6d4dc67719d489844e26542a67409a12f7fabfa597805eb96ca9aa9c23efd00e62dae1aa9614f0e22dfd211c50bf080da931ab64982e5290fc + "@sentry/core": 10.17.0 + checksum: d21f2953cee54d4440f552255be923639421472599051996dfbfbd3e3de8bf47e8a34688eb34d9c3e4fc84d032545b5dc5c5ecf56fff52f231b936b4f5576470 languageName: node linkType: hard -"@sentry-internal/eslint-config-sdk@npm:10.12.0": - version: 10.12.0 - resolution: "@sentry-internal/eslint-config-sdk@npm:10.12.0" +"@sentry-internal/eslint-config-sdk@npm:10.17.0": + version: 10.17.0 + resolution: "@sentry-internal/eslint-config-sdk@npm:10.17.0" dependencies: - "@sentry-internal/eslint-plugin-sdk": 10.12.0 - "@sentry-internal/typescript": 10.12.0 + "@sentry-internal/eslint-plugin-sdk": 10.17.0 + "@sentry-internal/typescript": 10.17.0 "@typescript-eslint/eslint-plugin": ^5.48.0 "@typescript-eslint/parser": ^5.48.0 eslint-config-prettier: ^6.11.0 @@ -9514,43 +9514,43 @@ __metadata: eslint-plugin-simple-import-sort: ^6.0.0 peerDependencies: eslint: ">=5" - checksum: e5fb9533ae5e03432af254385bc37172c2623811108b581febda069862346d21d23d1c54dbb273ee8d53a66b7a0a4f7f6b7297b27dbed72e4ab16fdfc040e623 + checksum: 35d9b69faf0fcbf033618237ad4a2ae3059a42326641e47aa24cd3ab08dc1da13c4def7e8c62f164408266573bccc8a849642fe168adff6c6fce685e65577352 languageName: node linkType: hard -"@sentry-internal/eslint-plugin-sdk@npm:10.12.0": - version: 10.12.0 - resolution: "@sentry-internal/eslint-plugin-sdk@npm:10.12.0" - checksum: 22cb716905e761e2dcb9a44e6266b425dbab08439d7ec0d2b2c320b209f2202893b2df43d626302f2eb88f89bb5521961764e74bfed03784ec447054067d2fb6 +"@sentry-internal/eslint-plugin-sdk@npm:10.17.0": + version: 10.17.0 + resolution: "@sentry-internal/eslint-plugin-sdk@npm:10.17.0" + checksum: 394225c416db3aded24bc8e6a7c9dea7ce9da6e28f02e1849494dd907bfca8808467668b1e9b24610141e8d3e412bfb06fce12c8b6d4752abedc2c361420c0f5 languageName: node linkType: hard -"@sentry-internal/feedback@npm:10.12.0": - version: 10.12.0 - resolution: "@sentry-internal/feedback@npm:10.12.0" +"@sentry-internal/feedback@npm:10.17.0": + version: 10.17.0 + resolution: "@sentry-internal/feedback@npm:10.17.0" dependencies: - "@sentry/core": 10.12.0 - checksum: 5b43b0f7c643d2beb7993b2ecdc1a73ba249ef1d963b40e777876f646ce194f6e124fc04799a6cc977b7a9a1e145dff32a15a3d861cfa2409a979bc646889592 + "@sentry/core": 10.17.0 + checksum: 959db00c200de9303106e416b2ca5befae09b3f7d23852222a3a008f396400526c7b8b72c1b985d72c4832027fc42c4b10745ebd3133beec08241db7c8f8f667 languageName: node linkType: hard -"@sentry-internal/replay-canvas@npm:10.12.0": - version: 10.12.0 - resolution: "@sentry-internal/replay-canvas@npm:10.12.0" +"@sentry-internal/replay-canvas@npm:10.17.0": + version: 10.17.0 + resolution: "@sentry-internal/replay-canvas@npm:10.17.0" dependencies: - "@sentry-internal/replay": 10.12.0 - "@sentry/core": 10.12.0 - checksum: e2e6161eb68c3817326b98362aee455e47f81700f77e395973bfe9aa884122705e0a5b080178ebd5df558b31917ce76e3bbe58d744ab062ec37e31e988159f1b + "@sentry-internal/replay": 10.17.0 + "@sentry/core": 10.17.0 + checksum: 2c38ad025ec0f3712a5d19e915c7f81b510490f9982d90f4938646e2de0132ad284e39c03ba6c9af4d302ea7984b394f3de46b96f7c1d2bc9bd5c722cc460241 languageName: node linkType: hard -"@sentry-internal/replay@npm:10.12.0": - version: 10.12.0 - resolution: "@sentry-internal/replay@npm:10.12.0" +"@sentry-internal/replay@npm:10.17.0": + version: 10.17.0 + resolution: "@sentry-internal/replay@npm:10.17.0" dependencies: - "@sentry-internal/browser-utils": 10.12.0 - "@sentry/core": 10.12.0 - checksum: ebca1640db0dee81ffe9bb66387ebb9bc3830a1b9bed48f735db8ea38338b76c010a5305aebc60bf7dc555bf0cddda1d70ea4fe2555c0081c7426be5b33089dc + "@sentry-internal/browser-utils": 10.17.0 + "@sentry/core": 10.17.0 + checksum: f74c9ac5224323fc99fa36c2005d9bdbe90b9fac1a89a8debe360d97b4bc969fa56c58b0fdc4fc67f993aa3c09b62a341f32e713405989c6215699ca1278a602 languageName: node linkType: hard @@ -9565,12 +9565,12 @@ __metadata: languageName: node linkType: hard -"@sentry-internal/typescript@npm:10.12.0": - version: 10.12.0 - resolution: "@sentry-internal/typescript@npm:10.12.0" +"@sentry-internal/typescript@npm:10.17.0": + version: 10.17.0 + resolution: "@sentry-internal/typescript@npm:10.17.0" peerDependencies: typescript: ~5.0.0 - checksum: 343b495f58f60ac03452a41b85bd5141dff25f1ab95f45210003e19129157c19b5387245e2301063e030d4ad1df1375ddfe1c3b1c5f43c9bcce4d1e27f1854c6 + checksum: 9ba48a085ab6d990d5cab3caadbd1d8611cd312f8d5de7ca03a38d04bcfa7714b600deff4834a28fd478d144f9ec68a35ae9773fcf7f63ad2be159af63bd1149 languageName: node linkType: hard @@ -9581,16 +9581,16 @@ __metadata: languageName: node linkType: hard -"@sentry/browser@npm:10.12.0": - version: 10.12.0 - resolution: "@sentry/browser@npm:10.12.0" +"@sentry/browser@npm:10.17.0": + version: 10.17.0 + resolution: "@sentry/browser@npm:10.17.0" dependencies: - "@sentry-internal/browser-utils": 10.12.0 - "@sentry-internal/feedback": 10.12.0 - "@sentry-internal/replay": 10.12.0 - "@sentry-internal/replay-canvas": 10.12.0 - "@sentry/core": 10.12.0 - checksum: 16194e73c1bd12b3f9ce3dcd2ee91a7a96f210c02ad50aabe774a6360c7f3b2068a080f18b3d800bc58ef74a4497e1a6c46254ef421edf236610c3ca7457418e + "@sentry-internal/browser-utils": 10.17.0 + "@sentry-internal/feedback": 10.17.0 + "@sentry-internal/replay": 10.17.0 + "@sentry-internal/replay-canvas": 10.17.0 + "@sentry/core": 10.17.0 + checksum: c0f698dfcfa33e8d74063859a3ba8de837334315a97259ad751dd3e5be5f7b516a5006864137e2dee1b4634b4f04d14966e150a4ffe2b6ce74932a79343050d9 languageName: node linkType: hard @@ -9690,10 +9690,10 @@ __metadata: languageName: node linkType: hard -"@sentry/core@npm:10.12.0": - version: 10.12.0 - resolution: "@sentry/core@npm:10.12.0" - checksum: 348c7ea44b3e099c90a5cd4575782680db494657d20c3cc8f9cb34262e3b434c606e8b8c0cc8034b836e848d1c0bcf7fa306efcb3c24cd840ba1f79f9cdd445a +"@sentry/core@npm:10.17.0": + version: 10.17.0 + resolution: "@sentry/core@npm:10.17.0" + checksum: 9a385431b78b14850eef4b03c9712da342a884590c5fd47605af772351ea64ebf6ed86997bb082339afca458d7e03fb26645d71a6e8bf53f5a4fb81914906d52 languageName: node linkType: hard @@ -9740,15 +9740,15 @@ __metadata: "@expo/metro-config": ~0.20.0 "@mswjs/interceptors": ^0.25.15 "@react-native/babel-preset": 0.77.1 - "@sentry-internal/eslint-config-sdk": 10.12.0 - "@sentry-internal/eslint-plugin-sdk": 10.12.0 - "@sentry-internal/typescript": 10.12.0 + "@sentry-internal/eslint-config-sdk": 10.17.0 + "@sentry-internal/eslint-plugin-sdk": 10.17.0 + "@sentry-internal/typescript": 10.17.0 "@sentry/babel-plugin-component-annotate": 4.3.0 - "@sentry/browser": 10.12.0 + "@sentry/browser": 10.17.0 "@sentry/cli": 2.56.0 - "@sentry/core": 10.12.0 - "@sentry/react": 10.12.0 - "@sentry/types": 10.12.0 + "@sentry/core": 10.17.0 + "@sentry/react": 10.17.0 + "@sentry/types": 10.17.0 "@sentry/wizard": 6.5.0 "@testing-library/react-native": ^12.7.2 "@types/jest": ^29.5.13 @@ -9794,25 +9794,25 @@ __metadata: languageName: unknown linkType: soft -"@sentry/react@npm:10.12.0, @sentry/react@npm:^10.2.0": - version: 10.12.0 - resolution: "@sentry/react@npm:10.12.0" +"@sentry/react@npm:10.17.0": + version: 10.17.0 + resolution: "@sentry/react@npm:10.17.0" dependencies: - "@sentry/browser": 10.12.0 - "@sentry/core": 10.12.0 + "@sentry/browser": 10.17.0 + "@sentry/core": 10.17.0 hoist-non-react-statics: ^3.3.2 peerDependencies: react: ^16.14.0 || 17.x || 18.x || 19.x - checksum: 84e365cb253ced1497064d5a6e265aefba0ee8b18e71826281380c131ec341cde85fc0e416c5ff9a84a191a66a3d4f16711b725ae3a92b59cdfb59c9d81ff595 + checksum: bd960e84fb9638c7e5652b7ae20b5344448abdf5550056e12efa26f9b542266e2ddb50c9ae204a444a1cc2e18c64aeb947ba751ab39f8a18db33972214f21220 languageName: node linkType: hard -"@sentry/types@npm:10.12.0": - version: 10.12.0 - resolution: "@sentry/types@npm:10.12.0" +"@sentry/types@npm:10.17.0": + version: 10.17.0 + resolution: "@sentry/types@npm:10.17.0" dependencies: - "@sentry/core": 10.12.0 - checksum: 6d7d147f5aa447fc4a4f7e05d5c49ffa8385b196796e0befb7d3d1284052749017f67e97a59bfd7f4f0eb4a3865f7e662cb04280cb34b549dfc7ce62f6fd356f + "@sentry/core": 10.17.0 + checksum: c0a213e1b809135b95f995126c442097b71e7ca439aa9e55176020b4c863f285b67d3eb5db2df4b4574b06af0bf77d2b63d5ac983bf31d0a8c369faf053ceb67 languageName: node linkType: hard @@ -28144,7 +28144,7 @@ __metadata: dependencies: "@babel/preset-env": ^7.25.3 "@babel/preset-typescript": ^7.18.6 - "@sentry/core": 10.12.0 + "@sentry/core": 10.17.0 "@sentry/react-native": 7.2.0 "@types/node": ^20.9.3 "@types/react": ^18.2.64 @@ -28212,8 +28212,8 @@ __metadata: "@react-navigation/bottom-tabs": ^6.5.12 "@react-navigation/native": ^6.1.9 "@react-navigation/stack": ^6.3.20 - "@sentry/core": 10.12.0 - "@sentry/react": 10.12.0 + "@sentry/core": 10.17.0 + "@sentry/react": 10.17.0 "@sentry/react-native": 7.2.0 "@types/react": ^18.2.65 "@types/react-native-vector-icons": ^6.4.18 @@ -28262,8 +28262,8 @@ __metadata: "@react-navigation/stack": ^7.4.5 "@reduxjs/toolkit": ^2.8.2 "@sentry/babel-plugin-component-annotate": 4.3.0 - "@sentry/core": 10.12.0 - "@sentry/react": ^10.2.0 + "@sentry/core": 10.17.0 + "@sentry/react": 10.17.0 "@sentry/react-native": 7.2.0 "@shopify/flash-list": ^2.0.2 "@testing-library/react-native": ^13.2.2 From cfed51c569e25471bd8b004eb62e9ec27de44415 Mon Sep 17 00:00:00 2001 From: Antonis Lilis Date: Wed, 1 Oct 2025 09:35:25 +0200 Subject: [PATCH 2/2] chore(lint): fix @typescript-eslint/no-unnecessary-type-assertion (#5228) --- packages/core/src/js/client.ts | 2 +- packages/core/src/js/touchevents.tsx | 2 +- .../core/src/js/tracing/reactnativetracing.ts | 2 +- .../core/src/js/tracing/reactnavigation.ts | 2 +- packages/core/src/js/wrapper.ts | 1 + .../logEnricherIntegration.test.ts | 12 +++++----- .../test/tracing/addTracingExtensions.test.ts | 18 +++++++------- .../tracing/integrations/appStart.test.ts | 4 ++-- .../stallTracking/stalltracking.test.ts | 4 ++-- .../integrations/userInteraction.test.ts | 10 ++++---- .../tracing/reactnavigation.ttid.test.tsx | 16 ++++++------- .../core/test/tracing/timetodisplay.test.tsx | 24 +++++++++---------- 12 files changed, 49 insertions(+), 48 deletions(-) diff --git a/packages/core/src/js/client.ts b/packages/core/src/js/client.ts index a9aedfcd48..3762099ced 100644 --- a/packages/core/src/js/client.ts +++ b/packages/core/src/js/client.ts @@ -116,7 +116,7 @@ export class ReactNativeClient extends Client { public close(): PromiseLike { // As super.close() flushes queued events, we wait for that to finish before closing the native SDK. return super.close().then((result: boolean) => { - return NATIVE.closeNativeSdk().then(() => result) as PromiseLike; + return NATIVE.closeNativeSdk().then(() => result); }); } diff --git a/packages/core/src/js/touchevents.tsx b/packages/core/src/js/touchevents.tsx index aaf541dad1..c6eb78770c 100644 --- a/packages/core/src/js/touchevents.tsx +++ b/packages/core/src/js/touchevents.tsx @@ -283,7 +283,7 @@ function getFileName(props: Record): string | undefined { function getLabelValue(props: Record, labelKey: string | undefined): string | undefined { return typeof props[SENTRY_LABEL_PROP_KEY] === 'string' && props[SENTRY_LABEL_PROP_KEY].length > 0 - ? props[SENTRY_LABEL_PROP_KEY] as string + ? props[SENTRY_LABEL_PROP_KEY] // For some reason type narrowing doesn't work as expected with indexing when checking it all in one go in // the "check-label" if sentence, so we have to assign it to a variable here first : typeof labelKey === 'string' && typeof props[labelKey] == 'string' && (props[labelKey] as string).length > 0 diff --git a/packages/core/src/js/tracing/reactnativetracing.ts b/packages/core/src/js/tracing/reactnativetracing.ts index 74e56c51b2..aee9e79753 100644 --- a/packages/core/src/js/tracing/reactnativetracing.ts +++ b/packages/core/src/js/tracing/reactnativetracing.ts @@ -172,5 +172,5 @@ export function getCurrentReactNativeTracingIntegration(): ReactNativeTracingInt * Returns React Native Tracing integration of given client. */ export function getReactNativeTracingIntegration(client: Client): ReactNativeTracingIntegration | undefined { - return client.getIntegrationByName(INTEGRATION_NAME) as ReactNativeTracingIntegration | undefined; + return client.getIntegrationByName(INTEGRATION_NAME); } diff --git a/packages/core/src/js/tracing/reactnavigation.ts b/packages/core/src/js/tracing/reactnavigation.ts index 28666b0f89..ff5b98f80b 100644 --- a/packages/core/src/js/tracing/reactnavigation.ts +++ b/packages/core/src/js/tracing/reactnavigation.ts @@ -177,7 +177,7 @@ export const reactNavigationIntegration = ({ debug.log(`${INTEGRATION_NAME} Navigation container ref is the same as the one already registered.`); return; } - navigationContainer = newNavigationContainer as NavigationContainer; + navigationContainer = newNavigationContainer; if (!navigationContainer) { debug.warn(`${INTEGRATION_NAME} Received invalid navigation container ref!`); diff --git a/packages/core/src/js/wrapper.ts b/packages/core/src/js/wrapper.ts index 6829182298..77cec4865b 100644 --- a/packages/core/src/js/wrapper.ts +++ b/packages/core/src/js/wrapper.ts @@ -259,6 +259,7 @@ export const NATIVE: SentryNativeWrapper = { throw this._NativeClientError; } const ignoreErrorsStr = options.ignoreErrors?.filter(item => typeof item === 'string') as string[] | undefined; + // eslint-disable-next-line @typescript-eslint/no-unnecessary-type-assertion const ignoreErrorsRegex = options.ignoreErrors ?.filter(item => item instanceof RegExp) .map(item => (item as RegExp).source) as string[] | undefined; diff --git a/packages/core/test/integrations/logEnricherIntegration.test.ts b/packages/core/test/integrations/logEnricherIntegration.test.ts index 7834d19a78..3b83726fca 100644 --- a/packages/core/test/integrations/logEnricherIntegration.test.ts +++ b/packages/core/test/integrations/logEnricherIntegration.test.ts @@ -161,7 +161,7 @@ describe('LogEnricher Integration', () => { // Extract the log handler const beforeCaptureLogCall = mockOn.mock.calls.find(call => call[0] === 'beforeCaptureLog'); expect(beforeCaptureLogCall).toBeDefined(); - logHandler = beforeCaptureLogCall![1] as (log: Log) => void; + logHandler = beforeCaptureLogCall[1]; mockLog = { message: 'Test log message', @@ -245,7 +245,7 @@ describe('LogEnricher Integration', () => { const beforeCaptureLogCall = mockOn.mock.calls.find(call => call[0] === 'beforeCaptureLog'); expect(beforeCaptureLogCall).toBeDefined(); - const newLogHandler = beforeCaptureLogCall![1] as (log: Log) => void; + const newLogHandler = beforeCaptureLogCall[1]; newLogHandler(mockLog); @@ -291,7 +291,7 @@ describe('LogEnricher Integration', () => { const beforeCaptureLogCall = mockOn.mock.calls.find(call => call[0] === 'beforeCaptureLog'); expect(beforeCaptureLogCall).toBeDefined(); - const emptyLogHandler = beforeCaptureLogCall![1] as (log: Log) => void; + const emptyLogHandler = beforeCaptureLogCall[1]; emptyLogHandler(mockLog); @@ -323,7 +323,7 @@ describe('LogEnricher Integration', () => { const beforeCaptureLogCall = mockOn.mock.calls.find(call => call[0] === 'beforeCaptureLog'); expect(beforeCaptureLogCall).toBeDefined(); - const partialLogHandler = beforeCaptureLogCall![1] as (log: Log) => void; + const partialLogHandler = beforeCaptureLogCall[1]; partialLogHandler(mockLog); @@ -357,7 +357,7 @@ describe('LogEnricher Integration', () => { const beforeCaptureLogCall = mockOn.mock.calls.find(call => call[0] === 'beforeCaptureLog'); expect(beforeCaptureLogCall).toBeDefined(); - const partialLogHandler = beforeCaptureLogCall![1] as (log: Log) => void; + const partialLogHandler = beforeCaptureLogCall[1]; partialLogHandler(mockLog); @@ -447,7 +447,7 @@ describe('LogEnricher Integration', () => { const beforeCaptureLogCall = mockOn.mock.calls.find(call => call[0] === 'beforeCaptureLog'); expect(beforeCaptureLogCall).toBeDefined(); - logHandler = beforeCaptureLogCall![1] as (log: Log) => void; + logHandler = beforeCaptureLogCall[1]; mockLog = { message: 'Test log message', diff --git a/packages/core/test/tracing/addTracingExtensions.test.ts b/packages/core/test/tracing/addTracingExtensions.test.ts index b413ffd429..c79c0624fc 100644 --- a/packages/core/test/tracing/addTracingExtensions.test.ts +++ b/packages/core/test/tracing/addTracingExtensions.test.ts @@ -15,7 +15,7 @@ describe('Tracing extensions', () => { test('transaction has default op', async () => { const transaction = startSpanManual({ name: 'parent' }, span => span); - expect(spanToJSON(transaction!)).toEqual( + expect(spanToJSON(transaction)).toEqual( expect.objectContaining({ op: 'default', }), @@ -25,7 +25,7 @@ describe('Tracing extensions', () => { test('transaction does not overwrite custom op', async () => { const transaction = startSpanManual({ name: 'parent', op: 'custom' }, span => span); - expect(spanToJSON(transaction!)).toEqual( + expect(spanToJSON(transaction)).toEqual( expect.objectContaining({ op: 'custom', }), @@ -36,7 +36,7 @@ describe('Tracing extensions', () => { startSpanManual({ name: 'parent', scope: getCurrentScope() }, () => {}); const span = startSpanManual({ name: 'child', scope: getCurrentScope() }, span => span); - expect(spanToJSON(span!)).toEqual( + expect(spanToJSON(span)).toEqual( expect.objectContaining({ op: 'default', }), @@ -47,7 +47,7 @@ describe('Tracing extensions', () => { startSpanManual({ name: 'parent', op: 'custom', scope: getCurrentScope() }, () => {}); const span = startSpanManual({ name: 'child', op: 'custom', scope: getCurrentScope() }, span => span); - expect(spanToJSON(span!)).toEqual( + expect(spanToJSON(span)).toEqual( expect.objectContaining({ op: 'custom', }), @@ -60,22 +60,22 @@ describe('Tracing extensions', () => { childSpan = startSpanManual({ name: 'child', scope: getCurrentScope() }, __span => __span); return _span; }); - childSpan!.end(); - transaction!.end(); + childSpan.end(); + transaction.end(); await client.flush(); expect(client.event).toEqual( expect.objectContaining({ contexts: expect.objectContaining({ trace: expect.objectContaining({ - trace_id: transaction!.spanContext().traceId, + trace_id: transaction.spanContext().traceId, }), }), }), ); - expect(spanToJSON(childSpan!)).toEqual( + expect(spanToJSON(childSpan)).toEqual( expect.objectContaining({ - parent_span_id: spanToJSON(transaction!).span_id, + parent_span_id: spanToJSON(transaction).span_id, }), ); }); diff --git a/packages/core/test/tracing/integrations/appStart.test.ts b/packages/core/test/tracing/integrations/appStart.test.ts index 9d62708d06..f017d2b113 100644 --- a/packages/core/test/tracing/integrations/appStart.test.ts +++ b/packages/core/test/tracing/integrations/appStart.test.ts @@ -1197,7 +1197,7 @@ function expectEventWithStandaloneColdAppStart( timestamp: expect.any(Number), trace_id: expect.any(String), span_id: expect.any(String), - parent_span_id: actualEvent!.contexts!.trace!.span_id, + parent_span_id: actualEvent.contexts.trace.span_id, origin: SPAN_ORIGIN_AUTO_APP_START, status: 'ok', data: { @@ -1248,7 +1248,7 @@ function expectEventWithStandaloneWarmAppStart( timestamp: expect.any(Number), trace_id: expect.any(String), span_id: expect.any(String), - parent_span_id: actualEvent!.contexts!.trace!.span_id, + parent_span_id: actualEvent.contexts.trace.span_id, origin: SPAN_ORIGIN_AUTO_APP_START, status: 'ok', data: { diff --git a/packages/core/test/tracing/integrations/stallTracking/stalltracking.test.ts b/packages/core/test/tracing/integrations/stallTracking/stalltracking.test.ts index e357984fe7..ea4cba19d2 100644 --- a/packages/core/test/tracing/integrations/stallTracking/stalltracking.test.ts +++ b/packages/core/test/tracing/integrations/stallTracking/stalltracking.test.ts @@ -153,7 +153,7 @@ describe('StallTracking', () => { jest.runOnlyPendingTimers(); }); jest.runOnlyPendingTimers(); - rootSpan!.end(childSpanEnd); + rootSpan.end(childSpanEnd); await client.flush(); @@ -169,7 +169,7 @@ describe('StallTracking', () => { jest.runOnlyPendingTimers(); }); jest.runOnlyPendingTimers(); - rootSpan!.end(childSpanEnd! + 20); + rootSpan.end(childSpanEnd! + 20); await client.flush(); diff --git a/packages/core/test/tracing/integrations/userInteraction.test.ts b/packages/core/test/tracing/integrations/userInteraction.test.ts index 19a65c4071..04af7738fe 100644 --- a/packages/core/test/tracing/integrations/userInteraction.test.ts +++ b/packages/core/test/tracing/integrations/userInteraction.test.ts @@ -212,7 +212,7 @@ describe('User Interaction Tracing', () => { op: 'different.op', }), ); - expect(firstTransactionEvent!.timestamp).toBeGreaterThanOrEqual(spanToJSON(secondTransaction!).start_timestamp!); + expect(firstTransactionEvent.timestamp).toBeGreaterThanOrEqual(spanToJSON(secondTransaction).start_timestamp); }); test('different UI event and same element finish first transaction with last span', () => { @@ -252,9 +252,9 @@ describe('User Interaction Tracing', () => { const firstTransactionContext = spanToJSON(firstTransaction!); const secondTransactionContext = spanToJSON(secondTransaction!); - expect(firstTransactionContext!.timestamp).toEqual(expect.any(Number)); - expect(secondTransactionContext!.timestamp).toEqual(expect.any(Number)); - expect(firstTransactionContext!.span_id).not.toEqual(secondTransactionContext!.span_id); + expect(firstTransactionContext.timestamp).toEqual(expect.any(Number)); + expect(secondTransactionContext.timestamp).toEqual(expect.any(Number)); + expect(firstTransactionContext.span_id).not.toEqual(secondTransactionContext.span_id); }); test('do not start UI event transaction if active transaction on scope', () => { @@ -297,7 +297,7 @@ describe('User Interaction Tracing', () => { timestamp: expect.any(Number), }), ); - expect(interactionTransactionContext!.timestamp).toBeLessThanOrEqual(routingTransactionContext!.start_timestamp!); + expect(interactionTransactionContext.timestamp).toBeLessThanOrEqual(routingTransactionContext.start_timestamp); }); test('does not start UI span when app is in background', () => { diff --git a/packages/core/test/tracing/reactnavigation.ttid.test.tsx b/packages/core/test/tracing/reactnavigation.ttid.test.tsx index 89bcc1015d..1a8a95dd67 100644 --- a/packages/core/test/tracing/reactnavigation.ttid.test.tsx +++ b/packages/core/test/tracing/reactnavigation.ttid.test.tsx @@ -285,10 +285,10 @@ describe('React Navigation - TTID', () => { TestRenderer.render(); mockRecordedTimeToDisplay({ ttidNavigation: { - [spanToJSON(getActiveSpan()!).span_id!]: nowInSeconds(), + [spanToJSON(getActiveSpan()).span_id]: nowInSeconds(), }, ttfd: { - [spanToJSON(getActiveSpan()!).span_id!]: nowInSeconds(), + [spanToJSON(getActiveSpan()).span_id]: nowInSeconds(), }, }); @@ -362,10 +362,10 @@ describe('React Navigation - TTID', () => { TestRenderer.render(); mockRecordedTimeToDisplay({ ttidNavigation: { - [spanToJSON(getActiveSpan()!).span_id!]: timestampInSeconds(), + [spanToJSON(getActiveSpan()).span_id]: timestampInSeconds(), }, ttfd: { - [spanToJSON(getActiveSpan()!).span_id!]: timestampInSeconds() - 1, + [spanToJSON(getActiveSpan()).span_id]: timestampInSeconds() - 1, }, }); @@ -389,10 +389,10 @@ describe('React Navigation - TTID', () => { TestRenderer.render(); mockRecordedTimeToDisplay({ ttidNavigation: { - [spanToJSON(getActiveSpan()!).span_id!]: timestampInSeconds(), + [spanToJSON(getActiveSpan()).span_id]: timestampInSeconds(), }, ttfd: { - [spanToJSON(getActiveSpan()!).span_id!]: timestampInSeconds(), + [spanToJSON(getActiveSpan()).span_id]: timestampInSeconds(), }, }); @@ -489,7 +489,7 @@ describe('React Navigation - TTID', () => { timeToDisplayComponent.update(); mockRecordedTimeToDisplay({ ttid: { - [spanToJSON(getActiveSpan()!).span_id!]: manualInitialDisplayEndTimestampMs / 1_000, + [spanToJSON(getActiveSpan()).span_id]: manualInitialDisplayEndTimestampMs / 1_000, }, }); @@ -670,7 +670,7 @@ describe('React Navigation - TTID', () => { function mockAutomaticTimeToDisplay(): void { mockRecordedTimeToDisplay({ ttidNavigation: { - [spanToJSON(getActiveSpan()!).span_id!]: nowInSeconds(), + [spanToJSON(getActiveSpan()).span_id]: nowInSeconds(), }, }); } diff --git a/packages/core/test/tracing/timetodisplay.test.tsx b/packages/core/test/tracing/timetodisplay.test.tsx index 4c6f6913ac..b66a4f8828 100644 --- a/packages/core/test/tracing/timetodisplay.test.tsx +++ b/packages/core/test/tracing/timetodisplay.test.tsx @@ -1,4 +1,4 @@ -import type { Event, Measurements, Span, SpanJSON} from '@sentry/core'; +import type { Event, Measurements, Span, SpanJSON } from '@sentry/core'; import { debug , getCurrentScope, getGlobalScope, getIsolationScope, setCurrentClient, spanToJSON, startSpanManual } from '@sentry/core'; jest.spyOn(debug, 'warn'); @@ -71,7 +71,7 @@ describe('TimeToDisplay', () => { render(); mockRecordedTimeToDisplay({ ttid: { - [spanToJSON(activeSpan!).span_id!]: nowInSeconds(), + [spanToJSON(activeSpan).span_id]: nowInSeconds(), }, }); @@ -102,10 +102,10 @@ describe('TimeToDisplay', () => { mockRecordedTimeToDisplay({ ttid: { - [spanToJSON(activeSpan!).span_id!]: nowInSeconds(), + [spanToJSON(activeSpan).span_id]: nowInSeconds(), }, ttfd: { - [spanToJSON(activeSpan!).span_id!]: nowInSeconds(), + [spanToJSON(activeSpan).span_id]: nowInSeconds(), }, }); @@ -134,7 +134,7 @@ describe('TimeToDisplay', () => { mockRecordedTimeToDisplay({ ttfd: { - [spanToJSON(activeSpan!).span_id!]: nowInSeconds(), + [spanToJSON(activeSpan).span_id]: nowInSeconds(), }, }); @@ -164,7 +164,7 @@ describe('TimeToDisplay', () => { mockRecordedTimeToDisplay({ ttid: { - [spanToJSON(activeSpan!).span_id!]: nowInSeconds(), + [spanToJSON(activeSpan).span_id]: nowInSeconds(), }, }); @@ -195,10 +195,10 @@ describe('TimeToDisplay', () => { mockRecordedTimeToDisplay({ ttid: { - [spanToJSON(activeSpan!).span_id!]: nowInSeconds(), + [spanToJSON(activeSpan).span_id]: nowInSeconds(), }, ttfd: { - [spanToJSON(activeSpan!).span_id!]: nowInSeconds(), + [spanToJSON(activeSpan).span_id]: nowInSeconds(), }, }); @@ -230,10 +230,10 @@ describe('TimeToDisplay', () => { mockRecordedTimeToDisplay({ ttid: { - [spanToJSON(activeSpan!).span_id!]: nowInSeconds(), + [spanToJSON(activeSpan).span_id]: nowInSeconds(), }, ttfd: { - [spanToJSON(activeSpan!).span_id!]: nowInSeconds() + 40, + [spanToJSON(activeSpan).span_id]: nowInSeconds() + 40, }, }); @@ -270,10 +270,10 @@ describe('TimeToDisplay', () => { mockRecordedTimeToDisplay({ ttfd: { - [spanToJSON(activeSpan!).span_id!]: fullDisplayEndTimestampMs / 1_000, + [spanToJSON(activeSpan).span_id]: fullDisplayEndTimestampMs / 1_000, }, ttid: { - [spanToJSON(activeSpan!).span_id!]: initialDisplayEndTimestampMs / 1_000, + [spanToJSON(activeSpan).span_id]: initialDisplayEndTimestampMs / 1_000, }, });