diff --git a/packages/analytics/modules/analytics/client.ts b/packages/analytics/modules/analytics/client.ts index 3c25cc6bd..49bbb0251 100644 --- a/packages/analytics/modules/analytics/client.ts +++ b/packages/analytics/modules/analytics/client.ts @@ -25,7 +25,7 @@ type AnalyticsMethod = type MethodForwarder = ( fn: K, -) => (...args: Parameters) => void; +) => (...args: Parameters) => Promise; const ANALYTICS_PORT = '@wxt-dev/analytics'; @@ -238,6 +238,7 @@ function createFrontendAnalytics(): Analytics { (fn) => (...args) => { port.postMessage({ fn, args: [...args, getFrontendMetadata()] }); + return Promise.resolve(); }; const analytics: Analytics = { diff --git a/packages/analytics/modules/analytics/types.ts b/packages/analytics/modules/analytics/types.ts index 6f3caae4b..affb8122d 100644 --- a/packages/analytics/modules/analytics/types.ts +++ b/packages/analytics/modules/analytics/types.ts @@ -1,20 +1,23 @@ export interface Analytics { /** Report a page change. */ - page: (url: string) => void; + page: (url: string) => Promise; /** Report a custom event. */ track: ( eventName: string, eventProperties?: Record, - ) => void; + ) => Promise; /** Save information about the user. */ - identify: (userId: string, userProperties?: Record) => void; + identify: ( + userId: string, + userProperties?: Record, + ) => Promise; /** * Automatically setup and track user interactions, returning a function to * remove any listeners that were setup. */ autoTrack: (root: Document | ShadowRoot | Element) => () => void; /** Calls `config.enabled.setValue`. */ - setEnabled: (enabled: boolean) => void; + setEnabled: (enabled: boolean) => Promise; } export interface AnalyticsConfig {