Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions LICENSE-3rdparty.csv
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,7 @@ dev,emoji-name-map,MIT,Copyright 2016-19 Ionică Bizău <bizauionica@gmail.com>
dev,eslint,MIT,Copyright JS Foundation and other contributors
dev,eslint-module-utils,MIT,Copyright (c) 2015 Ben Mosher
dev,eslint-plugin-import,MIT,Copyright (c) 2015 Ben Mosher
dev,eslint-import-resolver-typescript,ISC,Copyright 2021 Alex Gorbatchev <alex.gorbatchev@gmail.com>
dev,eslint-plugin-jasmine,MIT,Copyright (c) 2021 Tom Vincent
dev,eslint-plugin-jsdoc,BSD-3-Clause,Copyright (c) 2018, Gajus Kuizinas (http://gajus.com/)
dev,eslint-plugin-unicorn,MIT,Copyright (c) Sindre Sorhus <sindresorhus@gmail.com> (https://sindresorhus.com)
Expand Down
18 changes: 8 additions & 10 deletions developer-extension/src/content-scripts/main.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3,12 +3,10 @@ import { EventListeners } from '../common/eventListeners'
import { DEV_LOGS_URL, DEV_RUM_SLIM_URL, DEV_RUM_URL } from '../common/packagesUrlConstants'
import { SESSION_STORAGE_SETTINGS_KEY } from '../common/sessionKeyConstant'

declare global {
interface Window extends EventTarget {
DD_RUM?: SdkPublicApi
DD_LOGS?: SdkPublicApi
__ddBrowserSdkExtensionCallback?: (message: unknown) => void
}
const windowWithSdkGlobals = window as Window & {
DD_RUM?: SdkPublicApi
DD_LOGS?: SdkPublicApi
__ddBrowserSdkExtensionCallback?: (message: unknown) => void
}

interface SdkPublicApi {
Expand All @@ -17,7 +15,7 @@ interface SdkPublicApi {

export function main() {
// Prevent multiple executions when the devetools are reconnecting
if (window.__ddBrowserSdkExtensionCallback) {
if (windowWithSdkGlobals.__ddBrowserSdkExtensionCallback) {
return
}

Expand Down Expand Up @@ -57,7 +55,7 @@ export function main() {
function sendEventsToExtension() {
// This script is executed in the "main" execution world, the same world as the webpage. Thus, it
// can define a global callback variable to listen to SDK events.
window.__ddBrowserSdkExtensionCallback = (message: unknown) => {
windowWithSdkGlobals.__ddBrowserSdkExtensionCallback = (message: unknown) => {
// Relays any message to the "isolated" content-script via a custom event.
window.dispatchEvent(
new CustomEvent('__ddBrowserSdkMessage', {
Expand All @@ -80,7 +78,7 @@ function getSettings() {
}

function noBrowserSdkLoaded() {
return !window.DD_RUM && !window.DD_LOGS
return !windowWithSdkGlobals.DD_RUM && !windowWithSdkGlobals.DD_LOGS
}

function injectDevBundle(url: string, global: GlobalInstrumentation) {
Expand Down Expand Up @@ -169,7 +167,7 @@ function instrumentGlobal(global: 'DD_RUM' | 'DD_LOGS') {
})

return {
get: () => window[global],
get: () => windowWithSdkGlobals[global],
onSet: (callback: (sdkInstance: SdkPublicApi) => void) => {
eventListeners.subscribe(callback)
},
Expand Down
1 change: 0 additions & 1 deletion developer-extension/src/entrypoints/background.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@
// eslint-disable-next-line import/no-unresolved
import { defineBackground } from 'wxt/utils/define-background'

// eslint-disable-next-line import/no-default-export
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@
// eslint-disable-next-line import/no-unresolved
import { defineContentScript } from 'wxt/utils/define-content-script'
import { main } from '../content-scripts/isolated'

Expand Down
1 change: 0 additions & 1 deletion developer-extension/src/entrypoints/contentScriptMain.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@
// eslint-disable-next-line import/no-unresolved
import { defineContentScript } from 'wxt/utils/define-content-script'
import { main } from '../content-scripts/main'

Expand Down
25 changes: 16 additions & 9 deletions eslint.config.mjs
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
// @ts-check .ts config files are still experimental: https://github.com/eslint/eslint/discussions/17726

import eslint from '@eslint/js'
import tseslint from 'typescript-eslint'
import * as tseslint from 'typescript-eslint'
import importPlugin from 'eslint-plugin-import'
import unicornPlugin from 'eslint-plugin-unicorn'
import jsdocPlugin from 'eslint-plugin-jsdoc'
Expand Down Expand Up @@ -46,6 +46,12 @@ export default tseslint.config(
jasmine,
},

settings: {
'import/resolver': {
typescript: true,
},
},

languageOptions: {
parserOptions: {
project: [
Expand Down Expand Up @@ -218,21 +224,22 @@ export default tseslint.config(
{
commonjs: true,
ignore: [
// typescript-eslint and chrome-webstore-upload packages have no 'main' field, only 'exports', but
// eslint-plugin-import doesn't support it. See:
// * https://github.com/import-js/eslint-plugin-import/issues/3088#issuecomment-2425233952
// * https://github.com/browserify/resolve/issues/222
'typescript-eslint',
'chrome-webstore-upload',

// The json-schema-to-typescript is built on demand (see scripts/cli build_json2type)
// and is not always available in the node_modules. Skip the import check.
'json-schema-to-typescript',
],
},
],
'import/no-useless-path-segments': 'error',
'import/order': 'error',
'import/order': [
'error',
{
// This is the default order plus 'internal', which is imports like
// @datadog/browser-core/test (references a file/folder within a local package)
// https://github.com/import-js/eslint-plugin-import/blob/main/docs/rules/order.md#groups
groups: ['builtin', 'external', 'internal', 'parent', 'sibling', 'index'],
},
],

'jasmine/no-focused-tests': 'error',
'jsdoc/check-alignment': 'error',
Expand Down
1 change: 1 addition & 0 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -63,6 +63,7 @@
"cors": "2.8.5",
"emoji-name-map": "2.0.3",
"eslint": "9.39.1",
"eslint-import-resolver-typescript": "4.4.4",
"eslint-module-utils": "2.12.1",
"eslint-plugin-import": "2.32.0",
"eslint-plugin-jasmine": "4.2.2",
Expand Down
2 changes: 1 addition & 1 deletion packages/rum-core/test/mockRumConfiguration.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import type { RumConfiguration } from '@datadog/browser-rum-core'
import { SPEC_ENDPOINTS } from '@datadog/browser-core/test'
import type { RumConfiguration } from '@datadog/browser-rum-core'
import { validateAndBuildRumConfiguration } from '../src/domain/configuration'

export function mockRumConfiguration(partialConfig: Partial<RumConfiguration> = {}): RumConfiguration {
Expand Down
2 changes: 1 addition & 1 deletion packages/rum-core/test/noopProfilerApi.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import type { ProfilerApi } from '@datadog/browser-rum-core'
import { noop } from '@datadog/browser-core'
import type { ProfilerApi } from '@datadog/browser-rum-core'

export const noopProfilerApi: ProfilerApi = {
stop: noop,
Expand Down
2 changes: 1 addition & 1 deletion packages/rum-core/test/noopRecorderApi.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import type { RecorderApi } from '@datadog/browser-rum-core'
import { noop } from '@datadog/browser-core'
import type { RecorderApi } from '@datadog/browser-rum-core'

export const noopRecorderApi: RecorderApi = {
start: noop,
Expand Down
2 changes: 1 addition & 1 deletion test/e2e/lib/helpers/configuration.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { DefaultPrivacyLevel } from '@datadog/browser-rum'
import { DefaultPrivacyLevel } from '@datadog/browser-core'

export const APPLICATION_ID = '37fe52bf-b3d5-4ac7-ad9b-44882d479ec8'
export const CLIENT_TOKEN = 'pubf2099de38f9c85797d20d64c7d632a69'
Expand Down
2 changes: 1 addition & 1 deletion test/e2e/scenario/logs.scenario.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { DEFAULT_REQUEST_ERROR_RESPONSE_LENGTH_LIMIT } from '@datadog/browser-logs/cjs/domain/configuration'
import { DEFAULT_REQUEST_ERROR_RESPONSE_LENGTH_LIMIT } from '@datadog/browser-logs/src/domain/configuration'
import { test, expect } from '@playwright/test'
import { createTest } from '../lib/framework'
import { APPLICATION_ID } from '../lib/helpers/configuration'
Expand Down
5 changes: 2 additions & 3 deletions test/e2e/scenario/recorder/recorder.scenario.ts
Original file line number Diff line number Diff line change
@@ -1,9 +1,8 @@
import type { InputData, StyleSheetRuleData, ScrollData } from '@datadog/browser-rum/src/types'
import { NodeType, IncrementalSource, MouseInteractionType } from '@datadog/browser-rum/src/types'

// Import from src to have properties of const enums
import { FrustrationType } from '@datadog/browser-rum-core/src/rawRumEvent.types'
import { DefaultPrivacyLevel } from '@datadog/browser-rum'
import { FrustrationType } from '@datadog/browser-rum-core'
import { DefaultPrivacyLevel } from '@datadog/browser-core'

import {
findElement,
Expand Down
4 changes: 2 additions & 2 deletions test/e2e/scenario/recorder/viewports.scenario.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import type { ViewportResizeData, ScrollData } from '@datadog/browser-rum/cjs/types'
import { IncrementalSource } from '@datadog/browser-rum/cjs/types'
import type { ViewportResizeData, ScrollData } from '@datadog/browser-rum/src/types'
import { IncrementalSource } from '@datadog/browser-rum/src/types'

import { findAllIncrementalSnapshots, findAllVisualViewports } from '@datadog/browser-rum/test/segments'
import type { Page } from '@playwright/test'
Expand Down
3 changes: 2 additions & 1 deletion test/e2e/tsconfig.json
Original file line number Diff line number Diff line change
@@ -1,13 +1,14 @@
{
"extends": "../../tsconfig.base.json",
"compilerOptions": {
"baseUrl": ".",
"strict": true,
"skipLibCheck": true,
"experimentalDecorators": true,
"esModuleInterop": true,
"moduleResolution": "node",
"resolveJsonModule": true,
"target": "ES2022",
"lib": ["ES2022", "DOM"],
"module": "preserve",
"types": ["node", "ajv"],
"allowJs": true,
Expand Down
15 changes: 14 additions & 1 deletion tsconfig.base.json
Original file line number Diff line number Diff line change
Expand Up @@ -18,11 +18,24 @@

"paths": {
"@datadog/browser-core": ["./packages/core/src"],

"@datadog/browser-flagging": ["./packages/flagging/src/entries/main"],

"@datadog/browser-logs": ["./packages/logs/src/entries/main"],

"@datadog/browser-rum-core": ["./packages/rum-core/src"],

"@datadog/browser-rum": ["./packages/rum/src/entries/main"],
"@datadog/browser-rum/internal": ["./packages/rum/src/entries/internal"],
"@datadog/browser-rum/internal-synthetics": ["./packages/rum/src/entries/internalSynthetics"],

"@datadog/browser-rum-slim": ["./packages/rum-slim/src/entries/main"],

"@datadog/browser-rum-react": ["./packages/rum-react/src/entries/main"],
"@datadog/browser-rum-react/react-router-v6": ["./packages/rum-react/src/entries/reactRouterV6"],
"@datadog/browser-rum-react/react-router-v7": ["./packages/rum-react/src/entries/reactRouterV7"],
"@datadog/browser-flagging": ["./packages/flagging/src/entries/main"]

"@datadog/browser-worker": ["./packages/worker/src/entries/main"]
}
}
}
Loading