Skip to content

Commit 09159c4

Browse files
authored
sdk packages: wrap up of ESM changes (#279)
* gitignore: ignore .rollup.cache * base: remove composite and incremental from tsconfig * sdk-core: change output to NodeNext * node: change output to NodeNext, fix invalid imports * browser: change output to NodeNext, fix invalid imports * react: change output to NodeNext * session-replay: change output to NodeNext * electron: change output to NodeNext * base: remove tsconfig.packages.json * sdk-core: remove rollup-plugin-typescript2 --------- Co-authored-by: Sebastian Alex <[email protected]>
1 parent accf957 commit 09159c4

File tree

222 files changed

+959
-873
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

222 files changed

+959
-873
lines changed

.gitignore

+1
Original file line numberDiff line numberDiff line change
@@ -139,3 +139,4 @@ dist/
139139
# VSCode settings
140140
settings.json
141141

142+
.rollup.cache/

package-lock.json

+191-121
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

+2-3
Original file line numberDiff line numberDiff line change
@@ -5,13 +5,12 @@
55
"author": "Backtrace <[email protected]>",
66
"license": "MIT",
77
"scripts": {
8-
"build": "tsc -b ./tsconfig.packages.json && npm run build --ws --if-present",
9-
"clean": "tsc -b --clean && rimraf \"lib\" && npm run clean --ws --if-present",
8+
"build": "npm run build --ws --if-present",
9+
"clean": "npm run clean --ws --if-present",
1010
"format": "prettier --write \"**/*.ts\"",
1111
"format:check": "prettier --check \"**/*.ts\"",
1212
"lint": "eslint . --ext .ts",
1313
"rebuild": "npm run clean && npm run build",
14-
"watch": "tsc -b ./tsconfig.packages.json -w",
1514
"test": "npm run test --ws --if-present",
1615
"syncVersions": "ts-node ./scripts/syncVersions.ts"
1716
},

packages/browser/package.json

+3-3
Original file line numberDiff line numberDiff line change
@@ -8,12 +8,12 @@
88
"types": "lib/index.d.ts",
99
"type": "module",
1010
"scripts": {
11-
"build": "rollup -c rollup.config.mjs",
11+
"build": "tsc -p tsconfig.build.json --noEmit && rollup -c rollup.config.mjs",
1212
"clean": "rimraf \"lib\"",
1313
"format": "prettier --write '**/*.ts'",
1414
"lint": "eslint . --ext .ts",
1515
"prepublishOnly": "cross-env NODE_ENV=production npm run build",
16-
"watch": "npm run build -- --watch",
16+
"watch": "concurrently \"tsc -p tsconfig.build.json --noEmit --watch\" \"rollup -c rollup.config.mjs --watch\"",
1717
"test": "cross-env NODE_OPTIONS=\"$NODE_OPTIONS --experimental-vm-modules\" NODE_NO_WARNINGS=1 NODE_ENV=test jest"
1818
},
1919
"repository": {
@@ -48,10 +48,10 @@
4848
"@rollup/plugin-terser": "^0.4.4",
4949
"@types/jest": "^29.5.1",
5050
"@types/ua-parser-js": "^0.7.36",
51+
"concurrently": "^8.2.2",
5152
"jest": "^29.5.0",
5253
"jest-environment-jsdom": "^29.5.0",
5354
"rollup": "^4.21.0",
54-
"rollup-plugin-typescript2": "^0.36.0",
5555
"ts-jest": "^29.1.0",
5656
"typescript": "^5.0.4",
5757
"ua-parser-js": "^1.0.35"

packages/browser/rollup.config.mjs

+1-1
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ import json from '@rollup/plugin-json';
33
import nodeResolve from '@rollup/plugin-node-resolve';
44
import replace from '@rollup/plugin-replace';
55
import terser from '@rollup/plugin-terser';
6-
import typescript from 'rollup-plugin-typescript2';
6+
import typescript from '@rollup/plugin-typescript';
77
import packageJson from './package.json' with { type: 'json' };
88

99
const extensions = ['.js', '.ts'];

packages/browser/src/BacktraceClient.ts

+7-7
Original file line numberDiff line numberDiff line change
@@ -4,13 +4,13 @@ import {
44
DebugIdContainer,
55
VariableDebugIdMapProvider,
66
} from '@backtrace/sdk-core';
7-
import { AGENT } from './agentDefinition';
8-
import { BacktraceBrowserRequestHandler } from './BacktraceBrowserRequestHandler';
9-
import { BacktraceBrowserSessionProvider } from './BacktraceBrowserSessionProvider';
10-
import { BacktraceConfiguration } from './BacktraceConfiguration';
11-
import { BacktraceClientBuilder } from './builder/BacktraceClientBuilder';
12-
import { BacktraceClientSetup } from './builder/BacktraceClientSetup';
13-
import { getStackTraceConverter } from './converters/getStackTraceConverter';
7+
import { AGENT } from './agentDefinition.js';
8+
import { BacktraceBrowserRequestHandler } from './BacktraceBrowserRequestHandler.js';
9+
import { BacktraceBrowserSessionProvider } from './BacktraceBrowserSessionProvider.js';
10+
import { BacktraceConfiguration } from './BacktraceConfiguration.js';
11+
import { BacktraceClientBuilder } from './builder/BacktraceClientBuilder.js';
12+
import { BacktraceClientSetup } from './builder/BacktraceClientSetup.js';
13+
import { getStackTraceConverter } from './converters/getStackTraceConverter.js';
1414

1515
export class BacktraceClient<O extends BacktraceConfiguration = BacktraceConfiguration> extends BacktraceCoreClient<O> {
1616
private readonly _disposeController: AbortController = new AbortController();

packages/browser/src/agentDefinition.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import type { SdkOptions } from '@backtrace/sdk-core/lib/builder/SdkOptions';
1+
import type { SdkOptions } from '@backtrace/sdk-core';
22

33
export const AGENT: SdkOptions = {
44
langName: 'js',

packages/browser/src/attributes/ApplicationInformationAttributeProvider.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import { BacktraceAttributeProvider } from '@backtrace/sdk-core';
2-
import { BacktraceConfiguration } from '../BacktraceConfiguration';
2+
import { BacktraceConfiguration } from '../BacktraceConfiguration.js';
33

44
export class ApplicationInformationAttributeProvider implements BacktraceAttributeProvider {
55
public readonly APPLICATION_ATTRIBUTE = 'application';

packages/browser/src/builder/BacktraceClientBuilder.ts

+10-10
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,14 @@
11
import { BacktraceCoreClientBuilder } from '@backtrace/sdk-core';
2-
import { ApplicationInformationAttributeProvider } from '../attributes/ApplicationInformationAttributeProvider';
3-
import { UserAgentAttributeProvider } from '../attributes/UserAgentAttributeProvider';
4-
import { UserIdentifierAttributeProvider } from '../attributes/UserIdentifierAttributeProvider';
5-
import { WebsiteAttributeProvider } from '../attributes/WebsiteAttributeProvider';
6-
import { WindowAttributeProvider } from '../attributes/WindowAttributeProvider';
7-
import { BacktraceClient } from '../BacktraceClient';
8-
import { DocumentEventSubscriber } from '../breadcrumbs/DocumentEventSubscriber';
9-
import { HistoryEventSubscriber } from '../breadcrumbs/HistoryEventSubscriber';
10-
import { WebRequestEventSubscriber } from '../breadcrumbs/WebRequestEventSubscriber';
11-
import { BacktraceClientSetup } from './BacktraceClientSetup';
2+
import { ApplicationInformationAttributeProvider } from '../attributes/ApplicationInformationAttributeProvider.js';
3+
import { UserAgentAttributeProvider } from '../attributes/UserAgentAttributeProvider.js';
4+
import { UserIdentifierAttributeProvider } from '../attributes/UserIdentifierAttributeProvider.js';
5+
import { WebsiteAttributeProvider } from '../attributes/WebsiteAttributeProvider.js';
6+
import { WindowAttributeProvider } from '../attributes/WindowAttributeProvider.js';
7+
import { BacktraceClient } from '../BacktraceClient.js';
8+
import { DocumentEventSubscriber } from '../breadcrumbs/DocumentEventSubscriber.js';
9+
import { HistoryEventSubscriber } from '../breadcrumbs/HistoryEventSubscriber.js';
10+
import { WebRequestEventSubscriber } from '../breadcrumbs/WebRequestEventSubscriber.js';
11+
import { BacktraceClientSetup } from './BacktraceClientSetup.js';
1212

1313
export class BacktraceClientBuilder extends BacktraceCoreClientBuilder<BacktraceClientSetup> {
1414
constructor(clientSetup: BacktraceClientSetup) {
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import { PartialCoreClientSetup } from '@backtrace/sdk-core';
2-
import { BacktraceConfiguration } from '../BacktraceConfiguration';
2+
import { BacktraceConfiguration } from '../BacktraceConfiguration.js';
33

44
export interface BacktraceClientSetup<O extends BacktraceConfiguration = BacktraceConfiguration>
55
extends PartialCoreClientSetup<'sdkOptions' | 'requestHandler', O> {}

packages/browser/src/converters/JavaScriptCoreStackTraceConverter.ts

+7-3
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,10 @@
1-
import { ANONYMOUS_FUNCTION, BacktraceStackTraceConverter, UNKNOWN_FRAME } from '@backtrace/sdk-core';
2-
import { BacktraceStackFrame } from '@backtrace/sdk-core/lib/model/data/BacktraceStackTrace';
3-
import { JavaScriptEngine } from '@backtrace/sdk-core/lib/model/data/JavaScriptEngine';
1+
import {
2+
ANONYMOUS_FUNCTION,
3+
BacktraceStackFrame,
4+
BacktraceStackTraceConverter,
5+
JavaScriptEngine,
6+
UNKNOWN_FRAME,
7+
} from '@backtrace/sdk-core';
48

59
export class JavaScriptCoreStackTraceConverter implements BacktraceStackTraceConverter {
610
get engine(): JavaScriptEngine {

packages/browser/src/converters/SpiderMonkeyStackTraceConverter.ts

+7-3
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,10 @@
1-
import { ANONYMOUS_FUNCTION, BacktraceStackTraceConverter, UNKNOWN_FRAME } from '@backtrace/sdk-core';
2-
import { BacktraceStackFrame } from '@backtrace/sdk-core/lib/model/data/BacktraceStackTrace';
3-
import { JavaScriptEngine } from '@backtrace/sdk-core/lib/model/data/JavaScriptEngine';
1+
import {
2+
ANONYMOUS_FUNCTION,
3+
BacktraceStackFrame,
4+
BacktraceStackTraceConverter,
5+
JavaScriptEngine,
6+
UNKNOWN_FRAME,
7+
} from '@backtrace/sdk-core';
48

59
export class SpiderMonkeyStackTraceConverter implements BacktraceStackTraceConverter {
610
private readonly ANONYMOUS_FUNCTIONS = ['()', '(null)', ''];

packages/browser/src/converters/getStackTraceConverter.ts

+3-3
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import { BacktraceStackTraceConverter, V8StackTraceConverter } from '@backtrace/sdk-core';
2-
import { getEngine } from '../engineDetector';
3-
import { JavaScriptCoreStackTraceConverter } from './JavaScriptCoreStackTraceConverter';
4-
import { SpiderMonkeyStackTraceConverter } from './SpiderMonkeyStackTraceConverter';
2+
import { getEngine } from '../engineDetector.js';
3+
import { JavaScriptCoreStackTraceConverter } from './JavaScriptCoreStackTraceConverter.js';
4+
import { SpiderMonkeyStackTraceConverter } from './SpiderMonkeyStackTraceConverter.js';
55

66
export function getStackTraceConverter(): BacktraceStackTraceConverter {
77
switch (getEngine()) {

packages/browser/src/engineDetector.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { JavaScriptEngine } from '@backtrace/sdk-core/lib/model/data/JavaScriptEngine';
1+
import { JavaScriptEngine } from '@backtrace/sdk-core';
22

33
export function getEngine(): JavaScriptEngine {
44
if (!navigator.userAgent) {

packages/browser/src/index.ts

+9-9
Original file line numberDiff line numberDiff line change
@@ -10,19 +10,19 @@ export {
1010
BacktraceStringAttachment,
1111
BacktraceUint8ArrayAttachment,
1212
BreadcrumbLogLevel,
13+
BreadcrumbType,
1314
BreadcrumbsEventSubscriber,
1415
BreadcrumbsManager,
15-
BreadcrumbType,
1616
JavaScriptEngine,
1717
RawBreadcrumb,
1818
SingleSessionProvider,
1919
V8StackTraceConverter,
2020
} from '@backtrace/sdk-core';
21-
export * from './agentDefinition';
22-
export * from './BacktraceBrowserRequestHandler';
23-
export * from './BacktraceClient';
24-
export * from './BacktraceConfiguration';
25-
export * from './builder/BacktraceClientBuilder';
26-
export * from './builder/BacktraceClientSetup';
27-
export * from './converters/getStackTraceConverter';
28-
export * from './redux/BacktraceReduxMiddleware';
21+
export * from './agentDefinition.js';
22+
export * from './BacktraceBrowserRequestHandler.js';
23+
export * from './BacktraceClient.js';
24+
export * from './BacktraceConfiguration.js';
25+
export * from './builder/BacktraceClientBuilder.js';
26+
export * from './builder/BacktraceClientSetup.js';
27+
export * from './converters/getStackTraceConverter.js';
28+
export * from './redux/BacktraceReduxMiddleware.js';

packages/browser/src/redux/BacktraceReduxMiddleware.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import { jsonEscaper } from '@backtrace/sdk-core';
22
import type { Action, Middleware } from 'redux';
3-
import { BacktraceClient } from '../BacktraceClient';
3+
import { BacktraceClient } from '../BacktraceClient.js';
44

55
export interface BacktraceReduxMiddlewareOptions {
66
/**

packages/browser/tests/attributes/userIdAttributeProviderTests.spec.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { UserIdentifierAttributeProvider } from '../../src/attributes/UserIdentifierAttributeProvider';
1+
import { UserIdentifierAttributeProvider } from '../../src/attributes/UserIdentifierAttributeProvider.js';
22
describe('User id attribute provider test', () => {
33
it(`Should always set user id attribute`, () => {
44
const userIdentifier = new UserIdentifierAttributeProvider();

packages/browser/tests/client/clientTests.spec.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ import {
44
BacktraceRequestHandler,
55
BacktraceUint8ArrayAttachment,
66
} from '@backtrace/sdk-core';
7-
import { BacktraceClient } from '../../src/';
7+
import { BacktraceClient } from '../../src/index.js';
88

99
describe('Client tests', () => {
1010
const requestHandler: BacktraceRequestHandler = {

packages/browser/tests/converters/javascriptCore/javaScriptCoreStackTraceConverterTests.spec.ts

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
import { JavaScriptCoreStackTraceConverter } from '../../../src/converters/JavaScriptCoreStackTraceConverter';
2-
import { javaScriptCoreStackTraceTests } from './javaScriptCoreStackTraceTestCases';
1+
import { JavaScriptCoreStackTraceConverter } from '../../../src/converters/JavaScriptCoreStackTraceConverter.js';
2+
import { javaScriptCoreStackTraceTests } from './javaScriptCoreStackTraceTestCases.js';
33

44
describe('Stack trace converter tests', () => {
55
describe('JavaScriptCore', () => {

packages/browser/tests/converters/spiderMonkey/spiderMonkeyStackTraceConverterTests.spec.ts

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
import { SpiderMonkeyStackTraceConverter } from '../../../src/converters/SpiderMonkeyStackTraceConverter';
2-
import { spiderMonkeyStackTraceTests } from './spiderMonkeyStackTraceTestCases';
1+
import { SpiderMonkeyStackTraceConverter } from '../../../src/converters/SpiderMonkeyStackTraceConverter.js';
2+
import { spiderMonkeyStackTraceTests } from './spiderMonkeyStackTraceTestCases.js';
33

44
describe('Stack trace converter tests', () => {
55
describe('Spider monkey', () => {

packages/browser/tests/metrics/persistentSessionProviderTests.spec.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import { TimeHelper } from '@backtrace/sdk-core';
2-
import { BacktraceBrowserSessionProvider } from '../../src/BacktraceBrowserSessionProvider';
2+
import { BacktraceBrowserSessionProvider } from '../../src/BacktraceBrowserSessionProvider.js';
33
describe('Session provider tests', () => {
44
it('Should generate a new uuid on new session', () => {
55
const sessionProvider = new BacktraceBrowserSessionProvider();

packages/browser/tests/redux/backtraceReduxMiddlewareTests.spec.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import { BacktraceBreadcrumbs } from '@backtrace/sdk-core';
22
import reduxToolkit, { Action, Middleware, PayloadAction } from '@reduxjs/toolkit';
3-
import { BacktraceClient } from '../../src/BacktraceClient';
3+
import { BacktraceClient } from '../../src/BacktraceClient.js';
44
import {
55
BacktraceReduxMiddlewareOptions,
66
createBacktraceReduxMiddleware,

packages/browser/tsconfig.build.json

+3-1
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,8 @@
33
"exclude": ["node_modules", "tests", "lib"],
44
"compilerOptions": {
55
"rootDir": "./src",
6-
"outDir": "./lib"
6+
"outDir": "./lib",
7+
"module": "NodeNext",
8+
"moduleResolution": "NodeNext"
79
}
810
}

packages/browser/tsconfig.json

+2-3
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,8 @@
22
"extends": "../../tsconfig.base.json",
33
"compilerOptions": {
44
"target": "ES2015",
5-
"module": "ESNext",
6-
"moduleResolution": "Bundler",
7-
"composite": true
5+
"module": "NodeNext",
6+
"moduleResolution": "NodeNext"
87
},
98
"include": ["src", "tests"],
109
"exclude": ["node_modules", "lib"]

packages/electron/package.json

+11-7
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,9 @@
22
"name": "@backtrace/electron",
33
"version": "0.4.0",
44
"description": "Backtrace-JavaScript Electron integration",
5-
"main": "main/index.cjs",
6-
"module": "main/index.mjs",
7-
"types": "main/index.d.ts",
5+
"main": "./main/index.cjs",
6+
"module": "./main/index.mjs",
7+
"types": "./main/index.d.ts",
88
"type": "module",
99
"exports": {
1010
"./package.json": "./package.json",
@@ -60,12 +60,12 @@
6060
}
6161
},
6262
"scripts": {
63-
"build": "rollup -c rollup.config.mjs",
64-
"clean": "rimraf common main renderer",
63+
"build": "tsc -p tsconfig.main.json --noEmit && tsc -p tsconfig.renderer.json --noEmit && rollup -c rollup.config.mjs",
64+
"clean": "rimraf main renderer common",
6565
"format": "prettier --write '**/*.ts'",
6666
"lint": "eslint src --ext .ts",
6767
"prepublishOnly": "cross-env NODE_ENV=production npm run build",
68-
"watch": "npm run build -- --watch"
68+
"watch": "concurrently \"tsc -p tsconfig.main.json --noEmit --watch\" \"tsc -p tsconfig.renderer.json --noEmit --watch\" \"rollup -c rollup.config.mjs --watch\""
6969
},
7070
"keywords": [
7171
"Error",
@@ -99,8 +99,12 @@
9999
"@rollup/plugin-json": "^6.1.0",
100100
"@rollup/plugin-node-resolve": "^15.2.3",
101101
"@rollup/plugin-replace": "^5.0.7",
102+
"@rollup/plugin-typescript": "^11.1.6",
103+
"@types/fs-extra": "^11.0.4",
104+
"concurrently": "^8.2.2",
105+
"fs-extra": "^11.2.0",
106+
"glob": "^11.0.0",
102107
"rollup": "^4.21.0",
103-
"rollup-plugin-typescript2": "^0.36.0",
104108
"typescript": "^5.0.4"
105109
}
106110
}

0 commit comments

Comments
 (0)