diff --git a/packages/plausible/README.md b/packages/plausible/README.md index 010bd03..6a46071 100644 --- a/packages/plausible/README.md +++ b/packages/plausible/README.md @@ -20,7 +20,6 @@ const analytics = Analytics({ plausiblePlugin({ domain: "example.com", // By default window.location.hostname hashMode: true, // By default 'false' - trackLocalhost: true, // By default 'false' apiHost: "https://my-plausible-api.domain.com/", // By default 'https://plausible.io' }), ], @@ -29,11 +28,10 @@ const analytics = Analytics({ ### Options -`plausiblePlugin()` accepts some [options](https://plausible-tracker.netlify.app/globals.html#plausibleinitoptions) that you may want to provide: +`plausiblePlugin()` accepts some options that you may want to provide: | Option | Type | Description | Default | | -------------- | -------- | ----------------------------------------------------------------- | ------------------------ | | domain | `string` | Your site's domain, as declared by you in Plausible's settings | `location.hostname` | | hashMode | `bool` | Enables tracking based on URL hash changes. | `false` | -| trackLocalhost | `bool` | Enables tracking on *localhost*. | `false` | | apiHost | `string` | Plausible's API host to use. Change this if you are self-hosting. | `'https://plausible.io'` | diff --git a/packages/plausible/package.json b/packages/plausible/package.json index a47e9b9..b72b468 100644 --- a/packages/plausible/package.json +++ b/packages/plausible/package.json @@ -31,6 +31,6 @@ }, "dependencies": { "analytics": "^0.7.5", - "plausible-tracker": "^0.3.1" + "plausible-client": "^1.1.0" } } diff --git a/packages/plausible/src/plausible.ts b/packages/plausible/src/plausible.ts index a20f770..c2f17da 100644 --- a/packages/plausible/src/plausible.ts +++ b/packages/plausible/src/plausible.ts @@ -1,5 +1,5 @@ import { AnalyticsInstance } from "analytics" -import Plausible from "plausible-tracker" +import { Plausible } from "plausible-client" type IPluginProps = { instance: AnalyticsInstance @@ -10,7 +10,6 @@ type IPluginConfig = { apiHost?: string, domain?: string, hashMode?: boolean, - trackLocalhost?: boolean, } interface IProps { @@ -25,7 +24,7 @@ type IPayload = { } type IPluginContext = { - plausible: ReturnType | null + plausible: Plausible | null } const defaultConfig = { @@ -48,26 +47,12 @@ export default function plausiblePlugin(pluginConfig: IPluginConfig) { const { apiHost, domain, - hashMode, - trackLocalhost, } = config - const plausibleConfig = { - apiHost, - domain, - hashMode, - trackLocalhost, - } - - context.plausible = Plausible( - Object.keys(plausibleConfig).reduce((acc, key) => { - if (typeof plausibleConfig[key] !== "undefined") { - return { ...acc, [key]: plausibleConfig[key] } - } - - return acc - }, {}) - ) + context.plausible = new Plausible({ + domain: domain || (typeof window !== 'undefined' ? window.location.hostname : ''), + apiHost: apiHost || 'https://plausible.io', + }) }, loaded: () => { @@ -78,7 +63,9 @@ export default function plausiblePlugin(pluginConfig: IPluginConfig) { if (!context.plausible) return const { properties } = payload - context.plausible.trackPageview({}, { props: properties }) + context.plausible.sendEvent('pageview', { + props: properties + }) }, // Set parameter scope at event level with 'event' method diff --git a/packages/plausible/yarn.lock b/packages/plausible/yarn.lock index 0e48d26..ff131ea 100644 --- a/packages/plausible/yarn.lock +++ b/packages/plausible/yarn.lock @@ -47,10 +47,10 @@ dlv@^1.1.3: resolved "https://registry.yarnpkg.com/dlv/-/dlv-1.1.3.tgz#5c198a8a11453596e751494d49874bc7732f2e79" integrity sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA== -plausible-tracker@^0.3.1: - version "0.3.1" - resolved "https://registry.yarnpkg.com/plausible-tracker/-/plausible-tracker-0.3.1.tgz#dd4e1f59cafc7bf1b00e30890567287b3f204efd" - integrity sha512-oXnVyfTF2gzkfK3iOZCRZEnf8sH4gBASaJhY+clwWW1orIybfQpfbgg4U5Bwj5dW/4iNstM4tx4jMCVUfMCUbg== +plausible-client@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/plausible-client/-/plausible-client-1.1.0.tgz#acee082705133c68f3da8470a82a830799bb5b90" + integrity sha512-iP2Y31w3qgWvI1B+CIwq9jrkPyoU1t/IEiy+zWfK1wFTfUTwDbbugPC+EzxFsDwJaRceGZ1kame4Ug0u2SAhYw== typescript@^4.2.4: version "4.2.4"