Skip to content

Commit

Permalink
Integrity run
Browse files Browse the repository at this point in the history
  • Loading branch information
yoannmoinet committed Feb 11, 2025
1 parent aa04025 commit f158564
Show file tree
Hide file tree
Showing 9 changed files with 106 additions and 0 deletions.
3 changes: 3 additions & 0 deletions LICENSES-3rdparty.csv
Original file line number Diff line number Diff line change
Expand Up @@ -115,6 +115,9 @@ Component,Origin,Licence,Copyright
@babel/types,npm,MIT,The Babel Team (https://babel.dev/docs/en/next/babel-types)
@bcoe/v8-coverage,npm,MIT,Charles Samborski (https://demurgos.github.io/v8-coverage)
@cspotcode/source-map-support,npm,MIT,(https://www.npmjs.com/package/@cspotcode/source-map-support)
@datadog/browser-core,npm,Apache-2.0,(https://www.npmjs.com/package/@datadog/browser-core)
@datadog/browser-rum,virtual,Apache-2.0,(https://www.npmjs.com/package/@datadog/browser-rum)
@datadog/browser-rum-core,npm,Apache-2.0,(https://www.npmjs.com/package/@datadog/browser-rum-core)
@esbuild/darwin-arm64,npm,MIT,(https://www.npmjs.com/package/@esbuild/darwin-arm64)
@esbuild/linux-x64,npm,MIT,(https://www.npmjs.com/package/@esbuild/linux-x64)
@eslint-community/eslint-utils,virtual,MIT,Toru Nagashima (https://github.com/eslint-community/eslint-utils#readme)
Expand Down
82 changes: 82 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,7 @@ To interact with Datadog directly from your builds.
- [`customPlugins`](#customplugins)
- [Features](#features)
- [Error Tracking](#error-tracking-----)
- [Rum](#rum-----)
- [Telemetry](#telemetry-----)
- [Contributing](#contributing)
- [License](#license)
Expand Down Expand Up @@ -101,6 +102,38 @@ Follow the specific documentation for each bundler:
service: string;
};
};
rum?: {
disabled?: boolean;
sdk?: {
actionNameAttribute?: string;
allowedTracingUrls?: string[];
allowUntrustedEvents?: boolean;
applicationId: string;
clientToken?: string;
compressIntakeRequests?: boolean;
defaultPrivacyLevel?: 'mask' | 'mask-user-input' | 'allow';
enablePrivacyForActionName?: boolean;
env?: string;
excludedActivityUrls?: string[];
proxy?: string;
service?: string;
sessionReplaySampleRate?: number;
sessionSampleRate?: number;
silentMultipleInit?: boolean;
site?: string;
startSessionReplayRecordingManually?: boolean;
storeContextsAcrossPages?: boolean;
telemetrySampleRate?: number;
traceSampleRate?: number;
trackingConsent?: 'granted' | 'not_granted';
trackLongTasks?: boolean;
trackResources?: boolean;
trackUserInteractions?: boolean;
trackViewsManually?: boolean;
version?: string;
workerUrl?: string;
};
};
telemetry?: {
disabled?: boolean;
enableTracing?: boolean;
Expand Down Expand Up @@ -276,6 +309,55 @@ datadogWebpackPlugin({

</details>

### Rum <img src="packages/assets/src/esbuild.svg" alt="ESBuild" width="17" /> <img src="packages/assets/src/rollup.svg" alt="Rollup" width="17" /> <img src="packages/assets/src/rspack.svg" alt="Rspack" width="17" /> <img src="packages/assets/src/vite.svg" alt="Vite" width="17" /> <img src="packages/assets/src/webpack.svg" alt="Webpack" width="17" />

> Interact with Real User Monitoring (RUM) directly from your build system.
#### [📝 Full documentation ➡️](/packages/plugins/rum#readme)

<details>

<summary>Configuration</summary>

```typescript
datadogWebpackPlugin({
rum?: {
disabled?: boolean,
sdk?: {
actionNameAttribute?: string,
allowedTracingUrls?: string[],
allowUntrustedEvents?: boolean,
applicationId: string,
clientToken?: string,
compressIntakeRequests?: boolean,
defaultPrivacyLevel?: 'mask' | 'mask-user-input' | 'allow',
enablePrivacyForActionName?: boolean,
env?: string,
excludedActivityUrls?: string[],
proxy?: string,
service?: string,
sessionReplaySampleRate?: number,
sessionSampleRate?: number,
silentMultipleInit?: boolean,
site?: string,
startSessionReplayRecordingManually?: boolean,
storeContextsAcrossPages?: boolean,
telemetrySampleRate?: number,
traceSampleRate?: number,
trackingConsent?: 'granted' | 'not_granted',
trackLongTasks?: boolean,
trackResources?: boolean,
trackUserInteractions?: boolean,
trackViewsManually?: boolean,
version?: string,
workerUrl?: string,
},
}
});
```

</details>

### Telemetry <img src="packages/assets/src/esbuild.svg" alt="ESBuild" width="17" /> <img src="packages/assets/src/rollup.svg" alt="Rollup" width="17" /> <img src="packages/assets/src/rspack.svg" alt="Rspack" width="17" /> <img src="packages/assets/src/vite.svg" alt="Vite" width="17" /> <img src="packages/assets/src/webpack.svg" alt="Webpack" width="17" />

> Display and send telemetry data as metrics to Datadog.
Expand Down
3 changes: 3 additions & 0 deletions packages/core/src/types.ts
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,8 @@ import type { TrackedFilesMatcher } from '@dd/internal-git-plugin/trackedFilesMa
// #imports-injection-marker
import type { ErrorTrackingOptions } from '@dd/error-tracking-plugin/types';
import type * as errorTracking from '@dd/error-tracking-plugin';
import type { RumOptions } from '@dd/rum-plugin/types';
import type * as rum from '@dd/rum-plugin';
import type { TelemetryOptions } from '@dd/telemetry-plugin/types';
import type * as telemetry from '@dd/telemetry-plugin';
// #imports-injection-marker
Expand Down Expand Up @@ -147,6 +149,7 @@ export interface Options extends BaseOptions {
// Each product should have a unique entry.
// #types-injection-marker
[errorTracking.CONFIG_KEY]?: ErrorTrackingOptions;
[rum.CONFIG_KEY]?: RumOptions;
[telemetry.CONFIG_KEY]?: TelemetryOptions;
// #types-injection-marker
customPlugins?: GetCustomPlugins;
Expand Down
8 changes: 8 additions & 0 deletions packages/factory/src/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,8 @@ import { getContext, getLoggerFactory, validateOptions } from './helpers';
// #imports-injection-marker
import type { OptionsWithErrorTracking } from '@dd/error-tracking-plugin/types';
import * as errorTracking from '@dd/error-tracking-plugin';
import type { OptionsWithRum } from '@dd/rum-plugin/types';
import * as rum from '@dd/rum-plugin';
import type { OptionsWithTelemetry } from '@dd/telemetry-plugin/types';
import * as telemetry from '@dd/telemetry-plugin';
import { getBuildReportPlugins } from '@dd/internal-build-report-plugin';
Expand All @@ -39,6 +41,7 @@ import { getInjectionPlugins } from '@dd/internal-injection-plugin';
// #imports-injection-marker
// #types-export-injection-marker
export type { types as ErrorTrackingTypes } from '@dd/error-tracking-plugin';
export type { types as RumTypes } from '@dd/rum-plugin';
export type { types as TelemetryTypes } from '@dd/telemetry-plugin';
// #types-export-injection-marker

Expand Down Expand Up @@ -123,6 +126,11 @@ export const buildPluginFactory = ({
),
);
}
if (options[rum.CONFIG_KEY] && options[rum.CONFIG_KEY].disabled !== true) {
plugins.push(
...rum.getPlugins(options as OptionsWithRum, context, getLogger(rum.PLUGIN_NAME)),
);
}
if (options[telemetry.CONFIG_KEY] && options[telemetry.CONFIG_KEY].disabled !== true) {
plugins.push(
...telemetry.getPlugins(
Expand Down
2 changes: 2 additions & 0 deletions packages/published/esbuild-plugin/src/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ import type { Options } from '@dd/core/types';
import type {
// #types-export-injection-marker
ErrorTrackingTypes,
RumTypes,
TelemetryTypes,
// #types-export-injection-marker
} from '@dd/factory';
Expand All @@ -22,6 +23,7 @@ export type EsbuildPluginOptions = Options;
export type {
// #types-export-injection-marker
ErrorTrackingTypes,
RumTypes,
TelemetryTypes,
// #types-export-injection-marker
};
Expand Down
2 changes: 2 additions & 0 deletions packages/published/rollup-plugin/src/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ import type { Options } from '@dd/core/types';
import type {
// #types-export-injection-marker
ErrorTrackingTypes,
RumTypes,
TelemetryTypes,
// #types-export-injection-marker
} from '@dd/factory';
Expand All @@ -22,6 +23,7 @@ export type RollupPluginOptions = Options;
export type {
// #types-export-injection-marker
ErrorTrackingTypes,
RumTypes,
TelemetryTypes,
// #types-export-injection-marker
};
Expand Down
2 changes: 2 additions & 0 deletions packages/published/rspack-plugin/src/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ import type { Options } from '@dd/core/types';
import type {
// #types-export-injection-marker
ErrorTrackingTypes,
RumTypes,
TelemetryTypes,
// #types-export-injection-marker
} from '@dd/factory';
Expand All @@ -22,6 +23,7 @@ export type RspackPluginOptions = Options;
export type {
// #types-export-injection-marker
ErrorTrackingTypes,
RumTypes,
TelemetryTypes,
// #types-export-injection-marker
};
Expand Down
2 changes: 2 additions & 0 deletions packages/published/vite-plugin/src/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ import type { Options } from '@dd/core/types';
import type {
// #types-export-injection-marker
ErrorTrackingTypes,
RumTypes,
TelemetryTypes,
// #types-export-injection-marker
} from '@dd/factory';
Expand All @@ -22,6 +23,7 @@ export type VitePluginOptions = Options;
export type {
// #types-export-injection-marker
ErrorTrackingTypes,
RumTypes,
TelemetryTypes,
// #types-export-injection-marker
};
Expand Down
2 changes: 2 additions & 0 deletions packages/published/webpack-plugin/src/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ import type { Options } from '@dd/core/types';
import type {
// #types-export-injection-marker
ErrorTrackingTypes,
RumTypes,
TelemetryTypes,
// #types-export-injection-marker
} from '@dd/factory';
Expand All @@ -22,6 +23,7 @@ export type WebpackPluginOptions = Options;
export type {
// #types-export-injection-marker
ErrorTrackingTypes,
RumTypes,
TelemetryTypes,
// #types-export-injection-marker
};
Expand Down

0 comments on commit f158564

Please sign in to comment.