Disable Google Analytics tracker for dev and Google PageSpeed bot
All checks were successful
continuous-integration/drone/push Build is passing

This commit is contained in:
2020-04-13 10:28:42 +02:00
parent 3029c3c29f
commit 5a00c6f552
4 changed files with 50 additions and 38 deletions

View File

@@ -34,7 +34,7 @@
"@babel/runtime": "^7.9.2", "@babel/runtime": "^7.9.2",
"@rollup/plugin-alias": "^3.1.0", "@rollup/plugin-alias": "^3.1.0",
"@rollup/plugin-commonjs": "11.0.2", "@rollup/plugin-commonjs": "11.0.2",
"@rollup/plugin-node-resolve": "^7.1.2", "@rollup/plugin-node-resolve": "^7.1.3",
"@rollup/plugin-replace": "^2.3.1", "@rollup/plugin-replace": "^2.3.1",
"autoprefixer": "^9.7.6", "autoprefixer": "^9.7.6",
"babel-plugin-module-resolver": "^4.0.0", "babel-plugin-module-resolver": "^4.0.0",
@@ -50,7 +50,7 @@
"postcss": "^7.0.27", "postcss": "^7.0.27",
"postcss-load-config": "^2.1.0", "postcss-load-config": "^2.1.0",
"postcss-preset-env": "^6.7.0", "postcss-preset-env": "^6.7.0",
"rollup": "^2.6.0", "rollup": "^2.6.1",
"rollup-plugin-babel": "^4.4.0", "rollup-plugin-babel": "^4.4.0",
"rollup-plugin-eslint": "^7.0.0", "rollup-plugin-eslint": "^7.0.0",
"rollup-plugin-glslify": "^1.2.0", "rollup-plugin-glslify": "^1.2.0",

64
pnpm-lock.yaml generated
View File

