Skip to content
This repository has been archived by the owner on Dec 20, 2024. It is now read-only.

Commit

Permalink
updates and cleanup
Browse files Browse the repository at this point in the history
  • Loading branch information
kremalicious committed Feb 15, 2020
1 parent 4ee4c92 commit c0269c7
Show file tree
Hide file tree
Showing 9 changed files with 42 additions and 61 deletions.
5 changes: 1 addition & 4 deletions .babelrc
Original file line number Diff line number Diff line change
@@ -1,6 +1,3 @@
{
"presets": [
["@babel/env"],
["@babel/react"]
]
"presets": [["babel-preset-gatsby-package", { "browser": true }]]
}
10 changes: 0 additions & 10 deletions .editorconfig

This file was deleted.

8 changes: 2 additions & 6 deletions .eslintrc
Original file line number Diff line number Diff line change
@@ -1,10 +1,6 @@
{
"extends": [
"eslint:recommended",
"plugin:react/recommended",
"plugin:prettier/recommended"
],
"plugins": ["react", "prettier"],
"extends": ["eslint:recommended", "plugin:prettier/recommended"],
"plugins": ["prettier"],
"parserOptions": {
"sourceType": "module",
"ecmaFeatures": {
Expand Down
3 changes: 2 additions & 1 deletion .prettierrc
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
{
"semi": false,
"singleQuote": true,
"trailingComma": "none"
"trailingComma": "none",
"tabWidth": 2
}
2 changes: 1 addition & 1 deletion LICENSE
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
Copyright (c) 2018 Matthias Kretschmann m@kretschmann.io
Copyright (c) 2020 Matthias Kretschmann m@kretschmann.io

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

Expand Down
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -82,7 +82,7 @@ plugins: [
options: {
siteId: 'YOUR_SITE_ID',
matomoUrl: 'https://YOUR_MATOMO_URL.COM',
siteUrl: 'https://YOUR_LIVE_SITE_URL.COM'
siteUrl: 'https://YOUR_LIVE_SITE_URL.COM',
// All the optional settings
exclude: ['/offline-plugin-app-shell-fallback/'],
requireConsent: false,
Expand Down Expand Up @@ -118,7 +118,7 @@ See [CHANGELOG.md](CHANGELOG.md).

The MIT License

Copyright (c) 2018 Matthias Kretschmann
Copyright (c) 2020 Matthias Kretschmann

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

Expand Down
33 changes: 16 additions & 17 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -7,39 +7,38 @@
"build": "babel src --out-dir . --ignore __tests__",
"start": "babel -w src --out-dir . --ignore __tests__",
"test": "eslint ./src/**/*.js",
"format": "prettier --write 'src/**/*.{js,jsx}'",
"format": "prettier --write 'src/**/*.js'",
"release": "release-it --non-interactive",
"changelog": "auto-changelog -p",
"prepublishOnly": "cross-env NODE_ENV=production npm run build"
},
"dependencies": {},
"devDependencies": {
"@babel/cli": "^7.4.4",
"@babel/core": "^7.4.5",
"@babel/preset-env": "^7.4.5",
"@babel/preset-react": "^7.0.0",
"auto-changelog": "^1.13.0",
"cross-env": "^5.2.0",
"eslint": "^5.16.0",
"eslint-config-prettier": "^4.3.0",
"eslint-plugin-prettier": "^3.1.0",
"eslint-plugin-react": "^7.13.0",
"prettier": "^1.18.2",
"react": "^16.8.6",
"react-dom": "^16.8.6",
"release-it": "^12.3.0"
"@babel/cli": "^7.8.4",
"@babel/core": "^7.8.4",
"auto-changelog": "^1.16.2",
"babel-preset-gatsby-package": "^0.2.16",
"cross-env": "^7.0.0",
"eslint": "^6.8.0",
"eslint-config-prettier": "^6.10.0",
"eslint-plugin-prettier": "^3.1.2",
"prettier": "^1.19.1",
"release-it": "^12.4.3"
},
"homepage": "https://github.com/kremalicious/gatsby-plugin-matomo",
"homepage": "https://kremalicious.com/gatsby-plugin-matomo",
"keywords": [
"gatsby",
"gatsby-plugin",
"analytics",
"matomo",
"piwik"
],
"license": "MIT",
"main": "index.js",
"peerDependencies": {
"gatsby": ">=1.9.0"
"gatsby": ">=2.0.0",
"react": ">=16.4.2",
"react-dom": ">=16.4.2"
},
"repository": "github:kremalicious/gatsby-plugin-matomo",
"bugs": {
Expand Down
9 changes: 4 additions & 5 deletions src/gatsby-browser.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
/* eslint-disable no-console */

let first = true

function getDuration() {
Expand All @@ -14,7 +12,7 @@ function getDuration() {
return difference
}

exports.onRouteUpdate = ({ location, prevLocation }) => {
export const onRouteUpdate = ({ location, prevLocation }) => {
if (
(process.env.NODE_ENV === 'production' && typeof _paq !== 'undefined') ||
window.dev === true
Expand All @@ -40,7 +38,7 @@ exports.onRouteUpdate = ({ location, prevLocation }) => {
_paq.push(['trackAllContentImpressions'])

if (dev) {
console.log(`[Matomo] Page view for: ${url} - ${title}`)
console.debug(`[Matomo] Page view for: ${url} - ${title}`)
}
}

Expand All @@ -58,9 +56,10 @@ exports.onRouteUpdate = ({ location, prevLocation }) => {
_paq.push(['trackEvent', 'javascript', 'load', 'duration', getDuration()])

if (dev) {
console.log(`[Matomo] Tracking duration for: ${url}`)
console.debug(`[Matomo] Tracking duration for: ${url}`)
}
}
}

return null
}
29 changes: 14 additions & 15 deletions src/gatsby-ssr.js
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
// eslint-disable-next-line no-unused-vars
import React from 'react'

function buildTrackingCode(pluginOptions) {
Expand Down Expand Up @@ -29,29 +30,28 @@ function buildTrackingCode(pluginOptions) {
})();
if (window.dev === true) {
console.log('[Matomo] Tracking initialized')
console.log('[Matomo] matomoUrl: ${matomoUrl}, siteId: ${siteId}')
console.debug('[Matomo] Tracking initialized')
console.debug('[Matomo] matomoUrl: ${matomoUrl}, siteId: ${siteId}')
}
}
`

return (
<script
key={'gatsby-plugin-matomo'}
key="script-gatsby-plugin-matomo"
dangerouslySetInnerHTML={{ __html: html }}
/>
)
}

function buildTrackingCodeNoJs(pluginOptions, pathname) {
const html = `<img src="${pluginOptions.matomoUrl}/piwik.php?idsite=${
pluginOptions.siteId
}&rec=1&url=${pluginOptions.siteUrl +
const { matomoUrl, siteId, siteUrl } = pluginOptions
const html = `<img src="${matomoUrl}/piwik.php?idsite=${siteId}&rec=1&url=${siteUrl +
pathname}" style="border:0" alt="tracker" />`

return (
<noscript
key={'gatsby-plugin-matomo'}
key="noscript-gatsby-plugin-matomo"
dangerouslySetInnerHTML={{ __html: html }}
/>
)
Expand All @@ -62,29 +62,28 @@ function buildHead(pluginOptions) {
<link
rel="preconnect"
href={pluginOptions.matomoUrl}
key={'gatsby-plugin-matomo'}
key="preconnect-gatsby-plugin-matomo"
/>
)
}

exports.onRenderBody = (
export const onRenderBody = (
{ setHeadComponents, setPostBodyComponents, pathname },
pluginOptions
) => {
const { exclude, dev } = pluginOptions
const isProduction = process.env.NODE_ENV === 'production'
let excludePaths = ['/offline-plugin-app-shell-fallback/']

if (typeof pluginOptions.exclude !== 'undefined') {
pluginOptions.exclude.map(exclude => {
if (typeof exclude !== 'undefined') {
exclude.map(exclude => {
excludePaths.push(exclude)
})
}

const isPathExcluded = excludePaths.some(path => pathname === path)

if (
(process.env.NODE_ENV === 'production' || pluginOptions.dev === true) &&
!isPathExcluded
) {
if ((isProduction || dev === true) && !isPathExcluded) {
setHeadComponents([buildHead(pluginOptions)])
setPostBodyComponents([
buildTrackingCode(pluginOptions),
Expand Down

0 comments on commit c0269c7

Please sign in to comment.