You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
feat: add telemetry-core package for privacy-focused plugin analytics
- Create @voitanos/heft-plugins-telemetry-core package with:
- TelemetryClient using Azure Application Insights
- Privacy-safe context collection (OS, Node version, CI detection)
- Message sanitization to remove PII (paths, emails, IPs, URLs)
- Multiple opt-out mechanisms (HEFT_TELEMETRY_DISABLED, DO_NOT_TRACK, etc.)
- Connection string injection script for CI/CD builds
- Integrate telemetry into heft-stylelint-plugin:
- Track plugin started, completed, errors, and warnings
- Record execution duration and outcome metrics
- Flush telemetry with timeout to avoid blocking builds
- Add PRIVACY.md documenting data collection practices
- feat(heft-stylelint-plugin): add postinstall script for installation tracking
Tracks when the plugin is installed via npm/pnpm/yarn. The script:
- Sends a single telemetry event on installation
- Respects all telemetry opt-out environment variables
- Can be skipped in CI with SKIP_INSTALL_TELEMETRY=1
- Never fails installation even if telemetry errors occur
- build(telemetry-core): 🏗️ npm scripts to inject connection string
- add two scripts to create & inject variables on local builds
- to build local, run:
```console
npm run [`build` | `build:prod']
npm run set-azappinsights-connection-string
npm run inject-azappinsights-connection-string
````
- chore(telemetry-core): add conventional commit scope for telemetry-core
- feat(telemetry-core): 🍱 update env var for connection string
- docs(telemetry-core): 📝 add privcy statement
- ci(publish): 👷 update publish to be dynamic
- previously only supported heft-*-plugins
- now also supports telemetry-code package
---------
Co-authored-by: Claude <noreply@anthropic.com>
0 commit comments