Skip to content
Merged
Show file tree
Hide file tree
Changes from 4 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/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
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