import { waitForPlausibleFunction } from './wait-for-plausible-function' import { checkWordPress } from './check-wordpress' import { checkGTM } from './check-gtm' import { checkNPM } from './check-npm' window.scanPageBeforePlausibleInstallation = async function ({ detectV1, debug, timeoutMs }) { function log(message) { if (debug) console.log('[Plausible Verification]', message) } let v1Detected = null if (detectV1) { log('Waiting for Plausible function...') const plausibleFound = await waitForPlausibleFunction(timeoutMs) log(`plausibleFound: ${plausibleFound}`) v1Detected = plausibleFound && typeof window.plausible.s === 'undefined' log(`v1Detected: ${v1Detected}`) } const { wordpressPlugin, wordpressLikely } = checkWordPress(document) log(`wordpressPlugin: ${wordpressPlugin}`) log(`wordpressLikely: ${wordpressLikely}`) const gtmLikely = checkGTM(document) log(`gtmLikely: ${gtmLikely}`) const npm = checkNPM(document) log(`npm: ${npm}`) return { data: { completed: true, v1Detected: v1Detected, wordpressPlugin: wordpressPlugin, wordpressLikely: wordpressLikely, gtmLikely: gtmLikely, npm: npm } } }