@poriyaalar/telemetry

0.0.2 • Public • Published

📊 Telemetry Service for Firebase & Sentry

A lightweight telemetry service for React apps, supporting Firebase Analytics, Firebase Performance, and Sentry error tracking using the Firebase Modular SDK.

🚀 Features

✅ Firebase Analytics (logEvent, setUserId) ✅ Firebase Performance Monitoring ✅ Sentry Error Logging (captureException, setUser) ✅ Supports both JavaScript and TypeScript React Apps ✅ Tree-shakable (Reduces Bundle Size)

📦 Installation

Install via NPM:

npm install your-npm-package-name

🔥 Usage

1️⃣ Import the Package

import Telemetry from "your-npm-package-name";

2️⃣ Initialize Telemetry

const telemetry = new Telemetry({ firebase: { apiKey: "YOUR_FIREBASE_API_KEY", authDomain: "YOUR_FIREBASE_AUTH_DOMAIN", projectId: "YOUR_FIREBASE_PROJECT_ID", storageBucket: "YOUR_FIREBASE_STORAGE_BUCKET", messagingSenderId: "YOUR_FIREBASE_MESSAGING_SENDER_ID", appId: "YOUR_FIREBASE_APP_ID", measurementId: "YOUR_FIREBASE_MEASUREMENT_ID", }, sentry: { dsn: "YOUR_SENTRY_DSN", environment: "production", }, });

3️⃣ Log Events

telemetry.logEvent("button_click", { buttonName: "Sign Up" });

4️⃣ Set User Details

telemetry.setUserDetails({ uid: "12345", email: "user@example.com", username: "exampleUser", });

5️⃣ Log Errors

try { throw new Error("Something went wrong!"); } catch (error) { telemetry.logError(error); }

✅ Works with JavaScript React Apps

If you’re using JavaScript instead of TypeScript, just import and use it as:

import Telemetry from "your-npm-package-name";

const telemetry = new Telemetry({ firebase: { /* Firebase Config */ }, sentry: { dsn: "..." } });

🧪 Running Unit Tests

This package includes unit tests using Jest.

1️⃣ Install Development Dependencies

npm install --save-dev jest ts-jest @types/jest

2️⃣ Run Tests

npm test

✅ Expected Output:

PASS src/Telemetry.test.ts ✓ should initialize Firebase and Sentry ✓ should log an event ✓ should set user details ✓ should log an error

🤝 Contributing 1. Clone this repo:

git clone https://github.com/your-username/telemetry-service.git

2.	Install dependencies:

npm install

3.	Run tests:

npm test

4.	Open a Pull Request to contribute 🎉

📝 License

This project is licensed under the MIT License.

🚀 Future Improvements

✅ Add more telemetry providers (e.g., LogRocket, Amplitude) ✅ Add custom logging levels ✅ Optimize Firebase performance metrics

Now, your README.md is professional, clear, and ready for NPM! 🚀 Would you like a GitHub workflow (CI/CD) setup for automated testing & publishing? 🎯

Readme

Keywords

none

Package Sidebar

Install

npm i @poriyaalar/telemetry

Weekly Downloads

17

Version

0.0.2

License

MIT

Unpacked Size

5 kB

Total Files

4

Last publish

Collaborators

  • poriyaalar