From c4d60a930400943a41c33577553cf1308e380c30 Mon Sep 17 00:00:00 2001 From: Oleh Aloshkin Date: Sat, 6 Jan 2024 13:36:23 +0100 Subject: [PATCH 1/6] Make parameterize function available through browser and node API --- .../captureMessage/parameterized_message/subject.js | 4 +--- .../public-api/captureMessage/parameterized_message/test.ts | 6 ------ .../captureMessage/parameterized_message/scenario.ts | 3 +-- packages/browser/src/exports.ts | 2 ++ packages/node/src/index.ts | 2 +- packages/utils/src/parameterize.ts | 4 ++-- 6 files changed, 7 insertions(+), 14 deletions(-) diff --git a/dev-packages/browser-integration-tests/suites/public-api/captureMessage/parameterized_message/subject.js b/dev-packages/browser-integration-tests/suites/public-api/captureMessage/parameterized_message/subject.js index a86616cd52dc..3553e4dcd9fd 100644 --- a/dev-packages/browser-integration-tests/suites/public-api/captureMessage/parameterized_message/subject.js +++ b/dev-packages/browser-integration-tests/suites/public-api/captureMessage/parameterized_message/subject.js @@ -1,6 +1,4 @@ -import { parameterize } from '@sentry/utils'; - const x = 'first'; const y = 'second'; -Sentry.captureMessage(parameterize`This is a log statement with ${x} and ${y} params`); +Sentry.captureMessage(Sentry.parameterize`This is a log statement with ${x} and ${y} params`); diff --git a/dev-packages/browser-integration-tests/suites/public-api/captureMessage/parameterized_message/test.ts b/dev-packages/browser-integration-tests/suites/public-api/captureMessage/parameterized_message/test.ts index 4c948d439bff..db84460b85b5 100644 --- a/dev-packages/browser-integration-tests/suites/public-api/captureMessage/parameterized_message/test.ts +++ b/dev-packages/browser-integration-tests/suites/public-api/captureMessage/parameterized_message/test.ts @@ -5,12 +5,6 @@ import { sentryTest } from '../../../../utils/fixtures'; import { getFirstSentryEnvelopeRequest } from '../../../../utils/helpers'; sentryTest('should capture a parameterized representation of the message', async ({ getLocalTestPath, page }) => { - const bundle = process.env.PW_BUNDLE; - - if (bundle && bundle.startsWith('bundle_')) { - sentryTest.skip(); - } - const url = await getLocalTestPath({ testDir: __dirname }); const eventData = await getFirstSentryEnvelopeRequest(page, url); diff --git a/dev-packages/node-integration-tests/suites/public-api/captureMessage/parameterized_message/scenario.ts b/dev-packages/node-integration-tests/suites/public-api/captureMessage/parameterized_message/scenario.ts index db81bb18d331..1d92f9dcd769 100644 --- a/dev-packages/node-integration-tests/suites/public-api/captureMessage/parameterized_message/scenario.ts +++ b/dev-packages/node-integration-tests/suites/public-api/captureMessage/parameterized_message/scenario.ts @@ -1,5 +1,4 @@ import * as Sentry from '@sentry/node'; -import { parameterize } from '@sentry/utils'; Sentry.init({ dsn: 'https://public@dsn.ingest.sentry.io/1337', @@ -9,4 +8,4 @@ Sentry.init({ const x = 'first'; const y = 'second'; -Sentry.captureMessage(parameterize`This is a log statement with ${x} and ${y} params`); +Sentry.captureMessage(Sentry.parameterize`This is a log statement with ${x} and ${y} params`); diff --git a/packages/browser/src/exports.ts b/packages/browser/src/exports.ts index f63fe20fdead..3f329ec441ab 100644 --- a/packages/browser/src/exports.ts +++ b/packages/browser/src/exports.ts @@ -65,6 +65,8 @@ export { metrics, } from '@sentry/core'; +export { parameterize } from '@sentry/utils'; + export { WINDOW } from './helpers'; export { BrowserClient } from './client'; export { makeFetchTransport, makeXHRTransport } from './transports'; diff --git a/packages/node/src/index.ts b/packages/node/src/index.ts index 47206462b937..b1811c6fba5d 100644 --- a/packages/node/src/index.ts +++ b/packages/node/src/index.ts @@ -82,7 +82,7 @@ export { autoDiscoverNodePerformanceMonitoringIntegrations } from './tracing'; export { NodeClient } from './client'; export { makeNodeTransport } from './transports'; export { defaultIntegrations, init, defaultStackParser, getSentryRelease } from './sdk'; -export { addRequestDataToEvent, DEFAULT_USER_INCLUDES, extractRequestData } from '@sentry/utils'; +export { addRequestDataToEvent, DEFAULT_USER_INCLUDES, extractRequestData, parameterize } from '@sentry/utils'; // eslint-disable-next-line deprecation/deprecation export { deepReadDirSync } from './utils'; export { getModuleFromFilename } from './module'; diff --git a/packages/utils/src/parameterize.ts b/packages/utils/src/parameterize.ts index 2cfa63e92677..5783a61fa3c9 100644 --- a/packages/utils/src/parameterize.ts +++ b/packages/utils/src/parameterize.ts @@ -3,8 +3,8 @@ import type { ParameterizedString } from '@sentry/types'; /** * Tagged template function which returns paramaterized representation of the message * For example: parameterize`This is a log statement with ${x} and ${y} params`, would return: - * "__sentry_template_string__": "My raw message with interpreted strings like %s", - * "__sentry_template_values__": ["this"] + * "__sentry_template_string__": 'This is a log statement with %s and %s params', + * "__sentry_template_values__": ['first', 'second'] * @param strings An array of string values splitted between expressions * @param values Expressions extracted from template string * @returns String with template information in __sentry_template_string__ and __sentry_template_values__ properties From 55bba8655951b4997490387caece2bae22dff1e7 Mon Sep 17 00:00:00 2001 From: Oleh Aloshkin Date: Tue, 16 Jan 2024 00:14:00 +0100 Subject: [PATCH 2/6] Added exports for parameterized function from node SDK --- packages/astro/src/index.server.ts | 1 + packages/browser/src/exports.ts | 2 -- packages/remix/src/index.server.ts | 1 + packages/serverless/src/index.ts | 1 + packages/sveltekit/src/server/index.ts | 1 + 5 files changed, 4 insertions(+), 2 deletions(-) diff --git a/packages/astro/src/index.server.ts b/packages/astro/src/index.server.ts index b038e215496d..3575ee2c2929 100644 --- a/packages/astro/src/index.server.ts +++ b/packages/astro/src/index.server.ts @@ -70,6 +70,7 @@ export { startSpanManual, continueTrace, cron, + parameterize, } from '@sentry/node'; // We can still leave this for the carrier init and type exports diff --git a/packages/browser/src/exports.ts b/packages/browser/src/exports.ts index 3f329ec441ab..f63fe20fdead 100644 --- a/packages/browser/src/exports.ts +++ b/packages/browser/src/exports.ts @@ -65,8 +65,6 @@ export { metrics, } from '@sentry/core'; -export { parameterize } from '@sentry/utils'; - export { WINDOW } from './helpers'; export { BrowserClient } from './client'; export { makeFetchTransport, makeXHRTransport } from './transports'; diff --git a/packages/remix/src/index.server.ts b/packages/remix/src/index.server.ts index b28ce95caa61..bba1a71f1e3f 100644 --- a/packages/remix/src/index.server.ts +++ b/packages/remix/src/index.server.ts @@ -61,6 +61,7 @@ export { Integrations, Handlers, cron, + parameterize, } from '@sentry/node'; // Keeping the `*` exports for backwards compatibility and types diff --git a/packages/serverless/src/index.ts b/packages/serverless/src/index.ts index ce076283b635..e3daf04b85da 100644 --- a/packages/serverless/src/index.ts +++ b/packages/serverless/src/index.ts @@ -69,4 +69,5 @@ export { startInactiveSpan, startSpanManual, continueTrace, + parameterize, } from '@sentry/node'; diff --git a/packages/sveltekit/src/server/index.ts b/packages/sveltekit/src/server/index.ts index 61419c196736..f5f86f27b7ea 100644 --- a/packages/sveltekit/src/server/index.ts +++ b/packages/sveltekit/src/server/index.ts @@ -67,6 +67,7 @@ export { startSpanManual, continueTrace, cron, + parameterize, } from '@sentry/node'; // We can still leave this for the carrier init and type exports From ea40fa09fe7c255ee62a6fa6a9f474af3a160462 Mon Sep 17 00:00:00 2001 From: Oleh Aloshkin Date: Tue, 16 Jan 2024 00:41:59 +0100 Subject: [PATCH 3/6] Re-added export of function from browser package --- packages/browser/src/exports.ts | 2 ++ 1 file changed, 2 insertions(+) diff --git a/packages/browser/src/exports.ts b/packages/browser/src/exports.ts index f0e167db50b4..833a299f339c 100644 --- a/packages/browser/src/exports.ts +++ b/packages/browser/src/exports.ts @@ -66,6 +66,8 @@ export { metrics, } from '@sentry/core'; +export { parameterize } from '@sentry/utils'; + export { WINDOW } from './helpers'; export { BrowserClient } from './client'; export { makeFetchTransport, makeXHRTransport } from './transports'; From fffe49a78793a204b4a69e4f1fe2bea17be63cdd Mon Sep 17 00:00:00 2001 From: Oleh Aloshkin Date: Tue, 16 Jan 2024 23:03:53 +0100 Subject: [PATCH 4/6] Moved parameterize export from @sentry/utils to @sentry/core --- packages/browser/src/exports.ts | 3 +-- packages/core/src/index.ts | 2 ++ 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/packages/browser/src/exports.ts b/packages/browser/src/exports.ts index 833a299f339c..c4aa3be96d86 100644 --- a/packages/browser/src/exports.ts +++ b/packages/browser/src/exports.ts @@ -64,10 +64,9 @@ export { FunctionToString, InboundFilters, metrics, + parameterize, } from '@sentry/core'; -export { parameterize } from '@sentry/utils'; - export { WINDOW } from './helpers'; export { BrowserClient } from './client'; export { makeFetchTransport, makeXHRTransport } from './transports'; diff --git a/packages/core/src/index.ts b/packages/core/src/index.ts index 026f9b5164d9..071a6acbe113 100644 --- a/packages/core/src/index.ts +++ b/packages/core/src/index.ts @@ -90,3 +90,5 @@ import * as Integrations from './integrations'; export { metrics } from './metrics/exports'; export { Integrations }; + +export { parameterize } from '@sentry/utils'; From 1ee501c2257e6b4b3d2e18540ecf41e7a2908504 Mon Sep 17 00:00:00 2001 From: Oleh Aloshkin Date: Fri, 19 Jan 2024 20:04:31 +0100 Subject: [PATCH 5/6] Moved parameterize function to @sentry/core --- packages/core/src/index.ts | 3 +-- packages/{utils/src => core/src/utils}/parameterize.ts | 0 .../{utils/test => core/test/lib/utils}/parameterize.test.ts | 2 +- packages/node/src/index.ts | 3 ++- packages/utils/src/index.ts | 1 - 5 files changed, 4 insertions(+), 5 deletions(-) rename packages/{utils/src => core/src/utils}/parameterize.ts (100%) rename packages/{utils/test => core/test/lib/utils}/parameterize.test.ts (94%) diff --git a/packages/core/src/index.ts b/packages/core/src/index.ts index 408b2d3f26e4..8cfd089f301a 100644 --- a/packages/core/src/index.ts +++ b/packages/core/src/index.ts @@ -78,6 +78,7 @@ export { createCheckInEnvelope } from './checkin'; export { hasTracingEnabled } from './utils/hasTracingEnabled'; export { isSentryRequestUrl } from './utils/isSentryRequestUrl'; export { handleCallbackErrors } from './utils/handleCallbackErrors'; +export { parameterize } from './utils/parameterize'; export { spanToTraceHeader, spanToJSON, @@ -91,5 +92,3 @@ import * as Integrations from './integrations'; export { metrics } from './metrics/exports'; export { Integrations }; - -export { parameterize } from '@sentry/utils'; diff --git a/packages/utils/src/parameterize.ts b/packages/core/src/utils/parameterize.ts similarity index 100% rename from packages/utils/src/parameterize.ts rename to packages/core/src/utils/parameterize.ts diff --git a/packages/utils/test/parameterize.test.ts b/packages/core/test/lib/utils/parameterize.test.ts similarity index 94% rename from packages/utils/test/parameterize.test.ts rename to packages/core/test/lib/utils/parameterize.test.ts index a199e0939271..413ba8043c49 100644 --- a/packages/utils/test/parameterize.test.ts +++ b/packages/core/test/lib/utils/parameterize.test.ts @@ -1,6 +1,6 @@ import type { ParameterizedString } from '@sentry/types'; -import { parameterize } from '../src/parameterize'; +import { parameterize } from '../../../src/utils/parameterize'; describe('parameterize()', () => { test('works with empty string', () => { diff --git a/packages/node/src/index.ts b/packages/node/src/index.ts index 6d78289436f5..d2d1c6f5429e 100644 --- a/packages/node/src/index.ts +++ b/packages/node/src/index.ts @@ -78,6 +78,7 @@ export { startInactiveSpan, startSpanManual, continueTrace, + parameterize, metrics, } from '@sentry/core'; export type { SpanStatusType } from '@sentry/core'; @@ -86,7 +87,7 @@ export { autoDiscoverNodePerformanceMonitoringIntegrations } from './tracing'; export { NodeClient } from './client'; export { makeNodeTransport } from './transports'; export { defaultIntegrations, init, defaultStackParser, getSentryRelease } from './sdk'; -export { addRequestDataToEvent, DEFAULT_USER_INCLUDES, extractRequestData, parameterize } from '@sentry/utils'; +export { addRequestDataToEvent, DEFAULT_USER_INCLUDES, extractRequestData } from '@sentry/utils'; // eslint-disable-next-line deprecation/deprecation export { deepReadDirSync } from './utils'; diff --git a/packages/utils/src/index.ts b/packages/utils/src/index.ts index 5483f2aa7e41..d19991b7d401 100644 --- a/packages/utils/src/index.ts +++ b/packages/utils/src/index.ts @@ -32,7 +32,6 @@ export * from './url'; export * from './userIntegrations'; export * from './cache'; export * from './eventbuilder'; -export * from './parameterize'; export * from './anr'; export * from './lru'; export * from './buildPolyfills'; From 01e22b9d62f14e73da07cac15c344d84096486eb Mon Sep 17 00:00:00 2001 From: Oleh Aloshkin Date: Mon, 22 Jan 2024 20:30:47 +0100 Subject: [PATCH 6/6] Added parameterize function export to bun --- packages/bun/src/index.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/bun/src/index.ts b/packages/bun/src/index.ts index 725eecb24753..5d5abce58f48 100644 --- a/packages/bun/src/index.ts +++ b/packages/bun/src/index.ts @@ -83,6 +83,7 @@ export { inboundFiltersIntegration, linkedErrorsIntegration, requestDataIntegration, + parameterize, } from '@sentry/core'; export type { SpanStatusType } from '@sentry/core'; export { autoDiscoverNodePerformanceMonitoringIntegrations, cron } from '@sentry/node';