diff --git a/.oxlintrc.json b/.oxlintrc.json index ef23a888fab8..e65745736664 100644 --- a/.oxlintrc.json +++ b/.oxlintrc.json @@ -66,7 +66,7 @@ "typescript/no-redundant-type-constituents": "off", "typescript/restrict-template-expressions": "off", "typescript/await-thenable": "warn", - "typescript/no-base-to-string": "warn" + "typescript/no-base-to-string": "off" } }, { diff --git a/dev-packages/node-overhead-gh-action/lib/getOverheadMeasurements.mjs b/dev-packages/node-overhead-gh-action/lib/getOverheadMeasurements.mjs index 9bc70d48d4c3..266b62cd7742 100644 --- a/dev-packages/node-overhead-gh-action/lib/getOverheadMeasurements.mjs +++ b/dev-packages/node-overhead-gh-action/lib/getOverheadMeasurements.mjs @@ -28,6 +28,7 @@ async function getMeasurements(instrumentFile, autocannonCommand = 'yarn test:ge await killAppProcess(); return result; } catch (error) { + //oxlint-disable-next-line restrict-template-expressions log(`Error running autocannon: ${error}`); await killAppProcess(); throw error; diff --git a/packages/effect/test/layer.test.ts b/packages/effect/test/layer.test.ts index 590502fb657e..1874fe9b0f53 100644 --- a/packages/effect/test/layer.test.ts +++ b/packages/effect/test/layer.test.ts @@ -1,6 +1,6 @@ import { describe, expect, it } from '@effect/vitest'; import * as sentryCore from '@sentry/core'; -import { getClient, getCurrentScope, getIsolationScope, SDK_VERSION, SentrySpan } from '@sentry/core'; +import { getClient, getCurrentScope, getIsolationScope, SDK_VERSION } from '@sentry/core'; import { Effect, Layer, Logger, LogLevel } from 'effect'; import { afterEach, beforeEach, vi } from 'vitest'; import * as sentryClient from '../src/index.client'; diff --git a/packages/nextjs/test/utils/dropMiddlewareTunnelRequests.test.ts b/packages/nextjs/test/utils/dropMiddlewareTunnelRequests.test.ts index 31624e3bffc6..2d933373578d 100644 --- a/packages/nextjs/test/utils/dropMiddlewareTunnelRequests.test.ts +++ b/packages/nextjs/test/utils/dropMiddlewareTunnelRequests.test.ts @@ -138,7 +138,6 @@ describe('dropMiddlewareTunnelRequests', () => { describe('skipOpenTelemetrySetup', () => { it('does not process spans when skipOpenTelemetrySetup is true', async () => { const core = await import('@sentry/core'); - const originalGetClient = core.getClient; vi.spyOn(core, 'getClient').mockReturnValueOnce({ getOptions: () => ({ skipOpenTelemetrySetup: true }), } as any); diff --git a/packages/node-core/src/integrations/systemError.ts b/packages/node-core/src/integrations/systemError.ts index f1fd3f4db0dc..14c0c23ffa54 100644 --- a/packages/node-core/src/integrations/systemError.ts +++ b/packages/node-core/src/integrations/systemError.ts @@ -46,7 +46,7 @@ export const systemErrorIntegration = defineIntegration((options: Options = {}) const error = hint.originalException; const errorContext: SystemErrorContext = { - ...error, + ...(error as SystemErrorContext), }; if (!client.getOptions().sendDefaultPii && options.includePaths !== true) { diff --git a/packages/nuxt/src/vite/sentryVitePlugin.ts b/packages/nuxt/src/vite/sentryVitePlugin.ts index f301a17c9423..31ef7c97465d 100644 --- a/packages/nuxt/src/vite/sentryVitePlugin.ts +++ b/packages/nuxt/src/vite/sentryVitePlugin.ts @@ -1,8 +1,7 @@ import type { Nuxt } from '@nuxt/schema'; -import { sentryVitePlugin } from '@sentry/vite-plugin'; import type { ConfigEnv, Plugin, UserConfig } from 'vite'; import type { SentryNuxtModuleOptions } from '../common/types'; -import { extractNuxtSourceMapSetting, getPluginOptions, validateDifferentSourceMapSettings } from './sourceMaps'; +import { extractNuxtSourceMapSetting, validateDifferentSourceMapSettings } from './sourceMaps'; /** * Creates a Vite plugin that adds the Sentry Vite plugin and validates source map settings. diff --git a/packages/nuxt/test/vite/sourceMaps-nuxtHooks.test.ts b/packages/nuxt/test/vite/sourceMaps-nuxtHooks.test.ts index be33cf500397..e0b4956219c3 100644 --- a/packages/nuxt/test/vite/sourceMaps-nuxtHooks.test.ts +++ b/packages/nuxt/test/vite/sourceMaps-nuxtHooks.test.ts @@ -112,7 +112,7 @@ describe('setupSourceMaps hooks', () => { it.each([ { label: 'server (SSR) build', buildConfig: { build: { ssr: true }, plugins: [] } }, { label: 'client build', buildConfig: { build: { ssr: false }, plugins: [] } }, - ])('adds sentry vite plugin to vite config for $label in production', async ({ buildConfig }) => { + ])('adds sentry vite plugin to vite config for $label in production', async () => { const { setupSourceMaps } = await import('../../src/vite/sourceMaps'); const mockNuxt = createMockNuxt({ _prepare: false, dev: false }); const { mockAddVitePlugin, getCapturedPlugins } = createMockAddVitePlugin(); diff --git a/packages/remix/src/server/serverTimingTracePropagation.ts b/packages/remix/src/server/serverTimingTracePropagation.ts index fd8440f3578d..d9197c3315bb 100644 --- a/packages/remix/src/server/serverTimingTracePropagation.ts +++ b/packages/remix/src/server/serverTimingTracePropagation.ts @@ -1,4 +1,3 @@ -import type { Span } from '@sentry/core'; import { debug, getTraceData, isNodeEnv } from '@sentry/core'; import { DEBUG_BUILD } from '../utils/debug-build'; import { isCloudflareEnv } from '../utils/utils'; diff --git a/packages/remix/test/server/serverTimingTracePropagation.test.ts b/packages/remix/test/server/serverTimingTracePropagation.test.ts index 7e9852e97c6b..0543146277df 100644 --- a/packages/remix/test/server/serverTimingTracePropagation.test.ts +++ b/packages/remix/test/server/serverTimingTracePropagation.test.ts @@ -1,14 +1,15 @@ -import { getActiveSpan, getTraceData, isNodeEnv, spanToBaggageHeader, spanToTraceHeader } from '@sentry/core'; +import { getActiveSpan, getTraceData, isNodeEnv } from '@sentry/core'; import { beforeEach, describe, expect, it, vi } from 'vitest'; import { generateSentryServerTimingHeader, injectServerTimingHeaderValue, } from '../../src/server/serverTimingTracePropagation'; +import type { Span } from '@sentry/core'; const mockSpan = { spanId: 'test-span-id', spanContext: () => ({ traceId: '12345678901234567890123456789012' }), -}; +} as unknown as Span; const mockRootSpan = { spanId: 'root-span-id', spanContext: () => ({ traceId: '12345678901234567890123456789012' }), diff --git a/packages/replay-internal/src/eventBuffer/EventBufferArray.ts b/packages/replay-internal/src/eventBuffer/EventBufferArray.ts index 9b6f5f602e63..cb6c0d49c528 100644 --- a/packages/replay-internal/src/eventBuffer/EventBufferArray.ts +++ b/packages/replay-internal/src/eventBuffer/EventBufferArray.ts @@ -73,12 +73,10 @@ export class EventBufferArray implements EventBuffer { /** @inheritdoc */ public getEarliestTimestamp(): number | null { - const timestamp = this.events.map(event => event.timestamp).sort()[0]; - - if (!timestamp) { - return null; + let ts: number | null = null; + for (const { timestamp } of this.events) { + if (ts === null || timestamp < ts) ts = timestamp; } - - return timestampToMs(timestamp); + return ts === null ? ts : timestampToMs(ts); } }