@@ -14,10 +14,10 @@ devDependencies:
'@babel/plugin-transform-runtime': 7.9.0_@babel+core@7.9.0 '@babel/plugin-transform-runtime': 7.9.0_@babel+core@7.9.0
'@babel/preset-env': 7.9.5_@babel+core@7.9.0 '@babel/preset-env': 7.9.5_@babel+core@7.9.0
'@babel/runtime': 7.9.2 '@babel/runtime': 7.9.2
'@rollup/plugin-alias': 3.1.0_rollup@2.6.0 '@rollup/plugin-alias': 3.1.0_rollup@2.6.1
'@rollup/plugin-commonjs': 11.0.2_rollup@2.6.0 '@rollup/plugin-commonjs': 11.0.2_rollup@2.6.1
'@rollup/plugin-node-resolve': 7.1.2_rollup@2.6.0 '@rollup/plugin-node-resolve': 7.1.3_rollup@2.6.1
'@rollup/plugin-replace': 2.3.1_rollup@2.6.0 '@rollup/plugin-replace': 2.3.1_rollup@2.6.1
autoprefixer: 9.7.6 autoprefixer: 9.7.6
babel-plugin-module-resolver: 4.0.0 babel-plugin-module-resolver: 4.0.0
dotenv: 8.2.0 dotenv: 8.2.0
@@ -32,12 +32,12 @@ devDependencies:
postcss: 7.0.27 postcss: 7.0.27
postcss-load-config: 2.1.0 postcss-load-config: 2.1.0
postcss-preset-env: 6.7.0 postcss-preset-env: 6.7.0
rollup: 2.6.0 rollup: 2.6.1
rollup-plugin-babel: 4.4.0_@babel+core@7.9.0+rollup@2.6.0 rollup-plugin-babel: 4.4.0_@babel+core@7.9.0+rollup@2.6.1
rollup-plugin-eslint: 7.0.0 rollup-plugin-eslint: 7.0.0
rollup-plugin-glslify: 1.2.0 rollup-plugin-glslify: 1.2.0
rollup-plugin-svelte: 5.2.1_rollup@2.6.0+svelte@3.20.1 rollup-plugin-svelte: 5.2.1_rollup@2.6.1+svelte@3.20.1
rollup-plugin-terser: 5.3.0_rollup@2.6.0 rollup-plugin-terser: 5.3.0_rollup@2.6.1
sapper: 0.27.12_svelte@3.20.1 sapper: 0.27.12_svelte@3.20.1
svelte: 3.20.1 svelte: 3.20.1
svelte-preprocess: 3.7.1_svelte@3.20.1 svelte-preprocess: 3.7.1_svelte@3.20.1
@@ -900,9 +900,9 @@ packages:
dev: false dev: false
resolution: resolution:
integrity: sha512-3NsZsJIA/22P3QUyrEDNA2D133H4j224twJrdipXN38dpnIOzAbUDtOwkcJ5pXmn75w7LSQDjA4tO9dm1XlqlA== integrity: sha512-3NsZsJIA/22P3QUyrEDNA2D133H4j224twJrdipXN38dpnIOzAbUDtOwkcJ5pXmn75w7LSQDjA4tO9dm1XlqlA==
/@rollup/plugin-alias/3.1.0_rollup@2.6.0: /@rollup/plugin-alias/3.1.0_rollup@2.6.1:
dependencies: dependencies:
rollup: 2.6.0 rollup: 2.6.1
slash: 3.0.0 slash: 3.0.0
dev: true dev: true
engines: engines:
@@ -911,14 +911,14 @@ packages:
rollup: ^1.20.0||^2.0.0 rollup: ^1.20.0||^2.0.0
resolution: resolution:
integrity: sha512-IzoejtAqdfwAvx4D0bztAJFoL5Js36kJgnbO00zfI1B9jf9G80vWysyG0C4+E6w5uG5hz0EeetPpoBWKdNktCQ== integrity: sha512-IzoejtAqdfwAvx4D0bztAJFoL5Js36kJgnbO00zfI1B9jf9G80vWysyG0C4+E6w5uG5hz0EeetPpoBWKdNktCQ==
/@rollup/plugin-commonjs/11.0.2_rollup@2.6.0: /@rollup/plugin-commonjs/11.0.2_rollup@2.6.1:
dependencies: dependencies:
'@rollup/pluginutils': 3.0.9_rollup@2.6.0 '@rollup/pluginutils': 3.0.9_rollup@2.6.1
estree-walker: 1.0.1 estree-walker: 1.0.1
is-reference: 1.1.4 is-reference: 1.1.4
magic-string: 0.25.7 magic-string: 0.25.7
resolve: 1.15.1 resolve: 1.15.1
rollup: 2.6.0 rollup: 2.6.1
dev: true dev: true
engines: engines:
node: '>= 8.0.0' node: '>= 8.0.0'
@@ -926,37 +926,37 @@ packages:
rollup: ^1.20.0 rollup: ^1.20.0
resolution: resolution:
integrity: sha512-MPYGZr0qdbV5zZj8/2AuomVpnRVXRU5XKXb3HVniwRoRCreGlf5kOE081isNWeiLIi6IYkwTX9zE0/c7V8g81g== integrity: sha512-MPYGZr0qdbV5zZj8/2AuomVpnRVXRU5XKXb3HVniwRoRCreGlf5kOE081isNWeiLIi6IYkwTX9zE0/c7V8g81g==
/@rollup/plugin-node-resolve/7.1.2_rollup@2.6.0: /@rollup/plugin-node-resolve/7.1.3_rollup@2.6.1:
dependencies: dependencies:
'@rollup/pluginutils': 3.0.9_rollup@2.6.0 '@rollup/pluginutils': 3.0.9_rollup@2.6.1
'@types/resolve': 0.0.8 '@types/resolve': 0.0.8
builtin-modules: 3.1.0 builtin-modules: 3.1.0
is-module: 1.0.0 is-module: 1.0.0
resolve: 1.15.1 resolve: 1.15.1
rollup: 2.6.0 rollup: 2.6.1
dev: true dev: true
engines: engines:
node: '>= 8.0.0' node: '>= 8.0.0'
peerDependencies: peerDependencies:
rollup: ^1.20.0||^2.0.0 rollup: ^1.20.0||^2.0.0
resolution: resolution:
integrity: sha512-wDx9CYYY5L8c7aa7m1KAEET1KY+D56gqkdIiIhS/pKdPbEuYRhaMkbLDHFNH/ppnijg3Pv0Ugbx6G1ChXhsGPw== integrity: sha512-RxtSL3XmdTAE2byxekYLnx+98kEUOrPHF/KRVjLH+DEIHy6kjIw7YINQzn+NXiH/NTrQLAwYs0GWB+csWygA9Q==
/@rollup/plugin-replace/2.3.1_rollup@2.6.0: /@rollup/plugin-replace/2.3.1_rollup@2.6.1:
dependencies: dependencies:
'@rollup/pluginutils': 3.0.9_rollup@2.6.0 '@rollup/pluginutils': 3.0.9_rollup@2.6.1
magic-string: 0.25.7 magic-string: 0.25.7
rollup: 2.6.0 rollup: 2.6.1
dev: true dev: true
peerDependencies: peerDependencies:
rollup: ^1.20.0 rollup: ^1.20.0
resolution: resolution:
integrity: sha512-qDcXj2VOa5+j0iudjb+LiwZHvBRRgWbHPhRmo1qde2KItTjuxDVQO21rp9/jOlzKR5YO0EsgRQoyox7fnL7y/A== integrity: sha512-qDcXj2VOa5+j0iudjb+LiwZHvBRRgWbHPhRmo1qde2KItTjuxDVQO21rp9/jOlzKR5YO0EsgRQoyox7fnL7y/A==
/@rollup/pluginutils/3.0.9_rollup@2.6.0: /@rollup/pluginutils/3.0.9_rollup@2.6.1:
dependencies: dependencies:
'@types/estree': 0.0.39 '@types/estree': 0.0.39
estree-walker: 1.0.1 estree-walker: 1.0.1
micromatch: 4.0.2 micromatch: 4.0.2
rollup: 2.6.0 rollup: 2.6.1
dev: true dev: true
engines: engines:
node: '>= 8.0.0' node: '>= 8.0.0'
@@ -4073,11 +4073,11 @@ packages:
hasBin: true hasBin: true
resolution: resolution:
integrity: sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w== integrity: sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==
/rollup-plugin-babel/4.4.0_@babel+core@7.9.0+rollup@2.6.0: /rollup-plugin-babel/4.4.0_@babel+core@7.9.0+rollup@2.6.1:
dependencies: dependencies:
'@babel/core': 7.9.0 '@babel/core': 7.9.0
'@babel/helper-module-imports': 7.8.3 '@babel/helper-module-imports': 7.8.3
rollup: 2.6.0 rollup: 2.6.1
rollup-pluginutils: 2.8.2 rollup-pluginutils: 2.8.2
dev: true dev: true
peerDependencies: peerDependencies:
@@ -4099,10 +4099,10 @@ packages:
dev: true dev: true
resolution: resolution:
integrity: sha512-EqUFINMICD9U3MJ4jsxBcCRhzWNZJBWyAK2ol+2ClWIPaIWOuz0OY/Ml8rdT81F4aufwxJN5I9N7QvCth0OrUQ== integrity: sha512-EqUFINMICD9U3MJ4jsxBcCRhzWNZJBWyAK2ol+2ClWIPaIWOuz0OY/Ml8rdT81F4aufwxJN5I9N7QvCth0OrUQ==
/rollup-plugin-svelte/5.2.1_rollup@2.6.0+svelte@3.20.1: /rollup-plugin-svelte/5.2.1_rollup@2.6.1+svelte@3.20.1:
dependencies: dependencies:
require-relative: 0.8.7 require-relative: 0.8.7
rollup: 2.6.0 rollup: 2.6.1
rollup-pluginutils: 2.8.2 rollup-pluginutils: 2.8.2
sourcemap-codec: 1.4.8 sourcemap-codec: 1.4.8
svelte: 3.20.1 svelte: 3.20.1
@@ -4112,11 +4112,11 @@ packages:
svelte: '*' svelte: '*'
resolution: resolution:
integrity: sha512-wc93cN66sRpX6uFljVFqvWT6NU3V5ab/uLXKt2UiARuexFU/ctolzkmdXM7WM5iKdTX9scToS9sabJTJV4DUMA== integrity: sha512-wc93cN66sRpX6uFljVFqvWT6NU3V5ab/uLXKt2UiARuexFU/ctolzkmdXM7WM5iKdTX9scToS9sabJTJV4DUMA==
/rollup-plugin-terser/5.3.0_rollup@2.6.0: /rollup-plugin-terser/5.3.0_rollup@2.6.1:
dependencies: dependencies:
'@babel/code-frame': 7.8.3 '@babel/code-frame': 7.8.3
jest-worker: 24.9.0 jest-worker: 24.9.0
rollup: 2.6.0 rollup: 2.6.1
rollup-pluginutils: 2.8.2 rollup-pluginutils: 2.8.2
serialize-javascript: 2.1.2 serialize-javascript: 2.1.2
terser: 4.6.11 terser: 4.6.11
@@ -4131,7 +4131,7 @@ packages:
dev: true dev: true
resolution: resolution:
integrity: sha512-EEp9NhnUkwY8aif6bxgovPHMoMoNr2FulJziTndpt5H9RdwC47GSGuII9XxpSdzVGM0GWrNPHV6ie1LTNJPaLQ== integrity: sha512-EEp9NhnUkwY8aif6bxgovPHMoMoNr2FulJziTndpt5H9RdwC47GSGuII9XxpSdzVGM0GWrNPHV6ie1LTNJPaLQ==
/rollup/2.6.0: /rollup/2.6.1:
dev: true dev: true
engines: engines:
node: '>=10.0.0' node: '>=10.0.0'
@@ -4139,7 +4139,7 @@ packages:
optionalDependencies: optionalDependencies:
fsevents: 2.1.2 fsevents: 2.1.2
resolution: resolution:
integrity: sha512-qbvQ9ZbvbhBdtRBZ/A4g+9z3iJQ1rHAtjinn3FiN+j5tfz8xiNyTE1JEEMcFWqlH7+NHadI9ieeqKdp8HwYLnQ== integrity: sha512-1RhFDRJeg027YjBO6+JxmVWkEZY0ASztHhoEUEWxOwkh4mjO58TFD6Uo7T7Y3FbmDpRTfKhM5NVxJyimCn0Elg==
/run-async/2.4.0: /run-async/2.4.0:
dependencies: dependencies:
is-promise: 2.1.0 is-promise: 2.1.0
@@ -4893,7 +4893,7 @@ specifiers:
'@babel/runtime': ^7.9.2 '@babel/runtime': ^7.9.2
'@rollup/plugin-alias': ^3.1.0 '@rollup/plugin-alias': ^3.1.0
'@rollup/plugin-commonjs': 11.0.2 '@rollup/plugin-commonjs': 11.0.2
'@rollup/plugin-node-resolve': ^7.1.2 '@rollup/plugin-node-resolve': ^7.1.3
'@rollup/plugin-replace': ^2.3.1 '@rollup/plugin-replace': ^2.3.1
animejs: ^3.2.0 animejs: ^3.2.0
autoprefixer: ^9.7.6 autoprefixer: ^9.7.6
@@ -4915,7 +4915,7 @@ specifiers:
postcss: ^7.0.27 postcss: ^7.0.27
postcss-load-config: ^2.1.0 postcss-load-config: ^2.1.0
postcss-preset-env: ^6.7.0 postcss-preset-env: ^6.7.0
rollup: ^2.6.0 rollup: ^2.6.1
rollup-plugin-babel: ^4.4.0 rollup-plugin-babel: ^4.4.0
rollup-plugin-eslint: ^7.0.0 rollup-plugin-eslint: ^7.0.0
rollup-plugin-glslify: ^1.2.0 rollup-plugin-glslify: ^1.2.0

