Skip to content

Commit d05c14e

Browse files
committed
merge integrations into core
1 parent d8d4cf1 commit d05c14e

18 files changed

+72
-36
lines changed

.github/workflows/build.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -424,6 +424,7 @@ jobs:
424424
name: ${{ github.sha }}
425425
path: |
426426
${{ github.workspace }}/packages/browser/build/bundles/**
427+
${{ github.workspace }}/packages/core/build/bundles/**
427428
${{ github.workspace }}/packages/integrations/build/bundles/**
428429
${{ github.workspace }}/packages/replay/build/bundles/**
429430
${{ github.workspace }}/packages/replay-canvas/build/bundles/**

packages/core/package.json

Lines changed: 12 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -15,13 +15,13 @@
1515
"types",
1616
"types-ts3.8"
1717
],
18-
"main": "build/cjs/index.js",
19-
"module": "build/esm/index.js",
20-
"types": "build/types/index.d.ts",
18+
"main": "build/npm/cjs/index.js",
19+
"module": "build/npm/esm/index.js",
20+
"types": "build/npm/types/index.d.ts",
2121
"typesVersions": {
2222
"<4.9": {
23-
"build/types/index.d.ts": [
24-
"build/types-ts3.8/index.d.ts"
23+
"build/npm/types/index.d.ts": [
24+
"build/npm/types-ts3.8/index.d.ts"
2525
]
2626
}
2727
},
@@ -33,25 +33,28 @@
3333
"@sentry/utils": "7.100.0"
3434
},
3535
"scripts": {
36-
"build": "run-p build:transpile build:types",
36+
"build": "run-p build:transpile build:types build:bundle",
37+
"build:bundle": "run-p build:bundle:es5 build:bundle:es6",
38+
"build:bundle:es5": "JS_VERSION=es5 rollup -c rollup.bundle.config.mjs",
39+
"build:bundle:es6": "JS_VERSION=es6 rollup -c rollup.bundle.config.mjs",
3740
"build:dev": "yarn build",
3841
"build:transpile": "rollup -c rollup.npm.config.mjs",
3942
"build:types": "run-s build:types:core build:types:downlevel",
4043
"build:types:core": "tsc -p tsconfig.types.json",
41-
"build:types:downlevel": "yarn downlevel-dts build/types build/types-ts3.8 --to ts3.8",
44+
"build:types:downlevel": "yarn downlevel-dts build/npm/types build/npm/types-ts3.8 --to ts3.8",
4245
"build:watch": "run-p build:transpile:watch build:types:watch",
4346
"build:dev:watch": "yarn build:watch",
4447
"build:transpile:watch": "rollup -c rollup.npm.config.mjs --watch",
4548
"build:types:watch": "tsc -p tsconfig.types.json --watch",
46-
"build:tarball": "ts-node ../../scripts/prepack.ts && npm pack ./build",
49+
"build:tarball": "ts-node ../../scripts/prepack.ts --bundles && npm pack ./build/npm",
4750
"circularDepCheck": "madge --circular src/index.ts",
4851
"clean": "rimraf build coverage sentry-core-*.tgz",
4952
"fix": "eslint . --format stylish --fix",
5053
"lint": "eslint . --format stylish",
5154
"test": "jest",
5255
"test:watch": "jest --watch",
5356
"version": "node ../../scripts/versionbump.js src/version.ts",
54-
"yalc:publish": "ts-node ../../scripts/prepack.ts && yalc publish build --push --sig"
57+
"yalc:publish": "ts-node ../../scripts/prepack.ts --bundles && yalc publish build/npm --push --sig"
5558
},
5659
"volta": {
5760
"extends": "../../package.json"
Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
import { makeBaseBundleConfig, makeBundleConfigVariants } from '@sentry-internal/rollup-utils';
2+
3+
const builds = [];
4+
5+
const targets = process.env.JS_VERSION ? [process.env.JS_VERSION] : ['es5', 'es6'];
6+
7+
if (targets.some(target => target !== 'es5' && target !== 'es6')) {
8+
throw new Error('JS_VERSION must be either "es5" or "es6"');
9+
}
10+
11+
const addonIntegrationFiles = ['captureconsole.ts', 'debug.ts', 'dedupe.ts', 'extraerrordata.ts', 'rewriteframes.ts', 'sessiontiming.ts']
12+
13+
targets.forEach(jsVersion => {
14+
addonIntegrationFiles.forEach(integrationFile => {
15+
const integrationName = integrationFile.split('.')[0]
16+
17+
const integrationsBundleConfig = makeBaseBundleConfig({
18+
bundleType: 'addon',
19+
entrypoints: [`src/integrations/${integrationFile}`],
20+
jsVersion,
21+
licenseTitle: `@sentry/browser - ${integrationName}`,
22+
outputFileBase: () => `bundles/${integrationName}${jsVersion === 'es5' ? '.es5' : ''}`,
23+
});
24+
25+
builds.push(...makeBundleConfigVariants(integrationsBundleConfig))
26+
})
27+
});
28+
29+
export default builds;

packages/core/rollup.npm.config.mjs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
import { makeBaseNPMConfig, makeNPMConfigVariants } from '@sentry-internal/rollup-utils';
22

3-
export default makeNPMConfigVariants(makeBaseNPMConfig());
3+
export default makeNPMConfigVariants(makeBaseNPMConfig({ hasBundles: true }));

packages/core/src/index.ts

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -108,6 +108,12 @@ export { inboundFiltersIntegration } from './integrations/inboundfilters';
108108
export { linkedErrorsIntegration } from './integrations/linkederrors';
109109
export { moduleMetadataIntegration } from './integrations/metadata';
110110
export { requestDataIntegration } from './integrations/requestdata';
111+
export { captureConsoleIntegration } from './integrations/captureconsole';
112+
export { debugIntegration } from './integrations/debug';
113+
export { dedupeIntegration } from './integrations/dedupe';
114+
export { extraErrorDataIntegration } from './integrations/extraerrordata';
115+
export { rewriteFramesIntegration } from './integrations/rewriteframes';
116+
export { sessionTimingIntegration } from './integrations/sessiontiming';
111117
export { metrics } from './metrics/exports';
112118
export type { MetricData } from './metrics/exports';
113119
export { metricsDefault } from './metrics/exports-default';

packages/integrations/src/captureconsole.ts renamed to packages/core/src/integrations/captureconsole.ts

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,6 @@
1-
import { captureException, captureMessage, defineIntegration, getClient, withScope } from '@sentry/core';
1+
import { defineIntegration } from '../integration';
2+
import { captureException, captureMessage } from '../exports';
3+
import { getClient, withScope } from '../currentScopes';
24
import type { CaptureContext, IntegrationFn } from '@sentry/types';
35
import {
46
CONSOLE_LEVELS,

packages/integrations/src/debug.ts renamed to packages/core/src/integrations/debug.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { defineIntegration } from '@sentry/core';
1+
import { defineIntegration } from '../integration';
22
import type { Event, EventHint, IntegrationFn } from '@sentry/types';
33
import { consoleSandbox } from '@sentry/utils';
44

packages/integrations/src/dedupe.ts renamed to packages/core/src/integrations/dedupe.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
1-
import { defineIntegration } from '@sentry/core';
1+
import { defineIntegration } from '../integration';
22
import type { Event, Exception, IntegrationFn, StackFrame } from '@sentry/types';
33
import { logger } from '@sentry/utils';
44

5-
import { DEBUG_BUILD } from './debug-build';
5+
import { DEBUG_BUILD } from '../debug-build';
66

77
const INTEGRATION_NAME = 'Dedupe';
88

packages/integrations/src/extraerrordata.ts renamed to packages/core/src/integrations/extraerrordata.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
1-
import { defineIntegration } from '@sentry/core';
1+
import { defineIntegration } from '../integration';
22
import type { Contexts, Event, EventHint, ExtendedError, IntegrationFn } from '@sentry/types';
33
import { addNonEnumerableProperty, isError, isPlainObject, logger, normalize } from '@sentry/utils';
44

5-
import { DEBUG_BUILD } from './debug-build';
5+
import { DEBUG_BUILD } from '../debug-build';
66

77
const INTEGRATION_NAME = 'ExtraErrorData';
88

packages/integrations/src/rewriteframes.ts renamed to packages/core/src/integrations/rewriteframes.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { defineIntegration } from '@sentry/core';
1+
import { defineIntegration } from '../integration';
22
import type { Event, IntegrationFn, StackFrame, Stacktrace } from '@sentry/types';
33
import { basename, relative } from '@sentry/utils';
44

packages/integrations/src/sessiontiming.ts renamed to packages/core/src/integrations/sessiontiming.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { defineIntegration } from '@sentry/core';
1+
import { defineIntegration } from '../integration';
22
import type { IntegrationFn } from '@sentry/types';
33

44
const INTEGRATION_NAME = 'SessionTiming';

packages/integrations/test/captureconsole.test.ts renamed to packages/core/test/lib/integrations/captureconsole.test.ts

Lines changed: 7 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,11 @@
11
/* eslint-disable @typescript-eslint/unbound-method */
22

