diff --git a/packages/deno/package.json b/packages/deno/package.json index b9f7dbdc8ea8..7cecc1e7c228 100644 --- a/packages/deno/package.json +++ b/packages/deno/package.json @@ -41,15 +41,14 @@ "build:types:bundle": "rollup -c rollup.types.config.mjs", "build:tarball": "node ./scripts/prepack.js && npm pack ./build", "circularDepCheck": "madge --circular src/index.ts", - "clean": "rimraf build build-types build-test coverage sentry-deno-*.tgz", + "clean": "rimraf build build-types build-test coverage node_modules/.deno sentry-deno-*.tgz", "prefix": "yarn deno-types", "fix": "eslint . --format stylish --fix", "prelint": "yarn deno-types", "lint": "eslint . --format stylish", "install:deno": "node ./scripts/install-deno.mjs", - "pretest": "run-s deno-types test:build", + "pretest": "run-s deno-types", "test": "run-s install:deno test:types test:unit", - "test:build": "tsc -p tsconfig.test.types.json && rollup -c rollup.test.config.mjs", "test:types": "deno check ./build/index.mjs", "test:unit": "deno test --allow-read --allow-run", "test:unit:update": "deno test --allow-read --allow-write --allow-run -- --update", diff --git a/packages/deno/rollup.test.config.mjs b/packages/deno/rollup.test.config.mjs deleted file mode 100644 index 2902fcfe39b0..000000000000 --- a/packages/deno/rollup.test.config.mjs +++ /dev/null @@ -1,45 +0,0 @@ -import nodeResolve from '@rollup/plugin-node-resolve'; -import sucrase from '@rollup/plugin-sucrase'; -import { defineConfig } from 'rollup'; -// @ts-check -import dts from 'rollup-plugin-dts'; - -export default [ - defineConfig({ - input: ['test/build.ts'], - output: { - file: 'build-test/index.js', - sourcemap: true, - preserveModules: - process.env.SENTRY_BUILD_PRESERVE_MODULES === undefined - ? false - : Boolean(process.env.SENTRY_BUILD_PRESERVE_MODULES), - strict: false, - freeze: false, - interop: 'auto', - format: 'esm', - banner: '/// ', - }, - plugins: [ - nodeResolve({ - extensions: ['.mjs', '.js', '.json', '.node', '.ts', '.tsx'], - }), - sucrase({ transforms: ['typescript'] }), - ], - }), - defineConfig({ - input: './build-test/build.d.ts', - output: [{ file: 'build-test/index.d.ts', format: 'es' }], - plugins: [ - dts({ respectExternal: true }), - // The bundled types contain a declaration for the __DEBUG_BUILD__ global - // This can result in errors about duplicate global declarations so we strip it out! - { - name: 'strip-global', - renderChunk(code) { - return { code: code.replace(/declare global \{\s*const __DEBUG_BUILD__: boolean;\s*\}/g, '') }; - }, - }, - ], - }), -]; diff --git a/packages/deno/rollup.types.config.mjs b/packages/deno/rollup.types.config.mjs index ccfb62251351..4bd81990f8bd 100644 --- a/packages/deno/rollup.types.config.mjs +++ b/packages/deno/rollup.types.config.mjs @@ -6,7 +6,7 @@ export default defineConfig({ input: './build-types/index.d.ts', output: [{ file: 'build/index.d.ts', format: 'es' }], plugins: [ - dts({ respectExternal: true }), + dts({ respectExternal: false }), // The bundled types contain a declaration for the __DEBUG_BUILD__ global // This can result in errors about duplicate global declarations so we strip it out! { diff --git a/packages/deno/test/__snapshots__/mod.test.ts.snap b/packages/deno/test/__snapshots__/mod.test.ts.snap index f9f3006c34c4..2142108a79f4 100644 --- a/packages/deno/test/__snapshots__/mod.test.ts.snap +++ b/packages/deno/test/__snapshots__/mod.test.ts.snap @@ -48,7 +48,7 @@ snapshot[`captureException 1`] = ` filename: "app:///test/mod.test.ts", function: "?", in_app: true, - lineno: 46, + lineno: 44, post_context: [ "", " await delay(200);", @@ -56,7 +56,7 @@ snapshot[`captureException 1`] = ` "});", "", "Deno.test('captureMessage', async t => {", - " let ev: sentryTypes.Event | undefined;", + " let ev: Event | undefined;", ], pre_context: [ " ev = event;", @@ -74,7 +74,7 @@ snapshot[`captureException 1`] = ` filename: "app:///test/mod.test.ts", function: "something", in_app: true, - lineno: 43, + lineno: 41, post_context: [ " }", "", @@ -86,7 +86,7 @@ snapshot[`captureException 1`] = ` ], pre_context: [ "Deno.test('captureException', async t => {", - " let ev: sentryTypes.Event | undefined;", + " let ev: Event | undefined;", " const client = getTestClient(event => {", " ev = event;", " });", diff --git a/packages/deno/test/build.ts b/packages/deno/test/build.ts deleted file mode 100644 index 2ea3d4191454..000000000000 --- a/packages/deno/test/build.ts +++ /dev/null @@ -1,4 +0,0 @@ -// We use this as the entry point to bundle Sentry dependencies that are used by the tests. -export * as sentryTypes from '@sentry/core'; -export * as sentryUtils from '@sentry/core'; -export * as sentryCore from '@sentry/core'; diff --git a/packages/deno/test/mod.test.ts b/packages/deno/test/mod.test.ts index 656d9301b7ca..e37de1c440ec 100644 --- a/packages/deno/test/mod.test.ts +++ b/packages/deno/test/mod.test.ts @@ -1,21 +1,19 @@ import { assertEquals } from 'https://deno.land/std@0.202.0/assert/assert_equals.ts'; import { assertSnapshot } from 'https://deno.land/std@0.202.0/testing/snapshot.ts'; -import type { sentryTypes } from '../build-test/index.js'; -import { sentryUtils } from '../build-test/index.js'; +import type { Event } from '@sentry/core'; +import { createStackParser, nodeStackLineParser } from '@sentry/core'; import { DenoClient, getCurrentScope, getDefaultIntegrations } from '../build/index.mjs'; + import { getNormalizedEvent } from './normalize.ts'; import { makeTestTransport } from './transport.ts'; -function getTestClient( - callback: (event?: sentryTypes.Event) => void, - integrations: sentryTypes.Integration[] = [], -): DenoClient { +function getTestClient(callback: (event?: Event) => void): DenoClient { const client = new DenoClient({ dsn: 'https://233a45e5efe34c47a3536797ce15dafa@nothing.here/5650507', debug: true, - integrations: [...getDefaultIntegrations({}), ...integrations], - stackParser: sentryUtils.createStackParser(sentryUtils.nodeStackLineParser()), + integrations: getDefaultIntegrations({}), + stackParser: createStackParser(nodeStackLineParser()), transport: makeTestTransport(envelope => { callback(getNormalizedEvent(envelope)); }), @@ -34,7 +32,7 @@ function delay(time: number): Promise { } Deno.test('captureException', async t => { - let ev: sentryTypes.Event | undefined; + let ev: Event | undefined; const client = getTestClient(event => { ev = event; }); @@ -50,7 +48,7 @@ Deno.test('captureException', async t => { }); Deno.test('captureMessage', async t => { - let ev: sentryTypes.Event | undefined; + let ev: Event | undefined; const client = getTestClient(event => { ev = event; }); @@ -62,7 +60,7 @@ Deno.test('captureMessage', async t => { }); Deno.test('captureMessage twice', async t => { - let ev: sentryTypes.Event | undefined; + let ev: Event | undefined; const client = getTestClient(event => { ev = event; }); diff --git a/packages/deno/test/normalize.ts b/packages/deno/test/normalize.ts index 2946ea8de153..3edc273b75cd 100644 --- a/packages/deno/test/normalize.ts +++ b/packages/deno/test/normalize.ts @@ -1,21 +1,21 @@ /* eslint-disable complexity */ -import type { sentryTypes } from '../build-test/index.js'; -import { sentryUtils } from '../build-test/index.js'; +import type { Envelope, Event, Session } from '@sentry/core'; +import { forEachEnvelopeItem } from '@sentry/core'; -type EventOrSession = sentryTypes.Event | sentryTypes.Session; +type EventOrSession = Event | Session; -export function getNormalizedEvent(envelope: sentryTypes.Envelope): sentryTypes.Event | undefined { - let event: sentryTypes.Event | undefined; +export function getNormalizedEvent(envelope: Envelope): Event | undefined { + let event: Event | undefined; - sentryUtils.forEachEnvelopeItem(envelope, item => { + forEachEnvelopeItem(envelope, item => { const [headers, body] = item; if (headers.type === 'event') { - event = body as sentryTypes.Event; + event = body as Event; } }); - return normalize(event) as sentryTypes.Event | undefined; + return normalize(event) as Event | undefined; } export function normalize(event: EventOrSession | undefined): EventOrSession | undefined { @@ -24,14 +24,14 @@ export function normalize(event: EventOrSession | undefined): EventOrSession | u } if (eventIsSession(event)) { - return normalizeSession(event as sentryTypes.Session); + return normalizeSession(event as Session); } else { - return normalizeEvent(event as sentryTypes.Event); + return normalizeEvent(event as Event); } } export function eventIsSession(data: EventOrSession): boolean { - return !!(data as sentryTypes.Session)?.sid; + return !!(data as Session)?.sid; } /** @@ -40,7 +40,7 @@ export function eventIsSession(data: EventOrSession): boolean { * All properties that are timestamps, versions, ids or variables that may vary * by platform are replaced with placeholder strings */ -function normalizeSession(session: sentryTypes.Session): sentryTypes.Session { +function normalizeSession(session: Session): Session { if (session.sid) { session.sid = '{{id}}'; } @@ -66,7 +66,7 @@ function normalizeSession(session: sentryTypes.Session): sentryTypes.Session { * All properties that are timestamps, versions, ids or variables that may vary * by platform are replaced with placeholder strings */ -function normalizeEvent(event: sentryTypes.Event): sentryTypes.Event { +function normalizeEvent(event: Event): Event { if (event.sdk?.version) { event.sdk.version = '{{version}}'; } diff --git a/packages/deno/test/transport.ts b/packages/deno/test/transport.ts index d18bd610c7dc..f8e39168148f 100644 --- a/packages/deno/test/transport.ts +++ b/packages/deno/test/transport.ts @@ -1,25 +1,29 @@ -import type { sentryTypes } from '../build-test/index.js'; -import { sentryCore, sentryUtils } from '../build-test/index.js'; +import type { + BaseTransportOptions, + Envelope, + Transport, + TransportMakeRequestResponse, + TransportRequest, +} from '@sentry/core'; +import { createTransport, parseEnvelope } from '@sentry/core'; -export interface TestTransportOptions extends sentryTypes.BaseTransportOptions { - callback: (envelope: sentryTypes.Envelope) => void; +export interface TestTransportOptions extends BaseTransportOptions { + callback: (envelope: Envelope) => void; } /** * Creates a Transport that uses the Fetch API to send events to Sentry. */ -export function makeTestTransport(callback: (envelope: sentryTypes.Envelope) => void) { - return (options: sentryTypes.BaseTransportOptions): sentryTypes.Transport => { - async function doCallback( - request: sentryTypes.TransportRequest, - ): Promise { - await callback(sentryUtils.parseEnvelope(request.body)); +export function makeTestTransport(callback: (envelope: Envelope) => void) { + return (options: BaseTransportOptions): Transport => { + async function doCallback(request: TransportRequest): Promise { + await callback(parseEnvelope(request.body)); return Promise.resolve({ statusCode: 200, }); } - return sentryCore.createTransport(options, doCallback); + return createTransport(options, doCallback); }; } diff --git a/packages/deno/tsconfig.test.types.json b/packages/deno/tsconfig.test.types.json deleted file mode 100644 index 1cac4cb38a90..000000000000 --- a/packages/deno/tsconfig.test.types.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "extends": "./tsconfig.json", - "include": ["./lib.deno.d.ts", "test/build.ts"], - "compilerOptions": { - "declaration": true, - "declarationMap": false, - "emitDeclarationOnly": true, - "outDir": "build-test" - } -}