11import type { SdkVariant } from './sdkDownloader.ts'
2- import { getDefaultVersion } from './sdkDownloader.ts'
2+ import { getDefaultVersion , downloadSDK } from './sdkDownloader.ts'
33import { INLINE_HELPERS } from './helpers.ts'
4+ import { fetchRemoteConfiguration } from '@datadog/browser-remote-config'
5+ import { resolveDynamicValues , serializeConfigToJs } from '@datadog/browser-remote-config/node'
46
57export type { SdkVariant } from './sdkDownloader.ts'
68
@@ -26,10 +28,9 @@ export interface GenerateBundleOptions {
2628}
2729
2830const CONFIG_FETCH_TIMEOUT_MS = 30_000
29- const VALID_VARIANTS : SdkVariant [ ] = [ 'rum' , 'rum-slim' ]
31+ const VALID_VARIANTS : SdkVariant [ ] = [ 'rum' , 'rum-slim' , 'logs' , 'rum-and-logs' ]
3032
3133export async function fetchConfig ( options : FetchConfigOptions ) {
32- const { fetchRemoteConfiguration } = await import ( '@datadog/browser-remote-config' )
3334 const result = await fetchRemoteConfiguration ( {
3435 applicationId : options . applicationId ,
3536 remoteConfigurationId : options . remoteConfigurationId ,
@@ -69,9 +70,11 @@ export function generateCombinedBundle(options: CombineBundleOptions): string {
6970 // SDK bundle (${ variant } ) from CDN
7071 ${ sdkCode }
7172
72- // Auto-initialize
73- if (typeof window !== 'undefined' && window.DD_RUM) {
74- window.DD_RUM.init(__DATADOG_REMOTE_CONFIG__);
73+ // Auto-initialize — merge base config (clientToken, site, etc.) set by the page before this script
74+ var __DD_CONFIG__ = Object.assign({}, window.__DD_BASE_CONFIG__ || {}, __DATADOG_REMOTE_CONFIG__);
75+ if (typeof window !== 'undefined') {
76+ if (window.DD_RUM) { window.DD_RUM.init(__DD_CONFIG__); }
77+ if (window.DD_LOGS) { window.DD_LOGS.init(__DD_CONFIG__); }
7578 }
7679})();`
7780}
@@ -93,11 +96,9 @@ export async function generateBundle(options: GenerateBundleOptions): Promise<st
9396 site : options . site ,
9497 } )
9598
96- const { resolveDynamicValues, serializeConfigToJs } = await import ( '@datadog/browser-remote-config/node' )
9799 const resolved = resolveDynamicValues ( configResult . value )
98100 const configJs = serializeConfigToJs ( resolved )
99101
100- const { downloadSDK } = await import ( './sdkDownloader.ts' )
101102 const sdkCode = await downloadSDK ( { variant : options . variant , datacenter : options . datacenter } )
102103 const sdkVersion = getDefaultVersion ( )
103104
0 commit comments