From 5b1eb8bec2766d2e54e8ef1b39060ab9fe511fe3 Mon Sep 17 00:00:00 2001 From: Mike Cao Date: Fri, 18 Mar 2022 22:39:39 -0700 Subject: [PATCH] Added action to telemetry payload. --- scripts/postbuild.js | 2 +- scripts/prestart.js | 2 +- scripts/telemetry.js | 57 ++++++++++++++++++++++---------------------- 3 files changed, 30 insertions(+), 31 deletions(-) diff --git a/scripts/postbuild.js b/scripts/postbuild.js index 55414dcf..89748058 100644 --- a/scripts/postbuild.js +++ b/scripts/postbuild.js @@ -3,7 +3,7 @@ const { sendTelemetry } = require('./telemetry'); async function run() { if (!process.env.DISABLE_TELEMETRY) { - await sendTelemetry(); + await sendTelemetry('build'); } } diff --git a/scripts/prestart.js b/scripts/prestart.js index 55414dcf..a13af855 100644 --- a/scripts/prestart.js +++ b/scripts/prestart.js @@ -3,7 +3,7 @@ const { sendTelemetry } = require('./telemetry'); async function run() { if (!process.env.DISABLE_TELEMETRY) { - await sendTelemetry(); + await sendTelemetry('start'); } } diff --git a/scripts/telemetry.js b/scripts/telemetry.js index 6dbc586e..d938c88b 100644 --- a/scripts/telemetry.js +++ b/scripts/telemetry.js @@ -8,7 +8,7 @@ const pkg = require('../package.json'); const dest = path.resolve(__dirname, '../.next/cache/umami.json'); const url = 'https://telemetry.umami.is/api/collect'; -async function sendTelemetry() { +async function sendTelemetry(action) { await fs.ensureFile(dest); let json = {}; @@ -19,37 +19,36 @@ async function sendTelemetry() { // Ignore } - if (json.version !== pkg.version) { - const { default: isDocker } = await import('is-docker'); - const { default: fetch } = await import('node-fetch'); + await fs.writeJSON(dest, { version: pkg.version }); - await fs.writeJSON(dest, { version: pkg.version }); + const { default: isDocker } = await import('is-docker'); + const { default: fetch } = await import('node-fetch'); - const payload = { - version: pkg.version, - node: process.version, - platform: os.platform(), - arch: os.arch(), - os: `${os.type()} (${os.version()})`, - docker: isDocker(), - ci: isCI, - upgrade: json.version || false, - }; + const payload = { + action, + version: pkg.version, + node: process.version, + platform: os.platform(), + arch: os.arch(), + os: `${os.type()} (${os.version()})`, + docker: isDocker(), + ci: isCI, + upgrade: json.version || false, + }; - await retry( - async () => { - await fetch(url, { - method: 'post', - cache: 'no-cache', - headers: { - 'Content-Type': 'application/json', - }, - body: JSON.stringify(payload), - }); - }, - { minTimeout: 500, retries: 1, factor: 1 }, - ).catch(() => {}); - } + await retry( + async () => { + await fetch(url, { + method: 'post', + cache: 'no-cache', + headers: { + 'Content-Type': 'application/json', + }, + body: JSON.stringify(payload), + }); + }, + { minTimeout: 500, retries: 1, factor: 1 }, + ).catch(() => {}); } module.exports = {