View File

@@ -74,10 +74,10 @@
pageReady pageReady
} from 'utils/store' } from 'utils/store'
// Components // Components
import AnalyticsTracker from 'utils/AnalyticsTracker'
// Variables // Variables
const { page } = stores() const { page } = stores()
let AnalyticsTracker
/* /*
@@ -97,6 +97,12 @@
// Replace each location's country by the database // Replace each location's country by the database
$locations.forEach(loc => loc.country = $countries.find(cont => cont.id === loc.country.id)) $locations.forEach(loc => loc.country = $countries.find(cont => cont.id === loc.country.id))
onMount(async () => {
const gaTracker = await import('utils/AnalyticsTracker')
AnalyticsTracker = gaTracker.default
})
</script> </script>
<style lang="scss" global> <style lang="scss" global>
@@ -115,4 +121,4 @@
<slot></slot> <slot></slot>
</main> </main>
<AnalyticsTracker {stores} id={process.env.CONFIG.GA_TRACKER_ID} /> <svelte:component this={AnalyticsTracker} {stores} id={process.env.CONFIG.GA_TRACKER_ID} />

View File

@@ -9,7 +9,10 @@
const { page } = stores() const { page } = stores()
// Init Google Analytics // Init Google Analytics
if (typeof window !== 'undefined') { if (typeof window !== 'undefined'
&& process.env.NODE_ENV !== 'development'
&& navigator.userAgent.indexOf('Speed Insights') == -1
) {
window.dataLayer = window.dataLayer || [] window.dataLayer = window.dataLayer || []
window.gtag = function gtag() { window.gtag = function gtag() {
window.dataLayer.push(arguments) window.dataLayer.push(arguments)
@@ -23,7 +26,10 @@
</script> </script>
<svelte:head> <svelte:head>
{#if process.env.NODE_ENV !== 'development'} {#if
process.env.NODE_ENV !== 'development'
&& navigator.userAgent.indexOf('Speed Insights') == -1
}
<script async src="https://www.googletagmanager.com/gtag/js?id={id}"></script> <script async src="https://www.googletagmanager.com/gtag/js?id={id}"></script>
{/if} {/if}
</svelte:head> </svelte:head>