3-
import * as SentryCore from '@sentry/core';
43
import type { Client, ConsoleLevel, Event } from '@sentry/types';
5-
import {
6-
CONSOLE_LEVELS,
7-
GLOBAL_OBJ,
8-
addConsoleInstrumentationHandler,
9-
originalConsoleMethods,
10-
resetInstrumentationHandlers,
11-
} from '@sentry/utils';
4+
import { CONSOLE_LEVELS, GLOBAL_OBJ, originalConsoleMethods, resetInstrumentationHandlers } from '@sentry/utils';
5+
import * as CurrentScopes from '../../../src/currentscopes';
6+
import * as SentryCore from '../../../src/exports';
127

13-
import { captureConsoleIntegration } from '../src/captureconsole';
8+
import { captureConsoleIntegration } from '../../../src/integrations/captureconsole';
149

1510
const mockConsole: { [key in ConsoleLevel]: jest.Mock<any> } = {
1611
debug: jest.fn(),
@@ -24,7 +19,7 @@ const mockConsole: { [key in ConsoleLevel]: jest.Mock<any> } = {
2419

2520
describe('CaptureConsole setup', () => {
2621
// Ensure we've initialized the instrumentation so we can get the original one
27-
addConsoleInstrumentationHandler(() => {});
22+
// addConsoleInstrumentationHandler(() => {});
2823
const _originalConsoleMethods = Object.assign({}, originalConsoleMethods);
2924

3025
let mockClient: Client;
@@ -45,8 +40,8 @@ describe('CaptureConsole setup', () => {
4540

4641
jest.spyOn(SentryCore, 'captureMessage').mockImplementation(captureMessage);
4742
jest.spyOn(SentryCore, 'captureException').mockImplementation(captureException);
48-
jest.spyOn(SentryCore, 'getClient').mockImplementation(() => mockClient);
49-
jest.spyOn(SentryCore, 'withScope').mockImplementation(withScope);
43+
jest.spyOn(CurrentScopes, 'getClient').mockImplementation(() => mockClient);
44+
jest.spyOn(CurrentScopes, 'withScope').mockImplementation(withScope);
5045

5146
CONSOLE_LEVELS.forEach(key => {
5247
originalConsoleMethods[key] = mockConsole[key];

packages/integrations/test/debug.test.ts renamed to packages/core/test/lib/integrations/debug.test.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import type { Client, Event, EventHint } from '@sentry/types';
22

3-
import { debugIntegration } from '../src/debug';
3+
import { debugIntegration } from '../../../src/integrations/debug';
44

55
function testEventLogged(
66
integration: ReturnType<typeof debugIntegration>,

packages/integrations/test/dedupe.test.ts renamed to packages/core/test/lib/integrations/dedupe.test.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import type { Event as SentryEvent, Exception, StackFrame, Stacktrace } from '@sentry/types';
22

3-
import { _shouldDropEvent, dedupeIntegration } from '../src/dedupe';
3+
import { _shouldDropEvent, dedupeIntegration } from '../../../src/integrations/dedupe';
44

55
type EventWithException = SentryEvent & {
66
exception: {

packages/integrations/test/extraerrordata.test.ts renamed to packages/core/test/lib/integrations/extraerrordata.test.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import type { Event as SentryEvent, ExtendedError } from '@sentry/types';
22

3-
import { extraErrorDataIntegration } from '../src/extraerrordata';
3+
import { extraErrorDataIntegration } from '../../../src/integrations/extraerrordata';
44

55
const extraErrorData = extraErrorDataIntegration();
66
let event: SentryEvent;

packages/integrations/test/rewriteframes.test.ts renamed to packages/core/test/lib/integrations/rewriteframes.test.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import type { Event, StackFrame } from '@sentry/types';
22

3-
import { rewriteFramesIntegration } from '../src/rewriteframes';
3+
import { rewriteFramesIntegration } from '../../../src/integrations/rewriteframes';
44

55
let rewriteFrames: ReturnType<typeof rewriteFramesIntegration>;
66
let exceptionEvent: Event;

packages/integrations/test/sessiontiming.test.ts renamed to packages/core/test/lib/integrations/sessiontiming.test.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import type { Event } from '@sentry/types';
2-
import { sessionTimingIntegration } from '../src/sessiontiming';
2+
import { sessionTimingIntegration } from '../../../src/integrations/sessiontiming';
33

44
const sessionTiming = sessionTimingIntegration();
55

packages/core/tsconfig.types.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,6 @@
55
"declaration": true,
66
"declarationMap": true,
77
"emitDeclarationOnly": true,
8-
"outDir": "build/types"
8+
"outDir": "build/npm/types"
99
}
1010
}

0 commit comments

Comments
 (0)