From 7308f9b8dbbfadfd8bbe71f91577145aca7c2ead Mon Sep 17 00:00:00 2001 From: Aric Camarata Date: Tue, 30 Jun 2026 14:59:43 -0400 Subject: [PATCH] add opt-in telemetry via @acamarata/telemetry (off by default) --- README.md | 5 +++++ TELEMETRY.md | 8 ++++++++ package.json | 3 ++- src/index.ts | 11 +++++++++++ 4 files changed, 26 insertions(+), 1 deletion(-) create mode 100644 TELEMETRY.md diff --git a/README.md b/README.md index 2ee1422..d4164e9 100644 --- a/README.md +++ b/README.md @@ -59,6 +59,11 @@ This package includes the Solar Position Algorithm (SPA) developed at the Nation > Reda, I., Andreas, A. (2004). "Solar Position Algorithm for Solar Radiation Applications." *Solar Energy*, 76(5), 577-589. +## Telemetry + +This package supports opt-in anonymous usage telemetry — off by default. +Enable: `ACAMARATA_TELEMETRY=1`. See [TELEMETRY.md](./TELEMETRY.md) for what is sent and how to disable. + ## License MIT (wrapper, TypeScript source, and build tooling). The NREL SPA C source (`src/spa.c`, `src/spa.h`) is subject to its own terms; see the notice in those files. diff --git a/TELEMETRY.md b/TELEMETRY.md new file mode 100644 index 0000000..99cfaa4 --- /dev/null +++ b/TELEMETRY.md @@ -0,0 +1,8 @@ +# Telemetry Disclosure + +This package supports opt-in anonymous usage telemetry via [`@acamarata/telemetry`](https://github.com/acamarata/telemetry). + +Telemetry is **off by default**. No data is sent unless you set `ACAMARATA_TELEMETRY=1`. + +Full disclosure (what is sent, where it goes, how to disable): +[github.com/acamarata/telemetry/blob/main/TELEMETRY.md](https://github.com/acamarata/telemetry/blob/main/TELEMETRY.md) diff --git a/package.json b/package.json index 97af663..2310965 100644 --- a/package.json +++ b/package.json @@ -88,7 +88,8 @@ "typedoc": "^0.28.19", "typedoc-plugin-markdown": "^4.11.0", "typescript": "^5.9.3", - "typescript-eslint": "^8.56.1" + "typescript-eslint": "^8.56.1", + "@acamarata/telemetry": "^0.1.0" }, "packageManager": "pnpm@10.11.1", "prettier": "@acamarata/prettier-config" diff --git a/src/index.ts b/src/index.ts index 2210ffc..ad4dc38 100644 --- a/src/index.ts +++ b/src/index.ts @@ -309,3 +309,14 @@ export async function spaFormatted( } export default spa; + +// ── Opt-in anonymous telemetry ──────────────────────────────────────────────── +// Off by default. Enable: ACAMARATA_TELEMETRY=1 +// What is sent + how to disable: https://github.com/acamarata/telemetry/blob/main/TELEMETRY.md +import('@acamarata/telemetry') + .then(({ track }) => + track('load', { package: 'solar-spa', version: '2.0.2' }), + ) + .catch(() => { + // telemetry not installed or disabled — that is fine + });