46 lines
1.2 KiB
JavaScript
46 lines
1.2 KiB
JavaScript
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
|
|
}
|
|
}
|
|
}
|