Skip to content

Commit 4935c49

Browse files
Use regular rum package for salesforce
1 parent e6a9854 commit 4935c49

16 files changed

Lines changed: 46 additions & 332 deletions

docs/ARCHITECTURE.md

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,6 @@ graph TD
1111
core["@datadog/browser-core\n(shared utilities)"]
1212
rum-core["@datadog/browser-rum-core\n(core RUM)"]
1313
rum["@datadog/browser-rum\n(full RUM)"]
14-
salesforce["@datadog/browser-rum-salesforce\n(Salesforce RUM)"]
1514
rum-slim["@datadog/browser-rum-slim\n(lightweight RUM)"]
1615
rum-react["@datadog/browser-rum-react\n(React integration)"]
1716
logs["@datadog/browser-logs"]
@@ -20,7 +19,6 @@ graph TD
2019
core --> rum-core
2120
core --> logs
2221
rum-core --> rum
23-
rum --> salesforce
2422
rum-core --> rum-slim
2523
rum --> rum-react
2624
```

eslint-local-rules/disallowSideEffects.js

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,6 @@ const packagesRoot = path.resolve(import.meta.dirname, '..', 'packages')
2828
const pathsWithSideEffect = new Set([
2929
`${packagesRoot}/logs/src/entries/main.ts`,
3030
`${packagesRoot}/rum/src/entries/main.ts`,
31-
`${packagesRoot}/salesforce/src/entries/main.ts`,
3231
`${packagesRoot}/rum-slim/src/entries/main.ts`,
3332
])
3433

eslint.config.mjs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -433,7 +433,7 @@ export default tseslint.config(
433433
},
434434

435435
{
436-
files: ['packages/{rum,logs,rum-slim,salesforce}/src/entries/*.ts'],
436+
files: ['packages/{rum,logs,rum-slim}/src/entries/*.ts'],
437437
rules: {
438438
'local-rules/disallow-enum-exports': 'error',
439439
},

packages/rum/package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818
"scripts": {
1919
"build": "node ../../scripts/build/build-package.ts --modules --bundle datadog-rum.js",
2020
"build:bundle": "node ../../scripts/build/build-package.ts --bundle datadog-rum.js",
21+
"build:salesforce": "node ../../scripts/build/build-package.ts --bundle datadog-rum-salesforce.js --entry ./src/entries/salesforce.ts",
2122
"prepack": "yarn build"
2223
},
2324
"dependencies": {

packages/salesforce/src/boot/salesforceInitConfiguration.spec.ts renamed to packages/rum/src/domain/salesforce/initConfiguration.spec.ts

Lines changed: 13 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,30 +1,29 @@
11
import type { RumInitConfiguration } from '@datadog/browser-rum-core'
2-
import { buildSalesforceInitConfiguration } from './salesforceInitConfiguration'
2+
import { buildSalesforceInitConfiguration } from './initConfiguration'
33

44
describe('salesforce init configuration', () => {
5-
it('forces the salesforce bundle into manual view tracking mode', () => {
5+
it('forces manual view tracking', () => {
66
const initConfiguration = buildSalesforceInitConfiguration({
77
applicationId: 'app-id',
88
clientToken: 'client-token',
99
trackViewsManually: false,
10-
trackResources: true,
11-
trackUserInteractions: true,
12-
trackLongTasks: true,
1310
} as RumInitConfiguration)
1411

1512
expect(initConfiguration.trackViewsManually).toBeTrue()
16-
expect(initConfiguration.trackResources).toBeFalse()
17-
expect(initConfiguration.trackUserInteractions).toBeFalse()
18-
expect(initConfiguration.trackLongTasks).toBeFalse()
1913
})
2014

21-
it('preserves customer configuration unrelated to the salesforce view-tracking policy', () => {
15+
it('preserves customer configuration unrelated to view tracking mode', () => {
2216
const initConfiguration = buildSalesforceInitConfiguration({
2317
applicationId: 'app-id',
2418
clientToken: 'client-token',
2519
service: 'browser-sdk-sandbox',
2620
env: 'dev',
2721
site: 'datadoghq.com',
22+
trackResources: false,
23+
trackUserInteractions: false,
24+
trackLongTasks: false,
25+
sessionReplaySampleRate: 0,
26+
profilingSampleRate: 0,
2827
} as RumInitConfiguration)
2928

3029
expect(initConfiguration).toEqual(
@@ -34,6 +33,11 @@ describe('salesforce init configuration', () => {
3433
service: 'browser-sdk-sandbox',
3534
env: 'dev',
3635
site: 'datadoghq.com',
36+
trackResources: false,
37+
trackUserInteractions: false,
38+
trackLongTasks: false,
39+
sessionReplaySampleRate: 0,
40+
profilingSampleRate: 0,
3741
})
3842
)
3943
})
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
import type { RumInitConfiguration } from '@datadog/browser-rum-core'
2+
3+
const SALESFORCE_INIT_DEFAULTS: Pick<RumInitConfiguration, 'trackViewsManually'> = {
4+
trackViewsManually: true,
5+
}
6+
7+
export function buildSalesforceInitConfiguration(initConfiguration: RumInitConfiguration): RumInitConfiguration {
8+
return {
9+
...initConfiguration,
10+
...SALESFORCE_INIT_DEFAULTS,
11+
}
12+
}

packages/salesforce/src/domain/salesforceViewTracker.spec.ts renamed to packages/rum/src/domain/salesforce/viewTracker.spec.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import type { Clock } from '@datadog/browser-core/test'
22
import { mockClock } from '@datadog/browser-core/test'
3-
import { startSalesforceViewTracking } from './salesforceViewTracker'
3+
import { startSalesforceViewTracking } from './viewTracker'
44

55
describe('salesforce view tracker', () => {
66
let clock: Clock
File renamed without changes.
Lines changed: 17 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,11 @@
11
import { defineGlobal, getGlobalObject } from '@datadog/browser-core'
2-
import { datadogRum as baseDatadogRum } from '@datadog/browser-rum'
32
import type { RumInitConfiguration, RumPublicApi } from '@datadog/browser-rum-core'
4-
import { buildSalesforceInitConfiguration } from '../boot/salesforceInitConfiguration'
5-
import { startSalesforceViewTracking } from '../domain/salesforceViewTracker'
3+
import { makeRumPublicApi } from '@datadog/browser-rum-core'
4+
import { makeProfilerApi } from '../boot/profilerApi'
5+
import { makeRecorderApi } from '../boot/recorderApi'
6+
import { createDeflateEncoder, startDeflateWorker } from '../domain/deflate'
7+
import { buildSalesforceInitConfiguration } from '../domain/salesforce/initConfiguration'
8+
import { startSalesforceViewTracking } from '../domain/salesforce/viewTracker'
69

710
export type {
811
User,
@@ -40,8 +43,6 @@ export type {
4043
PropagatorType,
4144
FeatureFlagsForEvents,
4245
MatchHeader,
43-
44-
// Events
4546
CommonProperties,
4647
RumEvent,
4748
RumActionEvent,
@@ -50,8 +51,6 @@ export type {
5051
RumResourceEvent,
5152
RumViewEvent,
5253
RumVitalEvent,
53-
54-
// Events context
5554
RumEventDomainContext,
5655
RumViewEventDomainContext,
5756
RumErrorEventDomainContext,
@@ -67,14 +66,17 @@ export { DEFAULT_TRACKED_RESOURCE_HEADERS } from '@datadog/browser-rum-core'
6766

6867
const salesforceGlobal = getGlobalObject<BrowserWindow>()
6968

70-
/**
71-
* The global RUM instance. Use this to call RUM methods.
72-
*
73-
* @category Main
74-
* @see {@link DatadogRum}
75-
* @see [RUM Browser Monitoring Setup](https://docs.datadoghq.com/real_user_monitoring/browser/)
76-
*/
77-
export const datadogRum = createSalesforceDatadogRum(baseDatadogRum)
69+
const recorderApi = makeRecorderApi()
70+
71+
const profilerApi = makeProfilerApi()
72+
73+
export const datadogRum = createSalesforceDatadogRum(
74+
makeRumPublicApi(recorderApi, profilerApi, {
75+
startDeflateWorker,
76+
createDeflateEncoder,
77+
sdkName: 'rum',
78+
})
79+
)
7880

7981
interface BrowserWindow extends Window {
8082
DD_RUM?: RumPublicApi

packages/salesforce/LICENSE

Lines changed: 0 additions & 201 deletions
This file was deleted.

0 commit comments

Comments
 (0)