import { addFilter, setting } from "@factor/api" export const setup = (): void => { const googleTagManagerId = setting("googleTagManager.googleTagManagerId") const developmentMode = setting("googleTagManager.developmentMode") // Don't load in development by default if ( ((process.env.NODE_ENV != "production" || process.env.FACTOR_ENV == "test") && !developmentMode) || !googleTagManagerId ) { return } addFilter({ key: "tagManagerScript", hook: "factor_head", callback: (_: string[]): string[] => { const add = `` return [..._, add] }, priority: 200, }) addFilter({ key: "tagManagerBodyScript", hook: "factor_body_start", callback: (_: string[]): string[] => { const add = ` ` return [..._, add] }, }) } setup()