| import { init as initEngagementTracking } from './engagement' |
| import { init as initConfig, getOptionsWithDefaults, config } from './config' |
| import { init as initCustomEvents } from './custom-events' |
| import { init as initAutocapture } from './autocapture' |
| import { track } from './track' |
|
|
| function init(overrides) { |
| const options = getOptionsWithDefaults(overrides || {}) |
|
|
| if (COMPILE_PLAUSIBLE_WEB && window.plausible && window.plausible.l) { |
| if (options.logging) { |
| console.warn('Plausible analytics script was already initialized, skipping init') |
| } |
| return |
| } |
|
|
| initConfig(options) |
|
|
| initEngagementTracking() |
|
|
| if (!COMPILE_MANUAL || (COMPILE_CONFIG && config.autoCapturePageviews)) { |
| initAutocapture(track) |
| } |
|
|
| if (COMPILE_PLAUSIBLE_WEB || COMPILE_PLAUSIBLE_NPM || COMPILE_OUTBOUND_LINKS || COMPILE_FILE_DOWNLOADS || COMPILE_TAGGED_EVENTS) { |
| initCustomEvents() |
| } |
|
|
|
|
| if (COMPILE_PLAUSIBLE_WEB || COMPILE_PLAUSIBLE_LEGACY_VARIANT) { |
| |
| var queue = (window.plausible && window.plausible.q) || [] |
| for (var i = 0; i < queue.length; i++) { |
| track.apply(this, queue[i]) |
| } |
|
|
| window.plausible = track |
| window.plausible.init = init |
| window.plausible.v = COMPILE_TRACKER_SCRIPT_VERSION |
|
|
| if (COMPILE_PLAUSIBLE_WEB) { |
| window.plausible.s = config.lib |
| } |
|
|
| window.plausible.l = true |
| } |
|
|
| |
| |
| if (COMPILE_PLAUSIBLE_NPM && config.bindToWindow && typeof window !== 'undefined') { |
| window.plausible = track |
| window.plausible.s = 'npm' |
| window.plausible.v = COMPILE_TRACKER_SCRIPT_VERSION |
| window.plausible.l = true |
| } |
| } |
|
|
| if (COMPILE_PLAUSIBLE_WEB) { |
| window.plausible = (window.plausible || {}) |
|
|
| if (plausible.o) { |
| init(plausible.o) |
| } |
|
|
| plausible.init = init |
| } else if (COMPILE_PLAUSIBLE_LEGACY_VARIANT) { |
| |
| init() |
| } |
|
|
| |
| |
|
|